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