《《軟件測(cè)試技術(shù)》知識(shí)點(diǎn)整理》由會(huì)員分享,可在線閱讀,更多相關(guān)《《軟件測(cè)試技術(shù)》知識(shí)點(diǎn)整理(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
一、軟件測(cè)試的定義
軟件測(cè)試是一個(gè)過程或一系列過程,用來確認(rèn)計(jì)算機(jī)代碼完成了其應(yīng)該完成的功能,不執(zhí)行其不該有的操作。
1.軟件測(cè)試與調(diào)試的區(qū)別?
(1)測(cè)試是為了發(fā)現(xiàn)軟件中存在的錯(cuò)誤;調(diào)試是為證明軟件開發(fā)的正確性。
(2)測(cè)試以已知條件開始,使用預(yù)先定義的程序,且有預(yù)知的結(jié)果,不可預(yù)見的僅是程序是否通過測(cè)試;調(diào)試一般是以不可知的內(nèi)部條件開始,除統(tǒng)計(jì)性調(diào)試外,結(jié)果是不可預(yù)見的。
(3)測(cè)試是有計(jì)劃的,需要進(jìn)行測(cè)試設(shè)計(jì);調(diào)試是不受時(shí)間約束的。
(4)測(cè)試經(jīng)歷發(fā)現(xiàn)錯(cuò)誤、改正錯(cuò)誤、重新測(cè)試的過程;調(diào)試是一個(gè)推理過程。
(5) 測(cè)試的執(zhí)行是有規(guī)程的;調(diào)試的執(zhí)行往往要求開發(fā)人員進(jìn)行必要推理以至知覺的"飛躍"。
(6) 測(cè)試經(jīng)常是由獨(dú)立的測(cè)試組在不了解軟件設(shè)計(jì)的條件下完成的;調(diào)試必須由了解詳細(xì)設(shè)計(jì)的開發(fā)人員完成。
(7) 大多數(shù)測(cè)試的執(zhí)行和設(shè)計(jì)可以由工具支持;調(diào)式時(shí),開發(fā)人員能利用的工具主要是調(diào)試器。
2.對(duì)軟件測(cè)試的理解?
軟件測(cè)試就是說要去根據(jù)客戶的要求完善它.即要把這個(gè)軟件還沒有符合的或者是和客戶要求不一樣的,或者是客戶要求還沒有完全達(dá)到要求的部分找出來。
(1)首先要鍛煉自己軟件測(cè)試能力,包括需求的分析能力,提取能力,邏輯化思想能力,即就是給你一個(gè)系統(tǒng)的時(shí)候,能夠把整個(gè)業(yè)務(wù)流程很清晰的理出。
(2)學(xué)習(xí)測(cè)試?yán)碚撝R(shí)并與你鍛煉的能力相結(jié)合。
(3)想和做。想就是說你看到任何的系統(tǒng)都要有習(xí)慣性的思考;做就是把實(shí)際去做練習(xí),然后提取經(jīng)驗(yàn)。
總結(jié)測(cè)試用例,測(cè)試計(jì)劃固然重要,但能力和思想一旦到位了,才能成為一名合格的軟件測(cè)試工程師。
二、軟件測(cè)試的分類
1.按照測(cè)試技術(shù)劃分
(1)白盒測(cè)試:通過對(duì)程序內(nèi)部結(jié)構(gòu)的分析、檢測(cè)來尋找問題。檢查是否所有的結(jié)構(gòu)及邏輯都是正確的,檢查軟件內(nèi)部動(dòng)作是否按照設(shè)計(jì)說明的規(guī)定正常進(jìn)行。--結(jié)構(gòu)測(cè)試
(2)黑盒測(cè)試:通過軟件的外部表現(xiàn)來發(fā)現(xiàn)錯(cuò)誤,是在程序界面處進(jìn)行測(cè)試,只是檢查是否按照需求規(guī)格說明書的規(guī)定正常實(shí)現(xiàn)。--性能測(cè)試
(3)灰盒測(cè)試:介于白盒測(cè)試與黑盒測(cè)試之間的測(cè)試。
2.按照是否讓備測(cè)軟件運(yùn)行劃分
(1)靜態(tài)測(cè)試
(2)動(dòng)態(tài)測(cè)試
3.按照開發(fā)階段劃分
(1)單元測(cè)試:模塊測(cè)試,檢查每個(gè)程序單元嫩否正確實(shí)現(xiàn)詳細(xì)設(shè)計(jì)說明中的模塊功能等。
(2)集成測(cè)試:組裝測(cè)試,將所有的程序模塊進(jìn)行有序、遞增的測(cè)試,檢驗(yàn)程序單元或部件的接口關(guān)系
(3)系統(tǒng)測(cè)試:檢查完整的程序系統(tǒng)能否和系統(tǒng)(包括硬件、外設(shè)和網(wǎng)絡(luò)、系統(tǒng)軟件、支持平臺(tái)等)正確配置、連接,并滿足用戶需求。
(4)確認(rèn)測(cè)試:證實(shí)軟件是否滿足特定于其用途的需求,是否滿足軟件需求說明書的規(guī)定。
(5)驗(yàn)收測(cè)試:按項(xiàng)目任務(wù)或合同,供需雙方簽訂的驗(yàn)收依據(jù)文檔進(jìn)行的對(duì)整個(gè)系統(tǒng)的測(cè)試與評(píng)審,決定是否接受或拒收系統(tǒng)。
4.按照測(cè)試實(shí)施組織劃分
(1)開發(fā)方測(cè)試
(2)用戶測(cè)試
(3)第三方測(cè)試
三、軟件測(cè)試的原則
1.測(cè)試用例中一個(gè)必需部分是對(duì)預(yù)期輸出或結(jié)果的定義;
2.程序員應(yīng)當(dāng)避免測(cè)試自己編寫的程序;
3.編寫軟件的組織不應(yīng)當(dāng)測(cè)試自己編寫的程序;
4.應(yīng)該徹底檢查每個(gè)測(cè)試的執(zhí)行結(jié)果;
5.測(cè)試用例的編寫不僅應(yīng)當(dāng)根據(jù)有效和預(yù)期的輸入情況,也應(yīng)當(dāng)根據(jù)無效和未預(yù)料到的輸入情況;
6.檢查程序是否“未做其應(yīng)該做的”僅是測(cè)試的一半,測(cè)試的另一半是檢查程序是否“做了不應(yīng)該做的”;
7.應(yīng)避免測(cè)試用例用后既棄,除非軟件本身就是一個(gè)一次性的軟件;
8.計(jì)劃測(cè)試工作時(shí)不應(yīng)默許假定不會(huì)發(fā)現(xiàn)錯(cuò)誤;
9.程序某部分存在更多錯(cuò)誤的可能性,與該部分已發(fā)現(xiàn)錯(cuò)誤的數(shù)量成正比;
10.軟件測(cè)試是一項(xiàng)極富創(chuàng)造性、極具智力挑戰(zhàn)性的工作。
四、測(cè)試用例的設(shè)計(jì)
1.測(cè)試用例的定義
(1)測(cè)試用例是為特定的目的而設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件和預(yù)期的結(jié)果。
(2)測(cè)試用例是執(zhí)行的最小實(shí)體。
2.特征:
(1)最有可能抓住錯(cuò)誤的;
(2)不是重復(fù)的、多余的;
(3)一組相似測(cè)試用例中最有效的;
(4)既不是太簡(jiǎn)單,也不是太復(fù)雜。
3.設(shè)計(jì)測(cè)試用例的基本準(zhǔn)則
測(cè)試用例的代表性、測(cè)試結(jié)果的可判定性、測(cè)試結(jié)果的可再現(xiàn)性。
五、黑盒測(cè)試
1.等價(jià)類劃分法
①等價(jià)類劃分法的設(shè)計(jì)方法:是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少量具有代表性的數(shù)據(jù)作為測(cè)試用例。
等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中錯(cuò)誤都是等效的。并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其他值的測(cè)試。
有效等價(jià)類:對(duì)于程序的規(guī)格說明來說是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合
無效等價(jià)類:對(duì)軟件規(guī)格說明而言,是無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合
等價(jià)類對(duì)于測(cè)試有兩個(gè)重要的意義:完備性 無冗余性
②等價(jià)類劃分法的原則
(a)按照區(qū)間劃分: 一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。
(b)按照數(shù)值劃分: n 個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類
(c)按照數(shù)值集合劃分 一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類
(d)按照限制條件或規(guī)則劃分:可確定一個(gè)有效等價(jià)類和若干個(gè)無效等價(jià)類
(e)細(xì)分等價(jià)類
③等價(jià)類劃分法的步驟
(a)確定等價(jià)類
(b)建立等價(jià)類表,列出所有劃分出的等價(jià)類
(c)從劃分出的等價(jià)類中按以下的3個(gè)原則設(shè)計(jì)測(cè)試用例:
為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)
設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多的覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止;
設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步,直到所有的無效等價(jià)類都被覆蓋為止。
④確定等價(jià)類的方法
(a)先考慮輸入數(shù)據(jù)的類型(合法型和非法型);
(b)再考慮數(shù)據(jù)范圍(合法型中的合法區(qū)間和非法區(qū)間);
(c)最后考慮輸出結(jié)果,逆向設(shè)定輸入。
2.邊界值分析法
①邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試
②特點(diǎn):具有很強(qiáng)的發(fā)現(xiàn)程序錯(cuò)誤的能力;測(cè)試用例來自等價(jià)類的邊界;
③基本原理:故障往往發(fā)生在輸入定義域和輸出值域的邊界上,而不是在其內(nèi)部。
④方法:(a)首先應(yīng)確定邊界情況.
(b)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù)
⑤標(biāo)準(zhǔn)邊界值: min、min+、nom、max-、max
健壯邊界值: min、min+、nom、max-、max min- max+
⑥例:
⑦對(duì)于一個(gè)含有n個(gè)變量的程序,只讓其中一個(gè)變量取極值,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-、max值,對(duì)每個(gè)變量都重復(fù)進(jìn)行。n個(gè)變量的程序,邊界值分析測(cè)試程序會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。
3.決策表法
①概述:決策表法是黑盒測(cè)試方法中最為嚴(yán)格、最具有邏輯性的測(cè)試方法。
②什么時(shí)候使用?
程序輸入輸出比較多,輸入之間、輸出之間相互制約的條件比較多時(shí),可以清楚地表達(dá)它們之間的各種復(fù)雜關(guān)系。
條件樁
條件項(xiàng)
動(dòng)作樁
動(dòng)作項(xiàng)
③決策表通常由四部分組成: 規(guī)則
條件樁: 列出問題的所有條件
條件項(xiàng):針對(duì)條件樁給出的條件列出所有可能的取值
動(dòng)作樁:給出問題規(guī)定的可能采取的操作
動(dòng)作項(xiàng):與條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作
規(guī)則:項(xiàng)中的每一列是一條規(guī)則,每一條規(guī)則是一組測(cè)試用例。
④決策表的化簡(jiǎn)
(a)合并:如果一個(gè)條件項(xiàng)(表中某列中的條件值)和另外一個(gè)條件項(xiàng)所產(chǎn)生的動(dòng)作是相同的,且兩個(gè)條件項(xiàng)對(duì)應(yīng)的每一行的值只有一個(gè)是不同的,則可以將其合并.合并的項(xiàng)除了不同值變成”不關(guān)心”條目外,其余不變
(b)包含:如果兩個(gè)條件項(xiàng)的動(dòng)作是相同的,對(duì)任意條件1的值和條件2中對(duì)應(yīng)的值,如果滿足:
– 如果條件1的值是T(F),則條件2中的值也是T(F).
– 如果條件1的值是-(不關(guān)心),則條件2中的值是T,F,-,稱條件1包含條件2,條件2可以撤去.
– 重復(fù)A,B就可以得到精簡(jiǎn)的決策表.
N
Y
N
N
Y
Y
√
√
-
N
Y
√
N
N
N
-
Y
Y
√
√
N
-
Y
√
合并 包含
⑤構(gòu)造決策表的步驟:
(a)確定規(guī)則的個(gè)數(shù);
(b)列出所有的條件樁和動(dòng)作樁;
(c)填入輸入項(xiàng);
(d)填入動(dòng)作項(xiàng),得到初始的決策表;
(e)對(duì)初始的決策表化簡(jiǎn)。
⑥決策表測(cè)試法的適用范圍
(a)if-then-else邏輯突出;
(b)輸入變量之間存在邏輯關(guān)系;
(c)涉及輸入變量子集的計(jì)算;
(d)輸入和輸出之間存在因果關(guān)系。
4.因果圖方法
①概述:如果輸入之間有關(guān)系,測(cè)試時(shí)必須考慮輸入條件的各種組合,考慮適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來設(shè)計(jì)測(cè)試用例,這就需要利用因果圖。
因果圖方法最終生成的就是判定表。適合于檢查程序輸入條件的各種組合情況。
②因果圖法的基本思想: 首先從程序規(guī)格說明書的描述中,找出因(輸入條件)和果(輸出結(jié)果或者程序狀態(tài)的改變),然后通過因果圖轉(zhuǎn)換為判定表,最后為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例.
③基本符號(hào) 原因 結(jié)果
通常在因果圖中用Ci表示原因,用Ei表示結(jié)果,各結(jié)點(diǎn)表示狀態(tài),可取值“0”或“1”。“0”表示某狀態(tài)不出現(xiàn),“1”表示某狀態(tài)出現(xiàn)。
C2
c1
恒等: c1為1,則e1也為1,否則e1為0. 非: 若c1是1,則e1為0,否則e1是1.
或: 若c1或c2或c3是1,則e1是1,若三者都不為1,則e1為0.
與: 若c1和c2都是1,則e1為1,否則若有其中一個(gè)不為1,則e1為0.
④約束:實(shí)際問題中,輸入狀態(tài)之間可能存在某些依賴關(guān)系.
E約束(異): a,b最多有一個(gè)可能為1,不能同時(shí)為1.
I約束(或): a,b,c中至少有一個(gè)必須為1,不能同時(shí)為0.
O約束(惟一): a和b必須有一個(gè)且僅有一個(gè)為1
R約束(要求):a是1時(shí),b必須是1,即a為1時(shí),b不能為0
M約束:對(duì)輸出條件的約束,若結(jié)果a為1,則結(jié)果b必須為0.
⑤因果圖生成測(cè)試用例的基本步驟
(a)找出原因和結(jié)果。(b)畫出因果圖。 (c)增加約束。
(d)把因果圖轉(zhuǎn)化為判定表,并化簡(jiǎn)。
(e)把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測(cè)試用例。
⑥例題
(a)原因: C1:第一個(gè)字符是A; C2:第一個(gè)字符是B;C3:第二個(gè)字符是一個(gè)數(shù)字字找。
結(jié)果: E1:給出信息L; E2:修改文件; E3:給出信息M。
(b)因果圖。
(c)決策表。
1
2
3
4
5
6
7
8
C1
C2
C3
10
1
1
1
1
1
0
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
0
0
0
0
E1
E2
E3
不可能
√
√
√
√
√
√
√
√
√
測(cè)試用例
A3
A5
AM
A&
B3
B5
BM
B*
C2
X6
CM
D*
(d)設(shè)計(jì)測(cè)試用例
測(cè)試用例1: 輸入數(shù)據(jù):A3 預(yù)期輸出:修改文件
測(cè)試用例2: 輸入數(shù)據(jù):AM 預(yù)期輸出:給出信息M
測(cè)試用例3: 輸入數(shù)據(jù):B3 預(yù)期輸出:修改文件
測(cè)試用例4: 輸入數(shù)據(jù):B* 預(yù)期輸出:給出信息M
測(cè)試用例5: 輸入數(shù)據(jù):C2 預(yù)期輸出:給出信息L
測(cè)試用例6: 輸入數(shù)據(jù):CM 預(yù)期輸出:給出信息LM
⑦因果圖法的優(yōu)點(diǎn):
(a)考慮了多個(gè)輸入之間的相互組合、相互制約關(guān)系;
(b)能夠幫助我們按一定步驟,高效率地選擇測(cè)試用例,同時(shí)還能為我們指出,程序規(guī)格說明描述中存在著什么問題。
六、白盒測(cè)試
1.白盒測(cè)試概述:白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。
2.方法:程序結(jié)構(gòu)分析;邏輯覆蓋測(cè)試;基本路徑測(cè)試。
3.原則:
(1)保證一個(gè)模塊中所有獨(dú)立路徑至少被測(cè)試一次;
(2)所有邏輯值均需測(cè)試真(True)和假(False)兩種情況;
(3)檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),保證其結(jié)構(gòu)的有效性;
(4)在取值上、下邊界,即可操作范圍內(nèi)運(yùn)行所有循環(huán).
4.邏輯覆蓋測(cè)試:主要是測(cè)試覆蓋率,以程序內(nèi)在邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試。
6種:語(yǔ)句覆蓋 判斷覆蓋 條件覆蓋 判定-條件覆蓋 條件組合覆蓋 路徑測(cè)試.
①語(yǔ)句覆蓋:在測(cè)試時(shí),首先設(shè)計(jì)若干個(gè)測(cè)試用例,然后運(yùn)行被測(cè)程序,使程序中的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次 。
判定:整體 控制。 包括:a、單一條件判定; b、符合條件覆蓋
語(yǔ)句覆蓋率:已執(zhí)行的可執(zhí)行語(yǔ)句占程序中可執(zhí)行語(yǔ)句總數(shù)的百分比
②判定覆蓋:設(shè)計(jì)足夠多的測(cè)試用例,使程序中的每個(gè)判定至少都獲得一次“真值”或“假值”。
③條件覆蓋:構(gòu)造一組測(cè)試用例,使得每一判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿足一次。
滿足條件覆蓋的不一定滿足判定覆蓋,反之亦然。兩者無直接關(guān)系。
④判定/條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使得判定中每個(gè)條件的所有可能(真/假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果(真/假)也至少出現(xiàn)一次
⑤組合條件覆蓋(MCC):設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。
滿足組合條件覆蓋的測(cè)試用例是一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋。
⑥修正條件判定覆蓋(MCDC):需要足夠的測(cè)試用例來確定各個(gè)條件能夠影響到包含的判定的結(jié)果,即要求滿足兩個(gè)條件。
七、靜態(tài)測(cè)試
1.靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件,主要對(duì)軟件的編程格式、結(jié)構(gòu)等方面進(jìn)行評(píng)估??梢杂腥斯みM(jìn)行,也可借助軟件工具自動(dòng)進(jìn)行。
2.靜態(tài)測(cè)試的方法
(1)代碼檢查:代碼審查 代碼走查 桌面檢查 同行評(píng)分(略)
(2)代碼審查:通常由4人組成,其中一人是協(xié)調(diào)人,一人是程序的編寫者,其他人員通常是程序的設(shè)計(jì)人員以及測(cè)試專家。
優(yōu)點(diǎn)和作用:錯(cuò)誤列表、高效、會(huì)后修正、增加修改錯(cuò)誤清單、較早發(fā)現(xiàn)錯(cuò)誤。
(3)代碼走查:為測(cè)試員的人會(huì)帶著一些書面的測(cè)試用例參加會(huì)議
(4)桌面檢查:(a)完全沒有約束(b)開發(fā)人員測(cè)試自己的程序(c)沒有展示自己能力,缺乏良好的效應(yīng)。(效果遠(yuǎn)遠(yuǎn)遜于代碼審查和代碼走查)
3.靜態(tài)結(jié)構(gòu)分析:主要是以圖形的方式表現(xiàn)程序的內(nèi)部結(jié)構(gòu)。
4.代碼質(zhì)量度量:功能性 可靠性 可用性 |有效性 可維護(hù)性 輕便性
八、單元測(cè)試
1.單元測(cè)試的定義
單元測(cè)試又稱模塊測(cè)試,是最小單位的測(cè)試,其依據(jù)是詳細(xì)設(shè)描述,對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。
單元測(cè)試多采用白盒測(cè)試技術(shù)
2.單元測(cè)試的對(duì)象
結(jié)構(gòu)化程序,單元測(cè)試的單元是指單個(gè)子程序、函數(shù)或過程
面向?qū)ο蟪绦?,單元測(cè)試的單元是指類或方法(通常為類)。
3.單元測(cè)試的目的
將模塊的功能與定義模塊的功能規(guī)格說明或接口規(guī)格說明進(jìn)行比較,揭示出模塊與其規(guī)格說明之間存在的矛盾。
4.單元測(cè)試的人員:開發(fā)人員
5.單元測(cè)試的針對(duì)的問題
(1)模塊接口: 檢查進(jìn)出程序單元的數(shù)據(jù)流是否正確。
(2)局部數(shù)據(jù)結(jié)構(gòu): 必須測(cè)試模塊內(nèi)部的數(shù)據(jù)能否保持完整性。
(3)邊界條件測(cè)試:主要檢查臨界數(shù)據(jù)是否正確處理。
(4)獨(dú)立路徑測(cè)試:發(fā)現(xiàn)由于不正確的判定或不正常的控制流而產(chǎn)生的錯(cuò)誤。
(5)出錯(cuò)處理:要求能預(yù)見出錯(cuò)的條件,并設(shè)置適當(dāng)?shù)奶幚韺?duì)象,保證其路徑的正確性。
6.單元測(cè)試的流程
計(jì)劃單元測(cè)試設(shè)計(jì)單元測(cè)試執(zhí)行單元測(cè)試評(píng)估單元測(cè)試
7. 計(jì)劃單元測(cè)試
(1)驅(qū)動(dòng)模塊(Drive):用來模擬被測(cè)試模塊的上一級(jí)模塊,相當(dāng)于被測(cè)模塊的主程序。它接收數(shù)據(jù),將相關(guān)數(shù)據(jù)傳送給被測(cè)模塊,啟動(dòng)被測(cè)模塊,并打印出相應(yīng)的結(jié)果。
(2)樁模塊(Stub):用來模擬被測(cè)模塊工作過程中所調(diào)用的模塊。它們一般只進(jìn)行很少的數(shù)據(jù)處理。
8.設(shè)計(jì)單元測(cè)試
(1)需要的信息
模塊的規(guī)格說明:模塊的輸入和輸出以及模塊的功能。
模塊的源代碼。
(2)測(cè)試用例的設(shè)計(jì)方法
模塊測(cè)試總體上是面向白盒測(cè)試的(靜態(tài)、動(dòng)態(tài))
后續(xù)測(cè)試針對(duì)較大的元素不易進(jìn)行白盒測(cè)試。
后續(xù)測(cè)試著眼于發(fā)現(xiàn)其他類型的錯(cuò)誤,不一定與程序邏輯結(jié)構(gòu)有關(guān)。
使用一種或多種白盒測(cè)試方法分析模塊的邏輯結(jié)構(gòu),然后使用黑盒測(cè)試方法對(duì)照模塊的規(guī)格說明補(bǔ)充測(cè)試用例。
9.執(zhí)行單元測(cè)試
(1)設(shè)置測(cè)試環(huán)境
(2)將測(cè)試環(huán)境初始化
(3)執(zhí)行測(cè)試過程。
10.評(píng)估單元測(cè)試
(1)測(cè)試完備性評(píng)估
(2) 代碼覆蓋率評(píng)估
九、集成測(cè)試
1.集成測(cè)試的定義
集成測(cè)試又稱組裝測(cè)試,集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成子系統(tǒng)或系統(tǒng)進(jìn)行的測(cè)試活動(dòng)。
2.集成測(cè)試的目的
確保各單元組合在一起后能夠按既定意圖協(xié)作運(yùn)行,并確保增量的行為正確,所測(cè)試的內(nèi)容包括單元間的接口以及集成后的功能。
3.集成測(cè)試的層次
(1)模塊內(nèi)集成測(cè)試
(2)子系統(tǒng)內(nèi)集成測(cè)試
(3)子系統(tǒng)間集成測(cè)試
4.集成測(cè)試的流程
5.集成測(cè)試的方法
(1)靜態(tài)測(cè)試:只要指對(duì)概要設(shè)計(jì)的測(cè)試。
(2)動(dòng)態(tài)測(cè)試:以黑盒測(cè)試為主,需要了解內(nèi)部細(xì)節(jié)時(shí)結(jié)合白盒測(cè)試
6.集成測(cè)試策略
(1)非增量式集成:對(duì)所有模塊進(jìn)行個(gè)別的單元測(cè)試后,按照程序結(jié)構(gòu)圖將各模塊連接起來,把連接后的程序當(dāng)作一個(gè)整體進(jìn)行測(cè)試。
關(guān)鍵模塊的特征:
①滿足某些軟件需求;
②在程序的模塊結(jié)構(gòu)中位于較高的層次(高層控制模塊);
③較復(fù)雜、較易發(fā)生錯(cuò)誤;
④有明確定義的性能要求。
(2)增量式集成:逐次將未曾集成測(cè)試的模塊和已經(jīng)集成測(cè)試的模塊(或子系統(tǒng))結(jié)合成程序包,再將這些模塊集成為較大系統(tǒng),在集成的過程中邊連接邊測(cè)試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。
方法:
① 自頂向下增量式測(cè)試:深度優(yōu)先、廣度優(yōu)先。
② 自底向上增量式測(cè)試
③混合增量式測(cè)試
7.不同集成測(cè)試方法的比較
十、系統(tǒng)測(cè)試
1. 系統(tǒng)測(cè)試的目的
將系統(tǒng)或程序與其初始目標(biāo)進(jìn)行比較,這意味著系統(tǒng)測(cè)試并不局限于系統(tǒng),系統(tǒng)測(cè)試是一個(gè)試圖說明程序作為一個(gè)整體是如何不滿足其目標(biāo)的過程。如果產(chǎn)品沒有一組書面的、可度量的目標(biāo),系統(tǒng)測(cè)試也無法進(jìn)行。
2. 系統(tǒng)測(cè)試的類型
能力測(cè)試,容量測(cè)試,強(qiáng)度測(cè)試,易用性測(cè)試,安全性測(cè)試,性能測(cè)試,存儲(chǔ)測(cè)試,配置測(cè)試,兼容性/配置/轉(zhuǎn)換測(cè)試,安裝測(cè)試,可靠性測(cè)試,可恢復(fù)性測(cè)試,適用性測(cè)試,文檔測(cè)試,過程測(cè)試
(1)能力測(cè)試
判斷目標(biāo)文檔提及的每一項(xiàng)能力(以區(qū)別功能測(cè)試中的‘功能’)是否都確實(shí)已經(jīng)實(shí)現(xiàn)。
通常是通過人工檢查目標(biāo)文檔中定義了“要做什么” 。
(2)容量測(cè)試
是程序經(jīng)受大容量數(shù)據(jù)的檢驗(yàn),目的是證明程序不能處理目標(biāo)文檔中規(guī)定的數(shù)據(jù)容量。
容量測(cè)試需要大量的資源,不可進(jìn)行過多。
如何使操作系統(tǒng)的作業(yè)隊(duì)列達(dá)到飽和容量。
(3)強(qiáng)度測(cè)試
使程序承受高負(fù)載或強(qiáng)度的檢驗(yàn)。所謂高強(qiáng)度是指在很短的時(shí)間間隔內(nèi)達(dá)到的數(shù)據(jù)或操作的數(shù)量峰值。(要與容量測(cè)試相區(qū)分)
強(qiáng)度測(cè)試涉及時(shí)間因素,適用于在可變負(fù)載下運(yùn)行的程序以及交互式程序、實(shí)時(shí)程序和過程控制程序?;赪eb的應(yīng)用程序也是最常接受強(qiáng)度測(cè)試的軟件之一。
如,1.在很短的時(shí)間內(nèi)是操作系統(tǒng)的作業(yè)隊(duì)列達(dá)到峰值;
2.web應(yīng)用程序要處理一定容量的并發(fā)用戶。
注:強(qiáng)度測(cè)試是對(duì)強(qiáng)度的界定很重要。
(4)易用性測(cè)試
每個(gè)用戶界面是否都根據(jù)用戶的智力、教育程度和環(huán)境要求進(jìn)行了調(diào)整?
程序的輸出是否有意義、不模糊且無計(jì)算機(jī)雜亂信息?
錯(cuò)誤診斷信息是否直接,非計(jì)算機(jī)專業(yè)用戶是否能夠理解(這要求對(duì)錯(cuò)誤進(jìn)行精確的預(yù)測(cè)和詳細(xì)的分類)?
整體的用戶界面是否在語(yǔ)法、慣例、語(yǔ)義、格式、風(fēng)格和縮寫等方面展現(xiàn)出了相當(dāng)程度的完整性、一致性和同一性?
系統(tǒng)是否包含過多或不太可能用到的選項(xiàng)?
對(duì)于所有輸入,系統(tǒng)是否返回了即時(shí)確認(rèn)信息?
程序是否易于使用?如區(qū)分大小寫的要求用戶是否清楚,不同層次菜單之間的瀏覽是否容易等。
(5)安全性測(cè)試
設(shè)計(jì)測(cè)試用例來突破程序安全檢查。例如,可以設(shè)計(jì)測(cè)試用例來規(guī)避操作系統(tǒng)的內(nèi)存保護(hù)機(jī)制、破壞數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)安全機(jī)制等。
常用的測(cè)試用例設(shè)計(jì)方法是研究類似系統(tǒng)中已知的安全問題,然后生成測(cè)試用例,暴露被測(cè)系統(tǒng)中的類似問題
基于Web的應(yīng)用程序常常比絕大多數(shù)程序所需的安全測(cè)試級(jí)別更高,對(duì)于電子商務(wù)網(wǎng)站尤其如此。
(6)性能測(cè)試
很多軟件都有特定的性能或效率目標(biāo),這些特性描述為在特定負(fù)載和配置環(huán)境下程序的響應(yīng)時(shí)間和吞吐率。應(yīng)設(shè)計(jì)測(cè)試用例來說明程序不能滿足其性能目標(biāo)。
(7)存儲(chǔ)測(cè)試
軟件偶爾會(huì)有存儲(chǔ)目標(biāo),例如描述程序使用的內(nèi)存和輔存的容量以及臨時(shí)文件或移出文件的大小。應(yīng)設(shè)計(jì)測(cè)試用例來證明這些存儲(chǔ)目標(biāo)沒有得到滿足。
(8)配置測(cè)試
很多軟件都支持多種硬件配置,可以運(yùn)行在多種操作系統(tǒng)下,使用多種web瀏覽器。通??赡艿呐渲脭?shù)量非常之大,以至于無法全面測(cè)試,但應(yīng)該盡可能測(cè)試各種配置。
(9)兼容性/配置/轉(zhuǎn)換測(cè)試
很多軟件不是全新的,而是為了替換某些已有的系統(tǒng)。這樣的軟件往往涉及與已有系統(tǒng)的兼容以及從已有系統(tǒng)的轉(zhuǎn)換過程,如升級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng)。
(10)安裝測(cè)試
有些軟件的安裝過程非常復(fù)雜,測(cè)試安裝過程是系統(tǒng)測(cè)試的一個(gè)重要部分。
(11)可靠性測(cè)試
所有測(cè)試都是為了提高軟件的可靠性,但如果軟件的目標(biāo)中包含了對(duì)可靠性的特別描述,就必須設(shè)計(jì)專門的可靠性測(cè)試用例。
(12)適用性測(cè)試
對(duì)于軟件的適用性和可維護(hù)性目標(biāo)也必須測(cè)試。
(13)可恢復(fù)性測(cè)試
諸如OS、DBMS等軟件通常都有可恢復(fù)性目標(biāo),說明系統(tǒng)如何從硬件失敗和數(shù)據(jù)錯(cuò)誤中恢復(fù)過來。系統(tǒng)測(cè)試的一個(gè)目標(biāo)是證明這些恢復(fù)機(jī)制不能正確發(fā)揮作用。
可以故意將程序錯(cuò)誤植入個(gè)系統(tǒng)中,判斷系統(tǒng)是否可以從中恢復(fù)。
這些系統(tǒng)的設(shè)計(jì)目標(biāo)之一是平均恢復(fù)時(shí)間(MTTR)最小,測(cè)試目標(biāo)之一就是證明系統(tǒng)不能滿足MTTR的要求。
(13)文檔測(cè)試
系統(tǒng)測(cè)試也需要檢查用戶文檔的正確性和清晰性。
(14)過程測(cè)試
很多軟件系統(tǒng)不是完全自動(dòng)化的,其中包括了很多人員操作過程。在系統(tǒng)測(cè)試中,必須對(duì)所有已規(guī)定的人工過程,如系統(tǒng)操作員、最終用戶、數(shù)據(jù)庫(kù)管理員的操作過程進(jìn)行測(cè)試。
十一、驗(yàn)收測(cè)試
是將程序與其最初的需求及最終用戶當(dāng)前的需要進(jìn)行比較的過程
通常是由程序的客戶或最終用戶來進(jìn)行,一般不認(rèn)為是軟件開發(fā)機(jī)構(gòu)的職責(zé)
最好的方法是設(shè)計(jì)測(cè)試用例,盡力證明程序沒有滿足合同要求;假如這些測(cè)試用例都通過了,就可以接受該程序。
鏈接地址:http://www.hcyjhs8.com/p-10826869.html