版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件測(cè)試黑盒篇軟件測(cè)試黑盒篇深深 圳圳 市市 門門 道道 信信 息息 咨咨 詢?cè)?有有 限限 公公 司司Shenzhen MT Information Consulting Co . , LTD版權(quán)所有版權(quán)所有. .侵權(quán)必究侵權(quán)必究課程目的課程目的2(1 1)黑盒測(cè)試的概念)黑盒測(cè)試的概念(2 2)黑盒測(cè)試的實(shí)施過(guò)程)黑盒測(cè)試的實(shí)施過(guò)程(3 3)黑盒測(cè)試用例設(shè)計(jì)技術(shù))黑盒測(cè)試用例設(shè)計(jì)技術(shù)3黑盒測(cè)試黑盒測(cè)試黑盒測(cè)試的概念黑盒測(cè)試的概念 什么是黑盒測(cè)試:什么是黑盒測(cè)試:黑盒測(cè)試又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于黑盒測(cè)試又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明書的測(cè)試,是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。規(guī)格
2、說(shuō)明書的測(cè)試,是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。 黑盒測(cè)試示意圖黑盒測(cè)試示意圖 測(cè)試人員把被測(cè)程序當(dāng)作一個(gè)黑盒子。測(cè)試人員把被測(cè)程序當(dāng)作一個(gè)黑盒子。黑盒測(cè)試黑盒測(cè)試 黑盒測(cè)試主要測(cè)試的錯(cuò)誤類型有:黑盒測(cè)試主要測(cè)試的錯(cuò)誤類型有:不正確或遺漏的功能;不正確或遺漏的功能;接口、界面錯(cuò)誤;接口、界面錯(cuò)誤; 性能錯(cuò)誤;性能錯(cuò)誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問(wèn)錯(cuò)誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問(wèn)錯(cuò)誤;初始化或終止條件錯(cuò)誤等等。初始化或終止條件錯(cuò)誤等等。黑盒測(cè)試黑盒測(cè)試 黑盒測(cè)試用于回答以下問(wèn)題:黑盒測(cè)試用于回答以下問(wèn)題:1 1)如何測(cè)試功能的有效性?)如何測(cè)試功能的有效性?2 2)何種類型的輸入會(huì)產(chǎn)生好的測(cè)試用例?)何種類型的
3、輸入會(huì)產(chǎn)生好的測(cè)試用例?3 3)系統(tǒng)是否對(duì)特定的輸入值尤其敏感?)系統(tǒng)是否對(duì)特定的輸入值尤其敏感?4 4)如何分隔數(shù)據(jù)類的邊界?)如何分隔數(shù)據(jù)類的邊界?5 5)系統(tǒng)能夠承受何種數(shù)據(jù)率和數(shù)據(jù)量?)系統(tǒng)能夠承受何種數(shù)據(jù)率和數(shù)據(jù)量?6 6)特定類型的數(shù)據(jù)組合會(huì)對(duì)系統(tǒng)產(chǎn)生何種影響?)特定類型的數(shù)據(jù)組合會(huì)對(duì)系統(tǒng)產(chǎn)生何種影響?黑盒測(cè)試黑盒測(cè)試運(yùn)用黑盒測(cè)試方法,可以導(dǎo)出滿足以下標(biāo)準(zhǔn)的測(cè)試用例運(yùn)用黑盒測(cè)試方法,可以導(dǎo)出滿足以下標(biāo)準(zhǔn)的測(cè)試用例集:集:1 1)所設(shè)計(jì)的測(cè)試用例能夠減少達(dá)到合理測(cè)試所需的)所設(shè)計(jì)的測(cè)試用例能夠減少達(dá)到合理測(cè)試所需的附加測(cè)試用例數(shù);附加測(cè)試用例數(shù);2 2)所設(shè)計(jì)的測(cè)試用例能夠告知某些類
4、型錯(cuò)誤的存在)所設(shè)計(jì)的測(cè)試用例能夠告知某些類型錯(cuò)誤的存在或不存在,而不是僅僅與特定測(cè)試相關(guān)的錯(cuò)誤。或不存在,而不是僅僅與特定測(cè)試相關(guān)的錯(cuò)誤。 黑盒測(cè)試黑盒測(cè)試 用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所有用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否都能產(chǎn)生正確的輸出。但這來(lái)檢查程序是否都能產(chǎn)生正確的輸出。但這是不可能的,因?yàn)楦F舉測(cè)試數(shù)量太大,無(wú)法是不可能的,因?yàn)楦F舉測(cè)試數(shù)量太大,無(wú)法完成。完成。黑盒測(cè)試黑盒測(cè)試假設(shè)一個(gè)程序假設(shè)一個(gè)程序P P有輸入量有輸入量X X和和Y Y及輸出量及輸出量Z Z。在字長(zhǎng)為在字長(zhǎng)為3
5、232位的計(jì)算機(jī)上運(yùn)行。若位的計(jì)算機(jī)上運(yùn)行。若X X、Y Y取整數(shù),按黑盒方法進(jìn)行取整數(shù),按黑盒方法進(jìn)行窮舉測(cè)試窮舉測(cè)試:可能采用的測(cè)試數(shù)據(jù)組:可能采用的測(cè)試數(shù)據(jù)組: 2 232322 232322 26464如果測(cè)試一如果測(cè)試一 組數(shù)據(jù)需要組數(shù)據(jù)需要1 1毫秒,一年工作毫秒,一年工作365365 24 24小時(shí),完成所有測(cè)試需小時(shí),完成所有測(cè)試需5 5億年。億年。因此,我們只能在大量可能的數(shù)據(jù)中,選取因此,我們只能在大量可能的數(shù)據(jù)中,選取其中一部分作為測(cè)試用例。其中一部分作為測(cè)試用例。黑盒測(cè)試黑盒測(cè)試黑盒測(cè)試的實(shí)施過(guò)程黑盒測(cè)試的實(shí)施過(guò)程(1 1)測(cè)試計(jì)劃階段)測(cè)試計(jì)劃階段(2 2)測(cè)試設(shè)計(jì)階
6、段)測(cè)試設(shè)計(jì)階段依據(jù)程序需求規(guī)格說(shuō)明書或用戶手冊(cè),按照一定規(guī)范化的方依據(jù)程序需求規(guī)格說(shuō)明書或用戶手冊(cè),按照一定規(guī)范化的方法進(jìn)行軟件功能劃分和設(shè)計(jì)測(cè)試用例。法進(jìn)行軟件功能劃分和設(shè)計(jì)測(cè)試用例。(3 3)測(cè)試執(zhí)行階段)測(cè)試執(zhí)行階段按照設(shè)計(jì)的測(cè)試用例執(zhí)行測(cè)試按照設(shè)計(jì)的測(cè)試用例執(zhí)行測(cè)試; ;自由測(cè)試自由測(cè)試( (作為測(cè)試用例測(cè)試的補(bǔ)充作為測(cè)試用例測(cè)試的補(bǔ)充) )。(4 4)測(cè)試總結(jié)階段)測(cè)試總結(jié)階段黑盒測(cè)試黑盒測(cè)試測(cè)試用例設(shè)計(jì)技術(shù)測(cè)試用例設(shè)計(jì)技術(shù) 等價(jià)類劃分方法等價(jià)類劃分方法邊界值分析方法邊界值分析方法錯(cuò)誤推測(cè)方法錯(cuò)誤推測(cè)方法因果圖方法因果圖方法判定表驅(qū)動(dòng)分析方法判定表驅(qū)動(dòng)分析方法正交實(shí)驗(yàn)設(shè)計(jì)方法正交實(shí)
7、驗(yàn)設(shè)計(jì)方法功能圖分析方法功能圖分析方法場(chǎng)景法場(chǎng)景法11等價(jià)類劃分法等價(jià)類劃分法是把所有可能的輸入數(shù)據(jù)是把所有可能的輸入數(shù)據(jù), ,即程序的輸入域劃分成若干即程序的輸入域劃分成若干部分(子集)部分(子集), ,然后從每一個(gè)子集中選取少數(shù)具有代表然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例性的數(shù)據(jù)作為測(cè)試用例. .該方法是一種重要的該方法是一種重要的, ,常用的黑常用的黑盒測(cè)試用例設(shè)計(jì)方法盒測(cè)試用例設(shè)計(jì)方法. .12等價(jià)類劃分法等價(jià)類劃分法方法簡(jiǎn)介方法簡(jiǎn)介劃分等價(jià)類劃分等價(jià)類: : 等價(jià)類是指某個(gè)輸入域的子集合等價(jià)類是指某個(gè)輸入域的子集合. .在該子集合中在該子集合中, ,各個(gè)輸各個(gè)輸入數(shù)
8、據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的. .并合理地假并合理地假定定: :測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試試. .因此因此, ,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類, ,在在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件, ,就可就可以用少量代表性的測(cè)試數(shù)據(jù)以用少量代表性的測(cè)試數(shù)據(jù). .取得較好的測(cè)試結(jié)果取得較好的測(cè)試結(jié)果. .等價(jià)等價(jià)類劃分可有兩種不同的情況類劃分可有兩種不同的情況: :有效等價(jià)類和無(wú)效等價(jià)類有效等價(jià)類和無(wú)效等價(jià)
9、類. .13等價(jià)類劃分法等價(jià)類劃分法有效等價(jià)類有效等價(jià)類 是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的, ,有意義的輸入數(shù)據(jù)構(gòu)成的有意義的輸入數(shù)據(jù)構(gòu)成的集合集合. .利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能的功能和性能無(wú)效等價(jià)類無(wú)效等價(jià)類 與有效等價(jià)類的定義恰巧相反。無(wú)效等價(jià)類指對(duì)程序的規(guī)格說(shuō)明與有效等價(jià)類的定義恰巧相反。無(wú)效等價(jià)類指對(duì)程序的規(guī)格說(shuō)明是不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。對(duì)于具體的問(wèn)題,是不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。對(duì)于具體的問(wèn)題,無(wú)效等價(jià)類至少應(yīng)有一個(gè),也可能有多個(gè)
10、。無(wú)效等價(jià)類至少應(yīng)有一個(gè),也可能有多個(gè)。設(shè)計(jì)測(cè)試用例時(shí)設(shè)計(jì)測(cè)試用例時(shí), ,要同時(shí)考慮這兩種等價(jià)類要同時(shí)考慮這兩種等價(jià)類. .因?yàn)橐驗(yàn)? ,軟件不僅要能接收軟件不僅要能接收合理的數(shù)據(jù)合理的數(shù)據(jù), ,也要能經(jīng)受意外的考驗(yàn)也要能經(jīng)受意外的考驗(yàn). .這樣的測(cè)試才能確保軟件具這樣的測(cè)試才能確保軟件具有更高的可靠性有更高的可靠性. . 14等價(jià)類劃分法等價(jià)類劃分法 2 2)劃分等價(jià)類的標(biāo)準(zhǔn):)劃分等價(jià)類的標(biāo)準(zhǔn):完備測(cè)試、避免冗余完備測(cè)試、避免冗余劃分等價(jià)類重要的是:集合的劃分,劃分為互不相交的一組子劃分等價(jià)類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的并是整個(gè)集合集,而子集的并是整個(gè)集合并是整
11、個(gè)集合并是整個(gè)集合:完備性:完備性子集互不相交子集互不相交:保證一種形式的無(wú)冗余性:保證一種形式的無(wú)冗余性同一類中標(biāo)識(shí)(選擇)一個(gè)測(cè)試用例,同一等價(jià)類中,往同一類中標(biāo)識(shí)(選擇)一個(gè)測(cè)試用例,同一等價(jià)類中,往往處理相同,相同處理映射到往處理相同,相同處理映射到“相同的執(zhí)行路徑相同的執(zhí)行路徑”15等價(jià)類劃分法原則一等價(jià)類劃分法原則一 3 3)劃分等價(jià)類的方法)劃分等價(jià)類的方法下面給出下面給出5 5條確定等價(jià)類的原則條確定等價(jià)類的原則(1 1)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下)在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下, ,則可以確立則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。一個(gè)有效等價(jià)類
12、和兩個(gè)無(wú)效等價(jià)類。如:輸入值是學(xué)生成績(jī),范圍是如:輸入值是學(xué)生成績(jī),范圍是0 01001000 100 有效有效等價(jià)類等價(jià)類11成績(jī)成績(jī)100100無(wú)效等價(jià)類無(wú)效等價(jià)類 成績(jī)成績(jī)100100 無(wú)效等價(jià)類無(wú)效等價(jià)類 成績(jī)成績(jī)0016等價(jià)類劃分法原則二等價(jià)類劃分法原則二 (2 2) 如果輸入條件規(guī)定了輸入值的集合或者規(guī)定了如果輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必必須如何須如何”的條件的情況下的條件的情況下, ,可以確立一個(gè)有效等價(jià)類和一可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類個(gè)無(wú)效等價(jià)類。例如:在提款機(jī)主界面,系統(tǒng)只接受例如:在提款機(jī)主界面,系統(tǒng)只接受查詢查詢、取款取款和和取消取消按鈕,并分別進(jìn)
13、入對(duì)應(yīng)的功能。則可以劃分為按鈕,并分別進(jìn)入對(duì)應(yīng)的功能。則可以劃分為三個(gè)有效等價(jià)類:三個(gè)有效等價(jià)類:查詢查詢、取款取款、取消取消 。一個(gè)無(wú)效等價(jià)類:其它按鈕。一個(gè)無(wú)效等價(jià)類:其它按鈕。 17等價(jià)類劃分法原則三等價(jià)類劃分法原則三 (3 3) 如果輸入條件是一個(gè)布爾量,則可以確定一個(gè)有如果輸入條件是一個(gè)布爾量,則可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。效等價(jià)類和一個(gè)無(wú)效等價(jià)類。 例如:安裝程序時(shí),詢問(wèn)客戶是否接受例如:安裝程序時(shí),詢問(wèn)客戶是否接受“軟件許可協(xié)議軟件許可協(xié)議”。一個(gè)有效等價(jià)類一個(gè)有效等價(jià)類是是一個(gè)無(wú)效等價(jià)類一個(gè)無(wú)效等價(jià)類否否18等價(jià)類劃分法原則四等價(jià)類劃分法原則四 (4 4)在規(guī)定了輸
14、入數(shù)據(jù)的一組值(假定)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n n個(gè)),并且程個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n n個(gè)有效個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。等價(jià)類和一個(gè)無(wú)效等價(jià)類。 例如:在注冊(cè)信息界面,要求登錄名必須是例如:在注冊(cè)信息界面,要求登錄名必須是“漢字,字漢字,字母,數(shù)字,不能包含特殊符號(hào)母,數(shù)字,不能包含特殊符號(hào)”19等價(jià)類劃分法原則五等價(jià)類劃分法原則五(5 5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則情況下,可確立一個(gè)有)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則情況下,可確立一個(gè)有效等價(jià)類效等價(jià)類( (符合規(guī)則符合規(guī)則) )和若干個(gè)無(wú)效等價(jià)類和若
15、干個(gè)無(wú)效等價(jià)類( (從不同角度違反規(guī)從不同角度違反規(guī)則則) )。 例如,用戶名由字符和數(shù)字組成,必須以字符開頭,不能例如,用戶名由字符和數(shù)字組成,必須以字符開頭,不能包括特殊字符或空格,不能為空,長(zhǎng)度介于位之間包括特殊字符或空格,不能為空,長(zhǎng)度介于位之間。20根據(jù)等價(jià)類劃分選取用例根據(jù)等價(jià)類劃分選取用例/ /數(shù)據(jù)數(shù)據(jù)根據(jù)上述原則,列出所有的有效等價(jià)類和無(wú)效等價(jià)類根據(jù)上述原則,列出所有的有效等價(jià)類和無(wú)效等價(jià)類設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋那些尚未設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋那些尚未被涵蓋的有效等價(jià)類,重復(fù)這一步,直到所列出的所有被涵蓋的有效等價(jià)類,重復(fù)這一步,直到所列出的所
16、有有效等價(jià)類都被覆蓋為止有效等價(jià)類都被覆蓋為止設(shè)計(jì)一個(gè)新的測(cè)試用例,使其覆蓋一個(gè)且僅一個(gè)尚未被設(shè)計(jì)一個(gè)新的測(cè)試用例,使其覆蓋一個(gè)且僅一個(gè)尚未被涵蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所列出的所有無(wú)涵蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所列出的所有無(wú)效等價(jià)類都被覆蓋為止。效等價(jià)類都被覆蓋為止。21等價(jià)類劃分法實(shí)例等價(jià)類劃分法實(shí)例在證券柜臺(tái)系統(tǒng)中規(guī)定:在證券柜臺(tái)系統(tǒng)中規(guī)定:“用戶密碼是由字母開頭,后跟字母或數(shù)用戶密碼是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成。最少字符數(shù)為字的任意組合構(gòu)成。最少字符數(shù)為4 4個(gè),最大字符數(shù)為個(gè),最大字符數(shù)為1212個(gè)。個(gè)?!辈⑶乙?guī)定:并且規(guī)定:“用戶密碼不能與用戶注冊(cè)號(hào)相同,
17、且不能全為字母。用戶密碼不能與用戶注冊(cè)號(hào)相同,且不能全為字母?!庇玫葍r(jià)類劃分方法,建立輸入等價(jià)類表用等價(jià)類劃分方法,建立輸入等價(jià)類表: : 22等價(jià)類劃分法經(jīng)典且重要例子等價(jià)類劃分法經(jīng)典且重要例子舉例舉例例例1 1:某程序規(guī)定:某程序規(guī)定:“輸入三個(gè)整數(shù)輸入三個(gè)整數(shù) a a 、 b b 、 c c 分別作為三邊分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過(guò)程序判定所構(gòu)成的三角形的類型,當(dāng)?shù)倪呴L(zhǎng)構(gòu)成三角形。通過(guò)程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作計(jì)算計(jì)算 ”。用等價(jià)類劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。用等
18、價(jià)類劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。(三角形問(wèn)題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)(三角形問(wèn)題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。雜。 )23等價(jià)類劃分法經(jīng)典且重要例子等價(jià)類劃分法經(jīng)典且重要例子分析題目中給出和隱含的對(duì)輸入條件的要求:分析題目中給出和隱含的對(duì)輸入條件的要求: (1 1)整數(shù))整數(shù) (2 2)三個(gè)數(shù))三個(gè)數(shù) (3 3)非零數(shù))非零數(shù)(4 4)正數(shù))正數(shù) (5 5)兩邊之和大于第三邊)兩邊之和大于第三邊 (6 6)等腰)等腰 (7 7)等邊)等邊 如果如果 a a 、 b b 、 c c 滿足條件(滿足條件( 1 1 ) ( 4 4 ),則輸出下列四種情況之一:),
19、則輸出下列四種情況之一: 如果不滿足條件(如果不滿足條件(5 5),則程序輸出為),則程序輸出為 “ 非三角形非三角形 ” 。 如果三條邊相等即滿足條件(如果三條邊相等即滿足條件(7 7),則程序輸出為),則程序輸出為 “ 等邊三角等邊三角形形 ” 。 如果只有兩條邊相等、即滿足條件(如果只有兩條邊相等、即滿足條件(6 6),則程序輸出為),則程序輸出為 “ 等等腰三角形腰三角形 ” 。 如果三條邊都不相等,則程序輸出為如果三條邊都不相等,則程序輸出為 “ 一般三角形一般三角形 ” 。 劃分等價(jià)類表劃分等價(jià)類表列出等價(jià)類表并編號(hào) 等價(jià)類劃分法等價(jià)類劃分法等價(jià)類表并編號(hào)(續(xù)上表)等價(jià)類表并編號(hào)(
20、續(xù)上表)邊等價(jià)類劃分法等價(jià)類劃分法覆蓋有效等價(jià)類的測(cè)試用例:覆蓋有效等價(jià)類的測(cè)試用例:a b c a b c 覆蓋等價(jià)類號(hào)碼覆蓋等價(jià)類號(hào)碼3 4 5 3 4 5 (1 1)- -(7 7)4 4 5 4 4 5 (1 1)- -(7 7),(),(8 8)4 5 5 4 5 5 (1 1)- -(7 7),(),(9 9) 5 4 5 5 4 5 (1 1)- -(7 7),(),(1010)4 4 4 4 4 4 (1 1)- -(7 7),(),(1111)無(wú)效等價(jià)類無(wú)效等價(jià)類覆蓋無(wú)效覆蓋無(wú)效等價(jià)類的等價(jià)類的測(cè)試用例:測(cè)試用例:邊界值分析法邊界值分析法邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充
21、邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充. 1)邊界值分析方法的考慮邊界值分析方法的考慮: :長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們, ,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上的邊界上, ,而不是發(fā)生在輸入輸出范圍的內(nèi)部而不是發(fā)生在輸入輸出范圍的內(nèi)部. .因此針對(duì)各種邊界情況設(shè)因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例計(jì)測(cè)試用例, ,可以查出更多的錯(cuò)誤。可以查出更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì)測(cè)試用例使用邊界值分析方法設(shè)計(jì)測(cè)試用例, ,首先應(yīng)確定邊界情況。通常輸入首先應(yīng)確定邊界情況。通常輸入和輸出等價(jià)類的邊界和輸出等價(jià)類的邊界, ,就是應(yīng)著重測(cè)試的邊界情況
22、就是應(yīng)著重測(cè)試的邊界情況. .應(yīng)當(dāng)選取正好等于應(yīng)當(dāng)選取正好等于, ,剛剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù)剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù), ,而不是選取等價(jià)類中的典型而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù)值或任意值作為測(cè)試數(shù)據(jù). .邊界值分析法 與等價(jià)劃分的區(qū)別與等價(jià)劃分的區(qū)別 邊界值分析不是從某等價(jià)類中隨便挑一個(gè)邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試條件。都要作為測(cè)試條件。 邊界值分析不僅考慮輸入條件,還要考慮邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測(cè)試情況。輸出空間產(chǎn)生的測(cè)試情況。邊
23、界值分析法邊界值分析法(2 2)基于邊界值分析方法選擇測(cè)試用例的原則)基于邊界值分析方法選擇測(cè)試用例的原則1 1)如果輸入條件規(guī)定了)如果輸入條件規(guī)定了值的范圍值的范圍, ,則應(yīng)取則應(yīng)取剛達(dá)到剛達(dá)到這個(gè)范圍的邊界這個(gè)范圍的邊界的值的值, ,以及以及剛剛超越剛剛超越這個(gè)范圍這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。邊界的值作為測(cè)試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說(shuō)明中規(guī)定:例如,如果程序的規(guī)格說(shuō)明中規(guī)定:“重量在重量在1010公斤至公斤至5050公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為為”。作為測(cè)試用例,我們應(yīng)取。作為測(cè)試用例,我們應(yīng)取1010及及5050,還應(yīng)取還應(yīng)取10.01
24、,49.99,9.9910.01,49.99,9.99及及50.0150.01等。等。邊界值分析法原則二邊界值分析法原則二2 2)如果輸入條件規(guī)定了)如果輸入條件規(guī)定了值的個(gè)數(shù)值的個(gè)數(shù), ,則則用用最大個(gè)數(shù)最大個(gè)數(shù), ,最小個(gè)數(shù)最小個(gè)數(shù), ,比最小個(gè)數(shù)少一比最小個(gè)數(shù)少一, ,比最大個(gè)數(shù)多一比最大個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù)。的數(shù)作為測(cè)試數(shù)據(jù)。比如,一個(gè)輸入文件應(yīng)包括比如,一個(gè)輸入文件應(yīng)包括12551255個(gè)記個(gè)記錄,則測(cè)試用例可取錄,則測(cè)試用例可取1 1和和255255,還應(yīng)取,還應(yīng)取0 0及及256256等。等。邊界值分析法原則三邊界值分析法原則三3 3)將規(guī)則將規(guī)則1 1)和)和2 2)應(yīng)用于
25、輸出條件)應(yīng)用于輸出條件,即設(shè)計(jì)測(cè)試用例,即設(shè)計(jì)測(cè)試用例使使輸出值達(dá)到邊界值及其左右輸出值達(dá)到邊界值及其左右的值。的值。 例如,某程序的規(guī)格說(shuō)明要求計(jì)算出例如,某程序的規(guī)格說(shuō)明要求計(jì)算出“每月保險(xiǎn)金扣每月保險(xiǎn)金扣除額為除額為0 0至至1165.251165.25元元”,其測(cè)試用例可取,其測(cè)試用例可取0.000.00及及1165.251165.25、還可取一、還可取一0.010.01及及116511652626等。等。再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次”最少顯示最少顯示1 1條、最多顯示條、最多顯示4 4條情報(bào)摘要條情報(bào)摘要”,這時(shí)我們應(yīng)考慮的,這時(shí)我們應(yīng)考
26、慮的測(cè)試用例包括測(cè)試用例包括1 1和和4 4,還應(yīng)包括,還應(yīng)包括0 0和和5 5等。等。 邊界值分析法原則邊界值分析法原則5 5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合序集合, ,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元?jiǎng)t應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。素作為測(cè)試用例。6 6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu))如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu), ,則應(yīng)當(dāng)選則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。7 7)分析規(guī)格說(shuō)明)分析規(guī)格說(shuō)明, ,找出其它可能的邊界條件。找出其它可能的
27、邊界條件。錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法: : 基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤, , 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法。從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法。錯(cuò)誤推測(cè)方法的基本思想錯(cuò)誤推測(cè)方法的基本思想: : 列舉出程序中所有可能有的錯(cuò)誤和容易列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況發(fā)生錯(cuò)誤的特殊情況, ,根據(jù)他們選擇測(cè)試用例。根據(jù)他們選擇測(cè)試用例。例如:輸入數(shù)據(jù)和輸出數(shù)據(jù)為例如:輸入數(shù)據(jù)和輸出數(shù)據(jù)為0 0的情況;輸入表格為空格或輸入表的情況;輸入表格為空格或輸入表格只有一行格只有一行. . 這些都是容易發(fā)生錯(cuò)誤的
28、情況??蛇x擇這些情況這些都是容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測(cè)試用例。下的例子作為測(cè)試用例。錯(cuò)誤推測(cè)法之cases判定表驅(qū)動(dòng)法判定表驅(qū)動(dòng)法n定義:判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。定義:判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。n判定表的優(yōu)缺點(diǎn):判定表的優(yōu)缺點(diǎn):n優(yōu)點(diǎn)優(yōu)點(diǎn):能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避:能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。免遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。n缺點(diǎn)缺點(diǎn):不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,如循環(huán)結(jié)構(gòu)。:不能
29、表達(dá)重復(fù)執(zhí)行的動(dòng)作,如循環(huán)結(jié)構(gòu)。n 判定表不能很好的伸縮。如有判定表不能很好的伸縮。如有n個(gè)條件的判定表有個(gè)條件的判定表有2n個(gè)規(guī)則。個(gè)規(guī)則。n在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類問(wèn)題。于處理這類問(wèn)題。判定表驅(qū)動(dòng)法 判定表判定表5個(gè)概念:個(gè)概念: 條件樁:?jiǎn)栴}的輸入條件列出問(wèn)題的所有條件。(通常列出條件的順序沒(méi)有約束)條件樁:?jiǎn)栴}的輸入條件列出問(wèn)題的所有條件。(通常列出條
30、件的順序沒(méi)有約束) 動(dòng)作樁:列出問(wèn)題規(guī)定可能采取的動(dòng)作。(動(dòng)作的順序也沒(méi)有約束)動(dòng)作樁:列出問(wèn)題規(guī)定可能采取的動(dòng)作。(動(dòng)作的順序也沒(méi)有約束) 條件項(xiàng):每一個(gè)輸入條件的具體值列出針對(duì)條件的具體賦值,即每個(gè)條件可以取條件項(xiàng):每一個(gè)輸入條件的具體值列出針對(duì)條件的具體賦值,即每個(gè)條件可以取的真、假值。的真、假值。 動(dòng)作項(xiàng):具體動(dòng)作列出在條件項(xiàng)(各種取值)組合情況下應(yīng)該采取的動(dòng)作。動(dòng)作項(xiàng):具體動(dòng)作列出在條件項(xiàng)(各種取值)組合情況下應(yīng)該采取的動(dòng)作。 規(guī)則:任何一個(gè)條件組合的特定取值及其要執(zhí)行的相應(yīng)操作。在判定表中貫穿條規(guī)則:任何一個(gè)條件組合的特定取值及其要執(zhí)行的相應(yīng)操作。在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列
31、就是一條規(guī)則。件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。判定表的判定表的4 4個(gè)組成部分:個(gè)組成部分:判定表驅(qū)動(dòng)法設(shè)計(jì)步驟判定表驅(qū)動(dòng)法設(shè)計(jì)步驟建立判定表的步驟:建立判定表的步驟:1. 列出所有的條件樁和動(dòng)作樁。列出所有的條件樁和動(dòng)作樁。2. 填入條件項(xiàng)。填入條件項(xiàng)。3. 填入動(dòng)作項(xiàng)、制定初始判定表。填入動(dòng)作項(xiàng)、制定初始判定表。4. 簡(jiǎn)化、合并相似規(guī)則或相同動(dòng)作。簡(jiǎn)化、合并相似規(guī)則或相同動(dòng)作。注:注:簡(jiǎn)化:就是把有兩條或多條具有相同的動(dòng)作、且其簡(jiǎn)化:就是把有兩條或多條具有相同的動(dòng)作、且其條件項(xiàng)之間存在著極為相似的關(guān)系的規(guī)則合并。條件項(xiàng)之間存在著極為相似的關(guān)系的規(guī)則合并。判定表驅(qū)動(dòng)法例子判定表驅(qū)動(dòng)法例子例子
32、:打印機(jī)是否能打印出來(lái)正確的內(nèi)容,有多個(gè)因素影響,包括驅(qū)動(dòng)程序、紙張、墨粉例子:打印機(jī)是否能打印出來(lái)正確的內(nèi)容,有多個(gè)因素影響,包括驅(qū)動(dòng)程序、紙張、墨粉等。(為了簡(jiǎn)化問(wèn)題,不考慮中途斷電、卡紙等因素的影響)等。(為了簡(jiǎn)化問(wèn)題,不考慮中途斷電、卡紙等因素的影響)解:解:條件樁:條件樁:(1) 驅(qū)動(dòng)程序是否正確?驅(qū)動(dòng)程序是否正確?(2) 是否有紙張?是否有紙張?(3) 是否有墨粉?是否有墨粉?動(dòng)作樁:(動(dòng)作樁有兩種:打印內(nèi)容和不同的錯(cuò)誤提示,并且假定:優(yōu)先警告缺紙,然后動(dòng)作樁:(動(dòng)作樁有兩種:打印內(nèi)容和不同的錯(cuò)誤提示,并且假定:優(yōu)先警告缺紙,然后警告沒(méi)有墨粉,最有警告驅(qū)動(dòng)程序不對(duì)。)警告沒(méi)有墨粉,
33、最有警告驅(qū)動(dòng)程序不對(duì)。)(1) 打印內(nèi)容打印內(nèi)容(2) 提示驅(qū)動(dòng)程序不對(duì)提示驅(qū)動(dòng)程序不對(duì)(3) 提示沒(méi)有紙張?zhí)崾緵](méi)有紙張(4) 提示沒(méi)有墨粉提示沒(méi)有墨粉注:注:輸入條件項(xiàng),即上述每個(gè)輸入條件項(xiàng),即上述每個(gè)條件的值分別取條件的值分別取“是(是(Y)”和和“否(否(N)”,可以簡(jiǎn)化,可以簡(jiǎn)化表示為表示為1和和0。初始化的判定表:初始化的判定表:判定表驅(qū)動(dòng)法例子二判定表驅(qū)動(dòng)法例子二優(yōu)化后判定表:優(yōu)化后判定表:注:如果動(dòng)作結(jié)果一樣,對(duì)于某些因素取注:如果動(dòng)作結(jié)果一樣,對(duì)于某些因素取“1 1”或或“0 0”沒(méi)有影響,即以沒(méi)有影響,即以“”表示,并表示,并合并。合并。優(yōu)化的判定表就可以設(shè)計(jì)測(cè)試用例,每一列
34、代表一條測(cè)試用例。優(yōu)化的判定表就可以設(shè)計(jì)測(cè)試用例,每一列代表一條測(cè)試用例。適合使用判定表設(shè)計(jì)測(cè)試用例的條件:適合使用判定表設(shè)計(jì)測(cè)試用例的條件:1. 規(guī)格說(shuō)明以判定表形式給出,或很容易轉(zhuǎn)換成判定表的。規(guī)格說(shuō)明以判定表形式給出,或很容易轉(zhuǎn)換成判定表的。2. 條件的排列順序不會(huì)也不影響執(zhí)行哪些操作。條件的排列順序不會(huì)也不影響執(zhí)行哪些操作。3. 規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作。規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作。4. 每當(dāng)某一規(guī)則的條件已近滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。每當(dāng)某一規(guī)則的條件已近滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。5. 如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操
35、作,這些操作的執(zhí)行順序無(wú)關(guān)緊要。如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要。注:對(duì)于某些不滿足如上條件的判定表,同樣也可以應(yīng)用它來(lái)設(shè)計(jì)測(cè)試用例,只不過(guò)還要增加其他的測(cè)試用例。注:對(duì)于某些不滿足如上條件的判定表,同樣也可以應(yīng)用它來(lái)設(shè)計(jì)測(cè)試用例,只不過(guò)還要增加其他的測(cè)試用例。因果圖法因果圖法因果圖介紹因果圖介紹因果圖介紹因果圖介紹4種符號(hào)分別表示了軟件需求規(guī)格說(shuō)明中向種符號(hào)分別表示了軟件需求規(guī)格說(shuō)明中向4種因果關(guān)系。種因果關(guān)系。因果圖中使用了簡(jiǎn)單的邏輯符號(hào),以直線聯(lián)接左右結(jié)點(diǎn)。左結(jié)點(diǎn)表示輸入狀態(tài)(或稱原因),右結(jié)點(diǎn)表示輸出狀態(tài)(或稱結(jié)果)。 C1表示原因,通常置于圖的左部;e1
36、表示結(jié)果,通常在圖的右部。C1和e1均可取值0或1,0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn)。因果圖關(guān)系:因果圖約束因果圖約束 輸入狀態(tài)相互之間還可能存在某些依賴關(guān)系,稱為約束。例如, 某些輸入條件本身不可能同時(shí)出現(xiàn)。輸出狀態(tài)之間也往往存在約束。在因果圖中,用特定的符號(hào)標(biāo)明這些約束。輸入條件的約束有以下4類:E約束(異):a和b中至多有一個(gè)可能為1,即a和b不能同時(shí)為1。I約束(或):a、b和c中至少有一個(gè)必須是1,即 a、b 和c不能同時(shí)為0。O約束(唯一);a和b必須有一個(gè),且僅有1個(gè)為1。R約束(要求):a是1時(shí),b必須是1,即不可能a是1時(shí)b是0。輸出條件約束類型輸出條件的約束只有M約束(強(qiáng)制):若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。因果圖設(shè)計(jì)測(cè)試步驟n采用因果圖法設(shè)計(jì)測(cè)試用例的步驟:采用因果圖法設(shè)計(jì)測(cè)試用例的步驟:n(1)分析軟件規(guī)格說(shuō)明描述中)分析軟件規(guī)格說(shuō)明描述中, 那些是原因那些是原因(即輸入條件或輸入條件的即輸入條件或輸入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市智能交通系統(tǒng)EPC項(xiàng)目方案
- 鐵路運(yùn)輸行車軌道安全方案
- 幼兒園健康教育統(tǒng)計(jì)制度
- 酒莊客戶體驗(yàn)提升方案
- 中小企業(yè)監(jiān)事會(huì)管理方案
- 2024電商物流配送服務(wù)委托協(xié)議
- 2024年個(gè)人訂貨企業(yè)供應(yīng)協(xié)議
- 光伏電站社會(huì)影響評(píng)估方案
- 2024年電力設(shè)施及配件采購(gòu)協(xié)議
- 2024專項(xiàng)工程勞務(wù)承攬協(xié)議模板
- 《2024版CSCO胰腺癌診療指南》更新要點(diǎn)
- 新課標(biāo)視角下初中數(shù)學(xué)閱讀教學(xué)現(xiàn)狀調(diào)查與分析
- 《ModelBase智能駕駛建模仿真與應(yīng)用》全套教學(xué)課件
- 診斷學(xué)《心臟檢查》(視觸叩診聽(tīng)診)課件
- 2024東方電氣招聘452人歷年高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 《文化研究導(dǎo)論》全套教學(xué)課件
- 民宿經(jīng)濟(jì)效益和社會(huì)效益分析報(bào)告
- ISO∕IEC 23894-2023 信息技術(shù) -人工智能 - 風(fēng)險(xiǎn)管理指南(雷澤佳譯-2024)
- 山東省菏澤市單縣五年級(jí)上冊(cè)期中語(yǔ)文試卷(含解析)
- 2024發(fā)展對(duì)象培訓(xùn)班考試試題與答案
- 創(chuàng)新聯(lián)合體協(xié)議書模板
評(píng)論
0/150
提交評(píng)論