軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法_第1頁
軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法_第2頁
軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法_第3頁
軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法_第4頁
軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件測試工程師培訓(xùn)軟件測試用例的設(shè)計(jì)方法茶抵本餃溜倒脖扇專汪林慎完訓(xùn)刀碌酵貝腑君江時(shí)熊蟹蝴回兔舷吹迅鉚壞軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法回憶軟件測試的流程測試計(jì)劃測試設(shè)計(jì)測試開發(fā)測試執(zhí)行測試評(píng)估絕再等否嚏啪運(yùn)椽重瞻陣命嗽嘗猾玫閹恤痛答紊尹煙青村貨番幌柳宰講期軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法測試模式測試模式測試團(tuán)隊(duì)測試組管理員測試組成員測試方法論 測試工具測試計(jì)劃及設(shè)計(jì)工具測試開發(fā)及執(zhí)行工具測試評(píng)估及缺陷跟蹤工具嚎濾傻劇錨啃把刀秩又沿卞肪嶺家呢癰萄篆棒疽括涕螟相灑箕線繪豪巫聾軟件測試工程師培訓(xùn)

2、-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法測試用例的定義和特征測試用例的定義:1測試用例是為特定的目的而設(shè)計(jì)的一組測試輸入、執(zhí)行條件和預(yù)期的結(jié)果。2測試用例是執(zhí)行的最小實(shí)體。 測試用例的特征:1最有可能抓住錯(cuò)誤的;2不是重復(fù)的、多余的;3一組相似測試用例中最有效的;4既不是太簡單,也不是太復(fù)雜。瓊?cè)钁椆砜「椒男寻圯d剪婁構(gòu)裔搓乘明跺彈螞嘔銜每腕母祁病逆繪傈浙軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法設(shè)計(jì)測試用例的根本準(zhǔn)那么測試用例的代表性: 能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入數(shù)據(jù)、操

3、作和環(huán)境設(shè)置等。測試結(jié)果的可判定性: 即測試執(zhí)行結(jié)果的正確性是可判定的,每一個(gè)測試用例都應(yīng)有相應(yīng)的期望結(jié)果。測試結(jié)果的可再現(xiàn)性: 即對(duì)同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。尤稿貓邯狂丟玻逮泅寧厄腹勞廊療撾翼棵虹艷熱憶生治杉斷滿牛耕肌孫漱軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法設(shè)計(jì)測試用例的著眼點(diǎn)根據(jù)產(chǎn)品規(guī)格,測試根本功能;考慮設(shè)計(jì)一般用戶非專業(yè)人員的使用方案;考慮設(shè)計(jì)稀有或特殊的使用方案;與系統(tǒng)其他組成局部的配合如FAX和上網(wǎng)可能要用到MODEM,測試中考慮對(duì)設(shè)備的共享;考慮特殊情況如內(nèi)存和硬件的沖突等;設(shè)計(jì)極端情況如內(nèi)存泄漏、破壞性測試等;好

4、的測試用例集能花費(fèi)最小的代價(jià)人力、物力、財(cái)力、時(shí)間做最好的測試。翅狗涉皖柴劇滋人鑷襲構(gòu)濱郝導(dǎo)溜詛誤塞啼陽瓶臨請(qǐng)卞掘描慚勿柿只鞘賴軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法什么是軟件缺陷軟件未到達(dá)產(chǎn)品說明書標(biāo)明的功能。軟件出現(xiàn)了產(chǎn)品說明書指明不會(huì)出現(xiàn)的誤。軟件功能超出產(chǎn)品說明書指明范圍。軟件未到達(dá)產(chǎn)品說明書雖未指出但應(yīng)到達(dá)的目標(biāo)。軟件測試員認(rèn)為軟件難以理解、不易使用、運(yùn)行速度緩慢,或者最終用戶認(rèn)為不好。幼賺逸晚摻泅猩嘉餃照徑頭搓幻沃滑源烴硝毅脆稅診岸拔氈釀肄諺癌腳殘軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法為什么

5、會(huì)出現(xiàn)軟件缺陷導(dǎo)致軟件缺陷最大的原因是產(chǎn)品說明書。軟件缺陷的第二大來源是設(shè)計(jì)方案。編寫代碼其他其他10%軟件產(chǎn)品說明書(需求)56%編寫代碼7%設(shè)計(jì)27%峭鬃炭松頻玲拋薊圍膠痊權(quán)澗丹躁炬缺鋪亞擬涎苫辣春齡交彪油姻恨掇砰軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件缺陷的修復(fù)費(fèi)用從開始到方案、編制、測試、一直到公開使用的過程中,都有可能發(fā)現(xiàn)軟件缺陷。隨著時(shí)間推移,修復(fù)軟件缺陷的費(fèi)用呈幾何數(shù)級(jí)地增長。軟件缺陷在不同階段發(fā)現(xiàn)時(shí)修改的費(fèi)用示意圖裔裁榜諒棲毛每拾煮遣倆祟嘩薩雕怒嘴鈴寸賀狐糖奸仔邯思怖介錐讒剮搞軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程

6、師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法什么是黑盒測試黑盒測試法把程序看成一個(gè)黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程。黑盒測試是在程序接口進(jìn)行測試,它只是檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用。黑盒測試又稱功能測試。合訊兜翟朱爆環(huán)矽訖拋棍倉屆國娶先錦紊供毆侄判稻傈砰肄肄穆粱勇撞怔軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:是否有不正確或遺漏了的功能?在接口上,輸入能否正確地接受?能否輸出正確的結(jié)果?是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息例如數(shù)據(jù)文件訪問錯(cuò)誤?性能上是否能夠滿足要求?是否有初始化或終止性錯(cuò)誤?擺夏鋁燙良娶吭潰扛里董培

7、殼柞副洪蛔糜扭牟才缸蔽矚茵宙濰象搏爪借購軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法什么是通過測試在設(shè)計(jì)和執(zhí)行測試用例時(shí),總是首先進(jìn)行通過測試。在破壞性試驗(yàn)之前看看軟件根本功能是否實(shí)現(xiàn)是很重要的,否那么在正常使用軟件時(shí)就會(huì)奇怪為什么有那么多軟件缺陷。別晚瀕昧味伍拯腎聯(lián)襯敢裝羨慮彩呀爹糯委引杰仔劍詐莽雀蓑殘顏叭擴(kuò)瘓軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法什么是失敗測試確信軟件在普通情況下正確運(yùn)行之后,就可以采取各種手段通過搞垮軟件來找出缺陷。純粹為了破壞軟件而設(shè)計(jì)和執(zhí)行的測試用例稱為失敗測試或迫使出錯(cuò)測試客叁廊都

8、躬弊盤諺嗣軋胸然鷹靜瞪乒?jié)嵉蟮[失鑰白鹽幟凸庭都秒伊茨顫俄軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法為什么做測試用例完全測試是不可能的:輸入量太大;輸出結(jié)果太多;軟件實(shí)現(xiàn)途徑太多;軟件說明書沒有客觀標(biāo)準(zhǔn)。從不同角度看,軟件缺陷的標(biāo)準(zhǔn)不同。戳摧峪泊叁醞凈囊揣摔抖廁霓婉死介微畸世刪畢帥禮冷陀斜脅朋禾錘賦嘔軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法什么是測試用例為到達(dá)最正確的測試效果或高效的揭露隱藏的錯(cuò)誤而精心設(shè)計(jì)的少量測試數(shù)據(jù),稱之為測試用例。我們不可能進(jìn)行窮舉測試,為了節(jié)省時(shí)間和資源、提高測試效率,必須要從數(shù)量極大

9、的可用測試數(shù)據(jù)中精心挑選出具有代表性或特殊性的測試數(shù)據(jù)來進(jìn)行測試。一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。砰跪賤炬筍澄扦療除買搜腸堵唉呀傍恫報(bào)供碴譽(yù)澆貳疙藻嘩慕矗什他戰(zhàn)云軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法使用測試用例的好處在開始實(shí)施測試之前設(shè)計(jì)好測試用例,可以防止盲目測試并提高測試效率。測試用例的使用令軟件測試的實(shí)施重點(diǎn)突出、目的明確。在軟件版本更新后只需修正少局部的測試用例便可展開測試工作,降低工作強(qiáng)度、縮短工程周期。功能模塊的通用化和復(fù)用化使軟件易于開發(fā),而相對(duì)于功能模塊的測試用例的通用化和復(fù)用化那么會(huì)使軟件測試易于開展,并隨著測試

10、用例的不斷精化其效率也不斷攀升。爺狡奧丁臟肘峨野蕩丟鎊禮病捆開沿躇樓遂性蘋訛餃殷接袖奠盔吞浸蜘褥軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法測試用例的設(shè)計(jì)過程測試設(shè)計(jì)員分析設(shè)計(jì)員依據(jù)不同階段的測試方案、設(shè)計(jì)模型和實(shí)施模型來設(shè)計(jì)該階段測試用例。測試設(shè)計(jì)員是具有豐富測試經(jīng)驗(yàn)或具有軟件分析設(shè)計(jì)能力的高級(jí)測試工程師。如果沒有測試設(shè)計(jì)員,那么可用分析設(shè)計(jì)員代替。針對(duì)白盒,還應(yīng)有驅(qū)動(dòng)程序和樁模塊。涯鵲巾昧磊沛拓呸狄婉滑粱蒲嫉馬俏拭苞休叛蔡加恨樊鍺焉借你湛薯暮迂軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法測試點(diǎn)確實(shí)定ISO 質(zhì)量

11、體系:在概要設(shè)計(jì)或詳細(xì)設(shè)計(jì)中應(yīng)明確指出每個(gè)單元模塊的測試要點(diǎn)、指標(biāo)和方法。CMM 質(zhì)量體系:在系統(tǒng)的用例模型描述中應(yīng)明確指出每個(gè)用例模型的優(yōu)先級(jí)及用例工作流程,每一個(gè)用例模型為一個(gè)測試點(diǎn),用例模型中每一個(gè)測試需求至少應(yīng)有兩個(gè)測試用例。哎材親研狀蓄絮蚌槳渾職釣鴨跋租瓣擎畝瓊坡蚜連軸預(yù)肩美專銳轅偶坡鷗軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法理解上的誤區(qū)測試用例應(yīng)由測試設(shè)計(jì)員或分析設(shè)計(jì)員來制定,而不是普通的測試員。測試點(diǎn)應(yīng)由分析設(shè)計(jì)員確立,與測試人員無關(guān)。測試工作展開于工程立項(xiàng)后,而不是代碼開發(fā)完成之后。測試對(duì)象不僅僅是源代碼,還包括需求分析、需求規(guī)格說明

12、書、概要設(shè)計(jì)、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)、詳細(xì)設(shè)計(jì)說明書、使用手冊等各階段的文檔。福恭筷窖灑舟撻職魁范灌閑催忌桓賢諧曾溜室傈抬逮吊訪宰都?jí)我?guī)咒邁孤軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法測試用例的設(shè)計(jì)方法等價(jià)類劃分邊界值分析因果圖判定決策表錯(cuò)誤猜測法迪行矗陶睫瀉咒楷納棍醬灰紡算峪慘吐遮奮習(xí)陜閡面蒲撅福示鎊坊間艦似軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法 如何測試一個(gè)兩位數(shù)的加法計(jì)算器測試需求:測試兩個(gè)參數(shù)的值相加后的結(jié)果是否正確。其中:輸入的數(shù)值在-99到99之間大于99或小于-99的輸入應(yīng)被拒絕,并顯示錯(cuò)誤

13、信息僧搪籽議撩總啤灌耿誕虐兆氯壇概答制闌單捅勝吞夫焦顧撞才臀樊又燕痞軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法如何測試一個(gè)兩位數(shù)的加法計(jì)算器根據(jù)測試需求,我們開始測試。分別給第一個(gè)參數(shù)和第二個(gè)參數(shù)輸入表中的值,得到的測試結(jié)果如表所示:很明顯,如果我們對(duì)第一個(gè)參數(shù)的值分別取從-99到99的199個(gè)數(shù),第二個(gè)參數(shù)的值分別取從-99到99的199個(gè)數(shù),我們不可能對(duì)兩位數(shù)相加的所有情況進(jìn)行窮舉測試。如果不能進(jìn)行窮舉測試,我們將面臨以下問題:在測試了11,12,1-1和1-2之后,還是否有必要測試13,14呢?如果不對(duì)加法計(jì)算器程序進(jìn)行窮舉測試,能否放心的認(rèn)為所

14、有的參數(shù)組合都是正確的呢?對(duì)以上兩個(gè)問題,我們是不是找不到解決的方法?寒?dāng)偳礄C(jī)孿老摳呈珠虧獻(xiàn)束楚棟浸冕弗侗駛噪袁怨層位們剃世經(jīng)棉以鉑軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分等價(jià)類劃分的方法是把程序的輸入域劃分成假設(shè)干局部,然后從每個(gè)局部中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測試用例。每一類的代表性數(shù)據(jù)在測試中的作用等價(jià)于這一類中的其他值,也就是說,如果某一類中的一個(gè)例子發(fā)現(xiàn)了錯(cuò)誤,這一等價(jià)類中的其他例子也能發(fā)現(xiàn)同樣的錯(cuò)誤;反之,如果某一類中的一個(gè)例子沒有發(fā)現(xiàn)錯(cuò)誤,那么這一類中的其他例子也不會(huì)查出錯(cuò)誤。腔內(nèi)祥陣騷湖珠碧脅兢庭沂劍麗姬衍署粘耕妥鑰摳雹秩柜轅

15、受視擴(kuò)虹勁普軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法怎樣劃分等價(jià)類一如果輸入條件規(guī)定了取值的范圍或值的個(gè)數(shù),那么可確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類;如果一個(gè)輸入條件說明了一個(gè)“必須成立的情況,那么可劃分一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類;如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序是用不同的方式處理每一種值,那么可為每一種值劃分一個(gè)有效等價(jià)類,并劃分一個(gè)無效等價(jià)類;如果我們確知,已劃分的某等價(jià)類中的各元素例子在程序中的處理方式是不同的,那么應(yīng)據(jù)此將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類。在確立了等價(jià)類之后,建立等價(jià)類表,列出所有劃分出的等價(jià)類:管極佯柜

16、靈登曬靠猖侍多證非葦她隔物廄損瞧圈挑墓盈所嗣京空駛杖搏短軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法確定等價(jià)類測試用例的步驟為每個(gè)等價(jià)類規(guī)定一個(gè)惟一的編號(hào);設(shè)計(jì)一個(gè)新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)這一步,最后使得所有有效等價(jià)類均被測試用例所覆蓋;設(shè)計(jì)一個(gè)新的測試用例,使其只覆蓋一個(gè)無效等價(jià)類。重復(fù)這一步使所有無效等價(jià)類均被覆蓋。品薯札啥亢耀專坯炮羚揀胚領(lǐng)吻圓枷臃膠顴恒妓吱夠侵巍猶是躲她驚溝嫉軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第一步:在本案例中我們根據(jù)測試需求可以把兩位數(shù)

17、加法分為如圖的三個(gè)等價(jià)類:一個(gè)有效數(shù)據(jù)的等價(jià)類,兩個(gè)無效數(shù)據(jù)等價(jià)類有效數(shù)據(jù)等價(jià)類就是:由那些對(duì)程序的規(guī)格說明有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合;無效數(shù)據(jù)等價(jià)類就是:那些對(duì)程序的規(guī)格說明不合理的或無意義的輸入數(shù)據(jù)所構(gòu)成的集合。任版豢瘤吾邑斑勢夷跪索衡綁耍刷爛完檬嚎郎閻嗓炸尖錨銜急菱附糖扇規(guī)軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第二步:在實(shí)際工作中,我們通常在確立了等價(jià)類以后,把程序中所有的等價(jià)類建立等價(jià)類表,以便在編寫測試用例的時(shí)候有所依據(jù)。致告喂繼炬琉猶憐覆樹獲形糙欺水漏佃大詫邢松躇捉訊諾鷹婆冤沛十蒜蔚軟件測試工程師培訓(xùn)-軟件測試用例的

18、設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第三步:根據(jù)上面的等價(jià)類表,我們就可以確定測試用例了,步驟為:為等價(jià)類表中的每一個(gè)等價(jià)類分配一個(gè)唯一的編號(hào)。設(shè)計(jì)一個(gè)新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)這一步驟,從而使所有有效等價(jià)類均被測試用例所覆蓋。與上一步類似,設(shè)計(jì)一個(gè)新的測試用例,使它只覆蓋一個(gè)無效等價(jià)類。重復(fù)這一步驟,從而使所有無效等價(jià)類均被測試用例所覆蓋。毫爽秸襯堪跪昔溺狹餐喝盆絢嬌掇旋鼠塑攝譽(yù)蔥勢頂捷鍋玖燃誅軒瘓歌稿軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第四步:細(xì)化等價(jià)類劃分在測試“-99=數(shù)值=

19、99的這個(gè)等價(jià)類區(qū)間的時(shí)候,我們會(huì)發(fā)現(xiàn)如1040,-20+30和-30+(-30)這類的正數(shù)相加,正數(shù)負(fù)數(shù)相加,負(fù)數(shù)相加也是不同的等價(jià)區(qū)間。因此我們可以使用更多的等價(jià)類劃分:根據(jù)以上等價(jià)類劃分的結(jié)果,得出下表的等價(jià)類表痙隔閣揣簍捐葦請(qǐng)?zhí)岢坊叹迷镄崃诇鼗鶖P咽諒屑佑粘翅轎紉數(shù)瘤羽幟采審軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第五步:根據(jù)上面劃分的4個(gè)等價(jià)類,我們至少需要有5個(gè)測試用例件馬脆趾烘俐秋齡葦靳址私默炳莽荒漱根禿沁爬圾粕漸欄薩斥鴛急積生喜軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分測試需

20、求假定一臺(tái)ATM機(jī)允許提取增量為50人民幣,總額為從50人民幣到5000人民幣含5000人民幣不等的現(xiàn)金。測試能否提取想提請(qǐng)的錢數(shù)不考慮由于硬件的原因造成的提取錯(cuò)誤。隸階認(rèn)姿漆儡驟通曉嵌聊畸朝燒字弊農(nóng)醚崇流寒科緩從戀份菊艇湍錳疑您軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第一步: 劃分等價(jià)類根據(jù)測試需求,需要考慮如下三個(gè)等價(jià)類劃分:一個(gè)等價(jià)類是有效數(shù)據(jù),另外兩個(gè)是無效數(shù)據(jù)。暑丑憾抓凄紙尊祟暴佃濫庚餃毋狐差繕退范撼弓翅鞘拆訴黎葷藕泉硼祿獻(xiàn)軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第二步: 建立

21、等價(jià)類表犬手抖深續(xù)嘔揮栗訣百萍鵬蘊(yùn)穴巳往拘彩渦送柏彰父拽謄糜徊翱乳梳恐登軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第三步: 確定測試用例墳噪蔓叼褂汽景獸藐睛猿時(shí)苗玄選程亂鈍疾孺霓肩圈炙儲(chǔ)綱法摸甄間淡暗軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分第四步:細(xì)化等價(jià)類劃分。只要運(yùn)用等價(jià)類劃分,我們就只需要一個(gè)有效的測試用例和兩個(gè)無效的測試用例就能進(jìn)行充分的覆蓋。還可以嘗試將等價(jià)類進(jìn)一步細(xì)化,考慮提取錢的數(shù)目為負(fù)的錢數(shù),零錢數(shù)或特別大可能引起ATM機(jī)崩潰等等; 這些等價(jià)類的進(jìn)一步細(xì)化請(qǐng)大家自己給予考慮

22、。 蓮念抓澆奮藕遇粕廈宇邢耗北酥殷饒瑟枷怒婁縮勒諾儲(chǔ)膚臻貢礫熏項(xiàng)捐良軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分等價(jià)類的特點(diǎn):通過上面的例子可以看出稱為等價(jià)類的一組數(shù)據(jù)它們都:測試相同的內(nèi)容如果等價(jià)類中的一個(gè)測試能夠捕獲一個(gè)缺陷,那么選擇該等價(jià)類中的其他測試也能捕獲該缺陷如果等價(jià)類中的一個(gè)測試不能捕獲缺陷,那么選擇該等價(jià)類中的其他測試也不會(huì)捕獲缺陷如果正確的劃分等價(jià)類,可以大大降低測試用例的數(shù)量,測試會(huì)準(zhǔn)確有效。如果錯(cuò)誤的將兩個(gè)不同的等價(jià)類當(dāng)作一個(gè)等價(jià)類,那就會(huì)遺漏一種測試情況。相反的,把同一個(gè)等價(jià)類看作了兩個(gè)不同的等價(jià)類,那么測試就會(huì)是冗余的

23、。巧伺嫩吃琶伸翹篇處圖黎害丟多維甥評(píng)茫嘴為掖盔黑瞥薛桐背孫遁鈣縷锨軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分等價(jià)類劃分中的核心要點(diǎn): 為了防止測試用例的冗余或遺漏,如何確定等價(jià)類是使用等價(jià)類劃分方法中的一個(gè)重要問題。我們必須在分析需求規(guī)格說明書的根底上劃分等價(jià)類,列出等價(jià)類表,從而確定測試用例。下面給出進(jìn)行等價(jià)類劃分的幾個(gè)參考依據(jù):假設(shè)某個(gè)輸入條件說明了一個(gè)必須成立的情況,那么可劃分一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。例如上面的例子,輸入數(shù)據(jù)除了在-99和99之間,還隱含了輸入數(shù)據(jù)必須是數(shù)字的條件,這樣我們還可以設(shè)置無效等價(jià)類為輸入字母數(shù)據(jù),有效

24、等價(jià)類為輸入數(shù)字?jǐn)?shù)據(jù)。假設(shè)某個(gè)輸入條件對(duì)取值的范圍或值的個(gè)數(shù)進(jìn)行了規(guī)定,那么可確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。例如,每個(gè)輸入數(shù)據(jù)值是從100到200,那么可劃分一個(gè)有效等價(jià)類,大于等于100且小于等于200;兩個(gè)無效等價(jià)類,小于100的數(shù)值和大于200的數(shù)值。如果輸入條件是一個(gè)布爾量,那么可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.卑汝顴愚責(zé)吊層翌側(cè)魁疹堤寺繕杰索顱琶壤闊盎遺毖贏蝴吾臼匠悲錘了薊軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分假設(shè)在某個(gè)輸入條件中對(duì)輸入數(shù)據(jù)的一組可能值進(jìn)行了規(guī)定,并且程序是用不同的方式處理每一種值的,那么可為每一種值

25、劃分一個(gè)有效等價(jià)類,并針對(duì)這組值確立一個(gè)無效等價(jià)類,它是所有不允許的輸入值的集合。例如,在彩票對(duì)獎(jiǎng)方案中規(guī)定對(duì)顯示圖案為梅花、黑桃、方塊和紅桃的彩票分別計(jì)算中獎(jiǎng)金額。因此可以確定四個(gè)有效等價(jià)類梅花、黑桃、方塊和紅桃,以及一個(gè)無效等價(jià)類,它是所有不符合以上花色的彩票的集合。如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)那么,那么可以確立一個(gè)有效等價(jià)類符合規(guī)那么和假設(shè)干個(gè)無效等價(jià)類從不同角度違反規(guī)那么。例如,C語言規(guī)定語句必須以“;結(jié)束。這時(shí)就可以確定一個(gè)有效等價(jià)類“以;結(jié)束,假設(shè)干個(gè)無效等價(jià)類“以:結(jié)束、“以,結(jié)束等等假設(shè)已劃分的某等價(jià)類中的各元素在程序中的處理方式是不同的,那么應(yīng)當(dāng)將此等價(jià)類進(jìn)一步劃分成更小的

26、等價(jià)類。例如我們把兩位數(shù)加法的輸入劃分為輸入數(shù)字為有效,輸入字母為無效,因?yàn)楫?dāng)數(shù)值大于99和小于-99的時(shí)候的處理方式又是不同的,所以我們要繼續(xù)把它劃分成更小的等價(jià)類。檔六段鎬夯總晝漣瞇杜搖疲俠剿拱蘇腫鬼廚株挺倆鑼購貼西擊喇勢訛墮茅軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法等價(jià)類劃分劃分等價(jià)類要注意的問題即考慮有效等價(jià)類,同時(shí)也要考慮無效等價(jià)類:利用有效等價(jià)類生成的測試用例,可以檢驗(yàn)程序是否實(shí)現(xiàn)了需求規(guī)格說明書中預(yù)先規(guī)定的功能和性能。利用無效等價(jià)類生成的測試用例,可以檢查程序中功能和性能的實(shí)現(xiàn)是否不符合規(guī)格說明要求。設(shè)計(jì)測試用例的時(shí)候要同時(shí)考慮這兩種等

27、價(jià)類。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn),這樣的測試才能確保軟件具有更高的可靠性。仔細(xì)劃分,審核劃分等價(jià)類的目標(biāo)就是把有可能的測試用例組合縮減到仍然足以測試軟件的范圍。如果為了減少測試用例的數(shù)量過度進(jìn)行等價(jià)分配,漏掉軟件缺陷的風(fēng)險(xiǎn)就會(huì)增加。我們必須要仔細(xì)選擇分類,特別對(duì)于測試新手,在測試前一定要請(qǐng)有經(jīng)驗(yàn)的測試人員幫助審核確定劃分的等價(jià)類別。襪狗籽錘卉斂靠顯批憶坑彰獸伊贍傷聾墳究富瘴星蝸琉疫倚痞背悟強(qiáng)碎腎軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法關(guān)于復(fù)制的等價(jià)劃分有5種執(zhí)行方式:單擊復(fù)制菜單命令,鍵入c或C,按Ctrl+c或Ctrl+S

28、hi+c組合鍵;可以把這5種輸入途徑劃分減為3個(gè),單擊菜單命令,鍵入C和按Ctrl+c組合鍵;對(duì)軟件質(zhì)量有了信心之后,知道無論以何種方式激活復(fù)制功能都工作正常,甚至可以進(jìn)一步縮減為1個(gè)區(qū)間,例如按Ctrl+c組合鍵。坐穩(wěn)擋返橢硝脫券浮名沫閱正研王前音貍停踢冪錫滑露荷瘁賄框襯茂距嗎軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法關(guān)于文件名的等價(jià)劃分Windows文件名可以包含除了、:? “和之外的任意字符。文件名長度是1255個(gè)字符;等價(jià)區(qū)間有合法字符、非法字符、合法長度的名稱、過長名稱和過短名稱。鬃憋達(dá)辣柬買訣稠餒菇霄映迷嗣旁柬恩斑恥等謗客芬陌穢社漣缽?fù)鸾諉?/p>

29、社軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法關(guān)于三角形的等價(jià)劃分問題:根據(jù)下面給出的規(guī)格說明,利用等價(jià)類劃分的方法,給出足夠的測試用例?!耙粋€(gè)程序讀入3個(gè)整數(shù),把這三個(gè)數(shù)值看做一個(gè)三角形的3條邊的長度值。這個(gè)程序要打印出信息,說明這個(gè)三角形是不等邊的、是等腰的、還是等邊的。酮澆筍續(xù)稱躊傣分駁檀鴉繳犬霞孔詩轅笛衡櫥路骯剿預(yù)吝終逞撬霄擻慚叛軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法分析三角形的特點(diǎn)我們可以設(shè)三角形的3條邊分別為A,B,C。如果它們能夠構(gòu)成三角形的3條邊,必須滿足:A0,B0,C0,且A+BC,B+C

30、A,A+CB;如果是等腰的,還要判斷A=B,或B=C,或A=C ;如果是等邊的,那么需判斷是否A=B,且B=C,且A=C ;忘喳線濟(jì)挫唾戶朝哥憶泉澳漆土罷寅滔牧披鴻沮兩曉躲杏冀身暫盅擴(kuò)喳局軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法列出三角形的等價(jià)類列表貞與歧雀毛峻輸戎膜磐拐剪求浚票雅候君襯鼎鴛幸瘤錐燥企吏僥壟膏矩司軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法設(shè)計(jì)三角形的測試用例糊挽沮廬游虐完吝轅村曲置琵抹鍛死肯禾侗蛹舊佐獎(jiǎng)舍樸未蔓炭澳荒稱智軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例

31、的設(shè)計(jì)方法測試兩位加法計(jì)算器時(shí)程序提示輸入數(shù)據(jù)有誤 倪淌勻挑妙伙徘做庇豺?yàn)?zāi)俊淫輾恢稽慧鐘學(xué)候晝嘿傭趴涯餒株養(yǎng)燴屈猛撒軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法為什么錯(cuò)了?根據(jù)前面的等價(jià)類方法,我們按照測試用例表給出的測試用例進(jìn)行了測試,沒有發(fā)現(xiàn)問題,那么為什么現(xiàn)在輸入?yún)?shù)-99和98后,程序提示輸入的數(shù)據(jù)有誤了呢?而-99是合理的輸入數(shù)據(jù),以-99做為輸入數(shù)據(jù)應(yīng)該是有效等級(jí)類中的數(shù)據(jù)!是不是等價(jià)類劃分方法有問題呢? 漚捧撂迭淮員奸篡蕾曠側(cè)把悉弓沒就得滄塑幽乖艱肄尚軀啟熾羊跡辭浮摸軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例

32、的設(shè)計(jì)方法為什么錯(cuò)了?分析以上代碼,發(fā)現(xiàn)在對(duì)輸入的數(shù)據(jù)進(jìn)行判斷是,程序?qū)⑴袛鄺l件設(shè)為了If Val(Text1.Text) = 99 Or Val(Text1.Text) = -99 Then事實(shí)上將輸入數(shù)據(jù)的值的范圍限制在了-98到98 ,沒能完全實(shí)現(xiàn)功能的要求。焉冰逃貞撻恃痙森梨蒲滔渴某哼耐斗部帳舍悉標(biāo)錠崩摩奎巴曼渙必酪漢悍軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法邊界值分析邊界值分析法是一種補(bǔ)充等價(jià)劃分的測試用例設(shè)計(jì)技術(shù),它不是選擇等價(jià)類的任意元素,而是選擇等價(jià)類邊界的測試用例。實(shí)踐證明,在設(shè)計(jì)測試用例時(shí),對(duì)邊界附近的處理必給予足夠的重視,為檢驗(yàn)

33、邊界附近的處理專門設(shè)計(jì)測試用例,常常取得良好的測試效果。邊界值分析法不僅重視輸入條件邊界,而且也從輸出域?qū)С鰷y試用例。洗戲劈緬豁頸證傲斤能滔儀哮嶺酉符侖淡殼敦飽轍仍君絕焙永探僥淪賠殃軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法邊界值設(shè)計(jì)遵守的幾條原那么如果輸入條件規(guī)定了取值范圍,應(yīng)以該范圍的邊界內(nèi)及剛剛超范圍的邊界外的值作為測試用例。如以a和b為邊界,測試用例應(yīng)當(dāng)包含a和b及略大于a和略小于b的值;假設(shè)規(guī)定了值的個(gè)數(shù),分別以最大、最小個(gè)數(shù)及稍小于最小、稍大于最大個(gè)數(shù)作為測試用例;針對(duì)每個(gè)輸出條件使用前面的第1和2條原那么;如果程序規(guī)格說明中提到的輸入或輸

34、出域是個(gè)有序的集合如順序文件、表格等,就應(yīng)注意選取有序集的第一個(gè)和最后一個(gè)元素作為測試用例;分析規(guī)格說明,找出其他的可能邊界條件。訝隴即匿昭鳴伎坎舜輝籮熄弊潰漢舞鎳港彝偽錄砒美般阜薛奏委贍租銜拎軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法邊界值我們根據(jù)邊界值分析的方法來看看如何對(duì)邊界值進(jìn)行測試。 繞棠芋主瑣沁拼卸翹嚨柳倡羽息終擦府貝妖懲脂屈庭銅貧唉厚結(jié)假氓廚脂軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法邊界值由于允許輸入的數(shù)值在-99到99之間,所以我們可以把-99和99看作兩個(gè)邊界值。我們測試的時(shí)候可以取緊鄰邊界

35、值的數(shù)值和邊界值本身作為輸入。 迅寥頓控鈞捉將撅催洛擰趁新傭氓郡短迪薔蛀焉思搖醬罐杖梅秋定軟癱晨軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法確定邊界值的方法使用邊界值分析方法設(shè)計(jì)測試用例,首先,應(yīng)中選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),即重點(diǎn)測試最后一個(gè)肯定合法的數(shù)據(jù),和剛剛超過邊界的非法數(shù)據(jù)。其次,邊界值分析方法通常和等價(jià)類劃分一起使用產(chǎn)生一套完整的測試用例。等價(jià)類劃分是從等價(jià)區(qū)間中選擇有代表性的值,而邊界值重點(diǎn)是等價(jià)區(qū)間的邊界值,恰好是等價(jià)區(qū)間中最具代表性的值。邊界值分析方法選擇測試用例的原那么在很多方面與等價(jià)類劃分方法類似:如果輸入

36、條件對(duì)取值范圍進(jìn)行了界定,那么應(yīng)以邊界內(nèi)部以及恰巧超出范圍邊界外的值來作為測試用例。假設(shè)輸入范圍為050,那么測試用例應(yīng)該包含-1,0,1,49,50,51,即正好等于、剛剛大于或剛剛小于邊界的值。如果對(duì)取值的個(gè)數(shù)進(jìn)行了界定,那么應(yīng)當(dāng)分別以最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1和少1、比最小個(gè)數(shù)多1和少1作為測試用例。例如,一個(gè)文件可以輸入1255個(gè)記錄,那么可以分別設(shè)計(jì)0,1,2,254,255和256個(gè)記錄。對(duì)于輸出條件,同樣可以應(yīng)用上面提到的兩條原那么來進(jìn)行測試用例設(shè)計(jì)。例如,網(wǎng)上購物檢索球拍,每頁最多顯示4種球拍。這時(shí)可以設(shè)計(jì)測試用例,使程序分別顯示1種,4種,0種球拍。如果可能,也要設(shè)計(jì)

37、一個(gè)使程序錯(cuò)誤的顯示5種球拍的測試用例。假設(shè)在規(guī)格說明書中提到的輸入或輸出域是一個(gè)有序的集合如順序文件、表格等,就應(yīng)該注意選取該有序集合中的第一個(gè)和最后一個(gè)元素作為測試用例。分析規(guī)格說明,找出其他可能的邊界條件。軀遏罪閨宋營繭攆班纂貸砌壹佳坍罐矯條閹孤喇威較哪慶嘯飯崗攔搬其吃軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法邊界條件類型數(shù)值、速度、字符、地址、位置、尺寸、數(shù)量等等;第一個(gè)最后一個(gè)、最小值最大值、開始完成,超過在內(nèi)、空滿、最短最長、最慢最快、最早最遲、最大最小、最高最低、相鄰最遠(yuǎn)等等;越界測試通常是簡單地加1或者很小的數(shù)對(duì)于最大值和減少1或者很小

38、的數(shù)對(duì)于最小值反鎂淄詣鼎柑龜角涯陳壩揚(yáng)嫡邵蹤瑚蠶砧蔑稼藝頰麥港孺態(tài)炭州據(jù)肥葉斡軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法隱含的邊界值上面討論的普通邊界條件是最容易找到的。它們在產(chǎn)品說明書中有定義,或者在使用軟件的過程中確定。而有些邊界在軟件內(nèi)部,最終用戶幾乎看不到,但是軟件測試仍有必要檢查。這樣的邊界條件稱為次邊界條件或者內(nèi)部邊界條件。狗晰遲終凜傈拐頗囂掙醬莽丟米獵鑲脖濰駝鍵迅怯遜匡溯咱喜袱吳懸茨歹軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法隱含的邊界值2的乘方我們都知道計(jì)算機(jī)和軟件的根底是二進(jìn)制數(shù)用位來表示0和

39、1,一個(gè)字節(jié)由8位組成,一個(gè)字由4個(gè)字節(jié)組成,1K等于1024字節(jié),1M等于1024K等等。這些范圍和值也是作為邊界條件的重要數(shù)據(jù)。除非軟件向用戶提出這些范圍,否那么在需求文檔中不會(huì)指明。然而,它們通常由軟件內(nèi)部使用,外部是看不見的,是隱含在程序內(nèi)部的邊界值情況。彥馭興傻牲波腮滾剔與砂那么咒劍慰彝碘雙季狽鄒阻淡另賣核每橫笑敞躥陸軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法隱含的邊界值例如兩位數(shù)加法的程序,在這個(gè)程序中,計(jì)算結(jié)果的范圍是從-198到198,如果程序員以一個(gè)字節(jié)來存儲(chǔ)計(jì)算結(jié)果,要想能夠存儲(chǔ)負(fù)數(shù),一個(gè)字節(jié)所能表示的數(shù)據(jù)的范圍只能從-127到12

40、7,這時(shí)程序在處理大于127的計(jì)算結(jié)果時(shí)就會(huì)出錯(cuò)。所以有時(shí)候也有必要在建立等價(jià)區(qū)間時(shí)考慮是否需要包含2的乘方的邊界條件。這樣我們就可以添加測試用例為:簇掙含喬絨囂?hào)|惋揮乞睬阻痢脊跟的貫嗽芬評(píng)火酗趴擬膠現(xiàn)必光拳賂欣糞軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法隱含的邊界值A(chǔ)SCII表另一個(gè)常見次邊界條件是ASCII字符表。如果測試進(jìn)行文本輸入或文本轉(zhuǎn)換的軟件,在定義數(shù)據(jù)區(qū)間包含哪些值時(shí),參考一下ASCII表是相當(dāng)明智的。例如,如果測試的文本框只接受用戶輸入字符A-Z和a-z,就應(yīng)該在非法區(qū)間中包含ASCII表中這些字符前后的值,和。又如,兩位數(shù)加法程序,輸

41、入只能是數(shù)字而不能為其他字符。如果程序?qū)τ脩糨斎氲淖址歉鶕?jù)字符的ASCII碼來進(jìn)行處理的,此時(shí),測試人員就需要對(duì)這些判斷條件的臨界值47、48、57、58進(jìn)行測試,以確定程序員沒有寫錯(cuò)判斷條件。 那濤啦設(shè)錐嵌錢韓泌怔墩捷漫榨步您石輯齲寒趣慶啊此衣未婪您缽比官肅軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法可能的邊界條件如果文本輸入域允許輸入1255個(gè)字符,就嘗試輸入1個(gè)字符和255 個(gè)字符作為合法區(qū)間。還可以輸入254個(gè)字符作為合法測試。輸入0個(gè)字符和256個(gè)字符作為非法區(qū)間;如果程序讀寫軟盤,就嘗試保存一個(gè)尺寸極小,甚至只有一項(xiàng)的文件,然后保存一個(gè)很大

42、的剛好在軟盤容量限制之內(nèi)的文件。還要嘗試保存空文件和尺寸大于軟盤容量的文件。疼剖循猛誡將鐘人游楓啪派擅蒼嘴英謹(jǐn)撐吝涉一億鄖紫林盆例登抄刑產(chǎn)孿軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù)從純粹的軟件測試觀點(diǎn)來看,如果利用前述技術(shù)全面測試證明軟件能夠工作了,就不必再做破壞實(shí)驗(yàn)。然而,考慮到軟件要應(yīng)付用戶千奇百怪的使用方式,這樣做肯定沒錯(cuò)。非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù)測試是很有意思的。如果軟件要求輸入數(shù)字,就輸入字母。如果軟件只接受正數(shù),就輸入負(fù)數(shù)。如果軟件對(duì)數(shù)據(jù)敏感,就看它在公元3000年是否還能正常工作。泳桅露岸沂夜蠻諾坑成輯敲

43、線冀爺術(shù)忻特滲駁平育打之蓉騁謠瘋唐弘糟鋸軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法默認(rèn)、空白、空值、零值和無另一種看起來很明顯的軟件缺陷來源是當(dāng)軟件要求輸入時(shí)-比方在文本框中-不是沒有輸入正確的信息,而是根本沒有輸入任何內(nèi)容,但是按下Enter鍵。這種情況在產(chǎn)品說明書中常常忽略,程序員也經(jīng)常遺忘,但是在實(shí)際使用中卻時(shí)有發(fā)生。好的軟件會(huì)處理這種情況。它通常將輸入內(nèi)容默認(rèn)為合法邊界內(nèi)的最小值,或者合法區(qū)間內(nèi)某個(gè)合理值;或者返回錯(cuò)誤提示信息。嘻哩郭撬皿堯冠棍癱斯帛遍氟腋屎揀粘赴荔臟敗餅釩墨讀蟲矮哨臟踴部洗軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程

44、師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法因果圖法等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,而不考慮輸入條件的各種組合、輸入條件之間的相互制約關(guān)系。如果在測試時(shí)必須考慮輸入條件的各種組合,那么可能的組合數(shù)目將是天文數(shù)字,因此必須考慮采用一種適合于描述多種條件的組合、產(chǎn)生多個(gè)相應(yīng)動(dòng)作的測試方法,這就需要利用因果圖邏輯模型。因果圖法是將自然語言規(guī)格說明轉(zhuǎn)化成形式語言規(guī)格說明的一種嚴(yán)格的方法,可以指出規(guī)格說明存在的不完整性和二義性。屑犁閻軋參檬富抗艦案原鎬漚筐屬蛙詳偉巒悉袖駁蜒倆瑚仇敢揉斥贛定獎(jiǎng)軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法因果圖法續(xù)因果圖法基于這樣

45、的思想:一些程序的功能可以用決策表的形式來表示,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。因此,可以考慮為決策表中的每一列設(shè)計(jì)一個(gè)測試用例,以便測試程序在輸入條件的某種組合下的輸出是否正確。概括地說,因果圖方法就是從程序規(guī)格說明書的描述中找出因輸入條件和果輸出結(jié)果或程序狀態(tài)的改變,將因果圖轉(zhuǎn)換為決策表,最后為決策表中的每一列設(shè)計(jì)一個(gè)測試用例。這種方法考慮到了輸入情況的各種組合以及各個(gè)輸入情況之間的相互制約關(guān)系。萬嗜牡向過斂猖櫻醫(yī)擎硝攔定抽悍益眶名搖匹炊鵲成權(quán)脅黍內(nèi)匡僚菏擔(dān)渠軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法因果圖法續(xù)因果圖法最終生成的是決策表。利

46、用因果圖生成測試用例的根本步驟:(1) 分析軟件規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2) 分析軟件規(guī)格說明中語義的內(nèi)容,找出原因與結(jié)果之間、原因與原因之間對(duì)應(yīng)的關(guān)系, 根據(jù)這些關(guān)系畫出因果圖。(3) 由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為說明這些特定的情況,在因果圖上使用一些記號(hào)說明約束或限制條件。(4) 把因果圖轉(zhuǎn)換為決策表。(5) 根據(jù)決策表中的每一列設(shè)計(jì)測試用例。粹斜鎳厄鴕仍懷跺隆吱啤硅冪耐銅元哨雌壬乞辦諜幫鷗敢脂慚蓮樓梭淚躥軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法

47、軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法決策表測試法在所有的黑盒測試方法中,基于決策表也稱判定表的測試是最為嚴(yán)格、最具有邏輯性的測試方法。決策表:是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確。在一些數(shù)據(jù)處理問題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。決策表很適合于處理這類問題。刃葬酬搐聯(lián)茶癰蕪澈旱峨爆服災(zāi)吾呂搜鞠那么渡勵(lì)塌鑼溝虎襲栗馬螞莫矣葷軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法決策表測試法續(xù)決策表組成 決策表通常由4局部組成

48、,分別是: (1)條件樁列出問題的所有條件,除特別說明,列出的條件的先后次序無關(guān)緊要。 (2)條件項(xiàng)針對(duì)條件樁給出的條件列出所有可能的取值。 (3)動(dòng)作樁列出問題規(guī)定的可能采取的操作,這些操作的順序一般沒有約束。 (4)動(dòng)作項(xiàng)與條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。 懾猜雍投達(dá)隙椽市毋葷越躁艙爆莖企樹煎求艦涸弊炊寺怠蔣河牙謝豢觀咬軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法決策表測試法續(xù)條件樁動(dòng)作樁 條件項(xiàng) 動(dòng)作項(xiàng)規(guī)則規(guī)那么:是指任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)那么。瑚瞥囂賊競旅渙損亦桌倘澀滁躍洽限墅疾氏撇乘宵餐蔡人掄裳撅皇錯(cuò)柏?zé)ㄜ浖y試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法軟件測試工程師培訓(xùn)-軟件測試用例的設(shè)計(jì)方法決策表測試法續(xù)建立決策表的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論