簡介
魯棒測試是對各個模組的功能和系統進行容錯性的測試,檢測軟體模組在異常輸入和苛刻環境條件下能否保持正常工作,包涵錯誤數據處理、異常情況處理和非法操作處理的測試。魯棒測試大大提高了錯誤覆蓋率,測試終端既要符合測試規範要求,還要有更高的成熟性,容錯性和易恢復性,從而更好地提高軟體質量。
測試目的
保終端軟體在處理錯誤數據和異常問題時各個功能模組工作正常,提高終端軟體的容錯能力。進行異常測試的目的和依據如下,我們之前的測試案例都是在驗證這三條特性:
● 成熟性:終端軟體為避免由軟體中錯誤而導致失效的能力
● 容錯性:終端軟體在錯誤數據或者違規操作的情況下,軟體維持規定的性能級別的能力
● 易恢復性:在發生故障的情況下,終端軟體重建規定的性能級別並恢復受直接影響的數據的能力
測試原理
魯棒測試目的是觀察終端軟體的健壯性。它是在異常和危險情況下終端軟體生存的關鍵。比如說,終端軟體在輸入錯誤、網路異常或非法操作下,能否不當機、不崩潰,測試並提高終端軟體的容錯性能力,確保用戶數據不會損害和丟失。終端軟體如果不能處理錯誤的輸入,則可能造成:
● 垃圾數據進入終端軟體,影響後續操作;
● 因為不能控制終端軟體運行流程,終端軟體可能處於未知狀態,運行發生不穩定的情況,或者錯誤狀態,影響正常業務;
● 還可能發生安全性問題,使得非法用戶獲得利益,或者終端軟體不能提供正常的服務。
所以魯棒性測試是完全必要的,只不過比正常操作的測試優先權低一些。
錯誤數據處理
錯誤數據處理測試原理是根據規範定義手動輸入錯誤數據進行測試,檢查測試終端相關功能模組的容錯能力,在輸入非法數據情況下模組功能是否異常。
● 錯誤數據根據需求而言,是沒有意義的、不合理的輸入數據的集合。
● 錯誤數據包括不支持字元,不支持的檔案,錯誤數字(密碼,電話等),空白數據,重複數據,錯誤設定,越界數據等等。
● 判斷提示信息是否正確,首先要符合規範;其次要友好、合理、易理解;這樣的提示才能被用戶所接受。
異常情況處理
異常情況處理測試原理是根據規範中異常處理部分的定義對非人為因素導致的異常進行測試,檢查測試終端相關功能模組的重試機制和自動恢復能力。
● 非人為因素異常包括:網路異常,伺服器異常,終端軟體異常等。
● 判斷提示信息是否正確,首先要符合規範;其次要友好、合理、易理解;這樣的提示才能被用戶所接受。
● 在異常情況出現後,終端軟體會自動發起重試機制,在異常情況消失後,終端軟體能夠自動恢復。
非法操作處理
非法操作處理測試原理是根據規範定義對人為非法操作導致的異常進行測試,檢查測試終端相關功能模組的恢復能力,是否有數據丟失,檢查數據的完整性等。
● 非法操作舉例:在編輯彩信時掉電的處理;SD卡的數據使用時插拔SD卡;數據傳輸時插拔USB線。
● 判斷提示信息是否正確,首先要符合規範;其次要友好、合理、易理解;這樣的提示才能被用戶所接受。
● 在進行非法操作後不能產生垃圾數據,沒有數據丟失,被中斷的操作沒有引起終端軟體異常。在異常情況消失後,終端軟體能夠自動恢復。
測試方法
魯棒性測試方法包含錯誤數據處理,異常情況處理和非法操作處理三類測試的測試方法,針對這三類測試內容的測試方法如下
錯誤數據處理
錯誤數據處理的測試方法是向指定模組人為輸入非法數據,檢查終端軟體的反應和提示信息是否正常。具體測試方法如下:
1、根據測試規範判斷哪些數值屬於非法數據;
2、人為輸入相應的非法數據進行測試;
3、檢查測試結果。通常測試結果會自動調整數據並給出正確的提示信息;
註:一般不需要特定的測試設備或測試環境。
錯誤數據處理的具體步驟列舉如下:
需求:單頁彩信的持續時間為1~999
準備條件:可知0為非法的數據
測試步驟:
1、新建彩信
2、編寫一條單頁彩信。彩信內容包括圖片和文字
3、設定持續時間為0
測試結果:
1、新建彩信成功
2、彩信編寫成功
3、設定失敗,彈出警告對話框
異常情況處理
異常情況處理是測試非人為因素導致的異常,檢查測試終端對異常的情況處理是否正常。異常情況主要包括網路異常,伺服器異常,終端軟體異常等。
一、網路異常
網路異常情況主要包括:網路擁塞/網路干擾,2G/3G網路切換,電路域/數據域業務衝突,通信網路不可用等網路異常情況。具體測試方法如下:
1、藉助禁止盒模擬斷網或信號弱的情景,或者設定終端軟體的網路和實際的網路不相符的情景;
2、測試相應的和網路有關的功能。
例如:終端軟體網路設定為“僅限TD”情況下在沒有TD信號的區域進行測試。要求終端軟體在網路異常產生時不會生成垃圾數據並且在網路可用時可以繼續先前被中斷的操作。
二、 伺服器異常
通過使用測試平台模擬伺服器異常。測試儘量用現網卡通過現網WAP網關進行測試。在某些測試項用現網環境無法完成測試時,換用實驗室卡和實驗室網路環境進行測試。具體測試方法如下:
1、在測試平台上修改數據;
● UA修改工具(UATools):修改為錯誤的UA,查看Push信息的推送能力的容錯性
2、測試相關的數據。
三、 終端軟體異常
終端軟體異常主要測試低電的情況,使用電量15%左右的電池進入各個模組進行測試,檢查電量不足情況下模組的工作情況,低電提醒不應該對正在進行的操作產生不良影響。具體測試方法如下:
1、電池電量在15%左右時,對相關的模組進行測試;
2、電量低於10%後會有低電提醒,提醒不干擾正在進行的操作。
3、電量低於0%後終端軟體自動關機,檢查關機會不會導致數據丟失的問題,之後查看能不能繼續充電的問題。
例如:拍攝視頻時電量低於15%後終端軟體自動退出照相機,終端軟體提示“電量低,請充電後使用”,已經拍攝的視頻自動保存到指定路徑下。
異常情況處理的具體步驟列舉如下:
測試步驟:
1、被測終端接收彩信報。
2、被測終端收到PUSH訊息後關機。
3、2天后開機,對收到的PUSH通知訊息進行提取下載。
測試結果:
1、接收終端彩信報PUSH訊息成功
2、被測終端關機。
3、提示用戶該訊息已過期。
非法操作處理
非法操作處理是在模組基本功能操作的同時進行人為因素導致的終端軟體異常操作,包括拔電池,同時還包括在執行中進行非法的操作,如同步時修改刪除同步數 據,大容量數據傳輸時修改刪除數據,終端軟體升級被外界因素干擾檢查下次終端軟體升級等。對於非法的操作終端軟體不應該產生垃圾數據,並且能保存已經編輯 的數據,確保沒有數據丟失。一般需要的測試設備有:SD卡,SIM卡,USB線等。具體測試方法如下:
1、建立必須的測試環境或預置條件;
2、執行非法操作;
3、檢查測試結果,不應該產生垃圾數據,並且能保存已經編輯的數據,確保沒有數據丟失。
異常情況處理的具體步驟列舉如下:
測試步驟:
1、進入信息
2、新建彩信,添加圖片和文字
3、拔掉電池
4、重新開機
5、進入信息查看
測試結果:
1、進入信息成功
2、新建彩信成功
3、終端軟體關機
4、開機成功
5、編輯的彩信被自動保存在草稿箱
測試用例設計
錯誤數據處理用例設計
錯誤數據處理測試用例的設計方法是根據測試規範和需求,分析終端軟體容易產生異常數據的情況,例如不支持字元,不支持的檔案,空白數據,重複數據,錯誤 設定,越界數據等信息,根據錯誤數據分析結果設計測試用例。例如:瀏覽器錯誤數據“空白的書籤名稱/地址,空白首頁地址,重複的書籤名稱/地址,錯誤網路 設定,錯誤密碼等等。”
一、 錯誤數據的分析原則
首先需要根據規範中要求的合理數據(即有意義的數據構成的集合)來分析異常數據分類,然後圍繞異常數據(即不合理數得到沒有意義的數據集合)設計測試用例。可結合等價類、邊界值的測試方法來分析錯誤數據。
二、 數據類型的舉例
● 必填項輸入測試:測試規範指出的螢幕上必須輸入數據的欄位和螢幕上每一個被說明為必須輸入的欄位,以保證它強制要求你在欄位中輸入數據。錯誤數據測試應考慮空白時如果沒有輸入相關數據的提示和後續操作;
● 特殊欄位類型測試:測試規範規定的特殊數據輸入要求(姓名、日期、電話號碼、郵編等)的欄位的測試案例。錯誤數據測試輸入的數據應包括它不應該接受的數據類型,測試軟體對錯誤輸入的提示和後續操作;例如密碼只支持數字和英文,不應該支持中文。
● 特殊字元類型測試:測試規範上要求的某個欄位支持的字元,錯誤數據測試輸入數據應該著重考慮它不支持字元集合,測試軟體對錯誤輸入的提示和後續操作;例 如:資料夾命名的非法字元/ \ : * ? " < > |。飛信暱稱不能為guest,好友名稱不能為stranger等。
● 檔案類型測試:錯誤數據測試考慮規範中規定的檔案類型之外的檔案的支持情況,以及測試軟體處理不支持檔案類型所給出的提示和後續操作;
● 數據有效性測試:輸入不正確的網址,用戶名,密碼或電話等錯誤信息,測試軟體處理錯誤數據所給出的提示和後續操作;例如:瀏覽器中輸入不存在的網址,解鎖輸入錯誤密碼等。
錯誤數據處理測試用例舉例:
Initial Condition:
MMS settings has been set properly
Key Test Areas of Concentration:
1. Launch Messaging
2. Compose message
3. Attach a nonsupport media
4. Send MMS
Scenario Result
1. Show conversation list
2. MMS is added
3. The nonsupport media is added
4. Successfully send
異常情況處理用例設計
異常情況處理測試用例的設計方法主要是考慮測試環境中網路異常,伺服器異常等非人為因素異常情況設計測試用例。客戶端應處理正確,並且終端軟體應根據規範要求給出明確錯誤原因,有些模組在異常情況消失後啟動自動重試和恢復機制。
首先要分析非人為因素產生的異常情況的類型,包括伺服器異常,網路異常,終端軟體異常等情況。然後圍繞異常類型設計測試用例。
一、 伺服器異常測試
通過人為手段,終端軟體與伺服器之間數據進行互動時,測試伺服器模擬異常狀態,檢查被測終端軟體的反應和其後的補救提示或操作。包括伺服器逾時,伺服器回響錯誤等。
伺服器逾時測試用例包括所有與伺服器相關的模組,當終端軟體向伺服器發出請求時,發現伺服器沒有返回正常的回響,則應該啟動重試機制。例如:下載彩信逾時,登錄飛信逾時,更新動態內容逾時等等。
伺服器回響錯誤測試用例包括所有與伺服器相關的模組,當終端軟體接收到伺服器發出的數據包內容或格式錯誤時,終端軟體會啟動重試機制。例如:動態內容下載回響錯誤或同步相應錯誤等等。
二、 網路異常測試
通過人為手段調節網路信號強度,網路衝突等情況,檢測終端軟體的反應和其後的補救提示和操作。包括網路正在使用,電路域/數據域業務衝突,通信網路不可用等。
網路正在使用測試用例包括所有與網路相關的模組,在指定2G網路下模組向網路發出請求後,發現GPRS的PDP正在被其它套用占用,並且該套用使用不同 的網路連線參數(APN或者Proxy),則啟動重試機制。在指定3G網路下模組向網路發出請求後,應支持終端軟體多APN並發處理。
電路域/數據域業務衝突測試用例包括所有與網路相關的模組,在2G網路下終端軟體在使用數據域業務連線時,終端軟體收到電路域的語音呼叫,則客戶端停止 數據域業務連線,待電路域的語音通話結束後重新發起數據域業務連線。例如:下載檔案或同步數據時打入電話等等。在3G網路下終端軟體支持電路域和數據域業 務並發的處理。
通信網路不可用測試用例包括所有與網路相關的模組,指定模組向網路發出請求後,發現GPRS不可用,則啟動重試機制。例如:飛行模式下進入瀏覽器,沒有信號時定製終端軟體電視等。
三、 終端軟體異常測試
檢查低電情況下的工作情況。包括操作過程中低電,低電後進入指定模組等測試。
低電測試用例需要覆蓋所有功能模組,終端軟體電量不足情況下對基本功能進行操作,檢查低電提醒和低電狀態對模組的影響。例如:低電時接打電話,低電時拍照,低電時聽音樂,低電時看視頻等等。
異常情況處理測試用例列舉如下:
Initial Condition:
1. MMS settings has been set properly
2. MMS has expired in multimedia message center
3. The auto-retrieve is active
Key Test Areas of Concentration:
1. Receive MMS
2. Manual retrieve MMS
3. View this notification
Scenario Result
1. Receive a notification
2. Receive a prompt that MMS has expired
3. Successfully view notification
非法操作處理用例設計
非法操作處理測試用例的設計方法主要是從需求方面,相關業務等方面分析。針對不同的功能模組分析可互動的非法操作,最常見的非法操作是拔電池測試,傳輸和下載檔案時插拔USB數據線等。
● 拔電池的非法操作:主要測試在某個套用正在運行時,拔掉電池,打斷正在進行的操作,檢測終端軟體的反應和其後的補救提示和操作。
● 插拔SD卡的非法操作:主要測試功能模組與SD卡進行互動時插拔SD卡,或移除SD卡後終端軟體進行與SD卡相關的操作,檢測終端軟體的反應和其後的補救提示和操作。
● 插拔SIM卡的非法操作:包括測試終端軟體與SIM卡進行數據互動時插拔SIM卡,或移除SIM後終端軟體進行與SIM卡或網路相關的操作,檢測終端軟體的反應和其後的補救提示和操作。
● 插拔USB的非法操作:測試終端軟體與外部設備傳送數據時移除USB,或終端軟體運行套用時連線USB並改變相應的連線模式,檢測終端軟體的反應和其後的補救提示和操作。
● 對於終端軟體升級的非法操作:測試在終端軟體升級時被外界因素干擾後,升級終端軟體正常中斷,檢查終端軟體可啟動恢復機制,終端軟體恢復到未升級的版本並可正常使用,並對下次終端軟體升級無影響。
非法操作測試用例列舉如下:
Initial Condition:
1. There is at least one push email account
Key Test Areas of Concentration:
1. Power off when sending an email9
2. Power on and then go on sending the email from outbox
3. Take battery out when receiving emails:
4. Restart phone and then go on receiving the emails
Scenario Result
1. Verify that the unsent email should be put into Outbox
2. Verify that the email should be sent out.
4. Verify that received emails should not be received again,Unreceived email should be received this time