版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章主講:劉素芳主講:劉素芳本章內(nèi)容提要本章內(nèi)容提要 黑盒測(cè)試的基本概念 黑盒測(cè)試的方法 黑盒測(cè)試的依據(jù)和流程 4.1 4.1 黑盒測(cè)試的基本概念黑盒測(cè)試的基本概念黑盒測(cè)試結(jié)果黑盒測(cè)試結(jié)果通過(guò)測(cè)試測(cè)試失敗黑盒黑盒測(cè)試測(cè)試能能發(fā)現(xiàn)發(fā)現(xiàn)以下幾以下幾類(lèi)錯(cuò)誤類(lèi)錯(cuò)誤 功能不對(duì)或遺漏。 界面錯(cuò)誤。 數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤。 性能錯(cuò)誤。 初始化和終止錯(cuò)誤。黑盒黑盒測(cè)試對(duì)測(cè)試對(duì)程序的功能性程序的功能性測(cè)試測(cè)試要求要求 每個(gè)軟件特性必須被一個(gè)測(cè)試用例或一個(gè)被認(rèn)可的異常所覆蓋。 利用數(shù)據(jù)類(lèi)型和數(shù)據(jù)值的最小集測(cè)試。 利用一系列真實(shí)的數(shù)據(jù)類(lèi)型和數(shù)據(jù)值運(yùn)行,測(cè)試超負(fù)荷及其他“最壞情況”的結(jié)果。 利用假想的數(shù)據(jù)類(lèi)
2、型和數(shù)據(jù)值運(yùn)行,測(cè)試排斥不規(guī)則輸入的能力。 測(cè)試影響性能的關(guān)鍵模塊,如基本算法、精度、 時(shí)間、容量等是否正常。4.1.1 黑盒測(cè)試的優(yōu)點(diǎn)和缺點(diǎn)黑盒測(cè)試的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)(1)有針對(duì)性地尋找問(wèn)題,并且定位問(wèn)題更準(zhǔn)確。(2)黑盒測(cè)試可以證明產(chǎn)品是否達(dá)到用戶(hù)要求的功能,符合用戶(hù)的工作要求。(3)能重復(fù)執(zhí)行相同的動(dòng)作,測(cè)試工作中最枯燥的部分可交由機(jī)器完成。(1)需要充分了解產(chǎn)品用到的技術(shù),測(cè)試人員需要具有較多經(jīng)驗(yàn)。(2)在測(cè)試過(guò)程中很多是手工測(cè)試操作。(3)測(cè)試人員要負(fù)責(zé)大量文檔、報(bào)表的編制和整理工作。4.1.2 黑盒測(cè)試與白盒測(cè)試的比較黑盒測(cè)試與白盒測(cè)試的比較檢查測(cè)試檢查測(cè)試的主要的主要內(nèi)
3、內(nèi)容容靜態(tài)測(cè)試靜態(tài)測(cè)試方法方法動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試方法方法已知已知產(chǎn)產(chǎn)品的因素品的因素黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以通過(guò)測(cè)試證明每種實(shí)現(xiàn)的功能是否符合要求。白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作結(jié)構(gòu),可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,以及所有內(nèi)部成分是否經(jīng)過(guò)檢查。已知已知產(chǎn)產(chǎn)品的因素品的因素黑盒測(cè)試檢查的內(nèi)容如下:是否有不正確或遺漏的功能?在接口上,輸入是否能正確地接受?能否輸出正確的結(jié)果?是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪問(wèn)錯(cuò)誤?是否有初始化或終止性錯(cuò)誤?白盒測(cè)試檢查的內(nèi)容如下:對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)試一遍。
4、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。檢查測(cè)試檢查測(cè)試的主要的主要內(nèi)內(nèi)容容靜態(tài)黑盒測(cè)試方法:文檔測(cè)試,特別是產(chǎn)品需求文檔、用戶(hù)手冊(cè)、幫助文件等的審查。靜態(tài)白盒測(cè)試方法:走查、復(fù)審、評(píng)審程序源代碼、數(shù)據(jù)字典、系統(tǒng)設(shè)計(jì)文檔、環(huán)境設(shè)置、軟件配置項(xiàng)等。靜態(tài)測(cè)試靜態(tài)測(cè)試方法方法動(dòng)態(tài)黑盒測(cè)試方法:通過(guò)數(shù)據(jù)輸入并運(yùn)行程序來(lái)檢驗(yàn)輸出結(jié)果,如功能測(cè)試、驗(yàn)收測(cè)試和一些性能測(cè)試等。動(dòng)態(tài)白盒測(cè)試方法:通過(guò)驅(qū)動(dòng)程序來(lái)調(diào)用,如進(jìn)行單元測(cè)試、集成測(cè)試和部分性能測(cè)試等。動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試方法方法4.2 4.2 黑盒測(cè)試的方法黑盒測(cè)試的方法采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法等價(jià)類(lèi)劃分法等價(jià)類(lèi)劃分法邊界值分析法邊界值分析法因果圖法因果
5、圖法功能圖分析法功能圖分析法場(chǎng)景設(shè)計(jì)法場(chǎng)景設(shè)計(jì)法錯(cuò)誤推斷法錯(cuò)誤推斷法決策表。決策表。正交試驗(yàn)法正交試驗(yàn)法 4.2.1 等價(jià)類(lèi)劃分法等價(jià)類(lèi)劃分法1 1等價(jià)類(lèi)劃分方法簡(jiǎn)述等價(jià)類(lèi)劃分方法簡(jiǎn)述 在使用等價(jià)類(lèi)劃分方法進(jìn)行測(cè)試時(shí),首先應(yīng)在分析需求規(guī)格說(shuō)明的基礎(chǔ)上劃分等價(jià)類(lèi),再根據(jù)等價(jià)類(lèi)設(shè)計(jì)出測(cè)試用例。 等價(jià)類(lèi):指輸入域的某個(gè)互不相交的子集,所有等價(jià)類(lèi)的集便是整個(gè)輸入域。 等價(jià)類(lèi)中的元素有一些共同的特點(diǎn):如果用等價(jià)類(lèi)中的一個(gè)元素作為測(cè)試數(shù)據(jù)進(jìn)行測(cè)試不能發(fā)現(xiàn)程序中的故障,那么使用集合中的其他元素進(jìn)行測(cè)試也不可能發(fā)現(xiàn)故障。Page 162 2劃分等價(jià)類(lèi)劃分等價(jià)類(lèi) (1 1)有效等價(jià)類(lèi))有效等價(jià)類(lèi) 有效等價(jià)類(lèi)是指
6、符合程序規(guī)格說(shuō)明書(shū),有意義的、合理的輸入數(shù)有效等價(jià)類(lèi)是指符合程序規(guī)格說(shuō)明書(shū),有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合。據(jù)所構(gòu)成的集合。 利用有效等價(jià)類(lèi),可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明預(yù)先規(guī)定的利用有效等價(jià)類(lèi),可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明預(yù)先規(guī)定的功能和性能。在具體問(wèn)題中,有效等價(jià)類(lèi)可以是一個(gè),也可以是多個(gè)功能和性能。在具體問(wèn)題中,有效等價(jià)類(lèi)可以是一個(gè),也可以是多個(gè)。 (2 2)無(wú)效等價(jià)類(lèi))無(wú)效等價(jià)類(lèi) 無(wú)效等價(jià)類(lèi)是指不符合程序規(guī)格說(shuō)明書(shū),不合理或無(wú)意義的輸入無(wú)效等價(jià)類(lèi)是指不符合程序規(guī)格說(shuō)明書(shū),不合理或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。數(shù)據(jù)所構(gòu)成的集合。 利用無(wú)效等價(jià)類(lèi),可以檢查軟件功能和性能的實(shí)現(xiàn)是否
7、有不符合利用無(wú)效等價(jià)類(lèi),可以檢查軟件功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說(shuō)明要求的地方。對(duì)于具體的問(wèn)題,無(wú)效等價(jià)類(lèi)至少應(yīng)有一個(gè),規(guī)格說(shuō)明要求的地方。對(duì)于具體的問(wèn)題,無(wú)效等價(jià)類(lèi)至少應(yīng)有一個(gè),也可能有多個(gè)。也可能有多個(gè)。Page 173 3常用的等價(jià)類(lèi)劃分原則常用的等價(jià)類(lèi)劃分原則 (1 1)按區(qū)間劃分:如果規(guī)格說(shuō)明規(guī)定了輸入條件的取值范圍或值的數(shù))按區(qū)間劃分:如果規(guī)格說(shuō)明規(guī)定了輸入條件的取值范圍或值的數(shù)量,則可以確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。量,則可以確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。 (2 2)按數(shù)值劃分:如果規(guī)格說(shuō)明規(guī)定了一組輸入數(shù)據(jù),且程序要對(duì)每)按數(shù)值劃分:如果規(guī)格說(shuō)明規(guī)定了一組輸入數(shù)
8、據(jù),且程序要對(duì)每一個(gè)輸入值分別進(jìn)行處理,則可為每一個(gè)輸入值確立一個(gè)有效等價(jià)類(lèi)一個(gè)輸入值分別進(jìn)行處理,則可為每一個(gè)輸入值確立一個(gè)有效等價(jià)類(lèi),針對(duì)這組值確立一個(gè)無(wú)效等價(jià)類(lèi),它是所有不允許輸入值的集合。,針對(duì)這組值確立一個(gè)無(wú)效等價(jià)類(lèi),它是所有不允許輸入值的集合。 (3 3)按數(shù)值集合劃分:如果規(guī)格說(shuō)明規(guī)定了輸入值的集合,則可確定)按數(shù)值集合劃分:如果規(guī)格說(shuō)明規(guī)定了輸入值的集合,則可確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)(該集合有效值之外)。一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)(該集合有效值之外)。 (4 4)按限制條件或規(guī)則劃分:如果規(guī)格說(shuō)明規(guī)定了輸入數(shù)據(jù)必須遵守)按限制條件或規(guī)則劃分:如果規(guī)格說(shuō)明規(guī)定了輸入
9、數(shù)據(jù)必須遵守的規(guī)則或限制條件,則可以確立一個(gè)有效等價(jià)類(lèi)(符號(hào)規(guī)則)和若干的規(guī)則或限制條件,則可以確立一個(gè)有效等價(jià)類(lèi)(符號(hào)規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則)。個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則)。 (5 5)細(xì)分等價(jià)類(lèi):等價(jià)類(lèi)中的各個(gè)元素在程序中的處理若不相同,則)細(xì)分等價(jià)類(lèi):等價(jià)類(lèi)中的各個(gè)元素在程序中的處理若不相同,則可將此等價(jià)類(lèi)進(jìn)一步劃分成更小的等價(jià)類(lèi)??蓪⒋说葍r(jià)類(lèi)進(jìn)一步劃分成更小的等價(jià)類(lèi)。Page 18在確立了等價(jià)在確立了等價(jià)類(lèi)類(lèi)之后,可按之后,可按4-1的形式列出所有的形式列出所有劃劃分出的等價(jià)分出的等價(jià)類(lèi)類(lèi)表。表。同同樣樣,也可按照,也可按照輸輸出出條條件,件,將輸將輸出域出
10、域劃劃分分為為若干若干個(gè)個(gè)等價(jià)等價(jià)類(lèi)類(lèi)。Page 194 4劃分等價(jià)類(lèi)的要求劃分等價(jià)類(lèi)的要求測(cè)試測(cè)試完完備備合理,避免冗余。合理,避免冗余。劃劃分分輸輸入入條條件、有效等價(jià)件、有效等價(jià)類(lèi)類(lèi)和無(wú)效等價(jià)和無(wú)效等價(jià)類(lèi)時(shí)類(lèi)時(shí)最重最重要的是要的是將將集合集合劃劃分分為為互不相交的一互不相交的一組組子集。子集。整整個(gè)個(gè)集合完集合完備備。子集互不相交,保子集互不相交,保證證一一種種形式的無(wú)冗余性。形式的無(wú)冗余性。同一同一類(lèi)類(lèi)中中標(biāo)識(shí)標(biāo)識(shí)(選擇選擇)一)一個(gè)測(cè)試個(gè)測(cè)試用例,在同一等用例,在同一等價(jià)價(jià)類(lèi)類(lèi)中,往往中,往往處處理相同,相同理相同,相同處處理映射到理映射到“相同的相同的執(zhí)執(zhí)行路行路徑徑”。Page
11、205 5等價(jià)類(lèi)劃分測(cè)試用例設(shè)計(jì)等價(jià)類(lèi)劃分測(cè)試用例設(shè)計(jì)(1)為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào)。(2)設(shè)計(jì)一個(gè)新的測(cè)試用例,盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類(lèi),重復(fù)這一步,直到測(cè)試用例覆蓋了所有的有效等價(jià)類(lèi)。(3)設(shè)計(jì)一個(gè)新的測(cè)試用例,使其覆蓋并且只覆蓋一個(gè)還沒(méi)有被覆蓋的無(wú)效等價(jià)類(lèi)。重復(fù)這一步,直至測(cè)試用例覆蓋了所有的無(wú)效等價(jià)類(lèi)。具體步驟具體步驟Page 216 6測(cè)試用例等價(jià)類(lèi)表的建立測(cè)試用例等價(jià)類(lèi)表的建立【例【例1】三角形問(wèn)題的等價(jià)類(lèi)測(cè)試。】三角形問(wèn)題的等價(jià)類(lèi)測(cè)試。 輸入三個(gè)整數(shù)a、b和c分別作為三角形的3條邊,通過(guò)程序判斷由這3條邊構(gòu)成的三條邊類(lèi)型是:等邊三角形、等腰三角形、一般三角形或非
12、三角形(不能夠成一個(gè)三角形)。 假定3個(gè)輸入a、b和c在1100之間取值,三角形問(wèn)題可以更詳細(xì)地描述為: 輸入3個(gè)整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件。 Con1.1a100Con2.1b100Con3.1c100Con4.ab+cCon5.ba+cCon6.ca+b 程序輸出是由這3條邊構(gòu)成的三角形類(lèi)型:等邊三角形、等腰三角形、一般三角形或非三角形。如果輸入值不滿足前3個(gè)條件中的任何一個(gè),程序給出相應(yīng)的提示信息,如“請(qǐng)輸入1100之間的整數(shù)”等。如果a、b和c滿足Con1、Con2和Con3,則輸出下列4種情況之一。 如果不滿足條件Con4、Con5和Con6
13、中的一個(gè),則程序輸出為“非三角形”。 如果3條邊相等,則程序輸出為“等邊三角形”。 如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。 如果3條邊都不相等,則程序輸出為“一般三角形”。 顯然,這4種情況相互排斥。Page 22 仔細(xì)分析三角形問(wèn)題,我們可得出其等價(jià)類(lèi)表,如表仔細(xì)分析三角形問(wèn)題,我們可得出其等價(jià)類(lèi)表,如表4-2所示。根據(jù)等價(jià)類(lèi)表,可設(shè)計(jì)覆所示。根據(jù)等價(jià)類(lèi)表,可設(shè)計(jì)覆蓋上述等價(jià)類(lèi)的測(cè)試用例。蓋上述等價(jià)類(lèi)的測(cè)試用例。測(cè)試測(cè)試用例用例Test=(3,4,5)便可覆蓋有效等價(jià))便可覆蓋有效等價(jià)類(lèi)類(lèi)13 3。覆蓋無(wú)效等價(jià)。覆蓋無(wú)效等價(jià)類(lèi)類(lèi)的的測(cè)試測(cè)試用例如表用例如表4-3所示。所示。Pag
14、e 23 在大多數(shù)情況下從被測(cè)程序的輸入域劃分等價(jià)類(lèi),但也可以從輸出域在大多數(shù)情況下從被測(cè)程序的輸入域劃分等價(jià)類(lèi),但也可以從輸出域定義等價(jià)類(lèi)。事實(shí)上,這對(duì)于三角形問(wèn)題是最簡(jiǎn)單的劃分方法。三角形問(wèn)定義等價(jià)類(lèi)。事實(shí)上,這對(duì)于三角形問(wèn)題是最簡(jiǎn)單的劃分方法。三角形問(wèn)題有題有4種可能輸出:等邊三角形、等腰三角形、一般三角形和非三角形。種可能輸出:等邊三角形、等腰三角形、一般三角形和非三角形。利用這些信息從輸出(值域)劃分等價(jià)類(lèi)為。利用這些信息從輸出(值域)劃分等價(jià)類(lèi)為。 R1=;邊衛(wèi);邊衛(wèi)a,b,c的等邊三角形的等邊三角形 R2=;邊衛(wèi);邊衛(wèi)a,b,c的等腰三角形的等腰三角形 R3=;邊衛(wèi);邊衛(wèi)a,b,
15、c的一般三角形的一般三角形 R4=;邊衛(wèi);邊衛(wèi)a,b,c不能形成三角形不能形成三角形 4個(gè)等價(jià)類(lèi)測(cè)試用例如表個(gè)等價(jià)類(lèi)測(cè)試用例如表4-4所示。所示。Page 24【例例2】保保險(xiǎn)險(xiǎn)公司人公司人壽壽保保險(xiǎn)險(xiǎn)保保費(fèi)計(jì)費(fèi)計(jì)算程序的等價(jià)算程序的等價(jià)類(lèi)測(cè)試類(lèi)測(cè)試。 某保險(xiǎn)公司人壽保險(xiǎn)的保費(fèi)計(jì)算方法為: 保費(fèi) = 投保額 保險(xiǎn)費(fèi)率 其中,保險(xiǎn)費(fèi)率根據(jù)年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)的不同而有所不同,體現(xiàn)在不同年齡、性別、婚姻狀況和撫養(yǎng)人數(shù),點(diǎn)數(shù)設(shè)定不同。10點(diǎn)以上保險(xiǎn)費(fèi)率為0.6%,10點(diǎn)及以下保險(xiǎn)費(fèi)率為0.1%;而有點(diǎn)數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來(lái)決定,具體規(guī)則如表4-5所示。分析程序規(guī)格
16、說(shuō)明中給出的和隱含的對(duì)輸入數(shù)據(jù)的要求,可以得出下述規(guī)律。 年齡:一位或兩位非零整數(shù),取值的有效范圍為199。 性別:一位英文字符,只能取“M”或“F”值。 婚姻:字符、只能取“已婚”或“未婚”。 撫養(yǎng)人數(shù):空白或字符“無(wú)”或199之間的一位非零整數(shù)。 點(diǎn)數(shù):一位或兩位非零整數(shù),取值范圍為819。Page 25 通過(guò)對(duì)規(guī)格說(shuō)明輸入數(shù)據(jù)的取值分析,可以得出保險(xiǎn)公司人壽保險(xiǎn)計(jì)算程序的等價(jià)類(lèi)如表通過(guò)對(duì)規(guī)格說(shuō)明輸入數(shù)據(jù)的取值分析,可以得出保險(xiǎn)公司人壽保險(xiǎn)計(jì)算程序的等價(jià)類(lèi)如表4-6。 根據(jù)表中的等價(jià)類(lèi),假設(shè)保險(xiǎn)額為根據(jù)表中的等價(jià)類(lèi),假設(shè)保險(xiǎn)額為1萬(wàn)元,保險(xiǎn)公司人壽保險(xiǎn)保費(fèi)計(jì)算程序的等價(jià)類(lèi)測(cè)試用萬(wàn)元,保險(xiǎn)公
17、司人壽保險(xiǎn)保費(fèi)計(jì)算程序的等價(jià)類(lèi)測(cè)試用例如表例如表4-7所示。所示。Page 26【例例3】某某學(xué)學(xué)籍管理系籍管理系統(tǒng)統(tǒng)中有增加中有增加學(xué)學(xué)生信息的功能,生信息的功能,該該功能的功能的說(shuō)說(shuō)明如下。明如下。 一條完整的學(xué)生信息包括學(xué)生的學(xué)號(hào)、姓名、語(yǔ)文成績(jī)、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī)、物理成績(jī)一條完整的學(xué)生信息包括學(xué)生的學(xué)號(hào)、姓名、語(yǔ)文成績(jī)、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī)、物理成績(jī)和化學(xué)成績(jī)。和化學(xué)成績(jī)。 學(xué)號(hào)是學(xué)生信息的關(guān)鍵字,不能重復(fù)。每個(gè)班級(jí)的學(xué)號(hào)范圍和學(xué)號(hào)的數(shù)據(jù)要求見(jiàn)數(shù)據(jù)字典。學(xué)號(hào)是學(xué)生信息的關(guān)鍵字,不能重復(fù)。每個(gè)班級(jí)的學(xué)號(hào)范圍和學(xué)號(hào)的數(shù)據(jù)要求見(jiàn)數(shù)據(jù)字典。增加重復(fù)學(xué)號(hào)和非數(shù)據(jù)字典要求的學(xué)號(hào)時(shí),系統(tǒng)應(yīng)給出提示。
18、增加信息時(shí),學(xué)號(hào)是必須輸入的,增加重復(fù)學(xué)號(hào)和非數(shù)據(jù)字典要求的學(xué)號(hào)時(shí),系統(tǒng)應(yīng)給出提示。增加信息時(shí),學(xué)號(hào)是必須輸入的,否則,系統(tǒng)應(yīng)給出提示。表否則,系統(tǒng)應(yīng)給出提示。表4-8是數(shù)據(jù)字典中關(guān)于學(xué)號(hào)的要求。是數(shù)據(jù)字典中關(guān)于學(xué)號(hào)的要求。首先,列出所有等價(jià)首先,列出所有等價(jià)類(lèi)類(lèi),如表,如表4-9所示。所示。Page 27 選擇測(cè)試用例,覆蓋所有的有效等價(jià)類(lèi),如表選擇測(cè)試用例,覆蓋所有的有效等價(jià)類(lèi),如表4-10所示。所示。選擇測(cè)試選擇測(cè)試用例,覆蓋所有的無(wú)效等價(jià)用例,覆蓋所有的無(wú)效等價(jià)類(lèi)類(lèi),如表,如表4-11所示。所示。Page 28等價(jià)類(lèi)測(cè)試存在兩個(gè)問(wèn)題題等價(jià)類(lèi)測(cè)試存在兩個(gè)問(wèn)題題一一. 規(guī)規(guī)格格說(shuō)說(shuō)明往往明
19、往往沒(méi)沒(méi)有定有定義義無(wú)效無(wú)效測(cè)試測(cè)試用例的用例的期望期望輸輸出出應(yīng)該應(yīng)該是什是什么樣么樣的。的。二二. 是強(qiáng)是強(qiáng)類(lèi)類(lèi)型型語(yǔ)語(yǔ)言言沒(méi)沒(méi)有必要考有必要考慮慮無(wú)效無(wú)效輸輸入。入。 邊界值分析方法簡(jiǎn)述邊界值分析方法簡(jiǎn)述 邊界條件邊界條件 常見(jiàn)的邊界值常見(jiàn)的邊界值 邊界值分析測(cè)試邊界值分析測(cè)試 健壯性邊界值測(cè)試健壯性邊界值測(cè)試 測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用 邊界值分析法用于列出單元功能、輸入、狀態(tài)及控制的合法邊界值和非法邊界值,對(duì)數(shù)據(jù)進(jìn)行測(cè)試,檢查用戶(hù)輸入的信息、返回結(jié)果以及中間計(jì)算結(jié)果是否正確,補(bǔ)充等價(jià)劃分的測(cè)試用例設(shè)計(jì)技術(shù)。邊界值分析方法簡(jiǎn)述邊界值分析方法簡(jiǎn)述邊界是一些特
20、殊情況。邊界條件就是軟件計(jì)劃的操作界限所在邊緣條件。一些可能與邊界有關(guān)的數(shù)據(jù)類(lèi)型有:數(shù)值、速度、字符、地址、位置、尺寸和數(shù)量等。考慮這些數(shù)據(jù)類(lèi)型的下述特征:第一個(gè)和最后一個(gè)、最小值和最大值、開(kāi)始/完成、超過(guò)和在內(nèi)、空/滿、最短/最長(zhǎng)、最慢和最快、最早和最遲、最高/最低、相鄰/最遠(yuǎn)等。輸入等價(jià)類(lèi)和輸出等價(jià)類(lèi)的邊界也是要著重測(cè)試的邊界情況。所以,從等價(jià)類(lèi)中選取測(cè)試數(shù)據(jù)時(shí)應(yīng)該將等于或剛剛小于等價(jià)類(lèi)邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)中的典型值或任意值作為測(cè)試數(shù)據(jù)。邊界條件邊界條件邊界條件邊界條件確定邊界情況針對(duì)問(wèn)題的輸入域、輸出域邊界,耐心細(xì)致地逐個(gè)進(jìn)行考慮找到一些不明顯的、有趣的或可能產(chǎn)生軟件故
21、障的邊界仔細(xì)分析屏幕上光標(biāo)在最左上、最右下位置。報(bào)表的第一行和最后一行。數(shù)組元素的第一個(gè)和最后一個(gè)。循環(huán)的第0次、第1次、第2次最后一次。測(cè)試所包含的邊界檢驗(yàn)有幾種類(lèi)型:數(shù)字、字符、位置、大小、方位、尺寸、空間等。常見(jiàn)的邊界值常見(jiàn)的邊界值邊界值分析測(cè)試邊界值分析測(cè)試1x 為便于理解,這里討論一個(gè)有兩個(gè)變量x1和x2的程序P。假設(shè)輸入變量 和 在下列范圍內(nèi)取值:ax1b,c x2d 邊界值分析利用輸入變量的最小值(min)、稍大于最小值(min+)、域內(nèi)任意值(nom)、稍小于最大值(max-)和最大值(max)來(lái)設(shè)計(jì)測(cè)試用例。邊界值分析測(cè)試邊界值分析測(cè)試 通過(guò)使所有變量取正常值,只使一個(gè)變量分
22、別取最小值、稍大于最小值、稍小于最大值和最大值來(lái)進(jìn)行測(cè)試,那么,有兩個(gè)輸入變量的程序P的邊界值分析測(cè)試用例共有9個(gè),如圖所示。邊界值分析測(cè)試邊界值分析測(cè)試兩個(gè)輸入條件的最簡(jiǎn)單基本邊界值分析兩個(gè)輸入條件的最簡(jiǎn)單基本邊界值分析邊界值分析測(cè)試邊界值分析測(cè)試 一個(gè)含有n個(gè)變量的程序,保留其中一個(gè)變量,讓其余變量取正常值,這個(gè)被保留的變量依次取為min、min+、nom、max和max。對(duì)每個(gè)變量都重復(fù)進(jìn)行。那么,對(duì)于一個(gè)n變量的程序,邊界值分析測(cè)試會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。 不管采用什么語(yǔ)言,變量的min、min+、nom、max、max值根據(jù)語(yǔ)境可以很清楚地確定。如果沒(méi)有顯式地給出邊界,例如三角形問(wèn)
23、題,可以人為設(shè)定一個(gè)邊界。顯然,邊長(zhǎng)的下界是1(邊長(zhǎng)為負(fù)沒(méi)有什么意義)。但如何來(lái)確定上界呢?在默認(rèn)情況下,可以取最大可表示的整型值(某些語(yǔ)言里稱(chēng)為MAXINT),或者規(guī)定一個(gè)數(shù)作為上界,如100或1000。邊界值分析測(cè)試邊界值分析測(cè)試健壯性邊界值測(cè)試健壯性邊界值測(cè)試 邊界值分析的大部分討論都可直接用于健壯性測(cè)試。 健壯性測(cè)試最有意義的部分不是輸入,而是輸出,觀察例外情況如何處理。測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用 在等價(jià)類(lèi)劃分基礎(chǔ)上進(jìn)行邊界值分析測(cè)試,著重測(cè)試的是等價(jià)類(lèi)的邊界,在表加法器等價(jià)類(lèi)基礎(chǔ)上,進(jìn)行邊界值測(cè)試,
24、每次使一個(gè)變量取邊界值,其他變量取正常值,可設(shè)計(jì)出如表4-14所示的邊界測(cè)試用例。測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用測(cè)試用例邊界值方法的測(cè)試運(yùn)用 因果圖方法簡(jiǎn)述因果圖方法簡(jiǎn)述 因果圖的關(guān)系符號(hào)和約束因果圖的關(guān)系符號(hào)和約束 因果圖法測(cè)試用例的設(shè)計(jì)步驟因果圖法測(cè)試用例的設(shè)計(jì)步驟 因果圖法的測(cè)試用例因果圖法的測(cè)試用例 因果圖法是一種適合于描述對(duì)于多種條件的組合、相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式的方法,利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。適合于描述多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)設(shè)計(jì)測(cè)試用例。
25、 因果圖法最終生成的是判定表,適合于檢查程序輸入條件的各種組合情況。因果圖方法簡(jiǎn)述因果圖方法簡(jiǎn)述因果圖的關(guān)系符號(hào)和約束因果圖的關(guān)系符號(hào)和約束恒等恒等非非與與或或因果圖的關(guān)系符號(hào)和約束因果圖的關(guān)系符號(hào)和約束互斥互斥包含包含唯一唯一要求要求強(qiáng)制強(qiáng)制因果圖法測(cè)試用例的設(shè)計(jì)步驟因果圖法測(cè)試用例的設(shè)計(jì)步驟 【例5】某軟件規(guī)格說(shuō)明書(shū)規(guī)定:輸入的第一個(gè)字符必須是#或*,第二個(gè)字符必須使一個(gè)數(shù)字,此情況下進(jìn)行文件的修改;如果第一個(gè)字符不是#或*,則給出信息N,如果第二個(gè)字符不是數(shù)字,則給出信息M。 測(cè)試設(shè)計(jì)步驟如下: (1)分析軟件規(guī)格說(shuō)明書(shū),找出原因和結(jié)果。 (2)找出原因與結(jié)果之間的因果關(guān)系、原因與原因之
26、間的約束關(guān)系,畫(huà)出因果圖。 (3)將因果圖轉(zhuǎn)換成決策表。 (4)根據(jù)決策表設(shè)計(jì)測(cè)試用例的輸入數(shù)據(jù)和預(yù)期輸出。因果圖法的測(cè)試用例因果圖法的測(cè)試用例 功能圖分析法簡(jiǎn)述功能圖分析法簡(jiǎn)述 測(cè)試用例的設(shè)計(jì)測(cè)試用例的設(shè)計(jì) 功能圖分析法小結(jié)功能圖分析法小結(jié)功能圖分析法簡(jiǎn)述功能圖分析法簡(jiǎn)述用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù),在狀態(tài)遷移圖中,由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)用于表示在狀態(tài)中輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系,邏輯功能模型只適合于描述靜態(tài)說(shuō)明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。功能圖分析法簡(jiǎn)述功能圖分析法簡(jiǎn)述 功能圖法是一種黑盒與白盒混合的測(cè)試用例設(shè)計(jì)方法,該法主要從動(dòng)態(tài)說(shuō)明的角度來(lái)設(shè)計(jì)測(cè)試用
27、例。 該法由狀態(tài)遷移圖和邏輯功能表組成,前者是軟件的動(dòng)態(tài)說(shuō)明,后者是靜態(tài)說(shuō)明,測(cè)試用例的設(shè)計(jì)主要是對(duì)前者進(jìn)行白盒基路徑測(cè)試,同時(shí)進(jìn)行黑盒決策表測(cè)試作為補(bǔ)充。 功能圖法的主要難點(diǎn)是因狀態(tài)分解過(guò)多而造成路徑爆炸,給測(cè)試用例的設(shè)計(jì)帶來(lái)較大難度。 值得注意的是,該法雖然主要從路徑執(zhí)行來(lái)展開(kāi)測(cè)試用例設(shè)計(jì),但其輸入多涉及系統(tǒng)硬件,因此適于在系統(tǒng)測(cè)試中使用。功能圖分析法簡(jiǎn)述功能圖分析法簡(jiǎn)述功能圖分析法小結(jié)功能圖分析法小結(jié) 場(chǎng)景法的簡(jiǎn)述場(chǎng)景法的簡(jiǎn)述 一般步驟一般步驟 測(cè)試過(guò)程測(cè)試過(guò)程場(chǎng)景法的簡(jiǎn)述場(chǎng)景法的簡(jiǎn)述基本流備選流一般步驟一般步驟測(cè)試過(guò)程如圖所示測(cè)試過(guò)程如圖所示基本流和備選流的解釋基本流和備選流的解釋基本
28、流基本流是從系統(tǒng)某個(gè)初始態(tài)開(kāi)始,是從系統(tǒng)某個(gè)初始態(tài)開(kāi)始,經(jīng)一系列狀態(tài)后到達(dá)狀態(tài)的過(guò)程經(jīng)一系列狀態(tài)后到達(dá)狀態(tài)的過(guò)程中最主要的一個(gè)業(yè)務(wù)流程。中最主要的一個(gè)業(yè)務(wù)流程。備選流備選流是以基本流為基礎(chǔ),在經(jīng)是以基本流為基礎(chǔ),在經(jīng)過(guò)的每個(gè)判定節(jié)點(diǎn)處滿足不同的過(guò)的每個(gè)判定節(jié)點(diǎn)處滿足不同的觸發(fā)條件而導(dǎo)致的其他事件流。觸發(fā)條件而導(dǎo)致的其他事件流。測(cè)試過(guò)程測(cè)試過(guò)程測(cè)試過(guò)程測(cè)試過(guò)程 測(cè)試過(guò)程測(cè)試過(guò)程起始節(jié)點(diǎn)從基本流的某個(gè)判定節(jié)起始節(jié)點(diǎn)從基本流的某個(gè)判定節(jié)點(diǎn)開(kāi)始。點(diǎn)開(kāi)始。起始節(jié)點(diǎn)從其他備選流的某個(gè)判起始節(jié)點(diǎn)從其他備選流的某個(gè)判定節(jié)點(diǎn)開(kāi)始。定節(jié)點(diǎn)開(kāi)始。終止節(jié)點(diǎn)是基本流上的某個(gè)狀態(tài)。終止節(jié)點(diǎn)是基本流上的某個(gè)狀態(tài)。終止節(jié)點(diǎn)是
29、其他的系統(tǒng)終止?fàn)顟B(tài)。終止節(jié)點(diǎn)是其他的系統(tǒng)終止?fàn)顟B(tài)。備選流的起始和終止節(jié)點(diǎn)的幾種形式備選流的起始和終止節(jié)點(diǎn)的幾種形式測(cè)試過(guò)程測(cè)試過(guò)程測(cè)試過(guò)程測(cè)試過(guò)程測(cè)試用例測(cè)試用例【例6】對(duì)于ATM系統(tǒng)的取款用例,使用場(chǎng)景法設(shè)計(jì)測(cè)試用例。(1)分析基本流和備選流基本流:正常的取款。備選流:考察幾種特定情況,包括ATM內(nèi)沒(méi)有現(xiàn)金;ATM內(nèi)現(xiàn)金不足;密碼有誤(3次機(jī)會(huì));賬戶(hù)不存在或賬戶(hù)類(lèi)型有誤;賬戶(hù)余額不足。(2)分析各場(chǎng)景場(chǎng)景1成功的提款基本流場(chǎng)景2ATM內(nèi)沒(méi)有現(xiàn)金基本流 備選流場(chǎng)景3ATM內(nèi)現(xiàn)金不足基本流 備選流場(chǎng)景4PIN有誤(第一次錯(cuò))基本流 備選流場(chǎng)景5PIN有誤(第二次錯(cuò))基本流 備選流場(chǎng)景6PIN有
30、誤(第三次錯(cuò))基本流 備選流場(chǎng)景7賬戶(hù)不存在/賬戶(hù)類(lèi)型有誤基本流 備選流場(chǎng)景8賬戶(hù)余額不足基本流 備選流 (3)構(gòu)造測(cè)試用例設(shè)計(jì)矩陣 v表示有效,i表示無(wú)效,n表示無(wú)關(guān)。如表4-18所示。測(cè)試用例測(cè)試用例 (4)設(shè)計(jì)測(cè)試用例實(shí)施矩陣 測(cè)試用例實(shí)施矩陣如表4-19所示。測(cè)試用例測(cè)試用例 【例】有一個(gè)處理單價(jià)為5角錢(qián)的飲料的自動(dòng)售貨機(jī),相應(yīng)規(guī)格說(shuō)明如下。 若投入5角錢(qián)或1元錢(qián)的硬幣,按下【橙汁】或【啤酒】的按鈕,則相應(yīng)的飲料就送出來(lái)。(每次只投入一個(gè)硬幣,只按下一種飲料的按鈕。) 如投入5角的硬幣,按下按鈕后,總有飲料送出。 若售貨機(jī)沒(méi)有零錢(qián)找,則【零錢(qián)找完】的紅燈不會(huì)亮,這時(shí)再投入1元硬幣并按下
31、按鈕后,飲料不送出來(lái)而且1元硬幣也退出來(lái)。 若有零錢(qián)找,則【零錢(qián)找完】的紅燈不會(huì)亮,若投入1元硬幣及按飲料按鈕,則送出飲料的同時(shí)找回5角硬幣。測(cè)試用例測(cè)試用例 (1)分析基本流和備選流 基本流:投入5角錢(qián),按下【橙汁】或【啤酒】的按鈕,則相應(yīng)的飲料就送出來(lái)。 備選流: 備選流1:【零錢(qián)找完】的紅燈沒(méi)亮,若投入1元硬幣及按飲料按鈕,則送出飲料的同時(shí)找回5角硬幣。 備選流2:【零錢(qián)找完】的紅燈亮,這時(shí)投入1元硬幣并按下按鈕后,飲料不送出來(lái)且1元硬幣也退出來(lái)。 (2)分析場(chǎng)景 場(chǎng)景1:基本流 場(chǎng)景2:備選流1 場(chǎng)景3:備選流2測(cè)試用例測(cè)試用例 (3)設(shè)計(jì)測(cè)試用例 測(cè)試用例如表4-20所示。測(cè)試用例測(cè)
32、試用例 錯(cuò)誤推測(cè)法是基于測(cè)試人員的經(jīng)驗(yàn)和直覺(jué)來(lái)推測(cè)系統(tǒng)中可能存在的各種缺陷,有針對(duì)性地設(shè)計(jì)測(cè)試用例的方法。這里的經(jīng)驗(yàn)和直覺(jué)來(lái)自測(cè)試人員對(duì)被測(cè)軟件系統(tǒng)特性的了解和以往在測(cè)試工作中的總結(jié)。 錯(cuò)誤推測(cè)方法的基本思想是:利用直覺(jué)和經(jīng)驗(yàn)猜測(cè)出出錯(cuò)的可能類(lèi)型,列舉出程序中所有可能的錯(cuò)誤和容易發(fā)生錯(cuò)誤的情況,基本思想是列舉出可能犯的錯(cuò)誤或錯(cuò)誤易發(fā)情況的清單,然后依據(jù)清單來(lái)編寫(xiě)測(cè)試用例,并且在閱讀規(guī)格說(shuō)明時(shí)聯(lián)系程序員可能做的假設(shè)來(lái)確定測(cè)試用例。這種方法在很大程度上是憑經(jīng)驗(yàn)進(jìn)行的,即憑借人們對(duì)過(guò)去所做測(cè)試工作結(jié)果的分析,對(duì)所揭示的缺陷的規(guī)律性做直覺(jué)的推測(cè)來(lái)發(fā)現(xiàn)缺陷。一般來(lái)說(shuō),可以從以下方面來(lái)進(jìn)行錯(cuò)誤推測(cè)。 軟件
33、產(chǎn)品以前版本中存在的問(wèn)題。 受到語(yǔ)言、操作系統(tǒng)、瀏覽器等環(huán)境的限制而可能帶來(lái)的問(wèn)題。 由模塊間關(guān)聯(lián)所聯(lián)想到的測(cè)試,由于軟件缺陷修復(fù)可能帶來(lái)的問(wèn)題。LOGO決策表并不是因果圖的一個(gè)輔助工具,在一個(gè)程序中,如果輸入輸出比較多,輸入之間和輸出之間相互制約的條件比較多,在這種情況下應(yīng)用決策表很合適,它可以很清楚地表達(dá)它們之間的各種復(fù)雜關(guān)系。從20世紀(jì)60年代初以來(lái),決策表已被用來(lái)表示和分析復(fù)雜的邏輯關(guān)系,描述不同條件集合下采取行動(dòng)的若干組合情況。決策表法簡(jiǎn)述: 決策表是把作為條件的所有輸入的各種組合值以及對(duì)應(yīng)輸出值都羅列出來(lái)而形成的表格。它能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并可避免遺
34、漏。因此,利用決策表能夠設(shè)計(jì)出完整的測(cè)試用例集合。決策表通常由條件樁、條件項(xiàng)、動(dòng)作樁和動(dòng)作項(xiàng)4個(gè)部分組成,如圖4-14所示 條件樁:列出了問(wèn)題的所有條件。通常認(rèn)為列出的條件的次序無(wú)關(guān)緊要。 動(dòng)作樁:列出了問(wèn)題規(guī)定可能采取的操作,這些操作的排列順序沒(méi)有約束。 條件項(xiàng):列出針對(duì)它在列條件的取值。 動(dòng)作項(xiàng):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。圖圖4-14 決策表的組成決策表的組成規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱(chēng)為規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則,有n個(gè)條件,每個(gè)條件有兩個(gè)取值(0、1),故有2n條規(guī)則。顯然,決策表中列出多少組條件取值,也就有多少條規(guī)
35、則。動(dòng)作項(xiàng)和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。我們把任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作稱(chēng)為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。顯然,決策表中列出多少組條件取值,就有多少條規(guī)則。除了某些問(wèn)題對(duì)條件的先后次序有特定的要求外,通常決策表中列出的條件其先后次序無(wú)關(guān)緊要,動(dòng)作樁給出操作的排列順序一般也沒(méi)有什么約束,但為了便于閱讀也可令其按適當(dāng)?shù)捻樞蚺帕小?決策表的構(gòu)造及化簡(jiǎn)構(gòu)造決策表可采用以下5個(gè)步驟。1234列出所有的條件樁和動(dòng)作樁。列出所有的條件樁和動(dòng)作樁。單擊此處添加段落文字內(nèi)容單擊此處添加段落文字內(nèi)容單擊此處添加段落文字內(nèi)容2345確定規(guī)
36、則的個(gè)數(shù)。確定規(guī)則的個(gè)數(shù)。填入條件項(xiàng)。填入條件項(xiàng)。填入動(dòng)作項(xiàng),得到初始決策表。填入動(dòng)作項(xiàng),得到初始決策表。簡(jiǎn)化決策表,合并相似規(guī)則。簡(jiǎn)化決策表,合并相似規(guī)則。對(duì)于n個(gè)條件的決策表,相應(yīng)有2n規(guī)則(每個(gè)條件分別取真、假值),當(dāng)n較大時(shí),決策表很繁瑣。實(shí)際使用決策表時(shí),常常先將它簡(jiǎn)化。決策表的簡(jiǎn)化以合并相似規(guī)則為目標(biāo),即若表中有兩條或兩條以上規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在極為相似的關(guān)系,便可以合并。3依據(jù)決策表生成測(cè)試用例依據(jù)決策表生成測(cè)試用例比較簡(jiǎn)單。在簡(jiǎn)化或最后的決策表給出之后,只要選擇適當(dāng)?shù)妮斎?,使決策表每一列的輸入條件值得到滿足即可生成測(cè)試用例。4決策表法的測(cè)試運(yùn)用決策表最突出的
37、優(yōu)點(diǎn)是,它能把復(fù)雜的問(wèn)題按各種可能的情況一一列舉出來(lái),簡(jiǎn)明而易于理解,同時(shí)可以避免遺漏。因此利用決策表可以設(shè)計(jì)出完整的測(cè)試用例集合。使用決策表設(shè)計(jì)測(cè)試用例,可以把條件解釋為輸入,把動(dòng)作解釋為輸出。下面以NextDate函數(shù)為例,討論決策表測(cè)試用例的設(shè)計(jì)?!纠?】NextDate函數(shù)輸入month(月份)、day(日期)和year(年),輸出為輸入后一天的日期。例如,如果輸入為:1964年8月16日,則輸出為1964年8月17日。要求輸入變量month、day和year都是整數(shù)值,并且滿足以下條件。Con:1month12Con:1day31Con:1900year2050在NextDate函數(shù)
38、中有兩種復(fù)雜性來(lái)源:一是所討論輸入域的復(fù)雜性,二是確定閏年的規(guī)則。一年有365.2422天,因此,閏年被用來(lái)解決“額外天”的問(wèn)題。NextDate函數(shù)的三個(gè)變量之間存在一定的邏輯依賴(lài)關(guān)系,由于等價(jià)類(lèi)劃分和邊界值分析測(cè)試都假設(shè)變量是獨(dú)立的,如果采用上述兩種方法設(shè)計(jì)測(cè)試用例,那么這些依賴(lài)關(guān)系在機(jī)械地選取輸入值時(shí)可能會(huì)丟失。而采用決策表法則可以通過(guò)使用“不可能動(dòng)作”的概念來(lái)表示不可能的組合,強(qiáng)調(diào)這種依賴(lài)關(guān)系。為了獲得下一個(gè)日期,NextDate函數(shù)需要執(zhí)行的操作只有如下5種。(1)day變量值加1;(2)day變量值復(fù)位為1;(3)month變量值為1;(4)month變量值復(fù)位為1; (5)yea
39、r變量值加1。如果將注意力集中到NextDate函數(shù)的日和月問(wèn)題上,并仔細(xì)研究動(dòng)作樁,那么可以在以下的等價(jià)類(lèi)集合上建立決策表。M1:month:month有30天;M2:month:month有31天,12月除外;M3:month:month有12月;M4:month:month都是2月;D1:day:1day27;D2:day:day=28;D3:day:day=29;D4:day:day=30;D5:day:day=31;Y1:year:year是閏年; Y2:year:year不是閏年; 建立NextDate函數(shù)的決策表如表4-25所示,共有22條規(guī)則。其中規(guī)則15處理有30天的月份,規(guī)
40、則610和1115處理有31天的月份(規(guī)則610處理12月之外的月份,規(guī)則1115處理12月),不可能規(guī)則也在決策表中列出,比如規(guī)則5(在有30天的月份中考慮31日)。最后7條規(guī)則關(guān)注的是2月和閏年??蛇M(jìn)一步簡(jiǎn)化這22個(gè)測(cè)試用例。如果決策表中兩條規(guī)則的動(dòng)作項(xiàng)相同,則可能有一個(gè)條件能夠把兩條件則用不關(guān)心條件合并。例如,規(guī)則1、2和3合并。類(lèi)似地,有31天的月份的day類(lèi)D1、D2和D3,并且它們的動(dòng)作項(xiàng)都是day加1,則可以將規(guī)則1、2和3合并。類(lèi)似地,有31天的月份的day類(lèi)D1、D2、D3和D4也可以合并,2月的D4和D5也可以合并。簡(jiǎn)化后的決策表如表4-26所示。根據(jù)簡(jiǎn)化后的決策表,可設(shè)計(jì)
41、測(cè)試用例如表4-27所示。4.2.8 正交試驗(yàn)設(shè)計(jì)法正交試驗(yàn)設(shè)計(jì)法正交試驗(yàn)方法是依據(jù)Galois理論,從大量的(實(shí)驗(yàn))數(shù)據(jù)(測(cè)試?yán)┲刑暨x適量的、有代表性點(diǎn)(例),從而合理地安排實(shí)驗(yàn)(測(cè)試)的一種科學(xué)實(shí)驗(yàn)設(shè)計(jì)方法。正交試驗(yàn)方法是使用已經(jīng)創(chuàng)建的正交表格來(lái)安排試驗(yàn)并運(yùn)行數(shù)據(jù)分析的一種方法,目的是用最少的測(cè)試用例達(dá)到最高的測(cè)試覆蓋率。利用正交試驗(yàn)設(shè)計(jì)測(cè)試用例的步驟:提取功能說(shuō)明,構(gòu)造因子狀態(tài)表:把影響試驗(yàn)指標(biāo)的條件稱(chēng)為因子,而影響試驗(yàn)因子的條件稱(chēng)為因子的狀態(tài),利用正交試驗(yàn)方法來(lái)合計(jì)測(cè)試用例時(shí),首先要根據(jù)被測(cè)試軟件的規(guī)格說(shuō)明書(shū)找出影響其功能實(shí)現(xiàn)的操作對(duì)象和外部因素,把它們當(dāng)做因子,而把各個(gè)因子的取值當(dāng)
42、做狀態(tài),對(duì)軟件需求規(guī)格說(shuō)明中的功能要求進(jìn)行劃分,把整體的概要性的功能要求進(jìn)行層層分解與展開(kāi),分解成具體的具有相對(duì)獨(dú)立性的基本的功能要求,這樣就可以把被測(cè)試軟件中所有的因子都確定下來(lái),并為確定各因子的權(quán)值提供參考依據(jù),確定因子與狀態(tài)是設(shè)計(jì)測(cè)試用例的關(guān)鍵,因此要求盡可能全面。正確地確定取值,以確保測(cè)試用例的設(shè)計(jì)完整、有效。加權(quán)篩選,生成因素分析表:對(duì)因子與狀態(tài)的選擇可按其重要程度分別加權(quán),可根據(jù)各個(gè)因子及狀態(tài)的作用大小、出現(xiàn)頻率的大小、測(cè)試的需要確定權(quán)值的大小。利用正交表構(gòu)造測(cè)試數(shù)據(jù)集。正交試驗(yàn)設(shè)計(jì)法的測(cè)試應(yīng)用【例8】某企業(yè)信息查詢(xún)軟件的查詢(xún)功能有3個(gè)條件,可以根據(jù)行業(yè)、城市路名、企業(yè)特征進(jìn)行查詢(xún)
43、。(1)確定因素:行業(yè)、城市路名、企業(yè)特性。(2)每個(gè)因素有兩個(gè)水平。 行業(yè):填、不填城市路名:填、不填企業(yè)特征:填、不填(3)選擇合適的有3列的正交表,如表4-28所示。(4)把變量的值映射到正交表中,0表示不填,1表示填,如表4-29所示。(5)根據(jù)經(jīng)驗(yàn)補(bǔ)充第五個(gè)測(cè)試用例,測(cè)試用例表如表4-30所示。3種查詢(xún)條件按照組合共有8種情況,一般需設(shè)計(jì)8個(gè)測(cè)試用例,而利用正交表共選擇了5個(gè)測(cè)試用例,這樣就減少了測(cè)試用例的個(gè)數(shù)。4.3.1 黑盒測(cè)試的依據(jù) 黑盒測(cè)試也稱(chēng)為功能測(cè)試、行為測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盒,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只一句程序
44、的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。因此,黑盒測(cè)試是基本測(cè)試。例如:我們用C#編寫(xiě)“計(jì)算器”應(yīng)用程序,我們?nèi)绻斎?并按“sqrt”鍵,就會(huì)得到結(jié)果為2.645751311。使用黑盒子測(cè)試方式,不管“求平方根”要經(jīng)歷多少?gòu)?fù)雜運(yùn)算,都只關(guān)心它的運(yùn)行結(jié)果。 “黑盒”表示看不見(jiàn)黑子里頭的東西,意味著黑盒測(cè)試不關(guān)心軟件內(nèi)部設(shè)計(jì)和程序?qū)崿F(xiàn),只關(guān)心外部表現(xiàn),即通過(guò)觀察輸入域輸出即可知道測(cè)試的結(jié)論。任何人都可以依據(jù)軟件需求來(lái)執(zhí)行黑盒測(cè)試。黑盒測(cè)試注重于測(cè)試軟件的功能性需求,著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試,多應(yīng)用與測(cè)試過(guò)程的后期。它是一種更加軟件需求,設(shè)計(jì)文檔,模擬客戶(hù)場(chǎng)景
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)時(shí)代的網(wǎng)絡(luò)安全技術(shù)及管理策略
- 3 桂花雨(說(shuō)課稿)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第2章 一元二次方程2.2 一元二次方程的解法2.2.1 配方法第3課時(shí) 用配方法解二次項(xiàng)系數(shù)不為1的一元二次方程說(shuō)課稿 (新版)湘教版
- Unit 6 Food Lesson 1(說(shuō)課稿)-2024-2025學(xué)年人教精通版(2024)英語(yǔ)三年級(jí)上冊(cè)001
- 2025房地產(chǎn)委托合同書(shū)范本
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第二十四章 圓24.2 點(diǎn)和圓、直線和圓的位置關(guān)系24.2.2 直線和圓的位置關(guān)系第3課時(shí) 切線長(zhǎng)定理說(shuō)課稿(新版)新人教版001
- 2《我愛(ài)我們的祖國(guó)》說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文一年級(jí)上冊(cè)
- Unit1 Making friends Part C Make a mind map of making friends(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2《我是什么》(說(shuō)課稿)2024-2025學(xué)年二年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 2025關(guān)于招標(biāo)合同的報(bào)告
- 2025年上海用人單位勞動(dòng)合同(4篇)
- 二年級(jí)上冊(cè)口算題3000道-打印版讓孩子口算無(wú)憂
- 新疆烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 高中英語(yǔ)北師大版必修第一冊(cè)全冊(cè)單詞表(按單元編排)
- 新教科版科學(xué)小學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- 苗圃建設(shè)項(xiàng)目施工組織設(shè)計(jì)范本
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 學(xué)校食品安全舉報(bào)投訴處理制度
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 北師大版八上《生物的遺傳和變異》
評(píng)論
0/150
提交評(píng)論