APP定制開發(fā)移動APP自動化測試技術應用
- 編輯:admin -近年來, 隨著移動互聯(lián)網(wǎng)技術的飛速發(fā)展, 移動APP在人們生活中的應用越來越廣泛, 已經(jīng)成為了企業(yè)和人們溝通的重要渠道。企業(yè)業(yè)務的拓展往往取決于移動APP上業(yè)務流程的研發(fā)與實現(xiàn)。一般來說, 在整個軟件開發(fā)中, 測試工作量占30%~40%, 甚至≥50%, 如何高效地進行移動APP軟件測試以縮短其研發(fā)周期, 如何在保證移動APP的質量和用戶體驗的前提下, 將其快速地發(fā)布給客戶已成為企業(yè)面臨的重要問題。在移動APP測試過程中, 運用自動化測試技術以提高效率、節(jié)省時間勢在必行。下文

近年來, 隨著移動互聯(lián)網(wǎng)技術的飛速發(fā)展, 移動APP在人們生活中的應用越來越廣泛, 已經(jīng)成為了企業(yè)和人們溝通的重要渠道。企業(yè)業(yè)務的拓展往往取決于移動APP上業(yè)務流程的研發(fā)與實現(xiàn)。一般來說, 在整個軟件開發(fā)中, 測試工作量占30%~40%, 甚至≥50%, 如何高效地進行移動APP軟件測試以縮短其研發(fā)周期, 如何在保證移動APP的質量和用戶體驗的前提下, 將其快速地發(fā)布給客戶已成為企業(yè)面臨的重要問題。在移動APP測試過程中, 運用自動化測試技術以提高效率、節(jié)省時間勢在必行。下文討論了兩種主流的移動APP的自動化測試技術, 并對它們加以比較。
基于被測軟件來識別對象的移動APP自動化測試技術
基于被測軟件識別對象的移動APP自動化測試技術是指通過在被測軟件中查詢被測頁面元素的屬性來識別并驗證被測對象的自動化測試技術。測試人員運用編程語言編寫自動化測試腳本, 通過程序的執(zhí)行來判定被測軟件中是否存在含有目標屬性的頁面元素以達到自動化測試的目標。
基于圖像識別的移動APP自動化測試技術
基于圖像識別的移動APP測試技術是預先獲得并保存正確的移動APP屏幕的基準圖像, 然后在動態(tài)的測試執(zhí)行過程中, 通過采用先進的圖像識別技術, 將被測APP頁面圖像與基準圖像對比并輸出測試結果的自動化測試技術。圖像識別的過程主要包括數(shù)據(jù)采集、圖像預處理、特征提取、模式識別四個主要過程。數(shù)據(jù)采集階段的主要任務是獲取被識別圖像。由于圖像中含有大量的背景噪聲, 如光線及電阻、電磁和元器件干擾等內(nèi)部條件的影響, 需要在圖像預處理階段對輸入圖像進行處理以消除無關信息, 提取有用信息。在特征提取階段, 從圖像中提取出有利于識別目標圖像的屬性特征, 如顏色、形狀、空間等特征, 為下一步識別打下基礎。在模式識別階段, 對圖像的特征信息進行處理和分析, 以對圖像進行描述、辨認、分類和解釋。在這個階段, 需要選擇合適的模式識別算法, 將待測圖像與預先保存的基準圖像進行對比, 最后輸出識別結果。
基于圖像識別的移動APP自動化測試工具如Mobot等, 以機械臂模擬人手, 以高清攝像頭拍攝模擬人眼識別, 對被測終端進行操作。測試執(zhí)行前, 測試人員需要保存大量基準圖片, 并且根據(jù)手工測試用例繪制自動化測試圖形化工作流, 當測試執(zhí)行時, 工具會根據(jù)工作流中的步驟, 用攝像頭拍攝捕捉實際的屏幕圖像, 然后與預先存儲的基準圖片對比驗證是否匹配;在測試過程中, 通過圖像識別技術驗證頁面元素, 然后機器臂對目標元素進行點擊或滑屏等操作來推動測試的進行。
兩種自動化測試技術的比較
在實際移動APP項目中應該運用哪種自動化測試技術是企業(yè)研發(fā)團隊經(jīng)常遇到的問題, 現(xiàn)對兩種技術對比如下。
兩種自動化測試技術在實際應用中的異同點
在頁面文本內(nèi)容的驗證方面, 基于被測軟件來識別對象的自動化測試技術是通過被測軟件獲取到準確的待測頁面的文本內(nèi)容, 然后和測試程序腳本中的預期文本內(nèi)容作比較, 從而輸出驗證結果;基于圖像識別的移動APP自動化測試技術是通過圖像識別來判定待測頁面的文本內(nèi)容是否和基準頁面的文本內(nèi)容一致。由于圖像識別算法有一定的誤差, 基于被測軟件來識別對象的自動化測試技術能夠方便準確地獲得頁面元素的文本信息。所以, 對于文本內(nèi)容的驗證的效果, 基于被測軟件來識別對象的自動化測試技術優(yōu)于基于圖像識別的自動化測試技術。
在移動APP頁面元素的外觀圖像以及元素之間的相對位置的驗證方面, 基于被測軟件來識別對象的自動化測試技術是通過從待測軟件中檢測是否存在待測元素的id、XPath等屬性值來判定待測頁面中是否包含目標元素, 因此基于被測軟件來識別對象的自動化測試技術只能驗證頁面元素的存在性, 而不能驗證頁面元素的圖像外觀以及元素之間的相對位置的正確性;基于圖像識別的移動APP自動化測試技術是通過圖像識別技術來判定待測頁面的元素是否和基準頁面的元素一致, 可以驗證頁面元素的外觀與元素之間的相對位置。因此頁面元素外觀以及元素之間的相對位置的驗證應該選用基于圖像識別的自動化測試技術, 而基于被測軟件來識別對象的自動化測試技術不能夠覆蓋此類驗證。
在對被測移動終端操作系統(tǒng)的支持方面, 在使用基于被測軟件來識別對象自動化測試技術時, 要充分考慮到自動化測試工具是否能夠很好地支持待測終端的操作系統(tǒng), 能否和待測終端的操作系統(tǒng)很好地協(xié)同, 以及在不同的操作系統(tǒng)上的配置等。而基于圖像識別的自動化測試技術完全模擬人的操作, 不需要考慮移動終端所使用的操作系統(tǒng), 能夠直接支持各種操作系統(tǒng)的移動APP測試。
在長時間的連續(xù)測試方面, 由于基于被測軟件的自動化測試工具的Server端需要和移動終端之間進行消息的傳遞, 不間斷的測試可能會使得移動終端溫度過高而最終導致終端狀態(tài)失常, 從而影響測試結果準確性和有效性。而基于圖像識別的自動化測試完全模擬人的行為, 不和移動終端進行內(nèi)部的消息交互。所以, 在長時間的連續(xù)測試方面, 基于圖像識別的自動化測試更可靠。
在對測試人員的要求方面, 從事基于被測軟件識別對象的自動化測試人員需要有較強的編程能力, 能夠運用編程語言熟練地編寫和調試程序以自動化各種測試場景, 解決自動化測試中遇到的各種問題。基于圖像識別的自動化測試對測試人員的編程能力沒有特別要求, 只要能夠根據(jù)手工測試用例場景繪制工作流程圖即可。
兩種自動化測試技術在實際應用中的共同點
當然, 兩種自動化測試技術也有很多共同之處。無論使用哪種自動化測試技術, 被自動化的測試都可以反復執(zhí)行, 執(zhí)行過程中, 測試人員一般不需要干預, 可以節(jié)省時間, 提高工作效率。測試執(zhí)行完后, 都需要人工查看和分析測試報告。單純的兩種自動化測試技術還都不能夠滿足需要人體干預的測試場景的自動化測試需求, 比如和移動終端旋轉或需要掃描人體指紋的相關測試等, 對于這些測試的自動化, 可以配合使用機器臂旋轉手機以及模擬人體指紋技術來實現(xiàn)。




