手機(jī)自動化測試技術(shù)漫談及OPhone自動化測試概覽
黑盒測試
相對于白盒測試而言,黑盒測試指的是通過外部指令驅(qū)動手機(jī)并通過外部方式進(jìn)行測試結(jié)果校驗(yàn)的測試方式,即不考慮系統(tǒng)本身提供的自動化測試能力,所有的測試行為均在系統(tǒng)外部進(jìn)行。比較典型的自動化黑盒測試方案是:通過手機(jī)操作系統(tǒng)對外提供的接口向手機(jī)發(fā)送觸屏、按鍵等指令控制手機(jī)執(zhí)行各種操作,同時將特定操作步驟執(zhí)行后的手機(jī)當(dāng)前屏幕顯示做截圖,再將截圖數(shù)據(jù)通過圖像對比或OCR的方式進(jìn)行結(jié)果校驗(yàn)。
黑盒測試方式多被手機(jī)廠商或獨(dú)立的手機(jī)自動化測試工具提供商所采用。像諾基亞在S40平臺上使用的Austere C、在S60平臺上使用的ART2、摩托羅拉在非智能機(jī)平臺上使用的FlexAuto、索愛在多個產(chǎn)品平臺上使用的BRAT、獨(dú)立軟件開發(fā)商BSQUARE公司的CountDown均屬于黑盒自動化測試系統(tǒng)。
圖3 BSQUARE公司的CountDown
黑盒測試方式不受操作系統(tǒng)內(nèi)部特性的限制(如可以避免跨進(jìn)程操作的限制),對手機(jī)操作系統(tǒng)本身是否具備高級的自動化測試能力也沒有很高的要求;測試腳本可以采用描述性語言,而且可以提供簡單易用的圖形化操作界面,降低了使用門檻,有利于自動化測試在測試團(tuán)隊(duì)中的大范圍推廣。但由于使用圖像對比或OCR的方式做結(jié)果校驗(yàn),測試腳本受UI變動的影響較大,腳本維護(hù)成本會比較高;在執(zhí)行效率、不同規(guī)格的手機(jī)適配便利性方面也不如白盒測試方式。
由于白盒測試和黑盒測試各有利弊,一般來說,在實(shí)際測試項(xiàng)目中,兩種測試方式會配合使用、各取所長。
OPhone的自動化測試
OPhone走的是Android+ 路線,自然繼承了Android在自動化測試方面的能力。目前OPhone在白盒自動化測試方面使用的也是JUnit+Instrumentation框架,對上述兩種白盒測試類型都能很好的支持。黑盒自動化測試方面,OPhone目前有兩套自己的黑盒測試系統(tǒng)A-Tool和OSTT,分別用于平臺測試的各環(huán)節(jié)(如功能測試、壓力測試、交互測試等)和OPhone專項(xiàng)測試中的MTBF(平均無故障時間)測試?;趦商诇y試框架共開發(fā)出近萬個測試腳本,覆蓋了大多數(shù)應(yīng)用層模塊和部分底層模塊?;谝陨峡蚣荛_發(fā)的分布式測試系統(tǒng)和多框架集成測試系統(tǒng)已經(jīng)投入使用或即將完成研發(fā)。同時OPhone還具有自行開發(fā)或引進(jìn)的各類自動化測試工具24款,類型涵蓋了功能測試工具、壓力測試工具、性能測試工具、MTBF穩(wěn)定性測試工具、測試輔助工具和系統(tǒng)監(jiān)控工具。
通過構(gòu)建自動化測試框架、開發(fā)自動化測試腳本、構(gòu)建自動化測試系統(tǒng)和開發(fā)自動化測試工具,OPhone已經(jīng)初步形成了較為完善的自動化測試體系。自動化測試已經(jīng)應(yīng)用在OPhone平臺開發(fā)流程中的各個環(huán)節(jié),例如每日構(gòu)建出來后自動執(zhí)行版本檢查,對各軟件模塊進(jìn)行單元測試,對系統(tǒng)進(jìn)行自動化功能測試和自動化系統(tǒng)測試,產(chǎn)品上市前還有自動化的MTBF測試。
由于手機(jī)產(chǎn)品與用戶有密切的交互,很多功能需要以測試人員的主觀感受作為檢驗(yàn)結(jié)果的依據(jù),所以人工測試仍會在手機(jī)測試工作中占主導(dǎo)地位。但隨著自動化測試技術(shù)的發(fā)展,會有越來越多的人工測試可以被自動化測試所替代,也會有越來越多的人工無法完成的測試任務(wù)被自動化測試所實(shí)現(xiàn)。如何更好的實(shí)施自動化測試,仍將會是業(yè)內(nèi)關(guān)注的熱點(diǎn)。OPhone團(tuán)隊(duì)也將繼續(xù)在此方面進(jìn)行有益的探索和實(shí)踐,以此提升OPhone測試水平,更好的保障OPhone產(chǎn)品的質(zhì)量。
評論