手機軟體自動化測試探索
作者:張元禮
http://blog.csdn.net/vincetest
手機軟體測試面臨的困境與挑戰
手機行業也就是在最近短短的幾年間以迅雷不及掩耳之勢發展,起初手機軟體功能設計簡單,效能要求也比較低下,在發展之初,手機使用者對於手機這個新產品來說是極為陌生,因此手機軟體品質對於使用者來說要求是比較寬鬆的。在當時的市場和技術環境下,手機軟體的研發周期的相對較長,對於手機測試穩定這個階段來說時間上也是比較充裕的,至於測試方法可能主要還是採用原始的手工測試,畢竟手工測試最為直接,也最為真實,見效也很快,測試門檻比較低,可能隨便找幾個工程師稍加培訓即可上崗測試。【文章來源:張元禮的部落格 http://blog.csdn.net/vincetest】
在短短的幾年間手機行業發展迅猛,而且使用者對功能、效能、穩定性的要求是越來越高,使用者對手機越來越熟悉,對於品質意識也逐漸提高,並且市場響應也快,研發周期嚴重縮短,市場競爭壓力大,以往的傳統手工測試難以滿足讓如今複雜的手機軟體系統快速穩定,畢竟手工測試所耗費的人力和精力是很巨大的。也就給手機軟體測試賦予了極大的挑戰。
挑戰一:手機出貨周期快,生命週期短,要快速穩定必須要極大的人力和較長的時間來執行測試,就我瞭解而言國內大點的手機公司具備有一定規模的測試團隊,相對小的設計公司或者第三方手機軟體供應商基本沒有手機軟體測試團隊或者很少人力投入測試。
挑戰二:手機軟體測試很容易讓測試人員產生疲倦心理,比常規的案頭軟體手工測試疲倦得更為嚴重,很容易讓測試人員反感,從而極大的影響了測試效果和效率,甚至有看花眼或一不留神溜掉Bug的情況。另外原始的手工測試大部分屬於一種體力活,比如做一個添加通訊錄的極限操作測試,很容易想象要做一個存3000條通訊錄的極限測試那是多麼痛苦的事情。
挑戰三:手機軟體系統複雜,很多項測試是測試人員無法用手工測試或者手工測試根本就不可靠、不精準。【文章來源:張元禮的部落格 http://blog.csdn.net/vincetest】
困境與挑戰新思路
自動化測試起源於案頭軟體或命令列方式測試,對於手機這樣的手持終端裝置當然也同樣適用,其原理大致相同,最大的特點或區別在於實現其機制複雜,在國外一些大型的手機廠商陸續研發出自己的一些自動化測試載入器,也有專業的測試載入器研發廠商在致力於這類自動化測試載入器的研發,然而在國內貌似少之又少,這就給國內的一些準備投入手機自動化測試的公司或人員帶來一定的難度。鑒於此本人依據自己的淺薄學識將一些思路寫出來與大家探討予以總結。
探索一:與常規的案頭軟體自動化測試原理相同,軟體關鍵表徵圖與文字資訊抓取識別,還有就是動作錄製於回放機制實現快速迴歸機制;
探索二:對於案頭自動化測試載入器來說捕獲或錄製機制已經成熟,那麼對於手機軟體來說該怎麼做呢?是照搬原理,還是另有捷徑?本人也瞭解過一些關於手機方面自動化測試載入器的一些介紹或原理,大致是需要手機本身的軟體系統(OS層)提供底層API的支援,比如底層圖片處理方面的API、訊息處理、觸屏處理等。
探索三:藉助PC機強大的任務處理功能跨越手機軟體本身的測試缺陷,利用手機與PC的通訊裝置串連跨越的橋樑,通訊裝置包括串口、USB等,在手機端駐留一個測試代理程式,測試代理程式通過串口或USB與PC機對應的測試載入器通訊以此擷取資訊或者執行測試動作,使得絕大部分對手機的操作轉移到PC軟體的測試操作,這些說起來倒是幾句話,實際實現起來應該存在不少技術上的困難,另外現在智能機的不斷出現也給自動化測試的研究帶來一定的機會,比如測試代理程式這塊的實現應該有所突破,可以把測試代理程式認為是一個第三方的軟體給安裝進去或者有其他更為奇妙的方式,因為未來的智能機將會更靈活更易控制。【文章來源:張元禮的部落格 http://blog.csdn.net/vincetest】
以上所說的也許都是些想當然的思路,必須要以手機軟體系統實現機制出發,根據實現機制部署自動化測試思路,實現技術上的點滴積累,開始可以從簡單的入手,打好自動化測試部署的根基,逐步修正思路。本人也算是拋磚引玉,希望更多的同仁參與提供更多的思路。
本文暫時寫到這裡,有其他更新的探索,將陸續更新。
歡迎轉載此文,轉載時請註明文章來源:張元禮的部落格 http://blog.csdn.net/vincetest