核心提示:測(cè)試,任何一個(gè)開發(fā)者都不愿意提起的話題,但是又不得不提。測(cè)試作為軟件開發(fā)的最后環(huán)節(jié)往往不被人重視,但往往就在這最后一
測(cè)試,任何一個(gè)開發(fā)者都不愿意提起的話題,但是又不得不提。測(cè)試作為軟件開發(fā)的最后環(huán)節(jié)往往不被人重視,但往往就在這最后一哆嗦,前面付出的諸多心血付之東流了。在軟件開發(fā)階段完成之后經(jīng)常嚴(yán)格的測(cè)試環(huán)節(jié)才能對(duì)外發(fā)布,測(cè)試是一個(gè)軟件邁向市場(chǎng)的最后環(huán)節(jié)。
當(dāng)進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代,各個(gè)行業(yè)中涌現(xiàn)出來(lái)的App質(zhì)量良莠不齊,這是由于國(guó)內(nèi)整體的技術(shù)環(huán)境導(dǎo)致的,不重視測(cè)試。有人會(huì)說(shuō),Google不會(huì)對(duì)自己的應(yīng)用進(jìn)行測(cè)試,我們也可以學(xué)習(xí)Google。但Google的工程師都是領(lǐng)域內(nèi)頂尖的高手,你聘請(qǐng)的工程師呢?大部分公司出于成本考慮,會(huì)雇一些比較初級(jí)的開發(fā)人員,做出來(lái)的東西也是比較粗糙,而且還不測(cè)試,APP的質(zhì)量可想而知。
當(dāng)與一些創(chuàng)業(yè)者溝通交流的時(shí)候他們往往會(huì)有這樣的想法,先發(fā)布再說(shuō),有了用戶反饋在修改。就是這樣的想法讓好不容易有了的用戶群慢慢消散,因?yàn)楫?dāng)你出現(xiàn)問(wèn)題的時(shí)候用戶就已經(jīng)有了卸載應(yīng)用的理由,為什么不將一個(gè)接近完美的產(chǎn)品放在用戶面前呢?
在與一些移動(dòng)創(chuàng)業(yè)者交流的過(guò)程中發(fā)現(xiàn),這并不是產(chǎn)品與研發(fā)不想做測(cè)試,而是由于根本沒(méi)有精力和成本來(lái)做測(cè)試。因?yàn)樵谝苿?dòng)互聯(lián)網(wǎng)領(lǐng)域版本快速迭代,采用傳統(tǒng)測(cè)試方式的話黃花菜都涼了。就目前的狀況來(lái)看,似乎只有自動(dòng)化測(cè)試者一條路可走,但傳統(tǒng)自動(dòng)化測(cè)試的模式真的能滿足移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè)者的需求么?
傳統(tǒng)自動(dòng)化測(cè)試不是你想測(cè)就能測(cè)
首先傳統(tǒng)測(cè)試需要購(gòu)買大量的測(cè)試設(shè)備,這對(duì)于初創(chuàng)型團(tuán)隊(duì)來(lái)講是一筆不小的成本,這些設(shè)備的購(gòu)買成本甚至要比整個(gè)團(tuán)隊(duì)的日常運(yùn)作費(fèi)用還要高。如果考慮做自動(dòng)化測(cè)試,您還得雇幾個(gè)懂的人來(lái)搞,更是一大塊成本。所以自動(dòng)化測(cè)試雖然看上去很美,但很少有公司愿意去碰它,原因也是這里邊,前期需要投入的成本,是大部分公司不能接受的。
其次,傳統(tǒng)測(cè)試對(duì)于技術(shù)和時(shí)間的要求較高,不能適應(yīng)移動(dòng)互聯(lián)網(wǎng)快速版本迭代的現(xiàn)狀。在與某大型公司的測(cè)試經(jīng)理交流之后了解到,傳統(tǒng)測(cè)試也可以實(shí)現(xiàn)自動(dòng)化測(cè)試,但步驟比較繁瑣。
實(shí)現(xiàn)Android測(cè)試項(xiàng)目自動(dòng)化,需要一下幾個(gè)步驟:
1. 了解產(chǎn)品功能。
2. 評(píng)估手動(dòng)測(cè)試用例,篩選出適合自動(dòng)化的用例。
3. 搭建腳本開發(fā)環(huán)境(配置Eclipse,下載測(cè)試框架,安裝Android SDK,配置環(huán)境等)
4. 根據(jù)用例描述編寫測(cè)試腳本
5. 調(diào)試完善腳本
6. 執(zhí)行自動(dòng)化測(cè)試(可能需要搭建多個(gè)設(shè)備同時(shí)執(zhí)行測(cè)試的環(huán)境)
7. 腳本在應(yīng)用升級(jí)迭代中不斷地維護(hù)更新,并重復(fù)執(zhí)行
一位就職于國(guó)內(nèi)大型企業(yè)中的測(cè)試工程師介紹到,根據(jù)以往的經(jīng)驗(yàn),一般測(cè)試項(xiàng)目,可實(shí)現(xiàn)自動(dòng)化的測(cè)試用例比例大約為30% ~ 50%。有些手動(dòng)測(cè)試用例,需要進(jìn)行拆分才能較好的實(shí)現(xiàn)自動(dòng)化。類似于單元測(cè)試,UI自動(dòng)化測(cè)試,最好也是一條用例只驗(yàn)證一個(gè)測(cè)試點(diǎn),這樣有利于測(cè)試腳本的編寫和維護(hù)。
這還不包括后續(xù)編寫腳本與調(diào)試完善腳本的事情,假設(shè)我們已經(jīng)對(duì)測(cè)試用例進(jìn)行拆分,一條用例只驗(yàn)證一個(gè)測(cè)試點(diǎn)。這類測(cè)試用例,對(duì)于初級(jí)自動(dòng)化測(cè)試工程師來(lái)說(shuō),完成這樣一條用例的腳本的編寫和調(diào)試需要3~4個(gè)小時(shí),中高級(jí)的人員平均需要1個(gè)小時(shí)左右。到了測(cè)試腳本的后期維護(hù)階段,耗費(fèi)的時(shí)間更加不可預(yù)知。
在與這位測(cè)試工程師交流過(guò)后,感覺傳統(tǒng)的測(cè)試模式對(duì)于快速發(fā)展的移動(dòng)互聯(lián)網(wǎng)公司來(lái)說(shuō)就是一個(gè)噩夢(mèng),一個(gè)耗時(shí)費(fèi)力的噩夢(mèng)。
創(chuàng)業(yè)路上 喊上父母來(lái)解決傳統(tǒng)測(cè)試之痛
關(guān)于移動(dòng)應(yīng)用自動(dòng)化測(cè)試解決方案在市場(chǎng)上已經(jīng)有一些非常成熟的案例。這位不愿意透露姓名的測(cè)試工程師介紹到,目前市場(chǎng)上有幾個(gè)較為成熟的自動(dòng)化測(cè)試軟件可以用來(lái)輔助測(cè)試工作。
國(guó)內(nèi)目前使用比較廣泛的是iTestin,也有一部分人使用百度的MTC和易測(cè)云的Radar,但是從更新頻率和維護(hù)熱度上來(lái)看還是稍差一些,國(guó)外的自動(dòng)化測(cè)試工具以收費(fèi)的居多,其實(shí)核算下來(lái)成本并不低。
iTestin是國(guó)內(nèi)Testin云測(cè)公司推出了一款免費(fèi)的安卓自動(dòng)化測(cè)試腳本錄制工具iTestin,可以幫助你所在的項(xiàng)目組快速實(shí)現(xiàn)穩(wěn)定模塊的功能自動(dòng)化測(cè)試,或者實(shí)現(xiàn)某個(gè)版本的深度兼容性測(cè)試。
iTestin還可直接捕獲操作者在真實(shí)手機(jī)設(shè)備上對(duì)被測(cè)應(yīng)用的操作,并直接生成可跨分辨率執(zhí)行的功能測(cè)試腳本。該腳本能在應(yīng)用的多個(gè)版本間復(fù)用,并隨時(shí)可以提交云測(cè)平臺(tái),在1000多款真機(jī)上重復(fù)執(zhí)行。測(cè)試報(bào)告包括測(cè)試腳本包涵蓋的功能點(diǎn)的驗(yàn)證結(jié)果,還有測(cè)試過(guò)程中的日志、截圖、和性能數(shù)據(jù)等。通過(guò)使用iTestin,你可能只需一位黑盒測(cè)試工程師,就可以在一天之內(nèi)啟動(dòng)自動(dòng)化測(cè)試。
從另外一個(gè)角度來(lái)看,iTestin可以讓一個(gè)完全沒(méi)有測(cè)試經(jīng)驗(yàn)的人完成繁瑣而且機(jī)械的測(cè)試工作。換句話說(shuō),你甚至可以把你的父母喊來(lái)幫你做測(cè)試工作,在你創(chuàng)業(yè)的路上又添加了一抹戲劇化的元素。