在移動企業,如果你測試和發布app的速度不如競爭對手快,那你就要落后了。哪怕是最古板的保險公司都知道,在移動領域速度會殺人。
不過雖然開發者和QA團隊竭盡所能去快速跟進自己的app,Perfecto Mobile研究團隊最近進行的一項調查表明,組織仍在與我們所謂的速度攔截器作斗爭,后者是指一些妨礙快速迭代發布的測試做法。
無論是什么因素導致了速度放緩,我們認為你都可以從下列加速移動應用測試的最佳實踐中找到一種(甚至全部)的補救措施。
實現自動化測試
移動應用開發太慢,人工測試是禍首。幾年前,我們的一家客戶,美國頂級銀行之一因為過多的人工測試而導致測試周期完成時間拖得過長。經常會出現app缺陷沒有被發現的情況,這妨礙了轉入生產階段,因為客戶的眼睛更是容不得一顆沙子。
后來銀行用健壯的腳本和我們的Continuous Qualitylab即服務來對測試進行自動化。此前這家銀行的回歸測試大概要16到20天的時間,經過自動化以后,回歸測試周期時長縮短了90%。以往需要數周完成的周期降到了數小時的時間。這家銀行甚至能計算出每測試周期自己節省了4萬美元。
公司應該以實現95%測試案例的自動化為目標,這樣才能達到覆蓋的優化水平,出于效能最大化的考慮,他們還應該使用與自己使用的IDE(Eclipse、Visual Studio、HP UFT)及測試框架(Selenium、Calabash、Appium)兼容的自動化測試解決方案。
別再自己管理設備實驗室了
據估計,內部設備管理每年每臺設備需要花費6500美元。很大的一個數字。而且隨著你需要測試的設備數量不斷增長,事情開始變得不可管理,且無法盈利。
當新設備推向市場時,人工進行的內部測試的確會拖你后腿。三星Galaxy S6發布時,你的app是否已經就緒?你能在它發布前、在用戶能升級前就能提前拿到測試你的app就更好了。不過這兩個問題的答案可能都是否定的。但是擁有合適的設備對于擁有最佳測試覆蓋來說又是至關重要的。那么,你的測試實驗室怎樣才能拿到最新的設備、為在你的用戶拿到自己手機錢進行測試在線且就緒呢?
讓管理有方的實驗室即服務(lab-as-a-service)替你完成這項工作,這樣的供應商能夠在新設備公開上市前就拿到它。讓他們替你管理你的測試實驗室,提供測試針對的真正的設備、網絡、位置和用戶條件。確保他們也能提供SLA(腹服務水平協議),并且有專門的專家幫助你。
你的回報將是可以在設備上市前遠程訪問到它(不再需要預定,不再需要在發布日買樣品了),而且還可以省下很大一筆錢,比每臺設備6500美元少得多。
把你的設備測試實驗室放到云端
如果你的團隊確實要購買設備并使用內部實驗室,他們最終將面臨把設備實時交給全球測試者的需求。桌上堆滿一堆測試設備是很難辦的。
我們的客戶之一,一家頂級的美國移動運營商,有員工負責獲取新上市設備然后運到測試執行地的。如果無法滿足時間窗口,員工就得親自攜帶設備過去以確保及時送抵合適的測試小組。旅行成本的有限的測試時間搞得整個過程沒有效率。
一旦運營商選擇把設備放到云端,那么設備成本和截止期限挑戰就可以極大減少了?,F在他們可以通過可伸縮按需的云端集中管理真實設備了。小組能夠在任何地方遠程訪問的同時確保相同的測試體驗,如果設備在他們手中的話。
環境的自動提供
自動化你的測試腳本也許可以加速你的測試和發布,但這還不夠。你必須首先確保你的后端服務API足夠穩定,能支持自動化測試。當你在一個不夠穩定的環境中運行自動化測試時,你的錯誤報告中會得到假陰性告警?;ㄙM時間篩選假陰性會顯著延緩發布周期。
自動化測試環境的提供得由你來準備,要確保測試自動化就緒??赏ㄟ^增加預先測試環節來確認你的環境已經測試就緒,同時還能知道哪些錯誤是環境不穩定引起的,哪些是一般的測試用例錯誤。最后,如果你的環境穩定的話,你的測試不會返回假陰性,這可以節省你的時間和金錢。
保證持續質量
隨著開發者團隊開始采用敏捷實踐,QA與開發者之間的反饋回環往往會變得不平衡,因為這個流程是新的。我們的一家旅游網站客戶的發布周期需要數月時間,其中3周是開發,最后1周是測試和修復漏洞。這里的問題是最后一周需要完成的事情跟前3周一樣多。
該公司可以將品質嵌入到整個開發周期,即所謂的持續質量概念。單元測試令QA反饋總是可見,開發者總能知道自己的代碼怎么樣,因為代碼被不斷測試。在整個SDLC階段維護這樣一種對移動應用質量的控制提升了該網站的開發速度,減少了流入生產階段的缺陷數量,最終導致更高的用戶滿意度。
讓證據成為關鍵
這是常見的情形:開發者無法復制報告給QA團隊的問題。是不是某樣獨特的東西會影響到設備的性能?是不是因為我的網絡更加安全,所以沒有返回錯誤?我是不是按照QA團隊相同的步驟去查找漏洞?
保有缺陷的證據至關重要。如果缺乏證據,測試中重新制造錯誤是很困難的,你很難提供足夠的反饋給開發者團隊。有工具能記錄事務,然后在反饋期讓你分享錄制的視頻給團隊成員,錯誤再現就不會成為問題,然后你的測試過程就可以加速。