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