自從圖形化介面成為個人桌面電腦的主流,應用程式複雜程度與日俱增,針對人機互動的自動化測試迫在眉睫,從而在市場上湧現了一大批針對圖形介面應用程式功能測試的自動化測試工具(參考鏈結1)。2023年qtp第乙個版本發布;2023年robot初始版發布。自此,自動化工具已經經歷了十年的發展。隨著近兩年移動應用呈現**性的增長,移動應用自動化測試工具也開始陸續呈現(參考鏈結2)。
需求的延續
無論從pc端應用的自動化測試,還是移動應用的自動化測試,人們的關注點從未轉移,期望也從不改變,那就是,盡可能多的模擬人工測試動作和相應的結果檢查,從而釋放手工勞動,替代大量重複性的執行和驗證工作。進入移動應用時代,移動應用專案開發一直走的是「短小精幹」的路子,即應用程式小而精。開發模式也拋棄了傳統的規範流程,熱衷於敏捷式開發。版本發布週期約來越短,迭代頻密。這些似乎與自動化測試遙不可及。但是,隨著移動應用逐漸從個人娛樂領域滲透到商業應用,諸如金融、辦公、政務等方面的應用比重逐步擴大,對移動應用質量的要求也越來越高,自動化測試始終會回到人們的視線之內。在加上安卓特有的碎片化問題,使得安卓平台自動化回歸測試和相容性測試的呼聲極高。
理念的傳承
回顧桌面應用的自動化測試歷程,我們看到,工具的發展經歷了從最初「座標點操作」過渡到「物件識別」的過程。移動應用測試工具走的路子也有幾分相似。以開放的android平台為例,最開始出現monkey/monkeyrunner等座標點操作的工具(後來有很多任務具開發商做了對monkeyrunner的封裝);之後出現了如robotium等基於原始碼層面對於介面控制項識別的工具;也有一些工具開發商如droidpilot.com推出了純粹的物件識別工具;當然,也有一些如perfectomobile.com的工具開發商,為了相容ios/blackberry/windows phone等平台,採用影象識別技術。但無論如何,「關鍵字驅動」、「資料驅動」等理念已經是傳統pc行業自動化測試的成功經驗,移動應用測試方面應該借鑑。再搭配效能測試工具、輕量級測試需求管理、用例管理、缺陷跟蹤等工具,相信足以成為移動應用專案質量保證的基礎工具支撐。
有所不能vs凡事都能
似乎所有管理者都期望一旦引入自動化測試,則萬事大吉,貌似自動化能做到全方位的測試服務,可以釋放測試工程師了。但事實求是的說,即使在擁有十年歷程的傳統自動化測試行業,自動化所能涉及的測試用例比例也是有限,通常覆蓋60%~80%的測試用例,已經能說是不錯的成績了。問題是,專案的成本和進度,以及測試人員的配備,是否能足以支撐自動化測試持續的進行。否則事半功倍,未免太可惜了。借鑑傳統專案的自動化測試失敗案例,對於專案預算相對較少的移動應用開發專案,考慮引入自動化測試的確需要慎之又慎。
精益求精
然而對於自動化測試工程師來說,通常並不滿足於部分用例的自動化測試,甚至僅僅是自動化冒煙測試。他們總想走的更遠,甚至不惜代價去完善一些鳳毛麟角之功能。當然,從這一點也可以看出自動化測試工程師們精益求精的精神,同時,也對自動化測試工具開發者提出了更高的要求。從目前發展現狀來看,他們也的確在著眼於提高工具的測試深度和廣度,增強工具易用性,剝離工具對於源**的依賴,延伸傳統自動化測試的方**。希望看到移動應用自動化測試領域呈現蓬勃的發展。
參考鏈結
《安卓應用自動化測試工具大彙總 – 測試窩》
pywinauto桌面應用自動化
pywinauto是一組用於自動化microsoft windows gui的python模組。最簡單的是,它允許您將滑鼠和鍵盤操作傳送到視窗對話方塊和控制項,來完成我們自動化操作。官方文件 通過pip進行安裝 pip install pywinauto 直接開啟python,進行匯入對應的庫 通過...
Python自動化 gui 桌面應用測試,滑鼠操作
pyautogui 並不需要去解析各平台的控制項結構,他的元素定位都是基於座標的。所以不論你是通過手工截圖測量,還是通過自動化工具獲取,只要你能拿到座標,你就能進行元素操作。一,滑鼠操作 1,獲取座標 import pyautogui as ui 獲取螢幕大小 size ui.size 獲取現在滑鼠...
關於移動應用自動化測試的那些事
自動化測試的優點很多,簡單羅列幾條 避免重複工作 提高測試效率 保證每次測試地一致性和可重複性 更好的利用資源 節省人力資源 增加軟體信任度 縮短軟體開發測試週期讓產品更快投放市場 提高軟體測試的準確度和精確度,新增軟體信任度。並不是任何應用產品都適合做自動化測試,選擇自動化測試之前必須確認你的專案...