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