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