測試用例的內容:用例編號、用例標題、重要級別附鸽、預置條件脱拼、測試輸入、操作步驟坷备、預期結果熄浓、測試結果、作者省撑。
黑盒測試用例設計方法包括等價類劃分法玉组、邊界值分析法、錯誤推測法丁侄、因果圖法、判定表驅動法朝巫、正交試驗設計法鸿摇、功能圖法、場景模擬分析法等劈猿。
(一)等價類劃分法
1拙吉、定義
是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法揪荣。
2筷黔、劃分等價類
等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的仗颈,并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試佛舱,因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件就可以用少量代表性的測試數據取得較好的測試結果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類挨决。
1)有效等價類:是指對于程序的規(guī)格說明來說是合理的请祖、有意義的輸入數據構成的集合。利用有效等價類可檢驗程序是否實現了規(guī)格說明中所規(guī)定的功能和性能脖祈。
2)無效等價類:與有效等價類的定義恰巧相反肆捕。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數據所構成的集合。對于具體的問題盖高,無效等價類至少應有一個慎陵,也可能有多個。
? 設計測試用例時,要同時考慮這兩種等價類喻奥。因為軟件不僅要能接收合理的數據,也要能經受意外的考驗席纽,這樣的測試才能確保軟件具有更高的可靠性。
3映凳、劃分等價類的標準
1)完備測試胆筒、避免冗余
2)劃分等價類重要的是:集合的劃分、劃分為互不相交的一組子集,而子集的并是整個集合
3)并是整個集合:備性
4)子集互不相交:保證一種形式的無冗余性
5)同一類中標識(選擇)一個測試用例仆救,同一等價類中抒和,往往處理相同,相同處理映射到“相同的執(zhí)行路徑”彤蔽。
4摧莽、劃分等價類的方法
1)在輸入條件規(guī)定了取值范圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類。如:輸入值是學生成績顿痪,范圍是0~100镊辕;
2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了"必須如何"的條件的情況下,可確立一個有效等價類和一個無效等價類;
3)在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類蚁袭。
4)在規(guī)定了輸入數據的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類征懈。
例:輸入條件說明學歷可為:專科揩悄、本科卖哎、碩士、博士四種之一删性,則分別取這四種這四個值作為四個有效等價類亏娜,另外把四種學歷之外的任何學歷作為無效等價類。
5)在規(guī)定了輸入數據必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)蹬挺;
6)在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類维贺。
5、設計測試用例
在確立了等價類后,可建立等價類表,列出所有劃分出的等價類輸入條件:有效等價類巴帮、無效等價類溯泣,然后從劃分出的等價類中按以下三個原則設計測試用例:
? 1)為每一個等價類規(guī)定一個唯一的編號;
? 2)設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步晰韵,直到所有的有效等價類都被覆蓋為止发乔;
? 3)設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止雪猪。
6栏尚、實戰(zhàn)
1、某程序規(guī)定:"輸入三個整數 a 只恨、 b 译仗、 c 分別作為三邊的邊長構成三角形。通過程序判定所構成的三角形的類型官觅,當此三角形為一般三角形纵菌、等腰三角形及等邊三角形時,分別作計算 … "休涤。用等價類劃分方法為該程序進行測試用例設計咱圆。(三角形問題的復雜之處在于輸入與輸出之間的關系比較復雜笛辟。)
分析題目中給出和隱含的對輸入條件的要求:?
(1)整數??? (2)三個數??? (3)非零數?? (4)正數?
(5)兩邊之和大于第三邊???? (6)等腰???? (7)等邊?
?? 如果 a 、 b 序苏、 c 滿足條件( 1 ) ~ ( 4 )手幢,則輸出下列四種情況之一:
1)如果不滿足條件(5),則程序輸出為 " 非三角形 " 忱详。
2)如果只有兩條邊相等围来、即滿足條件(6),則程序輸出為 " 等腰三角形 " 匈睁。
3)如果三條邊相等即滿足條件(7)监透,則程序輸出為 " 等邊三角形 " 。
4)如果三條邊都不相等航唆,則程序輸出為 " 一般三角形 " 胀蛮。?
列出等價類表并編號
2、NextDate函數包含三個變量:month糯钙、day醇滥、year,函數的輸出為輸入日期后一天的日期超营。
例如,輸入2006年3月7日阅虫,則函數的輸出為2006年3月8日演闭。要求輸入變量month、day颓帝、year均為整數值米碰,并且滿足下列條件:
1、1<=month<=12
2购城、1<=day<=31
3吕座、1812<=year<=2012
1)有效等價類為:
M1={月份:1<=月份<=12}
D1={日期:1<=日期<=31}
Y1={年份:1812<=年<=2012}
2)若條件1~3中任何一個條件失效,則NextDate函數都會產生一個輸出瘪板,指明相應的變量超出取值范圍吴趴,比如“month的值不在12范圍中”。顯然還存在這大量的year侮攀、month锣枝、day的無效組合,NextDate函數將這些組合作為統(tǒng)一的輸出:“無效輸入日期”兰英。
其無效等價類為:
M2={月份:月份<1}
M3={月份:月份>12}
D2={日期:日期<1}
D3={日期:日期>31}
Y2={年份:年<1812}
Y3={年份:年>2012}
弱一般等價類測試用例
強一般等價類測試用例同弱一般等價類測試用例
注:弱有單缺陷假設撇叁;健壯考慮了無效值。
弱健壯等價類測試
強健壯等價類測試
(二)邊界值分析法
定義:邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法畦贸。通常邊界值分析法是作為對等價類劃分法的補充陨闹,這種情況下,其測試用例來自等價類的邊界。
與等價類區(qū)別:
1)邊界值分析不是從某等價類中隨便挑一個作為代表趋厉,而是使這個等價類的每個邊界都要作為測試條件寨闹。
2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況觅廓。
分析方法:
大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上鼻忠,而不是發(fā)生在輸入輸出范圍的內部。因此針對各種邊界情況設計測試用例杈绸,可以查出更多的錯誤帖蔓。使用邊界值分析方法設計測試用例,首先應確定邊界情況瞳脓。通常輸入和輸出等價類的邊界塑娇,就是應著重測試的邊界情況。應當選取正好等于劫侧,剛剛大于或剛剛小于邊界的值作為測試數據埋酬,而不是選取等價類中的典型值或任意值作為測試數據。
常見邊界值:
1)對16Bit的整數而言烧栋,32767和32768是邊界
?2)屏幕上光標在最左上写妥、最右下位置
?3)報表的第一行和最后一行
?4)數組元素的第一個和最后一個
5)循環(huán)的第0次、第1次和倒數第2次审姓、最后一次
測試用例:
1)????如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數據珍特。
???例如,如果程序的規(guī)格說明中規(guī)定:"重量在10公斤至50公斤范圍內的郵件魔吐,其郵費計算公式為……"扎筒。作為測試用例,我們應取10及50酬姆,還應取10.01,49.99,9.99及50.01等嗜桌。
2)????如果輸入條件規(guī)定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試數據。
???例如辞色,一個輸入文件應包括1~255個記錄骨宠,則測試用例可取1和255,還應取0及256等相满。
3)????將規(guī)則1)和2)應用于輸出條件诱篷,即設計測試用例使輸出值達到邊界值及其左右的值。
???例如雳灵,某程序的規(guī)格說明要求計算出"每月保險金扣除額為0至1165.25元"棕所,其測試用例可取0.00及1165.24、還可取一0.01及1165.26等悯辙。
???再如一程序屬于情報檢索系統(tǒng)琳省,要求每次"最少顯示1條迎吵、最多顯示4條情報摘要",這時我們應考慮的測試用例包括1和4针贬,還應包括0和5等击费。
4)????如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。
5)????如果程序中使用了一個內部數據結構桦他,則應當選擇這個內部數據結構的邊界上的值作為測試用例蔫巩。
6)????分析規(guī)格說明,找出其它可能的邊界條件。
實例1快压,批閱試卷
現有一個學生標準化考試批閱試卷,產生成績報告的程序圆仔。其規(guī)格說明如下:程序的輸入文件由一些有80個字符的記錄組成,如右圖所示,所有記錄分為3組:
1) 標題:這一組只有一個記錄蔫劣,其內容為輸出成績報告的名字坪郭。
2) 試卷各題標準答案記錄:每個記錄均在第80個字符處標以數字"2"。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)脉幢。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)歪沃。該組的第2,第3……個記錄相應為第51至第100嫌松,第101至第150沪曙,…題的答案。
3) 每個學生的答卷描述:該組中每個記錄的第80個字符均為數字"3"萎羔。每個學生的答卷在若干個記錄中給出珊蟀。如甲的首記錄第1至第9字符給出學生姓名及學號,第10至第59字符列出的是甲所做的第1至第50題的答案外驱。若試題數超過50,則第2腻窒,第3……紀錄分別給出他的第51至第100昵宇,第101至第150……題的解答。然后是學生乙的答卷記錄儿子。
4) 學生人數不超過200瓦哎,試題數不超過999。
5) 程序的輸出有4個報告:
a)按學號排列的成績單柔逼,列出每個學生的成績蒋譬、名次。
b)按學生成績排序的成績單愉适。
c)平均分數及標準偏差的報告犯助。
d)試題分析報告。按試題號排序维咸,列出各題學生答對的百分比剂买。
解答:分別考慮輸入條件和輸出條件惠爽,以及邊界條件。給出下表所示的輸入條件及相應的測試用例瞬哼。
輸出條件及相應的測試用例表婚肆。
實例2,三角形的邊界問題分析測試用例
在三角形問題描述中坐慰,除了要求邊長是整數外较性,沒有給出其它的限制條件。在此结胀,我們將三角形每邊邊長的取范圍值設值為[1, 100]赞咙。
實例3,NextDate函數邊界值分析測試用例
在NextDate函數中把跨,隱含規(guī)定了變量mouth和變量day的取值范圍為1≤mouth≤12和1≤day≤31人弓,并設定變量year的取值范圍為1912≤year≤2050。
(三)錯誤推測法
定義:基于經驗和直覺推測程序中所有可能存在的各種錯誤着逐,從而有針對性的設計測試用例的方法崔赌。
基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據他們選擇測試用例。
1.?????例如耸别、輸入數據和輸出數據為0的情況健芭;輸入表格為空格或輸入表格只有一行。這些都是容易發(fā)生錯誤的情況秀姐〈嚷酰可選擇這些情況下的例子作為測試用例。
2.?????例如省有、前面例子中成績報告的程序痒留,采用錯誤推測法還可補充設計一些測試用例:
1)?????程序是否把空格作為回答
2)?????在回答記錄中混有標準答案記錄
3)?????除了標題記錄外,還有一些的記錄最后一個字符即不是2也不是3
4)?????有兩個學生的學號相同
5)?????試題數是負數
3.?????例如蠢沿,測試一個對線性表(比如數組)進行排序的程序伸头,可推測列出以下幾項需要特別測試的情況:
1)????輸入的線性表為空表;
2)????表中只含有一個元素舷蟀;
3)????輸入表中所有元素已排好序恤磷;
4)????輸入表已按逆序排好;
5)????輸入表中部分或全部元素相同野宜。
4.?????例如扫步,測試手機終端的通話功能,可以設計各種通話失敗的情況來補充測試用例:
1)????無SIM 卡插入時進行呼出(非緊急呼叫)
2)????插入已欠費SIM卡進行呼出
3)????射頻器件損壞或無信號區(qū)域插入有效SIM卡呼出
4)????網絡正常匈子,插入有效SIM卡河胎,呼出無效號碼(如1、888虎敦、333333仿粹、不輸入任何號碼等)
5)????網絡正常搁吓,插入有效SIM卡,使用“快速撥號”功能呼出設置無效號碼的數字
(四)因果圖法
定義:因果圖法是一種利用圖解法分析輸入的各種組合情況吭历,從而設計測試用例的方法堕仔,它適合于檢查程序輸入條件的各種組合情況。
應用:
等價類劃分法和邊界值分析方法都是著重考慮輸入條件晌区,但沒有考慮輸入條件的各種組合摩骨、輸入條件之間的相互制約關系。這樣雖然各種輸入條件可能出錯的情況已經測試到了朗若,但多個輸入條件組合起來可能出錯的情況卻被忽視了恼五。
如果在測試時必須考慮輸入條件的各種組合,則可能的組合數目將是天文數字哭懈,因此必須考慮采用一種適合于描述多種條件的組合灾馒、相應產生多個動作的形式來進行測試用例的設計,這就需要利用因果圖(邏輯模型)遣总。
1.?????因果圖介紹
1)????4種符號分別表示了規(guī)格說明中向4種因果關系睬罗。
2)????因果圖中使用了簡單的邏輯符號,以直線聯接左右結點旭斥。左結點表示輸入狀態(tài)(或稱原因)容达,右結點表示輸出狀態(tài)(或稱結果)。
3)????C1表示原因垂券,通常置于圖的左部花盐;e1表示結果,通常在圖的右部菇爪。C1和e1均可取值0或1算芯,0表示某狀態(tài)不出現,1表示某狀態(tài)出現凳宙。
2.?????因果圖涉及的概念
1)????關系
??恒等:若c1是1熙揍,則e1也是1;否則e1為0近速。
??非:若c1是1,則e1是0堪旧;否則e1是1削葱。
??或:若c1或c2或c3是1,則e1是1淳梦;否則e1為0析砸。“或”可有任意個輸入爆袍。
??與:若c1和c2都是1首繁,則e1為1作郭;否則e1為0∠掖“與”也可有任意個輸入夹攒。
2)????約束
輸入狀態(tài)相互之間還可能存在某些依賴關系,稱為約束胁塞。例如,某些輸入條件本身不可能同時出現咏尝。輸出狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號標明這些約束啸罢。
??輸入條件的約束有以下4類:
·????????E約束(異):a和b中至多有一個可能為1编检,即a和b不能同時為1。
·????????I約束(或):a扰才、b和c中至少有一個必須是1允懂,即?a、b?和c不能同時為0衩匣。
·????????O約束(唯一)蕾总;a和b必須有一個,且僅有1個為1舵揭。
·????????R約束(要求):a是1時谤专,b必須是1,即不可能a是1時b是0午绳。
??輸出條件約束類型
???????????????輸出條件的約束只有M約束(強制):若結果a是1置侍,則結果b強制為0。
3.?????采用因果圖法設計測試用例的步驟:
1)????分析軟件規(guī)格說明描述中,那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件),并給每個原因和結果賦予一個標識符拦焚。
2)????分析軟件規(guī)格說明描述中的語義蜡坊,找出原因與結果之間,原因與原因之間對應的關系,根據這些關系,畫出因果圖赎败。
3)????由于語法或環(huán)境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現秕衙,為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。
4)????把因果圖轉換為判定表僵刮。
5)????把判定表的每一列拿出來作為依據,設計測試用例据忘。
實例1,字符
某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B搞糕,第二列字符必須是一個數字勇吊,在此情況下進行文件的修改,但如果第一列字符不正確窍仰,則給出信息L汉规;如果第二列字符不是數字,則給出信息M驹吮。
實例2针史,自動售貨機
有一個處理單價為5角錢的飲料的自動售貨機軟件測試用例的設計晶伦。其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕啄枕,則相應的飲料就送出來婚陪。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮射亏,這時在投入1元硬幣并押下按鈕后近忙,飲料不送出來而且1元硬幣也退出來;若有零錢找智润,則顯示〖零錢找完〗的紅燈滅及舍,在送出飲料的同時退還5角硬幣。
(五)判定表驅動法
(六)正交試驗設計法
定義:從大量的(實驗)數據(測試例)中挑選適量的,有代表性的點(例),從而合理地安排實驗(測試)的一種科學實驗設計方法.類似的方法有:聚類分析方法,因子方法方法等.
利用正交實驗設計測試用例的步驟:
1.?????提取功能說明,構造因子--狀態(tài)表
把影響實驗指標的條件稱為因子.而影響實驗因子的條件叫因子的狀態(tài).利用正交實驗設計方法來設計測試用例時,首先要根據被測試軟件的規(guī)格說明書找出影響其功能實現的操作對象和外部因素,把他們當作因子,而把各個因子的取值當作狀態(tài).對軟件需求規(guī)格說明中的功能要求進行劃分,把整體的概要性的功能要求進行層層分解與展開,分解成具體的有相對獨立性的基本的功能要求.這樣就可以把被測試軟件中所有的因子都確定下來,并為確定個因子的權值提供參考的依據.確定因子與狀態(tài)是設計測試用例的關鍵.因此要求盡可能全面的正確的確定取值,以確保測試用例的設計作到完整與有效窟绷。
2.?????加權篩選,生成因素分析表
對因子與狀態(tài)的選擇可按其重要程度分別加權.可根據各個因子及狀態(tài)的作用大小,出現頻率的大小以及測試的需要,確定權值的大小锯玛。
3.?????利用正交表構造測試數據集
正交表的推導依據Galois理論(這里省略,需要時可查數理統(tǒng)計方面的教材)。
利用正交實驗設計方法設計測試用例,比使用等價類劃分,邊界值分析,因果圖等方法有以下優(yōu)點:節(jié)省測試工作工時兼蜈;可控制生成的測試用例數量攘残;測試用例具有一定的覆蓋率。
(七)功能圖法
定義:功能圖由狀態(tài)遷移圖和布爾函數組成.狀態(tài)遷移圖用狀態(tài)和遷移來描述.一個狀態(tài)指出數據輸入的位置(或時間),而遷移則指明狀態(tài)的改變.同時要依靠判定表或因果圖表示的邏輯功能.例,一個簡化的自動出納機ATM的功能圖为狸。
應用:
1.????功能圖介紹
一個程序的功能說明通常由動態(tài)說明和靜態(tài)說明組成.動態(tài)說明描述了輸入數據的次序或轉移的次序.
靜態(tài)說明描述了輸入條件與輸出條件之間的對應關系.對于較復雜的程序,由于存在大量的組合情況,因此,僅用靜態(tài)說明組成的規(guī)格說明對于測試來說往往是不夠的.必須用動態(tài)說明來補充功能說明.功能圖方法是用功能圖FD形式化地表示程序的功能說明,并機械地生成功能圖的測試用例.
功能圖模型由狀態(tài)遷移圖和邏輯功能模型構成.狀態(tài)遷移圖用于表示輸入數據序列以及相應的輸出數據.在狀態(tài)遷移圖中,由輸入數據和當前狀態(tài)決定輸出數據和后續(xù)狀態(tài).邏輯功能模型用于表示在狀態(tài)中輸入條件和輸出條件之間的對應關系.邏輯功能模型只適合于描述靜態(tài)說明,輸出數據僅由輸入數據決定.測試用例則是由測試中經過的一系列狀態(tài)和在每個狀態(tài)中必須依靠輸入/輸出數據滿足的一對條件組成.功能圖方法其實是是一種黑盒白盒混合用例設計方法歼郭。
(功能圖方法中,要用到邏輯覆蓋和路徑測試的概念和方法,其屬白盒測試方法中?的內容.邏輯覆蓋是以程序內部的邏輯結構為基礎的測試用例設計方法.該方法要求測試人員對程序的邏輯結構有清楚的了解.由于覆蓋測試的目標不同,邏輯覆蓋可分為:語句覆蓋,判定覆蓋,判定-條件覆蓋,條件組合覆蓋及路徑覆蓋.下面我們指的邏輯覆蓋和路徑是功能或系統(tǒng)水平上的,以區(qū)別與白盒測試中的程序內部的.)
2.????測試用例生成方法
從功能圖生成測試用例,得到的測試用例數是可接受的. 問題的關鍵的是如何從狀態(tài)遷移圖中選取測試用例. 若用節(jié)點代替狀態(tài),用弧線代替遷移,則狀態(tài)遷移圖就可轉化成一個程序的控制流程圖形式.問題就轉化為程序的路徑測試問題(如白盒測試)問題了.
3.????測試用例生成規(guī)則
為了把狀態(tài)遷移(測試路徑)的測試用例與邏輯模型(局部測試用例)的測試用例組合起來,從功能圖生成實用的測試用例,須定義下面的規(guī)則.在一個結構化的狀態(tài)遷移(SST)中,定義三種形式的循環(huán):順序,選擇和重復.但分辨一個狀態(tài)遷移中的所有循環(huán)是有困難的.(其表示圖形省略)。
4.????從功能圖生成測試用例的過程
1)????生成局部測試用例:在每個狀態(tài)中,從因果圖生成局部測試用例.局部測試用例由原因值(輸入數據)組合與對應的結果值(輸出數據或狀態(tài))構成。
2)????測試路徑生成:利用上面的規(guī)則(三種)生成從初始狀態(tài)到最后狀態(tài)的測試路徑。
3)????測試用例合成:合成測試路徑與功能圖中每個狀態(tài)中的局部測試用例.結果是初始狀態(tài)到最后狀態(tài)的一個狀態(tài)序列,以及每個狀態(tài)中輸入數據與對應輸出數據的組合扯再。
5.????測試用例的合成算法:采用條件構造樹.
(八)場景模擬分析法
定義:現在的軟件幾乎都是用事件觸發(fā)來控制流程的苞七,事件觸發(fā)時的情景便形成了場景蓝仲,而同一事件不同的觸發(fā)順序和處理結果就形成事件流。這種在軟件設計方面的思想也可以引入到軟件測試中,可以比較生動地描繪出事件觸發(fā)時的情景,有利于測試設計者設計測試用例逼蒙,同時使測試用例更容易理解和執(zhí)行。
應用:
基本流和備選流:如下圖所示寄疏,圖中經過用例的每條路徑都用基本流和備選流來表示是牢,直黑線表示基本流,是經過用例的最簡單的路徑陕截。備選流用不同的色彩表示驳棱,一個備選流可能從基本流開始,在某個特定條件下執(zhí)行艘策,然后重新加入基本流中(如備選流1和3)蹈胡;也可能起源于另一個備選流(如備選流2)渊季,或者終止用例而不再重新加入到某個流(如備選流2和4)
測試用例設計綜合策略
1.????Myers提出了使用各種測試方法的綜合策略:
1)????在任何情況下都必須使用邊界值分析方法朋蔫,經驗表明用這種方法設計出測試用例發(fā)現程序錯誤的能力最強罚渐。
2)????必要時用等價類劃分方法補充一些測試用例。
3)????用錯誤推測法再追加一些測試用例驯妄。
4)????對照程序邏輯荷并,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準青扔,應當再補充足夠的測試用例源织。
5)????如果程序的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法微猖。
2.????測試用例的設計步驟
1)????構造根據設計規(guī)格得出的基本功能測試用例谈息;
2)????邊界值測試用例;
3)????狀態(tài)轉換測試用例凛剥;
4)????錯誤猜測測試用例侠仇;
5)????異常測試用例;
6)????性能測試用例犁珠;
7)????壓力測試用例逻炊。
3.????優(yōu)化測試用例的方法
1)????利用設計測試用例的8種方法不斷的對測試用例進行分解與合并;
2)????采用遺傳算法理論進化測試用例犁享;
3)????在測試時利用發(fā)散思維構造測試用例余素;