《編寫測試用例(詳細)課件》由會員分享,可在線閱讀,更多相關《編寫測試用例(詳細)課件(35頁珍藏版)》請在裝配圖網上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,*,如何設計編寫測試用例(淺析),測試用例的概念,測試用例設計原則,測試用例的編寫方法,實例:,紙杯的測試用例設計,如果沒有測試用例測試人員將會如何測試?,隨機測試存在的問題,不知道是否較全面的測試了所有功能,測試的覆蓋率無法衡量,對新版本的重復測試很難實施,無法對測試質量進行有效評估,無法形成有效的知識積累,.,測試用例的特征,最有可能抓住錯誤的,不是重復的、多余的,一組相似測試用例中最有效的,既不是太簡單,也不是太復雜,測試用例的概念,如何以最少的人力、資源投入,在最短的時間內完成測試,發現軟件系
2、統的缺陷,保證軟件的優良品質,是軟件公司探索和追求的目標,測試用例是測試工作的指導,是軟件測試的必須遵守的準則,更是軟件測試質量穩定的根本保障,測試用例的概念,測試用例是指為實施測試而向被測試系統提供的輸入數據,操作或者各種環境設置以及期望結果的一個特定集合。,其實簡單來說,測試用例就是解決要測什么,怎么測和如何衡量的問題。,舉例,登錄功能,說出一些簡單的測試用例,舉例,簡單用例,一般的用例,舉例,比較詳細的用例,測試用例設計原則,測試用例對需求覆蓋的完整性;,測試用例的有效性;,測試用例的可理解性;,測試用例的清晰性;,測試用例的可維護性。,需求的覆蓋完整性,做到對需求的完全理解,從全局上把
3、握需求,對需求進行歸類,包括正常流,異常流等,做到對需求的100%覆蓋。(其中有一個好的方法就是用mm圖把需求分解了),把基本路徑分解出來,將需求歸類。理順了需求,用例寫起來就順手多了。,需求的覆蓋完整性,測試用例的有效性,測試用例應該包含清晰的輸入數據以及預期輸出,如果環境或者業務發生變更后,測試數據必須進行更新維護,用例基于數據驅動,測試用例的可理解性,測試用例步驟必須描述清晰,不能出現模棱兩可以及重復的話語,測試用例應該按照一定的順序進行編寫,這樣執行的時候效率比較高,測試用例的清晰性,測試用例的驗證點必須明確清晰重點突出,一個用例進行一個功能點的驗證,一個蘿卜一個坑。,對于流程性的用例
4、建議按照流程順序進行用例安排,從第一個驗證點到最后一個驗證點,組成流程的開始到結束,方便測試執行。,測試用例包含前置條件的必須將前置條件描述清楚,包括入口等。,測試用例的可維護性,測試用例因為業務需求發生變更的時候,需要及時更新維護測試用例,做到測試用例的實時性與有效性,測試用例需要細化和不斷的完善,是個循序漸進的過程,通過測試實踐檢驗測試用例并添加,刪除,修改測試用例。,小結,Ross Collard在Use Case Testing一文中說:測試用例的前10%到15%可以發現75%到90%的重要缺陷。如果你在項目或日常結束后,仔細的分析過我們的bug列表,那么你會覺得這句話非常適用。,合理
5、的提高我們的測試效率就是在編寫測試用例的時候進行測試用例優先級的劃分。,如何劃分,1.用于冒煙測試的用例為最高優先級,2.把基本路徑以及各模塊主功能的測試標注為高優先級別,3.把你所有錯誤和邊界值或確認測試標注為中優先級別,4.把可用性測試,兼容性測試等標注為低優先級別,5.將功能測試用例分為嚴重和不嚴重兩類,對于不嚴重的功能測試用例降級為低優先級用例。,測試用例編寫方法,等價類劃分,如何測試一個兩位數加法計算器的程序?,測試需求:測試兩個參數的值相加后的結果是否正確。,其中:1.輸入的數值在-99 到 99之間。,2.大于99或小于-99的輸入應被拒絕,并顯示錯誤信息。,根據測試需求開始測試
6、。分別給第1個參數和第2個參數輸入表中的值,然后得到測試結果。如圖:,測試用例編寫方法,等價類劃分,等價類劃分法作為一種最為典型的黑盒測試方法,它完全不考慮程序的內部結構,而只是根據程序的要求和說明進行測試用例的設計。,如何去做?,測試人員要對需求規格說明書中的各項需求,,尤其是功能需求進行細致分析,,然后把程序的輸入域劃分程若干個部分,從每個部分中選取少數代表性數據作為測試用例。經過這種劃分,每一類的代表性數據在測試中的作用都等價于這一類中的其他值。,如何區分,有效數據等價類 與 無效數據等價類,有效數據等價類,就是由那些對程序的規格說明有意義的,合理的輸入數據所構成的集合。,無效數據等價類
7、,就是那些對程序的規格說明不合理的或者無意義的輸入數據所構成的集合。,舉例,等價類表,測試用例表,舉例,在測試“-99=數值=99”的這個等價類區間的時候,會發現如,10+40,-20+30,-30+(-30)這類的正數相加,正數負數相加,負數相加也是不同的等價區間。因此可以使用更多的等價類劃分。,等價類表,舉例,測試用例,等價類方法小結,等價類技術提供了一個選擇哪些數值,舍棄哪些數值的測試用例設計方法。運用等價類技術,可以把相似輸出,輸入,操作分成組,這些組就是等價區間。只要從等價區間選擇一到兩個有代表性的值作為測試用例來執行就等同于測試了所有值。,當然,也可能存在編程人員編寫了異常處理的代
8、碼(使用多個測試用例才能發現這個錯誤),但是在發現這種類型的缺陷方面存在其他更為有效的技術(比如代碼審查)。,由之前的案例可以看出,,運用等價類方法的步驟是,:,1.劃分等價類(依據是需求),2.建立等價類表(有效等價類 和 無效等價類),3.設計測試用例,邊界值分析,邊界值分析也是一種黑盒測試方法,是一種和等價類相關的技術,它具有很強的發現程序錯誤的能力。如果軟件的能力達到極限時能夠運行,那么在正常情況下就不會有什么問題。長期的測試工作經驗說明“,錯誤隱藏在角落,問題聚焦在邊界上,”,大量的錯誤是發生在輸入或者輸出的邊界上,而不是發生在輸入輸出的范圍內。因此,正對各種邊界值情況設計測試用例,
9、可以查出更多的錯誤。,同樣以上個程序為案例,簡單設計測試用例,如圖:,其他測試方法,軟件測試有兩個基本方法:,通過測試,和,失敗測試,通過測試,:主要用于驗證系統和它的需求是否一致,確認軟件至少能做什么,一般通過分析需求說明書設計測試用例。為了確定程序是否滿足目標,就必須執行通過測試。,失敗測試,:確信軟件在普通情況下正確運行之后,就可以采取各種手段找出缺陷。純粹為了破壞軟件而設計和執行的測試用例稱為失敗測試或迫使出錯測試。,失敗測試主要用于證明“一個系統不做不需要它做的事情”。也就是說,要設計測試用例來考察程序超出需求規格說明的嚴格范圍時的行為。,失敗測試雖然與通過測試看起來相似,但是它是蓄
10、意攻擊軟件的薄弱環節。,其他測試方法,錯誤猜測,:(錯誤推測)本身不是一種測試技術,而是一種可以運用到所有測試技術中產生更加有效的一種測試的技能。,錯誤猜測是基于經驗和直覺推測程序中所有可能存在的各種錯誤,從而有正對性的設計測試用例的方法。,隨機測試,:隨機測試指測試中的所有輸入數據都是隨機生成的,其目標是模擬用戶的操作。,測試方法的選擇,一個好的測試方法將給軟件測試帶來事半功倍的效果。在實際的測試工作中,可以按照以下原則運用以上所學習的測試技術,:,1.在任何情況下都必須使用邊界值分析方法。經驗表明,用這種方法設計出的測試用例發現程序錯誤的能力最強。,2.用等價類劃分方法補充一些測試用例。,
11、3.用錯誤推測法再增加一些測試用例。,4.如果程序的功能說明中含有輸入條件的組合,應在一開始就選擇用因果圖法。,5.如果程序的某功能適合自動測試,則可采用自動測試方法以及隨機測試方法進行測試。,幫助建議,1.,你是否感覺測試的時候思維很混亂,或者總覺得有些功能沒有測到,而一些功能已經測過好幾遍?,幫助建議:,請明確你的需求,是否做到覆蓋100%。你的用 例優先級是否設置合理。,2.在測試實踐緊迫的情況下,你不知道要測什么,或者要先測哪些功能?,幫助建議:,那么你需要調整自己的用例優先級,順帶回去好好整理整理需求。,3.在編寫測試用例的時候先去學習前輩們的優秀做法。在學習別人優秀成果的基礎上,編
12、寫自己的用例。,實例:紙杯的測試用例設計,用戶需求:一個帶廣告圖案的花紙杯,杯子特性,杯子的容量:能裝多少升水,空杯,半杯,滿杯,杯子的型狀:圓型,上面口大,下面小。,杯子的材料:紙杯,杯子的抗摔能力:風吹是否會倒,摔一次是否會摔壞,摔多次是否會摔壞,杯子的耐溫性:裝冷水,冰水,熱水,廣告圖案,廣告內容與圖案碰水是否會掉色,廣告內容與圖案是否合法,廣告內容與圖案是否容易剝落,廣告內容與圖案是否符合某個名族的禁忌,可用性及安全性,可用性,1.裝入液體多久后會漏水,2.裝入熱水多久后可以變溫,裝入冰水多久后可以融化,3.如果裝入的不是液體,像石頭,沙子,鐵塊等,安全性,1.裝入不同液體,是否會有化學反應。比如:可樂,咖啡等飲料,2.裝入熱水杯子是不是會變型和異味,3.可以加入當熱水小于多少度(是一個確定值)時,手不能被燙傷。,易用性和性能,易用性,1.不同人群是否能適合杯子的型狀,包括握杯的 感覺和喝水的感覺,2.不同人群是否能接受杯子的廣告內容與圖案,3.紙杯杯壁的薄厚,杯深是否可以讓消費者接受,性能,1.杯子在50,80度的水溫下可以使用多少次,2.倒滿開水后,放入冰箱冷凍結冰,取出在融化 后杯子是否可以繼續使用。,你有不明白的地方嗎?,謝,謝,觀,看,!,