手機(jī)軟件測(cè)試經(jīng)驗(yàn)總結(jié)
手機(jī)軟件測(cè)試總結(jié)
沙晶晶
一個(gè)合格的手機(jī)軟件測(cè)試工程師要掌握的東西是很多很多的。在我個(gè)人理解中,一個(gè)合格的高級(jí)手機(jī)軟件測(cè)試工程師應(yīng)該具有最基本的兩點(diǎn)知識(shí):軟件測(cè)試?yán)碚撝R(shí)和一定的開(kāi)發(fā)技能。
1.軟件測(cè)試?yán)碚撝R(shí)
這個(gè)不用多說(shuō),軟件測(cè)試工程師必須要掌握的,軟件測(cè)試如何融入整個(gè)開(kāi)發(fā)的流程,什么時(shí)候介入,什么時(shí)候結(jié)束,如何搭建測(cè)試環(huán)境,如何設(shè)計(jì)測(cè)試用例(包括設(shè)計(jì)測(cè)試用例的方法,如:等價(jià)類(lèi)劃分,邊界值法等),如何使用測(cè)試工具,還有測(cè)試領(lǐng)域?qū)S玫囊恍┬g(shù)語(yǔ)等等。
2.開(kāi)發(fā)技能
合格的高級(jí)軟件測(cè)試工程師,編程技能不可缺少。在手機(jī)測(cè)試中,比如自動(dòng)化測(cè)試,完全可以開(kāi)發(fā)工具來(lái)實(shí)現(xiàn)自動(dòng)化測(cè)試。所以掌握一門(mén)扎實(shí)的編程語(yǔ)言,C或者C++還是非常重要的,能夠自己開(kāi)發(fā)測(cè)試工具,也是一個(gè)高級(jí)手機(jī)軟件測(cè)試工程師應(yīng)該具備的素質(zhì)。我認(rèn)為我們不應(yīng)該只是單純的發(fā)現(xiàn)bug,而應(yīng)該從更深層次的去探究這個(gè)bug的原因,甚至可以定位bug。
另外從技能上講,面向不同的技術(shù)方向,像操作系統(tǒng)、網(wǎng)絡(luò)、通信等都要從專(zhuān)業(yè)上深入了解。這些是除去工作時(shí)間外必須去加強(qiáng)充電的部分。有這些做后盾,做起事來(lái)也會(huì)事半功倍。
另外手機(jī)測(cè)試中應(yīng)該注意的問(wèn)題
首先是正確性測(cè)試,正確性測(cè)試又可稱(chēng)為功能性測(cè)試,我們首先就是要測(cè)試所有功能是否都已實(shí)現(xiàn)、正確、是否滿(mǎn)足需求規(guī)格說(shuō)明。
正確性測(cè)試還要考慮到用戶(hù)界面,軟件產(chǎn)品始終是關(guān)注軟件使用者客戶(hù)的體驗(yàn),手機(jī)屏幕小,界面有限,所以手機(jī)軟件的用戶(hù)界面更需有一定的規(guī)范和標(biāo)準(zhǔn):正確性、一致性、直觀性、實(shí)用性、靈活性、舒適性便是最基本的標(biāo)準(zhǔn)。
正確性一般比較明顯,比較容易發(fā)現(xiàn),例如某個(gè)窗口沒(méi)有被完全顯示,文字沒(méi)有對(duì)齊,文字拼寫(xiě)錯(cuò)誤,密碼輸入時(shí)沒(méi)有以*的形式自動(dòng)屏蔽等。
一致性包括軟件自身的一致性以及手機(jī)操作系統(tǒng)或與其它軟件的一致性,具體表現(xiàn)在使用的術(shù)語(yǔ),字體是否一致,界面的各參數(shù)風(fēng)格是否前后一致等。特別也要注意中英文版本下界面風(fēng)格是否一致,是否有中英文混合的情況。
直觀性要求軟件功能特性易懂、清晰,用戶(hù)界面布局合理,對(duì)操作的響應(yīng)是否在用戶(hù)的預(yù)期中,如用戶(hù)做了非法操作后,界面是否有錯(cuò)誤的提示信息,提示信息是否完整,是否明確,是否能讓用戶(hù)立即明白問(wèn)題所在。
實(shí)用性不是指軟件本身是否實(shí)用,而僅僅是指具體的某個(gè)特性是否實(shí)用,是否有助于用戶(hù)執(zhí)行該軟件的功能,手機(jī)軟件是安裝在手機(jī)上的第三方軟件,手機(jī)不同于PC機(jī),功能沒(méi)有PC機(jī)強(qiáng)大,在手機(jī)上實(shí)現(xiàn)的功能也不同于在PC機(jī)上的功能,所以功能不應(yīng)復(fù)雜,無(wú)用的功能只會(huì)增加程序的復(fù)雜度,產(chǎn)生不必要的軟件缺陷。但是個(gè)人覺(jué)得有些必要的功能還是一定要有的,如:隨時(shí)可以退出應(yīng)用程序這個(gè)功能還是很必要的,用戶(hù)進(jìn)入多層之后,若想退出應(yīng)用程序,但是又要一層一層返回到最上一層才能退出時(shí),也是一件很煩很頭疼的事。
靈活性,按我個(gè)人現(xiàn)在的理解,具體表現(xiàn)在,如果多種狀態(tài)之間的切換,例如界面的不停切換,操作步驟的復(fù)雜,增加了編程的難度,可能也會(huì)降低軟件的可靠性,這時(shí)軟件的靈活性將會(huì)大打折扣。特別是在我們測(cè)試觸屏手機(jī)的時(shí)候,界面的切換經(jīng)常會(huì)導(dǎo)致一些界面卡住,亂碼,黑屏,死機(jī)的情況,所以我們?cè)跍y(cè)帶有觸屏手機(jī)時(shí),一定要注意到靈活性。
舒適性主要強(qiáng)調(diào)界面美觀,色彩運(yùn)用恰當(dāng),按鈕的立體感以及增加動(dòng)感動(dòng)畫(huà)等。例如顏色的搭配,有些背景色跟文字或圖片的顏色搭配在模擬器可以較清晰的顯示出來(lái),但是到了手機(jī)由于其分辨率問(wèn)題就不那么明顯了。顏色搭配要以清晰美觀為基礎(chǔ),還要適當(dāng)考慮用戶(hù)心理等問(wèn)題。
除了測(cè)試軟件的正確功能,及其更需要考慮一些異常的情況,異常的情況也分多種考慮,如下:
1、容錯(cuò)性測(cè)試
容錯(cuò)性測(cè)試是一種對(duì)抗性的測(cè)試過(guò)程。在這種測(cè)試中,把應(yīng)用程序或系統(tǒng)置于異常條件下,例如輸入特殊字符或異常字符,具體可以通過(guò)輸入超過(guò)邊界值的字符(這也相當(dāng)于用例設(shè)計(jì)方法中的邊界值分析法)看后臺(tái)有沒(méi)有相應(yīng)的容錯(cuò)處理。手機(jī)客戶(hù)端界面會(huì)給出什么樣的提示信息。另外還要測(cè)試多個(gè)客戶(hù)端同時(shí)發(fā)出請(qǐng)求,測(cè)試后臺(tái)的多線程處理能力,看能同時(shí)處理多少用戶(hù)的同時(shí)請(qǐng)求,平均響應(yīng)時(shí)間是多少,是否在可接受范圍內(nèi)。
2、測(cè)試應(yīng)用程序中的一個(gè)功能正在執(zhí)行過(guò)程中,同時(shí)另外一個(gè)事件或操作對(duì)該過(guò)程進(jìn)行干擾。
例如:運(yùn)用程序運(yùn)行時(shí),切換程序到外部,做一些與運(yùn)用程序相關(guān)的操作,再切換到應(yīng)用程序中,查看剛剛的操作是否對(duì)正在執(zhí)行的運(yùn)用程序有影響。另外來(lái)電,短信,電量不足等一些事件警告的出現(xiàn)也有可能導(dǎo)致程序出錯(cuò),也要作出相應(yīng)的處理。有些網(wǎng)絡(luò)程序由于設(shè)置了數(shù)據(jù)通訊時(shí)不處理來(lái)電,這時(shí)候最好能在低電量情況下測(cè)試,看是否做了恰當(dāng)?shù)奶幚。我們需要測(cè)試一下這些干擾的沖突事件會(huì)不會(huì)導(dǎo)致應(yīng)用程序core,手機(jī)死機(jī)、花屏等嚴(yán)重的問(wèn)題出現(xiàn)。
3、我們一定要考慮到對(duì)手機(jī)存儲(chǔ)空間滿(mǎn)后的壓力測(cè)試。
手機(jī)的內(nèi)存空間資源是有限,不像PC機(jī)有著巨大的存儲(chǔ)空間,我們很容易做到手機(jī)存儲(chǔ)空間已滿(mǎn),所以我們一定要考慮剩余空間不足或存儲(chǔ)空間為零的情況下,應(yīng)用軟件的運(yùn)行是否正常?我們要在手機(jī)沒(méi)有存儲(chǔ)空間或達(dá)到最大的承載極限時(shí),對(duì)手機(jī)軟件可編輯修改的模塊進(jìn)行編輯修改,保存之后,并對(duì)手機(jī)軟件進(jìn)行任何操作測(cè)試,如果程序員不做相應(yīng)的處理或者處理不好的話,很容易造成配置文件讀寫(xiě)錯(cuò)誤或無(wú)法寫(xiě)入,從而導(dǎo)致手機(jī)軟件系統(tǒng)出現(xiàn)core掉或者手機(jī)出現(xiàn)死機(jī)、無(wú)法退出的情況。雖然手機(jī)本身在磁盤(pán)空間已滿(mǎn)的情況下也會(huì)出現(xiàn)不少問(wèn)題,我們的應(yīng)用程序也無(wú)法避免,但是我們一定要確保我們的程序不會(huì)出現(xiàn)core,程序無(wú)法退出,手機(jī)死機(jī)等這些嚴(yán)重情況出現(xiàn)。
4、極限發(fā)散性測(cè)試
我個(gè)人經(jīng)常喜歡說(shuō)成是暴力測(cè)試或壓力測(cè)試,我的做法是通過(guò)各種操作步驟或途徑、異常或非法執(zhí)行,站在不正常的用戶(hù)角度,如快速按按鈕或快速劃屏、對(duì)某個(gè)功能做大量的重復(fù)性的操作等(如在登錄過(guò)程中,不停的做登錄和取消操作,不停地按幾十下幾百下),不把程序搞崩潰誓不罷休的暴力發(fā)散性測(cè)試,往往開(kāi)發(fā)會(huì)狡辯與理論這是不正常的變態(tài)的測(cè)試,如果用戶(hù)做此操作出現(xiàn)了問(wèn)題由用戶(hù)自己負(fù)責(zé),確實(shí)世界上沒(méi)有十全十美的東西,任何東西都會(huì)有瑕疵,軟件也不例外,不可能做到零缺陷,我們不求做到最好,我們只求做到更好,試想用戶(hù)的操作是多種多樣的,誰(shuí)能確保用戶(hù)不會(huì)做到那些異常的非法的操作,我們不僅要確保正常功能實(shí)現(xiàn)的準(zhǔn)確無(wú)誤,一定還要做到異常非法的功能也要處理的準(zhǔn)確無(wú)誤,那樣才能降低軟件的缺陷率。通過(guò)我多次實(shí)踐,發(fā)現(xiàn)不少?lài)?yán)重致命的bug往往是由此操作導(dǎo)致,個(gè)人認(rèn)為這與開(kāi)發(fā)人員在異常情況下考慮不充分有一定的關(guān)系。
5、邊界值測(cè)試
程序員會(huì)容易漏掉對(duì)邊界值的處理,通過(guò)我多個(gè)版本的測(cè)試經(jīng)歷發(fā)現(xiàn),每個(gè)版本都會(huì)出現(xiàn)這種邊界值數(shù)組越界導(dǎo)致程序core掉的致命bug,曾經(jīng)測(cè)試過(guò)手機(jī)界面顯示N個(gè)縮略圖片的功能,顯示幾百?gòu)垐D片功能無(wú)誤,但是超過(guò)某個(gè)數(shù)字即幾千張之后,應(yīng)用程序會(huì)立即出現(xiàn)一些致命的錯(cuò)誤;同時(shí)在刪除列表界面的第一個(gè)或者末尾一個(gè)圖片時(shí),也出現(xiàn)了嚴(yán)重問(wèn)題。所以我們不僅僅只考慮到能編輯的文本框下邊界值的測(cè)試,還要考慮到其他一切盡可能輸入的情況。
6、性能測(cè)試
我們不僅要測(cè)試軟件功能的正確性,還要測(cè)試軟件的性能,軟件的運(yùn)行速度,是否有延時(shí),軟件的運(yùn)行時(shí)間,長(zhǎng)期的運(yùn)行是否會(huì)增加對(duì)存儲(chǔ)空間的額外占用情況等。在軟件運(yùn)行時(shí),要懂得不定時(shí)的查看資源的利用率,查看cpu的占用情況,內(nèi)存泄露會(huì)造
成程序隨機(jī)的莫名其妙core、卡屏、手機(jī)死機(jī)的情況,而往往由內(nèi)存泄露導(dǎo)致的問(wèn)
題,重啟手機(jī)之后,問(wèn)題不容易重現(xiàn),并且再次內(nèi)存泄露時(shí),出現(xiàn)的現(xiàn)象也會(huì)不同,對(duì)我們測(cè)試重現(xiàn)問(wèn)題來(lái)說(shuō)是一個(gè)比較頭疼的事,所以不定時(shí)的查看內(nèi)存情況,查看內(nèi)存是否泄露,出現(xiàn)的不易重現(xiàn)的嚴(yán)重問(wèn)題是否與內(nèi)存泄露有關(guān),其實(shí)也是一種定位問(wèn)題的方法。
7、數(shù)據(jù)請(qǐng)求或傳輸?shù)刃钑r(shí)較多的過(guò)程要確保有提示界面,最好有動(dòng)畫(huà)顯示數(shù)據(jù)在傳輸過(guò)程中,請(qǐng)用戶(hù)耐心等待。另外要注意在這個(gè)過(guò)程中對(duì)重復(fù)按鍵予以忽略,因?yàn)榈却龝r(shí)間過(guò)長(zhǎng)或響應(yīng)遲鈍時(shí),用戶(hù)趨向于重復(fù)按手機(jī)按鈕。曾經(jīng)測(cè)試過(guò)刪除某個(gè)文件,文件比較大,刪除很慢,界面沒(méi)有任何反應(yīng),無(wú)法判斷是否在刪除文件,迫不及待的重新亂按手機(jī)其他鍵,導(dǎo)致系統(tǒng)出現(xiàn)錯(cuò)誤。
擴(kuò)展閱讀:手機(jī)軟件測(cè)試的經(jīng)驗(yàn)總結(jié)
手機(jī)軟件測(cè)試的經(jīng)驗(yàn)總結(jié)
1.在提交高通前務(wù)必要檢查文檔與實(shí)際程序的功能表現(xiàn)是否相同,比如說(shuō),游戲增加了密
技功能,在文檔中就要有相應(yīng)的說(shuō)明。
2.在模擬器上圖像處理速度較快,所以不會(huì)出現(xiàn)游戲中移動(dòng)的圖像變模糊的現(xiàn)象,但是由于手機(jī)的分辨率相對(duì)低,所以一般在模擬器顯示正常的速度,到了手機(jī)就應(yīng)該讓開(kāi)發(fā)
人員適當(dāng)調(diào)慢,否則將會(huì)出現(xiàn)移動(dòng)物體變模糊不能清晰辨認(rèn)的情況。
3.有些游戲使用了很多的圖片資源,當(dāng)在兩個(gè)界面之間(例如在主菜單界面和幫助界面之間,主界面菜單是由許多圖片組成的,幫助界面是一個(gè)html文件的瀏覽顯示),連續(xù)按若干次使其在兩個(gè)界面之間連續(xù)切換,會(huì)出現(xiàn)圖像重疊現(xiàn)象,其原因是手機(jī)的CPU處理速度跟不上刷新速度,而且主界面的圖片資源一直沒(méi)有釋放,導(dǎo)致圖像的殘留。一般可模
擬Grinder把這些類(lèi)似的問(wèn)題測(cè)出來(lái)。
4.是否正確處理來(lái)電。如果沒(méi)有適當(dāng)正確的來(lái)電處理,有些來(lái)電會(huì)使游戲畫(huà)面變亂,有些直接退出,甚至死機(jī)。Brew程序員往往會(huì)在來(lái)電處理后的恢復(fù)中忘了對(duì)游戲音樂(lè)的處理,比如說(shuō)原先選擇了關(guān)閉音樂(lè)的,來(lái)電處理后音樂(lè)又自動(dòng)開(kāi)始播放了。有時(shí)候需要模擬兩個(gè)或以上的連續(xù)的來(lái)電以發(fā)掘程序深層的邏輯錯(cuò)誤,這些錯(cuò)誤大多是來(lái)電處理后的恢復(fù)過(guò)程的錯(cuò)誤。另外短信,電量不足等一些事件警告的出現(xiàn)也有可能導(dǎo)致程序出錯(cuò),也要作
出相應(yīng)的處理。
5.注意確保游戲說(shuō)明和幫助的完整清晰,檢查系統(tǒng)提示信息,確保在游戲中出現(xiàn)的文
字的正確拼寫(xiě),沒(méi)有錯(cuò)別字。要盡量用敬稱(chēng)“您”而不用“你”。
6.標(biāo)題,菜單等的文字顯示要盡量用小字體,盡量縮短文字,能用簡(jiǎn)短文字說(shuō)明清楚的就不要用長(zhǎng)句,例如“按2,4鍵可以左右移動(dòng)圖片”就可改成“按2,4鍵左右移動(dòng)圖片”,或者甚至改成“按2,4鍵移動(dòng)圖片”。因?yàn)椴煌氖謾C(jī)顯示屏幕寬度不一樣,在一款手機(jī)上顯示正確不代表在其他款式都能正確顯示,然而用小字體,短句子就能適應(yīng)大多
數(shù)手機(jī)的屏幕寬度。
7.線程的處理,有些游戲設(shè)有多個(gè)線程,如果沒(méi)有處理好線程的調(diào)用釋放問(wèn)題的話,就很可能出現(xiàn)線程爭(zhēng)用的問(wèn)題。例如一個(gè)寵物游戲,寵物死亡后,會(huì)調(diào)用一個(gè)新的線程循環(huán)播放哀吊音樂(lè),有些程序員由于粗心大意忘記了釋放這個(gè)線程,當(dāng)重新開(kāi)始游戲時(shí),就
會(huì)出現(xiàn)這個(gè)線程播放的音樂(lè)與游戲過(guò)程的背景音樂(lè)交替播放的情況。
8.文件處理。當(dāng)涉及文件讀寫(xiě)操作的時(shí)候,要特別注意測(cè)試文件操作帶來(lái)的內(nèi)存問(wèn)題。比如說(shuō),有些游戲需要用文件記錄游戲最高分或分值等,要注意測(cè)試第一次運(yùn)行程序時(shí)的退出操作(此時(shí)沒(méi)有最高分記錄或其他分值記錄),程序是否申請(qǐng)了文件指針或文件資源而沒(méi)有釋放。如果是的話,則會(huì)導(dǎo)致退出時(shí)的內(nèi)存錯(cuò)誤。另外對(duì)于Brew,應(yīng)用程序的文件包中不得包含零字節(jié)的文件,每個(gè)文件至少有一個(gè)字節(jié),同時(shí)還要求不能包含無(wú)用的文件
或文件夾,目的是節(jié)省手機(jī)上有限的存儲(chǔ)資源。
9.顏色的搭配,有些背景色跟文字或圖片的顏色搭配在模擬器可以較清晰的顯示出來(lái),但是到了手機(jī)由于其分辨率問(wèn)題就不那么明顯了。顏色搭配要以清晰美觀為基礎(chǔ),還要適
當(dāng)考慮游戲的種類(lèi),用戶(hù)心理等問(wèn)題。
10.用模擬器模擬網(wǎng)絡(luò)不通的情況。目的是測(cè)試軟件的網(wǎng)絡(luò)連接,網(wǎng)絡(luò)資源請(qǐng)求,緩沖區(qū)存儲(chǔ)等模塊的性能,看看內(nèi)存是否有正確釋放等?梢酝ㄟ^(guò)斷開(kāi)網(wǎng)絡(luò)連接的方法模擬手機(jī)網(wǎng)絡(luò)不通的情況,具體就是把本地連接的狀態(tài)設(shè)成禁用或者直接拔掉網(wǎng)絡(luò)連接線。
11.數(shù)據(jù)請(qǐng)求或傳輸?shù)刃钑r(shí)較多的過(guò)程要確保有提示界面,最好有動(dòng)畫(huà)顯示數(shù)據(jù)在傳輸過(guò)程中,請(qǐng)用戶(hù)耐心等待。另外要注意在這個(gè)過(guò)程中對(duì)重復(fù)按鍵予以忽略,因?yàn)榈却龝r(shí)間
過(guò)長(zhǎng)或響應(yīng)遲鈍時(shí),用戶(hù)趨向于重復(fù)按手機(jī)按鈕。
12.不要忽略了對(duì)后臺(tái)數(shù)據(jù)正確性的測(cè)試。輸入特殊字符或異常字符,看后臺(tái)有沒(méi)有相應(yīng)的容錯(cuò)處理(當(dāng)然這些也可由手機(jī)端處理)。多個(gè)客戶(hù)端同時(shí)發(fā)出請(qǐng)求,測(cè)試后臺(tái)的多線程處理能力,看能同時(shí)處理多少用戶(hù)的同時(shí)請(qǐng)求,平均響應(yīng)時(shí)間是多少,是否在可接受
范圍內(nèi)。
13.來(lái)電,短信,電量不足等一些事件警告的出現(xiàn)也有可能導(dǎo)致程序出錯(cuò),也要作出相應(yīng)的處理。有些網(wǎng)絡(luò)程序由于設(shè)置了數(shù)據(jù)通訊時(shí)不處理來(lái)電,這時(shí)候就要在低電量情況下測(cè)試,用電量不足的警告事件來(lái)觸發(fā)程序的suspend和resume處理事件,看是否做了恰當(dāng)
的處理。
以上經(jīng)驗(yàn)同樣適合開(kāi)發(fā)人員參考,以便盡量避免類(lèi)似問(wèn)題的出現(xiàn)。
友情提示:本文中關(guān)于《手機(jī)軟件測(cè)試經(jīng)驗(yàn)總結(jié)》給出的范例僅供您參考拓展思維使用,手機(jī)軟件測(cè)試經(jīng)驗(yàn)總結(jié):該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。