乙個合格的手機軟體測試工程師要掌握的東西是很多很多的。在我個人理解中,乙個合格的高階手機軟體測試工程師應該具有最基本的兩點知識:軟體測試理論知識和一定的開發技能。
1. 軟體測試理論知識
這個不用多說,軟體測試工程師必須要掌握的,軟體測試如何融入整個開發的流程,什麼時候介入,什麼時候結束,如何搭建測試環境,如何設計測試用例 (包括設計測試用例的方法,如:等價類劃分,邊界值法等),如何使用測試工具,還有測試領域專用的一些術語等等。
2. 開發技能
合格的高階軟體測試工程師,程式設計技能不可缺少。在手機測試中,比如自動化測試,完全可以開發工具來實現自動化測試。所以掌握一門紮實的程式語言,c或者c++還是非常重要的,能夠自己開發測試工具,也是乙個高階手機軟體測試工程師應該具備的素質。我認為我們不應該只是單純的發現bug,而應該從更深層次的去**這個 bug的原因,甚至可以定位bug。
另外從技能上講,面向不同的技術方向,像作業系統、網路、通訊等都要從專業上深入了解。這些是除去工作時間外必須去加強充電的部分。有這些做後盾,做起事來也會事半功倍。
另外手機測試中應該注意的問題
首先是正確性測試,正確性測試又可稱為功能性測試,我們首先就是要測試所有功能是否都已實現、正確、是否滿足需求規格說明。
正確性測試還要考慮到使用者介面,軟體產品始終是關注軟體使用者——客戶的體驗,手機螢幕小,介面有限,所以手機軟體的使用者介面更需有一定的規範和標準:正確性、一致性、直觀性、實用性、靈活性、舒適性便是最基本的標準。
正確性一般比較明顯,比較容易發現,例如某個視窗沒有被完全顯示,文字沒有對齊,文字拼寫錯誤,密碼輸入時沒有以*的形式自動遮蔽等。
一致性包括軟體自身的一致性以及手機作業系統或與其它軟體的一致性,具體表現在使用的術語,字型是否一致,介面的各引數風格是否前後一致等。特別也要注意中英
文版本下介面風格是否一致,是否有中英文混合的情況。
直觀性要求軟體功能特性易懂、清晰,使用者介面布局合理,對操作的響應是否在使用者的預期中,如使用者做了非法操作後,介面是否有錯誤的提示資訊,提示資訊是否完整,是否明確,是否能讓使用者立即明白問題所在。
實用性不是指軟體本身是否實用,而僅僅是指具體的某個特性是否實用,是否有助於使用者執行該軟體的功能,手機軟體是安裝在手機上的第三方軟體,手機不同於pc機,功能沒有pc機強大,在手機上實現的功能也不同於在pc機上的功能,所以功能不應複雜,無用的功能只會增加程式的複雜度,產生不必要的軟體缺陷。但是個人覺得有些必要的功能還是一定要有的,如:隨時可以退出應用程式這個功能還是很必要的,使用者進入多層之後,若想退出應用程式,但是又要一層一層返回到最上一層才能退出時,也是一件很煩很頭疼的事。
靈活性,按我個人現在的理解,具體表現在,如果多種狀態之間的切換,例如介面的不停切換,操作步驟的複雜,增加了程式設計的難度,可能也會降低軟體的可靠性,這時軟體的靈活性將會大打折扣。特別是在我們測試觸屏手機的時候,介面的切換經常會導致一些介面卡住,亂碼,黑屏,宕機的情況,所以我們在測帶有觸屏手機時,一定要注意到靈活性。
舒適性主要強調介面美觀,色彩運用恰當,按鈕的立體感以及增加動感動畫等。例如顏色的搭配,有些背景色跟文字或的顏色搭配在模擬器可以較清晰的顯示出來,但是到了手機由於其解析度問題就不那麼明顯了。顏色搭配要以清晰美觀為基礎,還要適當考慮使用者心理等問題。
除了測試軟體的正確功能,及其更需要考慮一些異常的情況,異常的情況也分多種考慮,如下:
1、容錯性測試
容錯性測試是一種對抗性的測試過程。在這種測試中,把應用程式或系統置於異常條件下,例如輸入特殊字元或異常字元,具體可以通過輸入超過邊界值的字元(這也相當於用例設計方法中的邊界值分析法)看後台有沒有相應的容錯處理。手機客戶端介面會給出什麼樣的提示資訊。另外還要測試多個客戶端同時發出請求,測試後台的多執行緒處理能力,看能同時處理多少使用者的同時請求,平均響應時間是多少,是否在可接受範圍內。
2、測試應用程式中的乙個功能正在執行過程中,同時另外乙個事件或操作對該過
程進行干擾。
3、我們一定要考慮到對手機儲存空間滿後的壓力測試。
手機的記憶體空間資源是有限,不像pc機有著巨大的儲存空間,我們很容易做到手機儲存空間已滿,所以我們一定要考慮剩餘空間不足或儲存空間為零的情況下,應用軟體的執行是否正常?我們要在手機沒有儲存空間或達到最大的承載極限時,對手機軟體可編輯修改的模組進行編輯修改,儲存之後,並對手機軟體進行任何操作測試,如果程式設計師不做相應的處理或者處理不好的話,很容易造成配置檔案讀寫錯誤或無法寫入,從而導致手機軟體系統出現core掉或者手機出現宕機、無法退出的情況。雖然手機本身在磁碟空間已滿的情況下也會出現不少問題,我們的應用程式也無法避免,但是我們一定要確保我們的程式不會出現core,程式無法退出,手機宕機等這些嚴重情況出現。
4、極限發散性測試
我個人經常喜歡說成是暴力測試或壓力測試,我的做法是通過各種操作步驟或途徑、異常或非法執行,站在不正常的使用者角度,如快速按按鈕或快速劃屏、對某個功能做大量的重複性的操作等(如在登入過程中,不停的做登入和取消操作,不停地按幾十下幾百下),不把程式搞崩潰誓不罷休的暴力發散性測試,往往開發會狡辯與理論這是不正常的**的測試,如果使用者做此操作出現了問題由使用者自己負責,確實世界上沒有十全十美的東西,任何東西都會有瑕疵,軟體也不例外,不可能做到零缺陷,我們不求做到最好,我們只求做到更好,試想使用者的操作是多種多樣的,誰能確保使用者不會做到那些異常的非法的操作,我們不僅要確保正常功能實現的準確無誤,一定還要做到異常非法的功能也要處理的準確無誤,那樣才能降低軟體的缺陷率。通過我多次實踐,發現不少嚴重致命的bug往往是由此操作導致,個人認為這與開發人員在異常情況下考慮不充分有一定的關係。
5、邊界值測試
程式設計師會容易漏掉對邊界值的處理,通過我多個版本的測試經歷發現,每個版本都
6、效能測試
我們不僅要測試軟體功能的正確性,還要測試軟體的效能,軟體的執行速度,是否有延時,軟體的執行時間,長期的執行是否會增加對儲存空間的額外占用情況等。在軟體執行時,要懂得不定時的檢視資源的利用率,檢視cpu的占用情況,記憶體洩露會造
成程式隨機的莫名其妙core、卡屏、手機宕機的情況,而往往由記憶體洩露導致的問
題,重啟手機之後,問題不容易重現,並且再次記憶體洩露時,出現的現象也會不同,對我們測試重現問題來說是乙個比較頭疼的事,所以不定時的檢視記憶體情況,檢視記憶體是否洩露,出現的不易重現的嚴重問題是否與記憶體洩露有關,其實也是一種定位問題的方法。
7、資料請求或傳輸等需時較多的過程要確保有提示介面,最好有動畫顯示資料在傳輸過程中,請使用者耐心等待。另外要注意在這個過程中對重複按鍵予以忽略,因為等待時間過長或響應遲鈍時,使用者趨向於重複按手機按鈕。曾經測試過刪除某個檔案,檔案比較大,刪除很慢,介面沒有任何反應,無法判斷是否在刪除檔案,迫不及待的重新亂按手機其他鍵,導致系統出現錯誤。
手機軟體測試
手機作為專用的消費類電子產品需要進行以下測試 可靠性測試 對於硬體則是rqt 對於軟體則是field trial 標準符合性測試 fta 互操作性測試 iot 安全 性測試 安規測試 強度測試等。其中,有些種類的測試,例如fta,有嚴格的標準 gsm 3gpp等 來明確被測的功能點,測試人員 所要做...
軟體測試 手機軟體測試
測試計畫 測試方案 測試用例 執行 功能測試 流程測試 功能點測試 相容性測試 交叉測試 安裝解除安裝測試 包括應用的公升級 壓力測試 介面壓力測試 功能測試 對具體功能點一一測試,確保每個點都能正確實現相應功能 相容性測試 對市場上主流的裝置安裝應用執行測試,確保都能正常執行 交叉測試 對於正在執...
手機軟體測試分類(測試分類)
1 相容性測試 例如 測試乙個文件使用word2003能開啟,無法開啟word 2007的現象。一般相容性測試的手機模組內容包括 sim卡相容性測試 bt pc驅動 sd卡和wlan。2 自動化測試 解釋 自動化測試其實就是測試軟體的可靠性,可以叫做穩定性測試。常見的自動化測試有 att穩定性測試 ...