第一篇:軟件測試期末總結(jié)
1.下列關(guān)于軟件測試的敘述錯誤的是(D)。
A.軟件測試可以作為度量軟件與用戶需求間差距的手段 B.沒有發(fā)現(xiàn)錯誤的測試也是有價值的
C.軟件測試的根本目的是盡可能多地發(fā)現(xiàn)軟件中存在的問題,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用
D.軟件測試的主要工作內(nèi)容包括發(fā)現(xiàn)軟件中存在的錯誤并解決存在的問題
2.軟件測試技術(shù)可以分為靜態(tài)測試和動態(tài)測試,下列說法中錯誤的是(D)A.靜態(tài)測試是指不運行實際程序,通過檢查和閱讀等手段來發(fā)現(xiàn)程序中的錯誤。B.動態(tài)測試是指實際運行程序,通過運行的結(jié)果來發(fā)現(xiàn)程序中的錯誤。C.動態(tài)測試包括黑盒測試和白盒測試。
D.白盒測試是靜態(tài)測試,黑盒測試是動態(tài)測試。
3.月收入<=800元者免稅,現(xiàn)用輸入數(shù)800元和801元測試程序,則采用的是(A)方法。A.邊界值分析 B.條件覆蓋 C.錯誤推測 D.邏輯覆蓋
4.等價類劃分法的關(guān)鍵是(C)。A.確定等價類的邊界條件 B.按照用例來確定等價類 C.劃分等價類
D.確定系統(tǒng)中相同和不同的部分
5.某教學(xué)設(shè)備銷售部門制定一項銷售優(yōu)惠政策,一次購買100臺或100臺以上者按八五折優(yōu)惠,購買者是教師、學(xué)生按九折優(yōu)惠。設(shè)C1表示購買的臺數(shù),C2為1、2、0分別表示教師、學(xué)生和其他人員,則符合九折優(yōu)惠判定條件為(A)。A.(C1<100)AND NOT(C2=0)B.(C1<100)AND NOT(C2>0)C.NOT(C1>100)AND(C2=0)D.NOT(C1<100)AND(C2>0)
6.(D)能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。A.等價類劃分 B.邊界值分析 C.錯誤推測 D.因果圖
7.軟件測試用例主要由輸入數(shù)據(jù)和(C)兩部分組成。A.測試計劃 B.測試規(guī)則 C.預(yù)期輸出結(jié)果
D.以往測試記錄分析
8.在用白盒測試中的邏輯覆蓋法設(shè)計測試用例時,有語句覆蓋、分支覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋和路徑覆蓋等,其中(A)是最弱的覆蓋準(zhǔn)則。A.語句覆蓋 B.條件覆蓋
C.判定-條件覆蓋 D.條件組合覆蓋 9.以下不屬于白盒測試技術(shù)的是(D)A.邏輯覆蓋 B.基本路徑測試 C.循環(huán)覆蓋測試 D.等價類劃分
10.集成測試的策略一般分為:一次性集成和漸增式集成。下面哪一條真實地反映了前者與后者的不同?(A)。
A.后者比前者更適合大規(guī)模應(yīng)用系統(tǒng)的集成測試
B.在集成測試中發(fā)現(xiàn)問題時,前者比后者更容易進(jìn)行問題定位
C.前者需要開發(fā)驅(qū)動模塊和樁模塊,而后者不需要開發(fā)驅(qū)動模塊和樁模塊 D.前者不需要所有模塊就緒,而后者需要所有模塊就緒 11.集成測試又稱為組裝測試,其主要內(nèi)容包括(C)。A.對整體的性能進(jìn)行測試
B.用白盒法設(shè)計測試用例進(jìn)行測試 C.確定組裝策略和次序 D.對運行過程進(jìn)行測試
12.全局?jǐn)?shù)據(jù)結(jié)構(gòu)的錯誤通常在(C)中檢查。A.單元測試 B.有效性測試 C.集成測試 D.確認(rèn)測試
13.軟件開發(fā)公司組織內(nèi)部人員,模擬各類用戶行為對即將面市的軟件產(chǎn)品進(jìn)行的測試我們稱之為(B)。A.系統(tǒng)測試
B.α測試 C.β測試 D.綜合測試
14.對一個網(wǎng)站的連接速度測試屬于(C)?
A.功能測試
B.客戶端兼容性測試
C.性能測試 D.安全測試
15.軟件測試管理是軟件工程的保護(hù)性活動,其基本內(nèi)容不包括(C)。A.測試組織管理 B.測試過程管理 C.效益管理
D.資源和配置管理
32.下面對軟件測試流程的描述,哪個是正確的?(A)
A.制定測試計劃->設(shè)計測試方案及測試用例->部署實施測試->執(zhí)行測試->缺陷跟蹤管理->測試總結(jié)報告
B.制定測試計劃->部署實施測試->設(shè)計測試方案及測試用例->執(zhí)行測試->缺陷跟蹤管理->測試總結(jié)報告
C.部署實施測試->制定測試計劃->設(shè)計測試方案及測試用例->執(zhí)行測試->缺陷跟蹤管理->測試總結(jié)報告 D.制定測試計劃->設(shè)計測試方案及測試用例->執(zhí)行測試->部署實施測試->缺陷跟蹤管理->測試總結(jié)報告
15.與設(shè)計測試數(shù)據(jù)無關(guān)的是(D)A.該軟件的設(shè)計人員 B.程序的復(fù)雜程度 C.源程序
D.項目開發(fā)計劃
18.McCabe復(fù)雜性度量又稱(B)。A.代碼行度量 B.環(huán)路度量 C.程序量度量 D.功能性度量
1.(A)說明了軟件測試與開發(fā)的并行關(guān)系,體現(xiàn)了測試貫穿于整個開發(fā)過程的思想。A.W模型 B.V模型 C.H模型 D.X模型
2.在下面幾句中,判斷哪一個是正確的。(D)。A.測試工作應(yīng)在編碼階段結(jié)束后開始。
B.測試設(shè)計工作與軟件開發(fā)活動是相互獨立、相互無關(guān)的。
C.測試腳本是指一個測試包,它由一組邏輯相關(guān)的測試用例組成。D.過度測試會影響進(jìn)度和增加成本。
3.以下哪種測試方法屬于黑盒測試技術(shù)(C)。A.基本路徑測試 B.循環(huán)覆蓋測試 C.邊界值分析測試 D.語句覆蓋測試
4.程序功能說明中指出:由三個輸入數(shù)據(jù)表示一個三角形的三條邊長。根據(jù)黑盒法中的邊界值分析法設(shè)計測試用例,應(yīng)選(D)。A.a=3,b=4,c=5 B.a=1,b=2,c=4 C.上述A、B項目都應(yīng)選上 D.a=1,b=2,c=3 5.某程序功能說明中列出“規(guī)定每個運動員參賽項目為1——3項”,應(yīng)用黑盒法中的等價類劃分法確定等價類是(D)。A.1<=項目數(shù)<=3 B.項目數(shù)<1 C.項目數(shù)>3 D.以上都是
6.如果某個程序的輸入數(shù)據(jù)的可能值劃分為n個合理等價類,m個不合理等價類,這些等價類均為數(shù)軸上的一個有限區(qū)間范圍,則采用邊界值測試方法至少需要(D)個測試用例。A.m+n B.2m+n C.2n+m D.2(m+n)7.在用白盒測試中的邏輯覆蓋法設(shè)計測試用例時,有語句覆蓋、分支覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋和路徑覆蓋等,在下列覆蓋中,(D)是最強(qiáng)的覆蓋準(zhǔn)則。A.語句覆蓋 B.條件覆蓋
C.判定-條件覆蓋 D.條件組合覆蓋 8.{ void SelectSort(datalist & list){ //對表list.V[0]到list.V[n-1]進(jìn)行排序, n是表當(dāng)前長度。
for(int i = 0;i < list.n-1;i++){ int k = i;
//在list.V[i].key到list.V[n-1].key中找具有最小關(guān)鍵碼的對象 for(int j = i+1;j < list.n;j++)if(list.V[j].getKey()< list.V[k].getKey())k = j;
//當(dāng)前具最小關(guān)鍵碼的對象
if(k!= i)Swap(list.V[i], list.V[k]);//交換
} } 上面是選擇排序的程序,其中datalist是數(shù)據(jù)表,它有兩個數(shù)據(jù)成員:一是元素類型為Element的數(shù)組V,另一個是數(shù)組大小n。算法中用到兩個操作,一是取某數(shù)組元素V[i]的關(guān)鍵碼操作getKey(),一是交換兩數(shù)組元素內(nèi)容的操作Swap():請問該程序段的McCabe環(huán)路復(fù)雜性為多少?(D)} A.2 B.3 C.4 D.5 9.對于傳統(tǒng)軟件來說,按集成粒度不同可以把集成測試分為(C)。①模塊間集成測試 ②類內(nèi)集成測試 ③類間集成測試 ④子系統(tǒng)內(nèi)集成測試 ⑤ 子系統(tǒng)間集成測試 A.①②③ B.②③④ C.①④⑤ D.②③⑤
10.在有關(guān)集成測試的敘述中,(A)是正確的。A.測試底層模塊時不需要樁模塊 B.驅(qū)動模塊的作用是模擬被調(diào)模塊 C.自頂向下測試方法易于設(shè)計測試結(jié)果
D.自底向上測試方法有有利于提前預(yù)計測試結(jié)果 11.系統(tǒng)測試中主要用到的測試技術(shù)是(B)A.回歸測試 B.黑盒測試 C.白盒測試 D.功能測試
12.不斷執(zhí)行同樣的操作,如不停地啟動或關(guān)閉程序、反復(fù)讀寫數(shù)據(jù)或者選擇同一個操作。這種測試我們稱之為(B)測試。A.強(qiáng)度 B.重復(fù) C.壓迫 D.重負(fù)
13.以下關(guān)于測試管理原則的描述中不正確的是(C)。A.實施全過程測試,有助于及時應(yīng)對項目變化,降低測試風(fēng)險。
B.軟件應(yīng)全面測試,不僅對所有產(chǎn)品進(jìn)行測試,還要求開發(fā)人員和測試人員全面參與。C.不能將測試過程從開發(fā)過程中抽象出來,作為一個獨立的過程進(jìn)行管理。
D.盡早開展測試準(zhǔn)備工作,能使測試人員較早了解測試難度、預(yù)測風(fēng)險、提高效率。14.下面敘述中,哪一項不是測試項目管理者的職責(zé)?(B)。A.合理分配任務(wù) B.負(fù)責(zé)建立測試環(huán)境 C.制訂測試策略
D.將已有經(jīng)驗靈活應(yīng)用到新項目中
15.下列所述的測試原則中,錯誤的是(D)。A.應(yīng)設(shè)計非法輸入的測試用例 B.測試用例要給出測試的預(yù)期結(jié)果 C.因維護(hù)修改程序后需回歸測試 D.開發(fā)小組與測試小組合并
1.對于軟件測試分類,下列各項都是按照不同階段來進(jìn)行的劃分,除了(C)。A.單元測試 B.集成測試 C.黑盒測試 D.系統(tǒng)測試
2.在軟件測試中,確認(rèn)測試主要用于發(fā)現(xiàn)(B)階段的錯誤。A.軟件計劃 B.需求分析 C.軟件設(shè)計 D.編碼
3.(C)方法根據(jù)輸出對輸入的依賴關(guān)系設(shè)計測試用例。A.路徑測試 B.等價類 C.因果圖
D.邊界值分析
4.在功能測試中,假設(shè)求實數(shù)x的平方根,我們第1次輸入“最小的負(fù)實數(shù)”進(jìn)行測試,第2次輸入“稍小于0”進(jìn)行測試,第3次輸入0進(jìn)行測試,第4次輸入“稍大于0”進(jìn)行測試,第5次輸入“最大的正實數(shù)”進(jìn)行測試,那么這種測試屬于(A)。A.邊界值分析法 B.絕對值分析法 C.相對值分析法 D.等價類劃分法
5.為了提高測試的效率,應(yīng)該(D)。A.隨機(jī)地選取測試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù) C.在完成編碼以后制定軟件的測試計劃
D.選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
6.現(xiàn)有一個計算類型的程序,它的輸入只有一個Y,其范圍是—50≤Y≤50?,F(xiàn)從輸入的角度考慮設(shè)計了一組測試用例:—100,100,0。設(shè)計這組測試用例的方法是(B)。A.條件覆蓋法 B.等價類劃分法 C.邊界值分析法 D.錯誤推測法
7.實際的邏輯覆蓋測試中,一般以(C)為主設(shè)計測試用例。A.條件覆蓋 B.判定覆蓋 C.條件組合覆蓋 D.路徑覆蓋 8.{ PROCEDURE averagy i = 1;total.input = total.valid = 0;sum = 0;DO WHILE value[i] <>-999 AND total.input < 100 increment total.valid by 1;IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid[i];ELSE skip;ENDIF Increment i by 1;ENDDO IF total.valid > 0 THEN averagy = sum / total.valid;ELSE averagy =-999;ENDIF END averagy 上面是一個求平均值的程序,請問該程序段的McCabe環(huán)路復(fù)雜性為多少?(C)} A.4 B.5 C.6 D.7 9.測試人員在提交軟件缺陷報告后,很可能發(fā)現(xiàn)開發(fā)人員對報告的缺陷存在異議。因此需要一個雙方認(rèn)同的準(zhǔn)則,用于判定軟件產(chǎn)品是否存在軟件缺陷。在實際的軟件項目工作中,我們通常采納的判定準(zhǔn)則是(B)。A.測試人員提供的這個軟件缺陷的證據(jù)
B.軟件產(chǎn)品的運行結(jié)果與需求規(guī)格說明書不一致 C.可以客觀地描述這個軟件缺陷 D.軟件產(chǎn)品的運行結(jié)果與測試人員預(yù)期的不一致
10.從供選擇的答案中選出同下列關(guān)于軟件測試的各條敘述關(guān)系最密切的字句。
在測試具有層次結(jié)構(gòu)的大型軟件時,有一種方法是從上層模塊開始,由上到下進(jìn)行測試。此時,有必要用一些模塊替代尚未測試過的下層模塊。(A)A.樁 B.仿真器 C.模擬器 D.原型
11.集成測試時,能較早發(fā)現(xiàn)高層模塊接口錯誤的測試方法為(A)。A.自頂向下漸增式測試 B.自底向上漸增式測試 C.非漸增式測試 D.系統(tǒng)測試
12.系統(tǒng)測試一般從客戶角度考察和評價軟件產(chǎn)品的質(zhì)量,不考慮開發(fā)方關(guān)注的質(zhì)量特性。那么,下面那一個質(zhì)量特性一般不是系統(tǒng)測試的重點?(D)A.是否符合有關(guān)的國家和行業(yè)標(biāo)準(zhǔn) B.產(chǎn)品版本升級是否容易
C.軟件產(chǎn)品是否易于理解和使用 D.可復(fù)用的軟件部件所占的比例
13.同時啟動上百個模擬連接去請求服務(wù)器的服務(wù),這種測試我們稱之為(D)測試。A.安全 B.重復(fù) C.容量 D.壓力
14.在軟件質(zhì)量概念中,不屬于測試要達(dá)到的目標(biāo)為(D)A.確保建立了測試計劃,并按照測試計劃進(jìn)行測試 B.確保測試計劃覆蓋了所有的系統(tǒng)規(guī)格定義和系統(tǒng)需求 C.確保經(jīng)過測試和調(diào)試,軟件仍舊符合系統(tǒng)規(guī)格和需求定義 D.確保設(shè)計變更被正確的跟蹤、控制、文檔化
15.軟件測試是軟件質(zhì)量保證的重要手段,下述哪種測試是軟件測試的最基礎(chǔ)環(huán)節(jié)?(B)A.功能測試 B.單元測試 C.結(jié)構(gòu)測試 D.確認(rèn)測試
1.提高測試的有效性十分重要,“高產(chǎn)”的測(C)。A.用適量的測試用例運行程序,證明被測程序正確無誤
B.用適量的測試用例運行程序,證明被測程序符合相應(yīng)的要求 C.用少量的測試用例運行程序,發(fā)現(xiàn)被測程序盡可能多的錯誤 D.用少量的測試用例運行程序,糾正被測程序盡可能多的錯誤 2.在一個軟件項目中,開發(fā)人員主要承擔(dān)哪項工(D)A.驗收測試 B.系統(tǒng)測試 C.回歸測試 D.單元測試
3.某信息管理系統(tǒng)中,允許用戶輸入8位數(shù)字的市話號碼。如果使用等價類劃分法來設(shè)計測試用例,從保證測試效果的角度看,你認(rèn)為哪一組是最佳的選擇(C)。A.63570007、80603805、100080、39103825 B.62570007、80603805 C.62570007、391038255、8252323、空值、h? D.39103825、8252323、@、*** 4.如果一個排序程序所設(shè)定的測試用例為:(1)表空
(2)表中只有一個元素
(3)表中均有相同的關(guān)鍵字值
(4)元素已排序,則此測試方法稱為(D)。A.等價類劃分法 B.邊界值分析法 C.因果圖法 D.錯誤推測法
5.軟件測試方法中,黑盒、白盒測試法是常用的方法,其中黑盒測試主要用于測試(B)。A.結(jié)構(gòu)合理性 B.軟件的功能 C.程序正確性 D.程序內(nèi)部邏輯
6.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計這組測試用例的方法是(C)A.條件覆蓋法 B.等價分類法 C.邊界值分析法 D.錯誤推測法 7.{
int GetMax(int n, int datalist[ ])
{
intk=0;
for(int j=1;j if(datalist[j] > datalist[k])k=j; returnk; } 上面是一段求最大值的程序,其中datalist是數(shù)據(jù)表,n是datalist的長度。請問該程序段的McCabe環(huán)路復(fù)雜性為多少?(B)} A.2 B.3 C.4 D.5 8.使用程序設(shè)計的控制結(jié)構(gòu)導(dǎo)出測試用例的測試方法是(B)A.黑盒測試 B.白盒測試 C.邊界測試 D.系統(tǒng)測試 9.集成測試也叫做(A)。①單元測試 ②部件測試 ③組裝測試 ④系統(tǒng)測試 ⑤確認(rèn)測試 ⑥聯(lián)合測試 A.③⑥ B.①② C.⑤⑥ D.③④ 10.漸增式集成測試是將模塊一個一個地連入系統(tǒng),每連入一個模塊(C)。A.只需要對新連入的模塊進(jìn)行測試 B.都不需要再進(jìn)行測試 C.要對新子系統(tǒng)進(jìn)行測試 D.都要進(jìn)行回歸測試 11.軟件開發(fā)公司組織各方面的典型用戶在日常工作中對軟件進(jìn)行實際使用,并要求用戶報告異常情況,這種測試我們稱之為(C)。A.系統(tǒng)測試 B.α測試 C.β測試 D.綜合測試 12.單元測試是發(fā)現(xiàn)編碼錯誤,集成測試是發(fā)現(xiàn)模塊的接口錯誤,確認(rèn)測試是為了發(fā)現(xiàn)功能錯誤,那么系統(tǒng)測試是為了發(fā)現(xiàn)(C)的錯誤。A.接口錯誤 B.編碼錯誤 C.性能、質(zhì)量不合要求 D.功能錯誤 13.在實際的軟件項目工作中,測試人員運行測試用例,觀察運行結(jié)果,當(dāng)發(fā)現(xiàn)軟件缺陷時提交軟件缺陷報告。那么,測試人員判定一個運行結(jié)果中存在缺陷的準(zhǔn)則是(C)。A.這個運行結(jié)果與測試人員預(yù)期的不一致 B.測試人員可以從中找到缺陷的證據(jù) C.這個運行結(jié)果與測試用例中的預(yù)期結(jié)果不一致 D.開發(fā)人員承認(rèn)這個運行結(jié)果中存在缺陷 14.軟件測試計劃開始于需求分析階段,完成于(B)階段。A.需求分析 B.軟件設(shè)計 C.軟件實現(xiàn) D.軟件測試 15.與設(shè)計測試用例無關(guān)的文檔是(A)。A.項目開發(fā)計劃 B.需求規(guī)格說明書 C.設(shè)計說明書 D.源程序 1.下面說法正確的是(C)。 A.經(jīng)過測試沒有發(fā)現(xiàn)錯誤說明程序正確 B.測試的目標(biāo)是為了證明程序沒有錯誤 C.成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試 D.成功的測試是沒有發(fā)現(xiàn)錯誤的測試 2.不屬于白盒測試的技術(shù)是(C)。A.語句覆蓋 B.判定覆蓋 C.邊界值分析 D.基本路徑測試 3.單元測試主要針對模塊的幾個基本特征進(jìn)行測試,該階段不能完成的測試是(A)。A.系統(tǒng)功能 B.局部數(shù)據(jù)結(jié)構(gòu) C.重要的執(zhí)行路徑 D.錯誤處理 4.軟件測試過程中的集成測試主要是為了發(fā)現(xiàn)(B)階段的錯誤。A.需求分析 B.概要分析 C.詳細(xì)設(shè)計 D.編碼 5.軟件測試不需要了解軟件設(shè)計的(D)。 A.功能 B.內(nèi)部結(jié)構(gòu) C.處理過程 D.條件 6.(C)方法根據(jù)輸出對輸入的依賴關(guān)系設(shè)計測試用例。A.路徑測試 B.等價類 C.因果圖 D.邊界值分析 7.通常,在(D)的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成系統(tǒng) A.組裝測試 B.系統(tǒng)測試 C.驗收測試 D.單元測試 9.使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的覆蓋標(biāo)準(zhǔn)。 A.程序內(nèi)部邏輯 B.程序的復(fù)雜度 C.使用說明書 D.程序的功能 10.與設(shè)計測試用例無關(guān)的文檔是(A)。A.項目開發(fā)計劃 B.需求規(guī)格說明書 C.設(shè)計說明書 D.源程序 1.負(fù)載測試是驗證要檢驗的系統(tǒng)的能力最高能達(dá)到什么程度。錯 2.健壯性測試的測試重點為當(dāng)出現(xiàn)故障時,是否能夠自動恢復(fù)或忽略故障繼續(xù)運行。對 3.可用性測試是對于用戶友好性的測試,是指在設(shè)計過程中被用來改善易用性的一系列方法。對 4.軟件測試管理原則之一是全面測試,它的含義:一是對軟件的所有產(chǎn)品進(jìn)行全面的測試;二是測試人員應(yīng)對測試的全過程進(jìn)行全程的跟蹤。錯 5.程序代碼編寫完成之后,軟件測試工作開始。錯 6.軟件測試是測試人員的事,與開發(fā)人員無關(guān)。錯 7.軟件的Bug就是指程序運行時出現(xiàn)的故障。錯 8.在n個變量的程序中,用邊界值分析法設(shè)計測試用例,測試用例的個數(shù)為4n+1。對 9.缺陷狀態(tài)為“已解決”表示該缺陷已經(jīng)被測試人員回歸測試完畢,準(zhǔn)備歸檔移除。錯 10.處于“已解決”狀態(tài)的缺陷,下一步狀態(tài)只能是“重新提交”或者“已關(guān)閉”。對 1.在進(jìn)行負(fù)載測試的同時進(jìn)行安全性測試是不合情理的。錯 2.在性能測試中,如果發(fā)現(xiàn)SQLServer資源監(jiān)控中的一個指標(biāo)緩存點擊率偏高,這說明系統(tǒng)運行效率較高。對 3.在程序有修改的情況下保證原有功能正常的一種測試方法是回歸測試。對 4.所有測試的標(biāo)準(zhǔn)都是建立在用戶需求之上。對 5.黑盒測試用例在軟件編碼完成后才可以設(shè)計。錯 6.軟件測試技術(shù)要求不高,至少比編程容易多了。錯 7.設(shè)計-實現(xiàn)-測試,軟件測試是開發(fā)后期的一個階段。錯 8.在n個變量的程序中,采用健壯性邊界值分析法設(shè)計測試用例,測試用例的個數(shù)為6n+1。對 9.缺陷狀態(tài)為“打開”表示該缺陷已被開發(fā)人員看到。對 10.缺陷狀態(tài)為“已拒絕”表示該缺陷開發(fā)人員拒絕修改。對 1.系統(tǒng)測試的目標(biāo)是要找出軟件在與系統(tǒng)其他部分協(xié)調(diào)工作時出現(xiàn)的所有故障。錯 2.壓力測試是通過逐步增加系統(tǒng)負(fù)載來測試系統(tǒng)性能的變化,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài),以此來獲得系統(tǒng)性能提供的最大服務(wù)級別的測試。對 3.安全性測試最終證明應(yīng)用程序是安全的。錯 4.軟件開發(fā)是一個漸進(jìn)的過程,測試計劃需要根據(jù)需求變更及時調(diào)整。對 5.項目立項前測試人員不需要提交任何工件。對 6.軟件測試隨便找一個能力差的人就能做。錯 7.永遠(yuǎn)也不可能完成軟件測試,這個重?fù)?dān)將從開發(fā)方轉(zhuǎn)移到客戶/用戶的身上,用戶的每一次使用就是一次測試。對 8.當(dāng)被測軟件仍存在嚴(yán)重影響系統(tǒng)功能實現(xiàn)的缺陷,但存在合理的更正辦法時,該軟件可以發(fā)布。錯 9.缺陷狀態(tài)為“打開”表示該缺陷剛提交,開發(fā)人員還未看到該缺陷。錯 10.處于“已拒絕”狀態(tài)的缺陷,下一步狀態(tài)只能是“重新提交”或者“已關(guān)閉”。對 1.性能測試的重點在于前期數(shù)據(jù)的設(shè)計與后期數(shù)據(jù)的分析。對 2.通常使用平均無故障時間MTBF來衡量系統(tǒng)的可靠性。對 3.先對每個模塊分別測試,然后統(tǒng)一組裝成軟件系統(tǒng)的方法稱為漸增式測試。錯 4.測試計劃是做好測試工作的前提。對 5.如果發(fā)布出去的軟件有質(zhì)量問題,那是軟件測試人員的錯。錯 6.有時間就多測試一些,來不及就少測試一些。錯 7.當(dāng)用于軟件測試的時間或資金不夠用時,就完成了軟件測試。錯 8.當(dāng)被測軟件仍存在嚴(yán)重影響系統(tǒng)功能實現(xiàn)的缺陷,但不存在合理的更正辦法時,該軟件可以發(fā)布。錯 9.缺陷狀態(tài)為“已解決”表示該缺陷已經(jīng)被開發(fā)人員修改好,但是測試人員還未進(jìn)行回歸測試。對 10.處于“打開”狀態(tài)的缺陷,下一步狀態(tài)只能是“已解決”或者“已拒絕”。對 1、黑盒測試與白盒測試各有哪些優(yōu)缺點,應(yīng)該如何結(jié)合才能解決漏洞和冗余問題? 答:黑盒測試與軟件如何實現(xiàn)無關(guān),測試用例開發(fā)可以與實現(xiàn)并行進(jìn)行,因此可以壓縮總的項目開發(fā)時間,但測試用例之間可能存在嚴(yán)重的冗余,還會有未測試的軟件漏洞。白盒測試局限于已經(jīng)完成的代碼行為當(dāng)中,離代碼太近。如果黑盒測試結(jié)合白盒測試的覆蓋率指標(biāo)執(zhí)行,冗余和漏洞問題都會被發(fā)現(xiàn)并解決。如果發(fā)現(xiàn)同一條程序路徑被多個功能性測試用例遍歷,就可以懷疑這種冗余不會發(fā)生新的缺陷,如果沒有達(dá)到一定的DD—路徑覆蓋,則可知在功能性測試用例中存在漏洞。 2、簡單描述一下軟件測試工程師一般會承擔(dān)的一些具體工作。 答:(1)檢視代碼、評審開發(fā)文檔(靜態(tài)測試方法) (2)進(jìn)行測試設(shè)計、寫作測試文檔(測試計劃、測試方案、測試用例等) (3)執(zhí)行測試,發(fā)現(xiàn)軟件缺陷,提交缺陷報告,并確認(rèn)缺陷最終得到了修正 (4)通過測試度量軟件的質(zhì)量 3、程序員應(yīng)避免檢查自己的程序,為什么? 答:(1)程序員從來不會承認(rèn)自己寫的程序有錯誤 (2)程序員的測試思路有明顯的局限性 (3)多數(shù)程序員沒有經(jīng)過嚴(yán)格正規(guī)的職業(yè)訓(xùn)練,常忽視測試 (4)程序員無良好的BUG跟蹤和回歸測試的習(xí)慣 4、增量式集成測試的策略分為自頂向下、自底向上和混合式三種,請簡述自底向上與自頂向下集成測試的優(yōu)缺點? 答:(1)自頂向下增量式測試: —主要優(yōu)點在于它可以自然的做到逐步求精,一開始就能讓測試者看到系統(tǒng)的框架?!饕秉c是需要提供樁模塊,并且在輸入/輸出模塊接入系統(tǒng)以前,在樁模塊中表示測試數(shù)據(jù)有一定困難。 (2)自底向上增量式測試: —優(yōu)點在于,由于驅(qū)動模塊模擬了所有調(diào)用參數(shù),即使數(shù)據(jù)流并未構(gòu)成有向的非環(huán)狀圖,生成測試數(shù)據(jù)也無困難。 —主要缺點在于,直到最后一個模塊被加進(jìn)去之后才能看到整個程序(系統(tǒng))的框架。 5、如果軟件執(zhí)行了動態(tài)測試,靜態(tài)測試就是毫無意義的,這句話是否正確?為什么? 答:這種說法是不正確的。靜態(tài)測試和動態(tài)測試之間并不存在哪種方式更加有效的問題.,兩者的關(guān)注點不同,能夠發(fā)現(xiàn)問題的程度也不同。靜態(tài)測試一般關(guān)注的是程序結(jié)構(gòu)、邏輯以及代碼的風(fēng)格,而動態(tài)測試更多關(guān)注結(jié)果與預(yù)期的比較。這二者不能夠完全一個替代另外一個。針對不同的軟件和不同的潛在問題,有可能是靜態(tài)測試容易發(fā)現(xiàn),也有可能是動態(tài)測試更加容易發(fā)現(xiàn).例如,諸如代碼結(jié)構(gòu)方面的問題,在動態(tài)測試中就難以發(fā)現(xiàn),而在靜態(tài)測試中就一目了然. 一、單項選擇題:共20小題,每小題2 分,滿分40分。 1.軟件測試按照測試層次可以分為(C)A.黑盒測試、白盒測試//測試方式 B.功能性測試和結(jié)構(gòu)性測試//測試目的 C.單元測試、集成測試和系統(tǒng)測試 D、動態(tài)測試和靜態(tài)測試//測試方式 2、軟件測試是采用(測試用例)執(zhí)行軟件的活動。 A.測試用例 B.輸入數(shù)據(jù) C.測試環(huán)境 D.輸入條件 3.軟件測試是軟件開發(fā)過程的重要階段,是軟件質(zhì)量保證的重要手段,下列哪個(些)是軟件測試的任務(wù)?答案:(D) 1預(yù)防軟件發(fā)生錯誤 2發(fā)現(xiàn)程序錯誤 3提供診斷錯誤信息 A.只有1 B.只有2 C.只有3 D.都是 4、導(dǎo)致軟件缺陷的最大原因是:(A) A.軟件需求說明書 B.設(shè)計方案 C.編碼 D.維護(hù) 5、測試用例是為達(dá)到最佳的測試效果或高效的揭露隱藏的錯誤而精心設(shè)計的少量測試數(shù)據(jù),至少應(yīng)該包括(A) A、測試輸入、執(zhí)行條件和預(yù)期的結(jié)果。 B、測試目標(biāo)、測試工具 C、測試環(huán)境 D、測試配置 6、對已經(jīng)發(fā)現(xiàn)的錯誤進(jìn)行錯誤定位和確定出錯性質(zhì),并改正這些錯誤,同時修改相關(guān)的文檔,這種行為屬于(B) A.測試 B.調(diào)試 C.回歸測試 D.單元測試 軟件測試是軟件測試人員和程序員都參與的一項工作,是貫穿整個生命周期的,只需要發(fā)現(xiàn)軟件的錯誤,而軟件調(diào)試主要是程序員自己參與,對程序(設(shè)計、編碼)進(jìn)行修改、排除錯誤,主要是在開發(fā)階段。 7、軟件缺陷修復(fù)的代價最高的階段為(A) A、發(fā)布階段 B、需求階段 C、設(shè)計階段 D、編碼階段 8、下列(B)是關(guān)于軟件缺陷的描述。 A.導(dǎo)致軟件包含故障的人的行為//軟件錯誤 B.產(chǎn)品的異常情況 C.引起一個功能部件不能完成所要求的功能的一種意外情況 D.功能部件執(zhí)行其規(guī)定功能的能 軟件錯誤是指在軟件生存期內(nèi)的不希望出現(xiàn)或不可接收的人為錯誤,軟件錯誤導(dǎo)致軟件缺陷的產(chǎn)生。 軟件缺陷是存在于軟件(文檔,數(shù)據(jù),程序)之中不希望出現(xiàn)或不可接收的偏差;軟件缺陷導(dǎo)致軟件在運行某一特定條件時出現(xiàn)軟件故障;這時軟件缺陷被激活。 軟件故障是指軟件在運行過程中產(chǎn)生的不希望出現(xiàn)或不可接收的內(nèi)部狀態(tài),對軟件故障若無適當(dāng)措施加以及時處理,就會是軟件失效。 軟件失效是指軟件在運行時產(chǎn)生的不希望出現(xiàn)或不可接受的外部行為結(jié)果。 9、可作為測試停止的標(biāo)準(zhǔn)是(D) A.當(dāng)時間用光時 B.執(zhí)行了所有的測試用例,但沒有發(fā)現(xiàn)故障 C.當(dāng)所有缺陷都已經(jīng)清除時 D.當(dāng)達(dá)到所要求的覆蓋時 10、下列描述錯誤的是(A) A.軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯 B.窮盡測試實際上在一般情況下是不可行的 C.軟件測試自動化不是萬能的 D.測試能由非開發(fā)人員進(jìn)行,調(diào)試必須由開發(fā)人員進(jìn)行。 11、如下圖所示的N-S圖,至少需要(B)個測試用例完成邏輯覆蓋。 A.15 B.16 C.17 D.18 12、下列(C)方法設(shè)計出的測試用例發(fā)現(xiàn)程序錯誤的能力最強(qiáng)。 A.等價類劃分法 B.場景法 C.邊界值分析法 D.決策表法 13、功能性測試是根據(jù)(A)來設(shè)計測試用例。 A、軟件的規(guī)格說明 B、設(shè)計文檔 C、程序的內(nèi)部邏輯 D、維護(hù)手冊 14、在軟件修改之后,再次運行以前為發(fā)現(xiàn)錯誤而執(zhí)行程序曾用過的測試用例,這種測試稱之為(C) A.單元測試 B.集成測試 C.回歸測試 D.驗收測試 15、(C)方法是根據(jù)輸出對輸入的依賴關(guān)系來設(shè)計測試用例的。 A.邊界值分析 B.等價類 C.因果圖法 D.錯誤推測法 16、測試工程師的工作范圍會包括檢視代碼、評審開發(fā)文檔,這屬于(B) A.動態(tài)測試 B.靜態(tài)測試 C.黑盒測試 D.白盒測試 17、下列(B)是對程序流程圖進(jìn)行簡化后得到的,它可以更加突出的表示程序控制流的結(jié)構(gòu),且不包含復(fù)合條件。 A.DD-路徑圖 B. 控制流圖 C.MM-路徑圖 D. 模塊調(diào)用圖 18、自底向上增量式集成測試中,下面(C)描述是正確的。 A.測試由樁模塊控制 B.最上面的模塊最先測試 C.父單元用測試過的子單元測試 D.包含樹的深度優(yōu)先或廣度優(yōu)先遍歷過程 19、以下關(guān)于測試用例特征的描述錯誤的是(C)A.最有可能抓住錯誤的; B.一定會有重復(fù)的、多余的; C.一組相似測試用例中最有效的; D.既不是太簡單,也不是太復(fù)雜。20、(D)是一種關(guān)注變量定義賦值點(語句)和引用或使用這些值的點(語句)的結(jié)構(gòu)性測試,主要用作路徑測試的真實性檢查。 A、基本路徑測試 B、邏輯覆蓋 C、決策表 D、數(shù)據(jù)流測試 二、判斷題:共20小題,每題1分,滿分20分) 1.軟件測試是有風(fēng)險的行為,并非所有的軟件缺陷都能夠被修復(fù)。(T)2.軟件質(zhì)量保證和軟件測試是同一層次的概念。(F) 3.我們有理由相信只要能夠設(shè)計出盡可能好的測試方案,經(jīng)過嚴(yán)格測試之后的軟件可以沒有缺陷。(F) 4.程序員兼任測試員可以提高工作效率。(F) 5.在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。(T)6.傳統(tǒng)測試是在開發(fā)的后期才介入,現(xiàn)在測試活動已經(jīng)擴(kuò)展到了整個生命周期。(T)7.傳統(tǒng)測試以發(fā)現(xiàn)錯誤為目的,現(xiàn)在測試已經(jīng)擴(kuò)展到了錯誤預(yù)防的范疇。T 8.軟件測試的生命周期包括測試計劃、測試設(shè)計、測試執(zhí)行、缺陷跟蹤、測試評估。(T)9.調(diào)試從一個已知的條件開始,使用預(yù)先定義的過程,有預(yù)知的結(jié)果;測試從一個未知的條件開始,結(jié)束的過程不可預(yù)計。(F) 10.白盒測試往往會造成測試用例之間可能存在嚴(yán)重的冗余和未測試的功能漏洞。(F)11.在所有的黑盒測試方法中,基于決策表的測試是最為嚴(yán)格、最具有邏輯性的測試方法。(∨)12.永遠(yuǎn)有缺陷類型會在測試的一個層次上被發(fā)現(xiàn),并且能夠在另一個層次上逃避檢測。(∨)13.測試用例的數(shù)目越多,測試的效果越好。(x) 14.只要能夠達(dá)到100%的邏輯覆蓋率,就可以保證程序的正確性。(x)15.單元測試屬于動態(tài)測試。(∨)16.驗收測試是以最終用戶為主的測試。(∨)17.沒有發(fā)現(xiàn)錯誤的測試是沒有價值的。(∨)18.可以把不合格的開發(fā)人員安排做測試。(x)19.每一個軟件項目都有一個最優(yōu)的測試量。(∨) 20.黑盒測試往往會造成測試用例之間可能存在嚴(yán)重的冗余和未測試的功能漏洞。(∨) 三、簡答題:共4小題,每題5分,滿分20分。 1、簡單描述一下軟件測試工程師一般會承擔(dān)的一些具體工作。1:檢視代碼,評審開發(fā)文檔(靜態(tài)測試方法) 2:進(jìn)行測試設(shè)計,寫作測試文檔(測試計劃,測試方案,測試用例等)3:執(zhí)行測試,發(fā)現(xiàn)軟件缺陷,提交缺陷報告,并確認(rèn)缺陷最終得到了修正。4:通過測試度量軟件的質(zhì)量。 2、黑盒測試與白盒測試各有哪些優(yōu)缺點? 黑盒測試與軟件如何實現(xiàn)無關(guān),測試用例開發(fā)可以實現(xiàn)并行進(jìn)行,因此可以壓縮總的項目開發(fā)時間,缺點:測試用例可以之間可能存在嚴(yán)重的冗余。還會有未測試的軟件漏洞。白盒測試局限于已經(jīng)完成的代碼行為當(dāng)中,離代碼太近,如果黑盒測試結(jié)合白盒測試的覆蓋率指標(biāo)執(zhí)行,冗余和漏洞問題會被發(fā)現(xiàn)并解決。如果發(fā)現(xiàn)同一條程序路徑被多個功能性測試用例遍歷,就可以懷疑這種冗余不會發(fā)生新的缺陷。 3、畫圖描述測試層次與傳統(tǒng)開發(fā)V型瀑布模型的對應(yīng) 4、有函數(shù)f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函數(shù)采用基本邊界值分析法設(shè)計的測試用例。 (2000,6,1),(2000,6,2),(2000,6,30),(2000,6,31),(2000,1,15),(2000,2,15)(2000,13,15),(2000,12,15),(1900,6,15),(1901,6,15),(1999,6,15),(2100,6,15)(2000,6,15) 測試用例來自等價類的邊界;正好等于;剛剛大于;剛剛小于邊界的值 四、綜合題:共1小題,每題20分,滿分20分。 1、使用基本路徑測試方法,為以下程序段設(shè)計測試用例。(1)畫出程序的控制流圖。 (2)計算程序的循環(huán)復(fù)雜度,導(dǎo)出程序基本路徑集中的獨立路徑條數(shù)。 (3)導(dǎo)出基本路徑集,確定程序的獨立路徑。 (4)根據(jù)(3)中的獨立路徑,設(shè)計測試用例(確?;韭窂郊械拿恳粭l路徑的執(zhí)行)的輸入數(shù)據(jù)和預(yù)期輸出。 void Do(int X,int A,int B){ 1 if((A>1)&&(B=0))2 X = X/A;3 if((A=2)||(X>1))4 X = X+1;5 } 由于控制流圖假設(shè)的是單條件,因此對于復(fù)合條件,可將其分解為多個單個條件,并映射成控制流圖。1: A>1; 2: B=0 ; 3: X = X/A ; 4: A=2 ; 5:X>1 ; 6: X = X+1; 7: } 1.軟件測試:是由“驗證(verrificatione)”和“有效性確認(rèn)(validation)”活動構(gòu)成的整體: “驗證”是檢驗軟件是否已正確地實現(xiàn)了產(chǎn)品規(guī)格書所定義的系統(tǒng)功能和特性。驗證過程提供證據(jù)表明軟件相關(guān)產(chǎn)品與所有生命周期活動的要求(如正確性、完整性、一致性、準(zhǔn)確性等)相一致。相當(dāng)于以軟件產(chǎn)品設(shè)計規(guī)格說明書為標(biāo)準(zhǔn)進(jìn)行軟件測試的活動。 “有效性確認(rèn)”是確認(rèn)所開發(fā)的軟件是否滿足用戶真正需求的活動。一切從客戶出發(fā),理解客戶的需求,對軟件需求定義、設(shè)計的懷疑,發(fā)現(xiàn)需求定義和產(chǎn)品設(shè)計中的問題。這主要通過各種軟件評審活動來實現(xiàn),包括讓客戶參加評審、測試活動。 軟件測試過程:(1)測試組織和管理(2)測試計劃(3)測試用例實際(4)測試實施(5)測試結(jié)果分析(6)測試評審與報告 軟件測試方法:白盒測試方法、黑盒測試方法、靜態(tài)測試與動態(tài)測試、主動測試與被動測試、形式化測試方法、基于風(fēng)險的測試、模糊測試方法、ALAC測試和隨機(jī)測試方法 2.單元測試:是對軟件基本組成單元進(jìn)行的測試,而且軟件單元是在與程序的其他部分相隔離的情況下進(jìn)行獨立的測試。 靜態(tài)測試就是靜態(tài)分析,對模塊的源代碼進(jìn)行研讀,查找錯誤或收集一些度量數(shù)據(jù),并不需要對代碼進(jìn)行編譯和仿真運行。 動態(tài)測試是通過真正運行程序發(fā)現(xiàn)錯誤,通過觀察代碼運行過程,來獲取系統(tǒng)行為、變量實時結(jié)果、內(nèi)存、堆棧、線程以及測試覆蓋度等各方面的信息,來判斷系統(tǒng)是否存在問題,或者通過有效的測試用例,對于的輸入輸出關(guān)系來分析被測程序的運行情況,來發(fā)現(xiàn)缺陷。靜態(tài)測試、動態(tài)測試的區(qū)別:1.靜態(tài)測試用于預(yù)防,動態(tài)測試用于矯正;2.多次的靜態(tài)測試比動態(tài)測試的效率高;3,靜態(tài)測試綜合測試程序代碼;4.在相當(dāng)短的時間里,測試的覆蓋率能達(dá)到100%,而動態(tài)測試經(jīng)常只能達(dá)到50%測試左右;5.動態(tài)測試比靜態(tài)測試更花時間; 6.靜態(tài)測試比動態(tài)測試更能發(fā)現(xiàn)bug;7.靜態(tài)測試的執(zhí)行可以在程序編碼編譯前,動態(tài)是中能在編譯后才能執(zhí)行。 3.功能測試:一般須在完成集成測試后進(jìn)行,而且是針對應(yīng)用系統(tǒng)進(jìn)行測試是根據(jù)產(chǎn)品規(guī)格說明書,來檢驗被測試的系統(tǒng)是否滿足各方面功能的使用要求。 集成測試:也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求,組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測試,其主要目的是檢查軟件單位之間的接口是否正確。集成測試包括非增量測試和增量測試兩種方式,集成測試的策略主要有自頂向下和自底向上兩種。 功能測試、集成測試區(qū)別: 4.回歸測試:目的是在程序有修改的情況下,保證原有功能正常的一種測試策略和方法。程序在發(fā)現(xiàn)嚴(yán)重軟件缺陷要進(jìn)行修改或版本升級要新增功能,這時需要對軟件進(jìn)行修改,修改后的程序要進(jìn)行測試,這時要檢驗軟件所進(jìn)行的修改是否正確,保證改動不會帶來新的嚴(yán)重錯誤。 5.樁程序(Stub),也稱樁模塊:用以模擬被測模塊工作過程中所調(diào)用的下層模塊。樁模塊由被測模塊調(diào)用,它們一般只進(jìn)行很少的數(shù)據(jù)處理,例如打印入口和返回,以便于檢驗被測模塊與其下級模塊的接口。驅(qū)動程序(Driver),也稱驅(qū)動模塊:用以模擬被測模塊的上級模塊,能夠調(diào)用被測模塊。在測試過程中,驅(qū)動模塊接受測試數(shù)據(jù),調(diào)用被測模塊并把相關(guān)的數(shù)據(jù)傳送給被測模塊。 軟件缺陷:軟件缺陷是指計算機(jī)系統(tǒng)或者程序中存在的任何一種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷、瑕疵,其結(jié)果會導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需求。標(biāo)準(zhǔn)定義,從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統(tǒng)所需要實現(xiàn)的某種功能的失效或違背。 軟件測試步驟: 即單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。 1.開始是單元測試,集中對用源代碼實現(xiàn)的每一個程序單元進(jìn)行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。2.集成測試把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。3.確認(rèn)測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。4.系統(tǒng)測試把已經(jīng)經(jīng)過確認(rèn)的軟件納入實際運行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測試。 軟件測試流程:需求分析和定義、系統(tǒng)設(shè)計、詳細(xì)功能設(shè)計、編碼、單元測試、功能測試、系統(tǒng)測試、驗收測試 軟件測試涉及的關(guān)鍵問題:1.測試過程和開發(fā)過程是同時開始,同時結(jié)束的,兩者保持同步的關(guān)系;2.測試過程是對開發(fā)過程中階段性成果和最終產(chǎn)品進(jìn)行驗證的過程,所以兩者相互依賴;3.測試過程中的工作重點和開發(fā)工作的重點可能不一樣,兩者有各自的特點 黑盒測試的特點:1.不基于對系統(tǒng)內(nèi)部的設(shè)計和實現(xiàn)。2.用例設(shè)計基于功能的定義和需求說明書。3.關(guān)注于測試數(shù)據(jù)的選擇和測試結(jié)果的分析。 測試方法有:等價類劃分、邊界值分析法、判定表方法、因果圖法、正交實驗法、功能圖法、錯誤推測法 黑盒測試缺點:1.對用例設(shè)計人員的經(jīng)驗要求較高,包括數(shù)據(jù)的選擇,對潛在錯誤的敏感性;2.對于內(nèi)部實現(xiàn)的bug不容易發(fā)現(xiàn);3.不能提供直觀的測試覆蓋率。 白盒測試的特點:1.需要了解系統(tǒng)的整體設(shè)計和實現(xiàn);2.對源代碼進(jìn)行審查;3.在單元測試階段發(fā)現(xiàn)大量的缺陷;4.關(guān)注于系統(tǒng)的控制流和數(shù)據(jù)流; 測試方法有:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、路徑覆蓋、基本路徑測試法 白盒測試缺點:1.不能確保系統(tǒng)是否完全符合需求說明書;2.白盒測試的代價會大于黑盒測試;3.需要源代碼首先完成才能進(jìn)行測試; 集成測試中自頂向下和自底向上方法 自頂向下法:從主控模塊(主程序)開始,沿著軟件的控制層次向下移動,從而逐漸把各個模塊結(jié)合起來。具體步驟是:1.對主控模塊進(jìn)行測試,測試時用樁程序代替所有直接附屬于主控模塊的模塊;2.根據(jù)選定的結(jié)合策略,每次用一個實際模塊代替一個樁程序;3.在結(jié)合下一個模塊的同時進(jìn)行測試;4.為了保證加入模塊沒有引進(jìn)新的錯誤,可能需要進(jìn)行回歸測試。優(yōu)點:不需要測試驅(qū)動程序,能夠在測試階段的早期實現(xiàn)并驗證系統(tǒng)的主要功能,而且能在早期發(fā)現(xiàn)上層模塊的接口錯誤。缺點:需要樁程序,可能遇到與此相聯(lián)系的測試?yán)щy,低層關(guān)鍵模塊中的錯誤發(fā)現(xiàn)較晚,而且用這種方法在早期不能充分展開人力 自底向上法:從“原子”模塊(即在軟件結(jié)構(gòu)最底層的模塊)開始集成以進(jìn)行測試,具體策略是:1.把底層模塊組合成實現(xiàn)某個特定的軟件子功能的族;2.寫一個驅(qū)動程序,協(xié)調(diào)測試數(shù)據(jù)的輸入輸出;3.對由模塊組成的子功能族進(jìn)行測試;4.去掉驅(qū)動程序,沿軟件結(jié)構(gòu)自下向上移動,把子功能族組合起來形成更大的子功能族。優(yōu)缺點:剛好和自頂向上相反 簡述增量式集成測試的自頂向下和自底向上兩種測試方法:自頂向下增量式測試的主要優(yōu)點在于它可以自然地做到逐步求精,一開始便能讓測試者看到系統(tǒng)的框架。它的主要缺點是 需要提供被調(diào)用模擬子模塊,被調(diào)用模擬子模塊可能不能反映真實情況,因此測試有可能不充分。自底向上測試的優(yōu)點在于,由于驅(qū)動模塊模擬了所有調(diào)用參數(shù),即使數(shù)據(jù)流并未構(gòu)成有向的非環(huán)狀圖,生成測試數(shù)據(jù)也沒有困難。它的缺點在于,直到最后一個模塊被加入進(jìn)去之后才能看到整個程序(系統(tǒng))的框架 集成測試自底向上和自頂向下集成方法優(yōu)缺點是什么? 自底向上集成方法盡早的對底層實用歷程進(jìn)行測試,可以避免編寫眾多的樁模塊,使得系統(tǒng)底層的眾多問題及早得到解決。缺點是在一些頂層構(gòu)件非常重要的情況下,卻將其放到了最后集成。 自頂向下集成方法則盡早進(jìn)行了頂層控制模塊的測試和集成,使得系統(tǒng)整體上得到驗證,但卻將底層實用歷程的測試放到了最后。某些具有關(guān)鍵性能或作用的底層模塊的問題將在最后才可能被發(fā)現(xiàn)。 簡述系統(tǒng)測試過程的主要步驟及每個步驟的測試依據(jù)。 功能測試:測試依據(jù)是系統(tǒng)功能需求; 性能測試:測試依據(jù)是其他軟件需求; 驗收測試:測試依據(jù)是客戶需求規(guī)格說明書; 安裝測試:測試依據(jù)是用戶環(huán)境 1.軟件測試定義:由人工或自動方法來執(zhí)行或評價系統(tǒng)或系統(tǒng)部分的過程,以驗證它是否滿足規(guī)定的需求,或識別出期望的結(jié)果和實際結(jié)果之間的差異。2.軟件測試的分類: 測試對象或范圍分類:需求評審、設(shè)計評審、單元測試、程序測試、系統(tǒng) 測試、文檔測試、Web應(yīng)用測試、客戶端測試、數(shù)據(jù)庫測試等; 測試目的分類:集成測試、功能測試、壓力測試、性能測試等等; 靜態(tài)測試、動態(tài)測試; 白盒測試、黑盒測試。3.軟件測試的基本流程與原則 基本流程: 測試用例設(shè)計-輸入數(shù)據(jù)、預(yù)期結(jié)果; 測試執(zhí)行-輸入數(shù)據(jù)執(zhí)行被測對象; 檢查實際輸出與預(yù)期結(jié)果?;驹瓌t: 開始測試時認(rèn)定軟件有錯,測試要證明有錯; 測試應(yīng)該由獨立的測試團(tuán)隊來完成; 測試設(shè)計必須設(shè)計對應(yīng)的預(yù)期輸出; 要對合理、不合理(有效、無效)輸入數(shù)據(jù)都進(jìn)行測試; 檢查軟件的完備性、多余; 完整保留測試文檔; 一個被測對象中有錯誤的概率與已發(fā)現(xiàn)錯誤的個數(shù)成正比。4.Beizer測試成熟度級別: 0級:沒有區(qū)分測試與調(diào)試; 1級:測試的目的是證明軟件能用; 2級:測試的目的是證明軟件不能用; 3級:測試的目的不是為了證明什么,而是為了降低軟件使用風(fēng)險; 4級:測試是一種智能訓(xùn)練,能夠幫助專業(yè)人員開發(fā)出更高質(zhì)量的軟件。5.軟件測試與軟件工程,軟件過程的關(guān)系: 軟件工程:在給定的條件下(成本、時間)開發(fā)出高質(zhì)量的軟件產(chǎn)品。軟件生產(chǎn)過程的特性決定了軟件產(chǎn)品中不可避免包含有錯誤。軟件測試則是盡可能多地發(fā)現(xiàn)錯誤,從而保障軟件產(chǎn)品的質(zhì)量。6.McCall的質(zhì)量因素: 產(chǎn)品修改: 可維護(hù)性,靈活性,可測試性 產(chǎn)品轉(zhuǎn)移: 可移植性,可復(fù)用性,互操作性 產(chǎn)品運行: 正確性,易用性,可靠性,效率,完整性 7.軟件質(zhì)量困境 軟件質(zhì)量必須足夠好:存在價值 軟件產(chǎn)品無法完美:需要消耗過多的資源、時間、成本 軟件開發(fā)需要在兩個極端之間進(jìn)行平衡:軟件足夠好的同時又不完美。8.質(zhì)量控制、質(zhì)量保證和質(zhì)量管理 軟件質(zhì)量控制其實是基本方法,通過一系列的技術(shù)來科學(xué)地測量過程的狀態(tài)。如缺陷率、測試覆蓋率等。 軟件質(zhì)量保證則是過程的參考、指南的集合,如ISO9000、CMM/CMMI等,著重內(nèi)部的檢查,確保已獲取認(rèn)可的標(biāo)準(zhǔn)和步驟都已經(jīng)遵循。 軟件質(zhì)量管理則是實際操作的思想,質(zhì)量管理控制和協(xié)調(diào)組織的質(zhì)量活動,包括質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)。9.WebApp應(yīng)用的屬性: 網(wǎng)絡(luò)密集型應(yīng)用;并發(fā)性;大負(fù)載量;性能;高可靠性、高可用性;安全性-內(nèi)容敏感; 10.軟件評審的目的,評審度量及其應(yīng)用 評審的目標(biāo)在于:盡早發(fā)現(xiàn)軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續(xù)活動,防止錯誤轉(zhuǎn)化為缺陷。 準(zhǔn)備工作量Ep-實際評審會之前所需工作量; 評估工作量Ea-實際評審所花費的工作量 返工工作量Er-修改評審所發(fā)現(xiàn)錯誤的工作量 工作產(chǎn)品規(guī)模WPS-評審對象的規(guī)模 發(fā)現(xiàn)的主要錯誤數(shù)Errmajor-多于預(yù)期的改錯工作量的錯誤數(shù)目 發(fā)現(xiàn)的次要錯誤數(shù)Errminor-少于預(yù)期的改錯工作量的錯誤數(shù)目 總評審工作量Ereview = Ep+Ea+Er 錯誤總數(shù)Errtot = Errmajor+Errminor 錯誤密度:評審的每單位工作產(chǎn)品發(fā)現(xiàn)的錯誤數(shù)Ed = Errtot / WPS 錯誤密度數(shù)值的含義:較小(產(chǎn)品質(zhì)量非常好或評審不夠徹底);較大(產(chǎn)品質(zhì)量存在缺陷) 11.軟件測試計劃:描述對計算機(jī)軟件配置項、子系統(tǒng)、系統(tǒng)進(jìn)行測試的計劃安排,內(nèi)容包括測試的環(huán)境、測試工作的標(biāo)識及測試工作的時間安排。 軟件測試報告:是對計算機(jī)軟件配置項、軟件系統(tǒng)或子系統(tǒng),或與軟件相關(guān)項目執(zhí)行合格性測試的記錄 12.軟件測試活動 制訂測試計劃(測試分析員) 測試設(shè)計(測試設(shè)計人員)-方案設(shè)計 測試及測試用例設(shè)計 測試過程 樁模塊、驅(qū)動模塊設(shè)計 測試實施(測試設(shè)計員)-實現(xiàn)測試設(shè)計 單元測試(測試員)集成測試(測試員)系統(tǒng)測試(測試員) 評估測試(測試設(shè)計人員) 13.無向圖的相關(guān)定義: 連接性:節(jié)點ni、nj是連接的,當(dāng)且僅當(dāng)ni、nj在同一條路徑上。組件:圖的組件是相連節(jié)點的最大集合 圖G的圈復(fù)雜度V(G)=e-n+2p,其中e為G的邊數(shù),n為節(jié)點數(shù),p為組件數(shù)。14.圖覆蓋:給定一個關(guān)于圖G的準(zhǔn)則C的測試需求集合TR,測試集合T在圖G上滿足準(zhǔn)則C當(dāng)且僅當(dāng)對TR中每個測試需求tr,path(T)中至少存在一條測試路徑p滿足tr。 簡單路徑:如果從ni到nj的一條路徑中,除了始節(jié)點和終節(jié)點可以相同外,沒有任何節(jié)點出現(xiàn)次數(shù)多于一次,則該路徑為簡單路徑。 主路徑:如果從ni到nj是一條簡單路徑,并且它不作為任何其他簡單路徑的子路徑出現(xiàn),則稱之為主路徑。 主路徑覆蓋(PPC)準(zhǔn)則:TR包含圖中每一條主路徑。 指定路徑覆蓋(SPC):TR包含一個測試路徑集S,S為指定參數(shù)。15.白盒測試方法 白盒測試:根據(jù)被測對象的內(nèi)部結(jié)構(gòu)和運行機(jī)制來設(shè)計測試用例的方法,又稱為結(jié)構(gòu)測試、邏輯驅(qū)動測試、覆蓋測試 被測對象的獨立路徑至少覆蓋一次; 所有邏輯取值測試[真、假]; 循環(huán)邊界測試; 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)、邊界條件。16.黑盒測試方法 黑盒測試方法又稱功能測試方法、數(shù)據(jù)驅(qū)動測試方法,測試設(shè)計時不考慮被測對象的內(nèi)部結(jié)構(gòu),以檢查系統(tǒng)功能(功能的正確、完整、邏輯流程、人機(jī)界面、文檔內(nèi)容、系統(tǒng)安裝/初始化) 以被測對象的外部特征為測試依據(jù)。17.模糊測試方法 模糊測試方法:構(gòu)造大量的隨機(jī)數(shù)據(jù)作為系統(tǒng)的輸入,從而檢驗系統(tǒng)在各種數(shù)據(jù)情況下是否出現(xiàn)問題。 18.增量測試:單元測試、調(diào)用依賴的模塊集成測試,逐步擴(kuò)展直到形成整個軟件系統(tǒng)。 19.突擊測試:所有模塊一次性集成為一個完整的系統(tǒng),然后進(jìn)行完全測試。20.等價類劃分: 等價類劃分基于對輸入或輸出數(shù)據(jù)情況的評估,劃分成兩個或多個子集(等價類),然后從每個子集中選取一定的代表進(jìn)行測試的測試用例設(shè)計方法。21.極限測試 極限編程:利用輕量、敏捷的開發(fā)過程,使開發(fā)人員能夠更快地完成應(yīng)用程序的開發(fā)。強(qiáng)調(diào)頻繁測試、測試驅(qū)動的方式保證軟件質(zhì)量。 極限測試:為滿足極限編程思想和過程而設(shè)計的一套測試策略和流程,原來的測試技術(shù)、方法均可以使用 22.配置項測試的內(nèi)容 功能: 適合性 準(zhǔn)確性:功能的準(zhǔn)確與精度要求 互操作性:與外部設(shè)備、系統(tǒng)的接口 安全保密性:數(shù)據(jù)訪問的可控制性 可靠性: 成熟性:容錯處理、平均無故障時間 容錯性:邊界條件、功能、性能的降級情況、誤操作模式、故障模式 易恢復(fù)性:自動修復(fù)能力/時間、平均宕機(jī)時間、平均恢復(fù)時間、恢復(fù)能力等 易用性 易理解性:功能描述清晰、準(zhǔn)確;界面含義精確 易學(xué)性:在線幫助、幫助定位、各類手冊的易學(xué)、易用 易操作性:數(shù)據(jù)的有效檢查、解釋信息明確、界面切換 吸引性:人機(jī)界面定制 效率 時間特性:響應(yīng)時間、平均響應(yīng)時間、響應(yīng)極限時間、吞吐量、平均吞吐量、極限吞吐量,多任務(wù)并行測試 資源利用:大量并發(fā)任務(wù)下I/O設(shè)備利用、極限負(fù)載下I/O設(shè)備的負(fù)載、大量并發(fā)任務(wù)下用戶等待時間、內(nèi)存使用情況、數(shù)據(jù)傳輸能力等 維護(hù)性 易分析性:運行狀態(tài)數(shù)據(jù)易分析 易變更性:軟件的可配置、修改能力 易測試性:變更之后的易測試情況 可移植性 適應(yīng)性:不同軟件、硬件環(huán)境的適應(yīng)能力 易安裝性:安裝、配置的復(fù)雜程度、難以程度 共存性:與其他軟件協(xié)同的能力 易替換性:版本的替換難以程度 依從性 以上所有特性遵循標(biāo)準(zhǔn)、規(guī)范的情況測試 23系統(tǒng)測試:系統(tǒng)非功能性測試,以檢驗系統(tǒng)在超常數(shù)據(jù)規(guī)模或負(fù)載下,線程、CPU、內(nèi)存資源的利用和響應(yīng)時間、數(shù)據(jù)傳輸?shù)刃阅苤笜?biāo)是否滿足要求 24.測試計劃 確定測試充分性要求:覆蓋范圍、覆蓋程度 確定測試終止要求; 確定測試所需資源; 確定測試的軟件特性; 確定測試技術(shù)、方法; 確定測試準(zhǔn)出條件; 確定測試進(jìn)度計劃; 測試風(fēng)險分析。 25.測試設(shè)計:測試設(shè)計人員、測試程序員 測試用例設(shè)計:依據(jù)測試特性; 獲取測試數(shù)據(jù); 確定測試順序:資源、被測特性; 獲取測試資源:軟硬件、工具; 編寫測試程序; 建立測試環(huán)境; 撰寫測試設(shè)計說明。 26.測試總結(jié): 測試分析員-測試報告 總結(jié)測試計劃、測試說明的變化情況; 異常終止時測試未覆蓋范圍; 未能解決的測試問題; 總結(jié)測試結(jié)果(發(fā)現(xiàn)問題); 編寫測試報告; 根據(jù)問題報告、測試記錄,編寫測試問題報告。 27.軟件可靠性:在給定的運行時間內(nèi)和給定的系統(tǒng)配置環(huán)境下,運行給定的軟件功能時所 表現(xiàn)出來的質(zhì)量能力 28.系統(tǒng)性能指標(biāo) 系統(tǒng)資源利用率:分析性能指標(biāo),改善性能系統(tǒng)行為指標(biāo) 請求響應(yīng)時間:一次請求完成時間 事務(wù)響應(yīng)時間:一個事務(wù)所有請求完成的總時間 數(shù)據(jù)吞吐量:單位時間內(nèi)服務(wù)器接收、發(fā)送的數(shù)據(jù)量。 29.驗收測試:用戶執(zhí)行的、使用真實數(shù)據(jù)進(jìn)行的測試,依據(jù)需求規(guī)格中的確認(rèn)標(biāo)準(zhǔn)進(jìn)行測試。回歸測試:驗證已測試過的內(nèi)容不受變更影響,確認(rèn)變更沒有引入新的錯誤。 30.α測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實際操 作環(huán)境下進(jìn)行的測試。 Beta測試由軟件的最終用戶在一個或多個客戶場所進(jìn)行,開發(fā)者通常不在Beta測試的現(xiàn)場。 31.WebApp測試關(guān)注的主要內(nèi)容 Web內(nèi)容測試 界面 構(gòu)件 導(dǎo)航測試 安全性 性能 32.測試用例(Test Case)是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個程序路徑或核實是否滿足某個特定需求。 33.軟件生存期定義:從軟件產(chǎn)品設(shè)計到軟件被淘汰的時間段。又稱軟件生命周期、生存周期。進(jìn)一步劃分為兩個階段:開發(fā)階段和維護(hù)階段(40%+60%)。 34.軟件安全定義:一種軟件質(zhì)量保證活動,他主要用來識別和評估可能對軟件產(chǎn)生負(fù)面影響并促使整個系統(tǒng)失效的潛在災(zāi)難。 35.軟件評審的目標(biāo)在于:盡早發(fā)現(xiàn)軟件過程中的錯誤,防止錯誤傳遞、蔓延至后續(xù)活動,防止錯誤轉(zhuǎn)化為缺陷。36.V模型 優(yōu)點:既有底層測試又有高層測試。底層:單元測試。高層:系統(tǒng)測試。 將開發(fā)階段清楚的表現(xiàn)出來,便于控制開發(fā)的過程。當(dāng)所有階段都結(jié)束時,軟件開發(fā)就結(jié)束了。 缺點:容易讓人誤解為測試是在開發(fā)完成之后的一個階段。 由于它的順序性,當(dāng)編碼完成之后,正式進(jìn)入測試時,這時發(fā)現(xiàn)的一些bug可能不容易找到其根源。 實際中,由于需求變更較大,導(dǎo)致要重復(fù)變更需求、設(shè)計、編碼、測試,返工量大。37.W模型: 優(yōu)點: 將測試貫穿到整個軟件生命周期中,且除了代碼要測試,需求、設(shè)計等都要測試。更早介入軟件開發(fā)中,能盡早發(fā)現(xiàn)缺陷并修復(fù)。 測試與開發(fā)獨立起來,并與開發(fā)并行。缺點: 對有些項目,開發(fā)過程中根本沒有文檔產(chǎn)生,故W模型無法使用。 對于需求和設(shè)計的測試技術(shù)要求很高,實踐起來很困難。 從N0中某節(jié)點開始到Nf中某節(jié)點結(jié)束的一條路徑稱為一條測試路徑。 1.軟件缺陷:(符合下列規(guī)則的叫軟件缺陷): 1).軟件未達(dá)到產(chǎn)品說明書的功能 2).軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤 3).軟件功能超出產(chǎn)品說明書指明范圍 4).軟件未達(dá)到產(chǎn)品說明書雖未指出但應(yīng)達(dá)到的目標(biāo) 5).軟件測試員認(rèn)為難以理解、不易使用、運行速度緩慢、或者最終用戶認(rèn)為不好 2.單元測試:單元測試是對軟件設(shè)計的最小單元——模塊進(jìn)行正確性檢驗的測試工作,主要測試模塊在語法、格式和邏輯上的錯誤。3.回歸測試 指軟件系統(tǒng)被修改或擴(kuò)充(如系統(tǒng)功能增強(qiáng)或升級)后重新進(jìn)行的測試,是為了保證對軟件所做的修改沒有引入新的錯誤而重復(fù)進(jìn)行的測試。 4.等價類:指某個輸入域的子集合,在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。第二篇:軟件測試期末復(fù)習(xí)題
第三篇:軟件測試期末復(fù)習(xí)
第四篇:軟件測試期末復(fù)習(xí)知識點總結(jié)
第五篇:軟件測試總結(jié)