版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件測試——
黑盒用例設計方法主講:陸偉華Tel:課程目錄Chapter1黑盒測試的概念Chapter2黑盒測試的實施過程Chapter3黑盒用例設計技術(重點)Chapter4測試方法選擇的綜合策略Chapter1黑盒測試的概念黑盒測試的概念什么是黑盒測試?
黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明書的測試,是一種從用戶觀點出發(fā)的測試。黑盒測試示意圖測試人員把被測程序當作一個黑盒子。黑盒測試的實施過程黑盒測試的實施過程測試計劃階段測試設計階段
依據(jù)程序需求規(guī)格說明書或用戶手冊,按照一定規(guī)范化的方法進行軟件功能劃分和設計測試用例。測試執(zhí)行階段
按照設計的測試用例執(zhí)行測試;自由測試(作為測試用例測試的補充)。測試總結階段迭代:也可以理解為版本周期,軟件版本有可修復或優(yōu)化的去缺陷,或者有新的功能增加時,所需要的時間。黑盒測試黑盒測試主要測試的錯誤(BUG)類型有:①不正確或遺漏的功能;②接口、界面錯誤;③性能錯誤;④數(shù)據(jù)結構或外部數(shù)據(jù)訪問錯誤;⑤初始化或終止條件錯誤等等。用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。但這是不可能的,因為窮舉測試數(shù)量太大,無法完成。Chapter3黑盒用例設計技術等價類劃分方法(重點)邊界值分析方法(重點)錯誤推測方法(了解)因果圖方法(了解)判定表驅(qū)動分析方法
(了解)正交試驗設計方法
(了解)場景法(重點)等價類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例.該方法是一種重要的,常用的黑盒測試用例設計方法.理解方法(1)劃分等價類:
等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
等價類劃分有效等價類
是指對于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構成的集合.利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。無效等價類
與有效等價類的定義恰巧相反。無效等價類指對程序的規(guī)格說明是不合理的或無意義的輸入數(shù)據(jù)所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。設計測試用例時,要同時考慮這兩種等價類.因為,軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗.這樣的測試才能確保軟件具有更高的可靠性.等價類劃分(2)劃分等價類的標準:完備測試、避免冗余
劃分等價類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的并是整個集合并是整個集合:完備性子集互不相交:保證一種形式的無冗余性
同一類中標識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理映射到“相同的執(zhí)行路徑”等價類劃分(3)
劃分等價類的方法下面給出六條確定等價類的原則①在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。如:輸入值是學生成績,范圍是0~100的整數(shù)0100
有效等價類0≤成績≤100
無效等價類成績<0無效等價類成績>100等價類劃分②在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效等價類和一個無效等價類。③在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。等價類劃分(3)劃分等價類的方法④在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。例:輸入條件說明學歷可為:專科、本科、碩士、博士四種之一,則分別取這四種這四個值作為四個有效等價類,另外把四種學歷之外的任何學歷作為無效等價類。等價類劃分⑤在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。⑥在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。等價類劃分(4)設計測試用例 在確立了等價類后,可建立等價類表,列出所有劃分出的等價類輸入條件有效等價類無效等價類
........ .........然后從劃分出的等價類中按以下三個原則設計測試用例:①為每一個等價類規(guī)定一個唯一的編號。②設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止。③設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。等價類劃分例1:設有一個檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設日期限定在1990年1月~2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月?,F(xiàn)用等價類劃分法設計測試用例,來測試程序的“日期檢查功能”。等價類劃分1)劃分等價類并編號下表等價類劃分的結果輸入等價類有效等價類無效等價類日期的類型及長度①6位數(shù)字字符②有非數(shù)字字符③少于6位數(shù)字字符④多于6位數(shù)字字符年份范圍⑤在1990~2049之間⑥小于1990⑦大于2049月份范圍⑧在01~12之間⑨等于00⑩大于12有效等價類2)設計測試用例,以便覆蓋所有的有效等價類在表中列出了3個有效等價類,編號分別為①、⑤、⑧,設計的測試用例如下:測試數(shù)據(jù)期望結果覆蓋的有效等價類200211輸入有效①、⑤、⑧無效等價類3)為每一個無效等價類設計一個測試用例,設計結果如下:測試數(shù)據(jù)期望結果覆蓋的無效等價類95June無效輸入②20036無效輸入③2001006無效輸入④198912無效輸入⑥205001無效輸入⑦200100無效輸入⑨200113無效輸入⑩邊界值分析法邊界值分析方法是對等價類劃分方法的補充.1)邊界值分析方法的考慮:
長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).邊界值分析法與等價劃分的區(qū)別邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。邊界值分析法(2)基于邊界值分析方法選擇測試用例的原則1)如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說明中規(guī)定:“重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費計算公式為……”。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等。邊界值分析法3)將規(guī)則1)和2)應用于輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。
例如,某程序的規(guī)格說明要求計算出“每月保險金扣除額為0至1165.25元”,其測試用例可取0.01及1165.24、還可取一0.01及1165.26等。再如一程序?qū)儆谇閳髾z索系統(tǒng),要求每次”最少顯示1條、最多顯示4條情報摘要”,這時我們應考慮的測試用例包括1和4,還應包括0和5等。
邊界值分析法5)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。6)如果程序中使用了一個內(nèi)部數(shù)據(jù)結構,則應當選擇這個內(nèi)部數(shù)據(jù)結構的邊界上的值作為測試用例。7)分析規(guī)格說明,找出其它可能的邊界條件。錯誤推測法錯誤推測法:基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例的方法。錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例。例如,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況;輸入表格為空格或輸入表格只有一行.這些都是容易發(fā)生錯誤的情況。可選擇這些情況下的例子作為測試用例。錯誤推測法再如,測試一個對線性表(比如數(shù)組)進行排序的程序,可推測列出以下幾項需要特別測試的情況:1)輸入的線性表為空表;2)表中只含有一個元素;3)輸入表中所有元素已排好序;4)輸入表已按逆序排好;5)輸入表中部分或全部元素相同。測試數(shù)據(jù)查找-文本框頁面元素需求定義有效集合有效數(shù)據(jù)無效集合無效數(shù)據(jù)文本框1、字符串
2、長度限制為1-201、長度為4
2、長度為1
3、長度為19
4、長度為20
5、長度為21、淘寶
2、t
3、XXXX有限公司網(wǎng)1
4、XXXX有限公司網(wǎng)銷
5、淘1、超過最多長度
2、不輸入
3、有空格
4、重名1、XXXX有限公司網(wǎng)銷1
2、為空
3、XXXX有限網(wǎng)銷
4、淘寶1、數(shù)字
2、長度限制為1-201、長度為4
2、長度為1
3、長度為19
4、長度為20
5、長度為21、1234
2、1
3、9
4、90
5、121、超過最多長度
2、不輸入
3、有空格
4、重名
5、中文
6、特殊字符
7、英文1、901
2、為空
3、1234
4、1
5、一
6、1,000
7、one測試數(shù)據(jù)查找-下拉框頁面元素需求定義有效集合有效數(shù)據(jù)無效集合無效數(shù)據(jù)下拉框1、下拉框中有很多值
2、下拉框沒有滾動條
3、下拉框中第一個元素為請選擇或者全選
4、默認為空1、第一個有效值
2、最后一個有效值
3、選擇中間一個1、中國
2、美國
3、英國1、第一個無效值
2、不輸入1、請選擇或者全選
2、為空下拉框升級版1、下拉框中有很多值
2、下拉框出現(xiàn)垂直滾動條(當數(shù)據(jù)有10條時)
3、下拉框中第一個元素為請選擇或者全選
4、默認為空1、第一個有效值
2、最后一個有效值
3、選擇中間一個
4、選擇第10條國家
5、選擇第11個國家1、中國
2、美國
3、英國
4、日本
5、韓國1、第一個無效值
2、不輸入1、請選擇或者全選
2、為空1、下拉框中有很多值
2、下拉框出現(xiàn)水平滾動條(當數(shù)據(jù)有6字符時)
3、下拉框中第一個元素為請選擇或者全選
4、默認為空1、第一個有效值
2、最后一個有效值
3、選擇中間一個
4、選擇數(shù)據(jù)=6個字符國家
5、選擇數(shù)據(jù)>6個字符國家1、中國
2、美國
3、英國
4、肯尼亞
5、尼日利亞1、第一個無效值
2、不輸入1、請選擇或者全選
2、為空測試數(shù)據(jù)查找-單選和多項按鈕頁面元素需求定義有效集合有效數(shù)據(jù)無效集合無效數(shù)據(jù)單選按鈕1、默認為是
2、還有一個或者多個為否,或者其他等有效值是無效值否多選按鈕1、列表頁面中有多條數(shù)據(jù)
2、支持多項
3、有選項的功能1.選中2項
2.選中頁面上最后一項
3.選中頁面上的一個選項
4.全選1.選中諾基亞和三星
2.選中小米
4.選中華為
5.勾選所有選項不選擇任何項目不勾選任何選項測試數(shù)據(jù)查找-日期控件頁面元素需求定義有效集合有效數(shù)據(jù)無效集合無效數(shù)據(jù)日期控件1.一個開始日期
2.一個結束日期
3.選擇,不可輸入1.開始日期<結束日期2013/12/5到2013/12/181.開始日期>結束日期
2.日期中不合法的數(shù)據(jù)
3.日期為空
4.開始日期=結束日期1.2013/12/15到2013/12/8
2.1990/11/2
3.不選擇日期
4.2013/12/15到2013/12/15日期控件升級版1.一個開始日期
2.一個結束日期
3.可輸入1.選擇開始日期<結束日期
2.輸入日期2013/12/5到2013/12/181.開始日期>結束日期
2.日期中不合法的數(shù)據(jù)
3.日期為空
4.開始日期=結束日期
5.輸入日期格式錯誤
6.輸入日期中含有英文1.2013/12/15到2013/12/8
2.1990/11/2
3.不選擇日期
4.2013/12/15到2013/12/15
5.2013-12-3
6.2014-Aug-2測試數(shù)據(jù)查找-翻頁控件頁面元素需求定義有效集合有效數(shù)據(jù)無效集合無效數(shù)據(jù)翻頁上一頁,列表中有6頁數(shù)據(jù)1.在第中間頁,點擊上一頁
2.在最后一頁,點擊上一頁
3.在第二頁,點擊上一頁1.在第3頁,點擊上一頁
2.在6,點擊上一頁
3.在2頁,點擊上一頁1.在第一頁,點擊上一頁
2.列表中無數(shù)據(jù),點擊上一頁1.在第1頁,點擊上一頁
2.當列表中無數(shù)據(jù),點擊上一頁下一頁,列表中有6頁數(shù)據(jù)1.在第中間頁,點擊下一頁
2.在第一頁,點擊下一頁
3.在第二頁,點擊下一頁1.在第3頁,點擊下一頁
2.在1,點擊下一頁
3.在2頁,點擊下一頁1.在最后一頁,點擊下一頁
2.列表中無數(shù)據(jù),點擊下一頁1.在第6頁,點擊下一頁
2.當列表中無數(shù)據(jù),點擊下一頁因果圖方法前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等。考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況.但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多.因此必須考慮采用一種適合于描述對于多種條件的組合,相應產(chǎn)生多個動作的形式來考慮設計測試用例。這就需要利用因果圖(Cause一EffectGraphics)方法。采用因果圖方法能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還能為我們指出,程序規(guī)格說明描述中存在著什么問題。因果圖介紹4種符號分別表示了規(guī)格說明中向4種因果關系。因果圖介紹因果圖中使用了簡單的邏輯符號,以直線聯(lián)接左右結點。左結點表示輸入狀態(tài)(或稱原因),右結點表示輸出狀態(tài)(或稱結果)。
Ci表示原因,通常置于圖的左部;ei表示結果,通常在圖的右部。ci和ei均可取值0或1,0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn)。因果圖邏輯關系關系①恒等:若ci是1,則ei也是1;否則ei為0。②非:若ci是1,則ei是0;否則ei是1。③或:若c1或c2或c3是1,則ei是1;否則ei為0。“或”可有任意個輸入。④與:若c1和c2都是1,則ei為1;否則ei為0?!芭c”也可有任意個輸入。約束輸入狀態(tài)相互之間還可能存在某些依賴關系,稱為約束。例如,某些輸入條件本身不可能同時出現(xiàn)。輸出狀態(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。因果圖方法因果圖方法最終生成的是決策表。它適合于檢查程序輸入條件的各種組合情況。利用因果圖生成測試用例的基本步驟:(1)分析軟件規(guī)格說明描述中,那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。(2)分析軟件規(guī)格說明描述中的語義.找出原因與結果之間,原因與原因之間對應的關系.根據(jù)這些關系,畫出因果圖。(3)由于語法或環(huán)境限制,有些原因與原因之間,原因與結果之間的組合情況不不可能出現(xiàn).為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)把決策表的每一列拿出來作為依據(jù),設計測試用例。因果圖方法舉例例4:某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。
解答:根據(jù)題意,原因和結果如下:因果圖方法舉例原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一數(shù)字。結果:
21——修改文件;
22——給出信息L;
23——給出信息M。因果圖方法舉例其對應的因果圖如下:11為中間節(jié)點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一數(shù)字。結果:
21——修改文件;
22——給出信息L;
23——給出信息M。因果圖方法舉例根據(jù)因果圖建立決策表。
表中8種情況的左面兩列情況中,原因①和原因②同時為1,這是不可能出現(xiàn)的,故應排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數(shù)據(jù)。
因果圖方法舉例例5:有一個處理單價為5角錢的飲料的自動售貨機軟件測試用例的設計。其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣。因果圖方法舉例分析這一段說明,列出原因和結果原因:1.售貨機有零錢找 2.投入1元硬幣3.投入5角硬幣 4.押下橙汁按鈕5.押下啤酒按鈕結果:21.售貨機〖零錢找完〗燈亮 22.退還1元硬幣23.退還5角硬幣 24.送出橙汁飲料25.送出啤酒飲料因果圖方法舉例畫出因果圖,如圖所示。所有原因結點列在左邊,所有結果結點列在右邊。建立中間結點,表示處理的中間狀態(tài)。中間結點:11.投入1元硬幣且押下飲料按鈕
12.押下〖橙汁〗或〖啤酒〗的按鈕
13.應當找5角零錢并且售貨機有零錢找
14.錢已付清轉(zhuǎn)換成決策表:因果圖方法小結因果圖方法是一個非常有效的黑盒測試方法,它能夠生成沒有重復性的且發(fā)現(xiàn)錯誤能力強的測試用例,而且對輸入、輸出同時進行了分析。從因果圖生成的測試用例(局部,組合關系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構成的測試用例數(shù)目達到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加。如果哪個開發(fā)項目在設計階段就采用了決策表,也就不必再畫因果圖,而是可以直接利用決策表設計測試用例了。決策表驅(qū)動測試方法前面因果圖方法中已經(jīng)用到了決策表。決策表(DecisionTable)是分析和表達多邏輯條件下執(zhí)行不同操作的工具。 在程序設計發(fā)展的初期,決策表就已被當作編寫程序的輔助工具了,因為它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確。決策表驅(qū)動測試方法下表是一張關于科技書閱讀指南的判定驅(qū)動表:3個問題8種情況決策表組成決策表通常由四個部分組成:條件樁動作樁條件項動作項決策表組成決策表通常由四個部分組成:條件樁(ConditionStub):列出了問題的所有條件,通常認為列出得條件的次序無關緊要。動作樁(ActionStub):列出了問題規(guī)定可能采取的操作,這些操作的排列順序沒有約束。條件項(ConditionEntry):列出針對它左列條件的取值,在所有可能情況下的真假值。動作項(ActionEntry):列出在條件項的各種取值情況下應該采取的動作。規(guī)則及規(guī)則合并規(guī)則:任何一個條件組合的特定取值及其相應要執(zhí)行的操作稱為規(guī)則。在決策表中貫穿條件項和動作項的一列就是一條規(guī)則。顯然,決策表中列出多少組條件取值,也就有多少條規(guī)則,既條件項和動作項有多少列?;啠壕褪且?guī)則合并有兩條或多條規(guī)則具有相同的動作,并且其條件項之間存在著極為相似的關系。規(guī)則及規(guī)則合并舉例與上類似,右圖中,無關條件項“-”可包含其他條件項取值,具有相同動作的規(guī)則可合并規(guī)則及規(guī)則合并舉例決策表驅(qū)動測試方法決策表的建立步驟:(根據(jù)軟件規(guī)格說明)①確定規(guī)則的個數(shù).假如有n個條件。每個條件有兩個取值(0,1),故有2n種規(guī)則。②列出所有的條件樁和動作樁。③填入條件項。④填入動作項。等到初始決策表。⑤簡化.合并相似規(guī)則(相同動作)。建立決策表舉例解答:①確定規(guī)則的個數(shù):這里有3個條件,每個條件有兩個取值,故應有2*2*2=8種規(guī)則。②列出所有的條件茬和動作茬:建立決策表舉例③填人條件項。可從最后1行條件項開始,逐行向上填滿。如第三行是:YNYNYNYN
第二行是:YYNNYYNN
等等。
④填人動作樁和動作頂。這樣便得到形如圖的初始決策表。建立決策表舉例⑤化簡。合并相似規(guī)則后得到圖。決策表在功能測試中的應用決策表的優(yōu)點和缺點優(yōu)點:它能把復雜的問題按各種可能的情況一一列舉出來,簡明而易于理解,也可避免遺漏。缺點:不能表達重復執(zhí)行的動作,例如循環(huán)結構。決策表在功能測試中的應用B.Beizer指出了適合使用決策表設計測試用例的條件:①規(guī)格說明以決策表形式給出,或很容易轉(zhuǎn)換成決策表。②條件的排列順序不會也不影響執(zhí)行哪些操作。③規(guī)則的排列順序不會也不影響執(zhí)行哪些操作。④每當某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則。⑤如果某一規(guī)則得到滿足要執(zhí)行多個操作,這些操作的執(zhí)行順序無關緊要。B。Beizer提出這5個必要條件的目的是為了使操作的執(zhí)行完全依賴于條件的組合。其實對于某些不滿足這幾條的決策表,同樣可以借以設計測試用例,只不過尚需增加其它的測試用例罷了。因果圖/決策表應用-新增頁面尋找被測試頁面的組合控件,一般為必填寫,或者用戶經(jīng)常使用的控件上述頁面,有2個元素,我們假定一個為下拉框(不可輸入),一個文本框因果圖/決策表應用-新增頁面頁面元素需求定義有效數(shù)據(jù)無效數(shù)據(jù)下拉框1、下拉框中有很多值
2、下拉框沒有滾動條
3、下拉框中第一個元素為請選擇或者全選
4、默認為空1、57894944
2、433256879
3、465768771、請選擇或者全選
2、為空文本框1、長度限制為6為數(shù)字1、123456
1、XXXXee網(wǎng)銷
2、為空
3、123@
按照等價類,邊界值和錯誤猜錯法,找到數(shù)據(jù)。因果圖/決策表應用-新增頁面用2n生成決策表原因用戶名1100密碼1010結果
YN1N2N2備注:因01和00,得到同樣的結果,我們簡化測試用例,看成是一種情況生成有效用例的輸入和輸出為57894944,123456=》系統(tǒng)應成功登陸,并且進入57894944此賬戶433256879,123456=》系統(tǒng)應成功登陸,并得到此433256879賬戶數(shù)據(jù)46576877,123456=》系統(tǒng)應成功登陸,并得到此465768779賬戶數(shù)據(jù)因果圖/決策表應用-新增頁面生成無效用例的輸入和輸出為57894944,XXXXee網(wǎng)銷=》系統(tǒng)登陸不成功,且有錯誤提示彈出57894944,為空=》系統(tǒng)登陸不成功,且有錯誤提示彈出57894944,123@=》系統(tǒng)登陸不成功,且有錯誤提示彈出請選擇或者全選,123456=》系統(tǒng)登陸不成功,且有錯誤提示彈出用戶名為空,123456=》系統(tǒng)登陸不成功,且有錯誤提示彈出備注:紅色字體部分可刪除,因在實際測試中,我們出現(xiàn)bug很少,故我們在書寫測試用例時,可選1到2條無效的就可以。因果圖/決策表應用-搜索頁面某搜索功能,實現(xiàn)了對商品名稱和關鍵字的過濾。假設我們的數(shù)據(jù)庫已經(jīng)成功添加了足夠多的數(shù)據(jù)找到頁面元素為:商品名稱,關鍵字確定有效值和無效值頁面元素需求定義有效數(shù)據(jù)無效數(shù)據(jù)商品名稱1、下拉框中有很多值
2、下拉框沒有滾動條
3、下拉框中第一個元素為請選擇或者全選
4、默認為空1、小米
2、三星
3、蘋果1、請選擇或者全選
2、為空關鍵字字符串
1.淘寶(此數(shù)據(jù)在數(shù)據(jù)庫中已存在)
1、xx(此關鍵字在數(shù)據(jù)庫中不存在)
2、為空
因果圖/決策表應用-搜索頁面用2n生成決策表
生成有效用例的輸入和輸出為小米,淘寶=》搜索到小米關鍵字為淘寶的所有數(shù)據(jù)。三星,淘寶=》搜索到小米關鍵字為淘寶的所有數(shù)據(jù)。蘋果,淘寶=》搜索到小米關鍵字為淘寶的所有數(shù)據(jù)。小米,為空=》搜索到小米的所有數(shù)據(jù)。全選,淘寶=》搜索到關鍵為淘寶的所有數(shù)據(jù)生成無效的用例為 6.全選,xx=》搜索不到任何數(shù)據(jù),頁面有提示彈出原因商品名稱1100關鍵字1010結果
YYYN備注:如果測試搜索,我們因為搜出結果為真,搜不到結果為假正交試驗設計法利用因果圖來設計測試用例時,作為輸入條件的原因與輸出結果之間的因果關系,有時很難從軟件需求規(guī)格說明中得到。往往因果關系非常龐大,以至于據(jù)此因果圖而得到的測試用例數(shù)目多的驚人,給軟件測試帶來沉重的負擔,為了有效地,合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。正交試驗設計法步驟1.
提取功能說明,構造因子--狀態(tài)表把影響實驗指標的條件稱為因子.而影響實驗因子的條件叫因子的狀態(tài).首先要根據(jù)被測試軟件的規(guī)格說明書找出影響其功能實現(xiàn)的操作對象和外部因素,把他們當作因子,而把各個因子的取值當作狀態(tài).2.加權篩選,生成因素分析表
對因子與狀態(tài)的選擇可按其重要程度分別加權.可根據(jù)各個因子及狀態(tài)的作用大小,出現(xiàn)頻率的大小以及測試的需要,確定權值的大小。4.利用正交表構造測試數(shù)據(jù)集正交表的推導依據(jù)Galois理論(這里省略,需要時可查數(shù)理統(tǒng)計方面的教材)。正交試驗法例子—銀行轉(zhuǎn)賬例子說明:進行測試例估計和設計的依據(jù)是需求規(guī)格說明書和設計說明書。一般的步驟如下:1.分析影響測試對象的要素;2.為每個要素確定取值;3.使用標準直角矩陣生成初始測試例集;4.在初始測試例集上依據(jù)對測試對象的分析來進行測試例集的修改;把測試例轉(zhuǎn)化為可以測試執(zhí)行使用的測試例。正交試驗法例子—銀行轉(zhuǎn)賬例如在對某一應用系統(tǒng)的轉(zhuǎn)賬功能進行測試過程中,利用正交矩陣生成測試用例步驟如下:標號影響測試規(guī)格的要素取值1取值2值3值41用戶權限有轉(zhuǎn)賬權限無轉(zhuǎn)賬權限
2票據(jù)號票據(jù)號有效票據(jù)號無效
3賬號賬號有效賬號無效
4轉(zhuǎn)賬金額轉(zhuǎn)賬金額小于或等于用戶實際金額轉(zhuǎn)賬金額大于用戶實際金額
5轉(zhuǎn)賬方式同城不同行轉(zhuǎn)賬同行轉(zhuǎn)賬地址匯地信匯正交試驗法例子1.約束條件分析:P5L4P表示影響測試規(guī)格要素個數(shù);L表示影響測試規(guī)格要素的最大取值個數(shù)
在本例中P=5,L=42.生成標準測試例集矩陣:
根據(jù)以上約束條件分析得出的P、L值,對應直角矩陣測試例生成工具得出以下測試例矩陣正交試驗法例子用例矩陣表:編號用戶權限票據(jù)號賬號轉(zhuǎn)賬金額轉(zhuǎn)賬方式1111112122223133334144445212346221437234128243219313421032431113312412342131341423144231415432411644132正交試驗法例子篩選測試矩陣:編號用戶權限票據(jù)號賬號轉(zhuǎn)賬金額轉(zhuǎn)賬方式1111112122223133334144445212346221437234128243219313421032431113312412342131341423144231415432411644132由于測試例矩陣是根據(jù)影響要素條件最大取值個數(shù)得出,因此不是所有影響要素的取值個數(shù)都與最大值相等,因此應將矩陣中不存在的測試例條件刪除。正交試驗法例子修改測試矩陣:編號用戶權限票據(jù)號賬號轉(zhuǎn)賬金額轉(zhuǎn)賬方式11111121111231111341111451112-6112--712---82----注:由于測試例矩陣是根據(jù)影響要素條件最大取值個數(shù)得出的,因此在刪除測試例時應將因此導致測試矩陣范圍不完整的測試例補充完整。說明:編號5,6,7,8的情況中有“-”,其意義為“取任何值都不影響結果”正交試驗法例子生成測試用例:編號用戶權限票據(jù)號賬號轉(zhuǎn)賬金額轉(zhuǎn)賬方式1有轉(zhuǎn)賬權限票據(jù)號有效賬號有效轉(zhuǎn)賬金額大于或等于用戶實際金額同城不同行轉(zhuǎn)賬2有轉(zhuǎn)賬權限票據(jù)號有效賬號有效轉(zhuǎn)賬金額大于或等于用戶實際金額同行轉(zhuǎn)賬3有轉(zhuǎn)賬權限票據(jù)號有效賬號有效轉(zhuǎn)賬金額大于或等于用戶實際金額異地電匯4有轉(zhuǎn)賬權限票據(jù)號有效賬號有效轉(zhuǎn)賬金額大于或等于用戶實際金額異地信匯5有轉(zhuǎn)賬權限票據(jù)號有效賬號有效轉(zhuǎn)賬金額小于用戶實際金額6有轉(zhuǎn)賬權限票據(jù)號有效賬號無效7有轉(zhuǎn)賬權限票據(jù)號無效8無轉(zhuǎn)賬權限正交試驗法正交實驗法得出用例的個數(shù)為:要素的最大有效數(shù)+要素數(shù)(每個都為無效)例如登陸框中有用戶名和密碼,如果用戶名中有效值為5,密碼有效值為3個,那么用例為5+2=7場景法場景法也叫流程分析法,是將軟件系統(tǒng)的某個流程看成路徑,用路徑分析的方法來設計測試用例。根據(jù)流程的順序依次進行組合,使得流程的各個分支都能走到?,F(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結果就形成事件流。這種在軟件設計方面的思想也可以引入到軟件測試中,可以比較生動地描繪出事件觸發(fā)時的情景,有利于測試設計者設計測試用例,同時使測試用例更容易理解和執(zhí)行。場景法應用基本流和備選流:如右圖所示,圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經(jīng)過用例的最簡單的路徑。備選流用不同的色彩表示,一個備選流可能從基本流開始,在某個特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)場景法應用每個經(jīng)過用例的可能路徑,可以確定不同的用例場景。從基本流開始,再將基本流和備選流結合起來,可以確定以下用例場景:場景1基本流場景2基本流備選流1場景3基本流備選流1備選流2場景
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分裂情感性精神病
- 防震疏散演練主題班會
- 2024年非公路礦用車項目投資申請報告代可行性研究報告
- 3.3.2鹽類的水解影響因素及應用 課件 高二上學期化學人教版(2019)選擇性必修1
- 智慧航安培訓方案
- 吉林省2024七年級數(shù)學上冊第1章有理數(shù)階段綜合訓練范圍1.9~1.14課件新版華東師大版
- 生命安全教育我的煩惱
- 草原上教案及教學反思
- 食堂食品安全培訓
- 水利資源利用審批管理辦法
- 化學方程式的配平-完整版PPT
- 糖尿病個案相關護理課件
- 五年級上冊心理健康教育課件-情緒卡片 全國通用(共13張PPT)
- 新部編人教版高中歷史必修下冊 第12課 資本主義世界殖民體系的形成 教案(教學設計)
- 幼兒園適用1100的數(shù)字描紅(可打印)
- 跨海大橋工程案例專項安全風險評估
- 簡單零件鉗加工完整版課件
- 登高車檢查表
- 露天礦崗位責任制
- 最新現(xiàn)代智力七巧板PPT課件
- 山西省經(jīng)信版信息技術學科項目四展示班級風采教學設計
評論
0/150
提交評論