第一篇:軟件測試期末復習
一、單項選擇題:共20小題,每小題2 分,滿分40分。
1.軟件測試按照測試層次可以分為(C)A.黑盒測試、白盒測試//測試方式 B.功能性測試和結構性測試//測試目的 C.單元測試、集成測試和系統測試
D、動態測試和靜態測試//測試方式
2、軟件測試是采用(測試用例)執行軟件的活動。
A.測試用例 B.輸入數據 C.測試環境 D.輸入條件
3.軟件測試是軟件開發過程的重要階段,是軟件質量保證的重要手段,下列哪個(些)是軟件測試的任務?答案:(D)
1預防軟件發生錯誤 2發現程序錯誤 3提供診斷錯誤信息 A.只有1 B.只有2 C.只有3 D.都是
4、導致軟件缺陷的最大原因是:(A)
A.軟件需求說明書
B.設計方案 C.編碼
D.維護
5、測試用例是為達到最佳的測試效果或高效的揭露隱藏的錯誤而精心設計的少量測試數據,至少應該包括(A)
A、測試輸入、執行條件和預期的結果。
B、測試目標、測試工具 C、測試環境
D、測試配置
6、對已經發現的錯誤進行錯誤定位和確定出錯性質,并改正這些錯誤,同時修改相關的文檔,這種行為屬于(B)
A.測試
B.調試 C.回歸測試
D.單元測試
軟件測試是軟件測試人員和程序員都參與的一項工作,是貫穿整個生命周期的,只需要發現軟件的錯誤,而軟件調試主要是程序員自己參與,對程序(設計、編碼)進行修改、排除錯誤,主要是在開發階段。
7、軟件缺陷修復的代價最高的階段為(A)
A、發布階段
B、需求階段 C、設計階段
D、編碼階段
8、下列(B)是關于軟件缺陷的描述。
A.導致軟件包含故障的人的行為//軟件錯誤 B.產品的異常情況
C.引起一個功能部件不能完成所要求的功能的一種意外情況 D.功能部件執行其規定功能的能
軟件錯誤是指在軟件生存期內的不希望出現或不可接收的人為錯誤,軟件錯誤導致軟件缺陷的產生。
軟件缺陷是存在于軟件(文檔,數據,程序)之中不希望出現或不可接收的偏差;軟件缺陷導致軟件在運行某一特定條件時出現軟件故障;這時軟件缺陷被激活。
軟件故障是指軟件在運行過程中產生的不希望出現或不可接收的內部狀態,對軟件故障若無適當措施加以及時處理,就會是軟件失效。
軟件失效是指軟件在運行時產生的不希望出現或不可接受的外部行為結果。
9、可作為測試停止的標準是(D)
A.當時間用光時
B.執行了所有的測試用例,但沒有發現故障 C.當所有缺陷都已經清除時 D.當達到所要求的覆蓋時
10、下列描述錯誤的是(A)
A.軟件發布后如果發現質量問題,那是軟件測試人員的錯 B.窮盡測試實際上在一般情況下是不可行的 C.軟件測試自動化不是萬能的
D.測試能由非開發人員進行,調試必須由開發人員進行。
11、如下圖所示的N-S圖,至少需要(B)個測試用例完成邏輯覆蓋。
A.15 B.16 C.17 D.18
12、下列(C)方法設計出的測試用例發現程序錯誤的能力最強。
A.等價類劃分法 B.場景法
C.邊界值分析法 D.決策表法
13、功能性測試是根據(A)來設計測試用例。
A、軟件的規格說明 B、設計文檔
C、程序的內部邏輯 D、維護手冊
14、在軟件修改之后,再次運行以前為發現錯誤而執行程序曾用過的測試用例,這種測試稱之為(C)
A.單元測試 B.集成測試 C.回歸測試 D.驗收測試
15、(C)方法是根據輸出對輸入的依賴關系來設計測試用例的。
A.邊界值分析 B.等價類 C.因果圖法 D.錯誤推測法
16、測試工程師的工作范圍會包括檢視代碼、評審開發文檔,這屬于(B)
A.動態測試
B.靜態測試 C.黑盒測試
D.白盒測試
17、下列(B)是對程序流程圖進行簡化后得到的,它可以更加突出的表示程序控制流的結構,且不包含復合條件。
A.DD-路徑圖
B. 控制流圖 C.MM-路徑圖
D. 模塊調用圖
18、自底向上增量式集成測試中,下面(C)描述是正確的。
A.測試由樁模塊控制
B.最上面的模塊最先測試
C.父單元用測試過的子單元測試
D.包含樹的深度優先或廣度優先遍歷過程
19、以下關于測試用例特征的描述錯誤的是(C)A.最有可能抓住錯誤的; B.一定會有重復的、多余的; C.一組相似測試用例中最有效的; D.既不是太簡單,也不是太復雜。20、(D)是一種關注變量定義賦值點(語句)和引用或使用這些值的點(語句)的結構性測試,主要用作路徑測試的真實性檢查。
A、基本路徑測試
B、邏輯覆蓋 C、決策表
D、數據流測試
二、判斷題:共20小題,每題1分,滿分20分)
1.軟件測試是有風險的行為,并非所有的軟件缺陷都能夠被修復。(T)2.軟件質量保證和軟件測試是同一層次的概念。(F)
3.我們有理由相信只要能夠設計出盡可能好的測試方案,經過嚴格測試之后的軟件可以沒有缺陷。(F)
4.程序員兼任測試員可以提高工作效率。(F)
5.在設計測試用例時,應當包括合理的輸入條件和不合理的輸入條件。(T)6.傳統測試是在開發的后期才介入,現在測試活動已經擴展到了整個生命周期。(T)7.傳統測試以發現錯誤為目的,現在測試已經擴展到了錯誤預防的范疇。T 8.軟件測試的生命周期包括測試計劃、測試設計、測試執行、缺陷跟蹤、測試評估。(T)9.調試從一個已知的條件開始,使用預先定義的過程,有預知的結果;測試從一個未知的條件開始,結束的過程不可預計。(F)
10.白盒測試往往會造成測試用例之間可能存在嚴重的冗余和未測試的功能漏洞。(F)11.在所有的黑盒測試方法中,基于決策表的測試是最為嚴格、最具有邏輯性的測試方法。(∨)12.永遠有缺陷類型會在測試的一個層次上被發現,并且能夠在另一個層次上逃避檢測。(∨)13.測試用例的數目越多,測試的效果越好。(x)
14.只要能夠達到100%的邏輯覆蓋率,就可以保證程序的正確性。(x)15.單元測試屬于動態測試。(∨)16.驗收測試是以最終用戶為主的測試。(∨)17.沒有發現錯誤的測試是沒有價值的。(∨)18.可以把不合格的開發人員安排做測試。(x)19.每一個軟件項目都有一個最優的測試量。(∨)
20.黑盒測試往往會造成測試用例之間可能存在嚴重的冗余和未測試的功能漏洞。(∨)
三、簡答題:共4小題,每題5分,滿分20分。
1、簡單描述一下軟件測試工程師一般會承擔的一些具體工作。1:檢視代碼,評審開發文檔(靜態測試方法)
2:進行測試設計,寫作測試文檔(測試計劃,測試方案,測試用例等)3:執行測試,發現軟件缺陷,提交缺陷報告,并確認缺陷最終得到了修正。4:通過測試度量軟件的質量。
2、黑盒測試與白盒測試各有哪些優缺點?
黑盒測試與軟件如何實現無關,測試用例開發可以實現并行進行,因此可以壓縮總的項目開發時間,缺點:測試用例可以之間可能存在嚴重的冗余。還會有未測試的軟件漏洞。白盒測試局限于已經完成的代碼行為當中,離代碼太近,如果黑盒測試結合白盒測試的覆蓋率指標執行,冗余和漏洞問題會被發現并解決。如果發現同一條程序路徑被多個功能性測試用例遍歷,就可以懷疑這種冗余不會發生新的缺陷。
3、畫圖描述測試層次與傳統開發V型瀑布模型的對應
4、有函數f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。請寫出該函數采用基本邊界值分析法設計的測試用例。
(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、使用基本路徑測試方法,為以下程序段設計測試用例。(1)畫出程序的控制流圖。
(2)計算程序的循環復雜度,導出程序基本路徑集中的獨立路徑條數。
(3)導出基本路徑集,確定程序的獨立路徑。
(4)根據(3)中的獨立路徑,設計測試用例(確保基本路徑集中的每一條路徑的執行)的輸入數據和預期輸出。
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 }
由于控制流圖假設的是單條件,因此對于復合條件,可將其分解為多個單個條件,并映射成控制流圖。1: A>1; 2: B=0 ; 3: X = X/A ; 4: A=2 ; 5:X>1 ; 6: X = X+1; 7: }
第二篇:軟件測試期末復習知識點總結
1.軟件測試:是由“驗證(verrificatione)”和“有效性確認(validation)”活動構成的整體: “驗證”是檢驗軟件是否已正確地實現了產品規格書所定義的系統功能和特性。驗證過程提供證據表明軟件相關產品與所有生命周期活動的要求(如正確性、完整性、一致性、準確性等)相一致。相當于以軟件產品設計規格說明書為標準進行軟件測試的活動。
“有效性確認”是確認所開發的軟件是否滿足用戶真正需求的活動。一切從客戶出發,理解客戶的需求,對軟件需求定義、設計的懷疑,發現需求定義和產品設計中的問題。這主要通過各種軟件評審活動來實現,包括讓客戶參加評審、測試活動。
軟件測試過程:(1)測試組織和管理(2)測試計劃(3)測試用例實際(4)測試實施(5)測試結果分析(6)測試評審與報告 軟件測試方法:白盒測試方法、黑盒測試方法、靜態測試與動態測試、主動測試與被動測試、形式化測試方法、基于風險的測試、模糊測試方法、ALAC測試和隨機測試方法
2.單元測試:是對軟件基本組成單元進行的測試,而且軟件單元是在與程序的其他部分相隔離的情況下進行獨立的測試。
靜態測試就是靜態分析,對模塊的源代碼進行研讀,查找錯誤或收集一些度量數據,并不需要對代碼進行編譯和仿真運行。
動態測試是通過真正運行程序發現錯誤,通過觀察代碼運行過程,來獲取系統行為、變量實時結果、內存、堆棧、線程以及測試覆蓋度等各方面的信息,來判斷系統是否存在問題,或者通過有效的測試用例,對于的輸入輸出關系來分析被測程序的運行情況,來發現缺陷。靜態測試、動態測試的區別:1.靜態測試用于預防,動態測試用于矯正;2.多次的靜態測試比動態測試的效率高;3,靜態測試綜合測試程序代碼;4.在相當短的時間里,測試的覆蓋率能達到100%,而動態測試經常只能達到50%測試左右;5.動態測試比靜態測試更花時間; 6.靜態測試比動態測試更能發現bug;7.靜態測試的執行可以在程序編碼編譯前,動態是中能在編譯后才能執行。
3.功能測試:一般須在完成集成測試后進行,而且是針對應用系統進行測試是根據產品規格說明書,來檢驗被測試的系統是否滿足各方面功能的使用要求。
集成測試:也叫組裝測試或聯合測試。在單元測試的基礎上,將所有模塊按照設計要求,組裝成為子系統或系統,進行集成測試,其主要目的是檢查軟件單位之間的接口是否正確。集成測試包括非增量測試和增量測試兩種方式,集成測試的策略主要有自頂向下和自底向上兩種。
功能測試、集成測試區別:
4.回歸測試:目的是在程序有修改的情況下,保證原有功能正常的一種測試策略和方法。程序在發現嚴重軟件缺陷要進行修改或版本升級要新增功能,這時需要對軟件進行修改,修改后的程序要進行測試,這時要檢驗軟件所進行的修改是否正確,保證改動不會帶來新的嚴重錯誤。
5.樁程序(Stub),也稱樁模塊:用以模擬被測模塊工作過程中所調用的下層模塊。樁模塊由被測模塊調用,它們一般只進行很少的數據處理,例如打印入口和返回,以便于檢驗被測模塊與其下級模塊的接口。驅動程序(Driver),也稱驅動模塊:用以模擬被測模塊的上級模塊,能夠調用被測模塊。在測試過程中,驅動模塊接受測試數據,調用被測模塊并把相關的數據傳送給被測模塊。
軟件缺陷:軟件缺陷是指計算機系統或者程序中存在的任何一種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷、瑕疵,其結果會導致軟件產品在某種程度上不能滿足用戶的需求。標準定義,從產品內部看,軟件缺陷是軟件產品開發或維護過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統所需要實現的某種功能的失效或違背。
軟件測試步驟: 即單元測試、集成測試、確認測試和系統測試。
1.開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現了規定的功能。2.集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。3.確認測試則是要檢查已實現的軟件是否滿足了需求規格說明中確定了的各種需求,以及軟件配置是否完全、正確。4.系統測試把已經經過確認的軟件納入實際運行環境中,與其它系統成份組合在一起進行測試。
軟件測試流程:需求分析和定義、系統設計、詳細功能設計、編碼、單元測試、功能測試、系統測試、驗收測試
軟件測試涉及的關鍵問題:1.測試過程和開發過程是同時開始,同時結束的,兩者保持同步的關系;2.測試過程是對開發過程中階段性成果和最終產品進行驗證的過程,所以兩者相互依賴;3.測試過程中的工作重點和開發工作的重點可能不一樣,兩者有各自的特點
黑盒測試的特點:1.不基于對系統內部的設計和實現。2.用例設計基于功能的定義和需求說明書。3.關注于測試數據的選擇和測試結果的分析。
測試方法有:等價類劃分、邊界值分析法、判定表方法、因果圖法、正交實驗法、功能圖法、錯誤推測法
黑盒測試缺點:1.對用例設計人員的經驗要求較高,包括數據的選擇,對潛在錯誤的敏感性;2.對于內部實現的bug不容易發現;3.不能提供直觀的測試覆蓋率。
白盒測試的特點:1.需要了解系統的整體設計和實現;2.對源代碼進行審查;3.在單元測試階段發現大量的缺陷;4.關注于系統的控制流和數據流;
測試方法有:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、路徑覆蓋、基本路徑測試法
白盒測試缺點:1.不能確保系統是否完全符合需求說明書;2.白盒測試的代價會大于黑盒測試;3.需要源代碼首先完成才能進行測試;
集成測試中自頂向下和自底向上方法
自頂向下法:從主控模塊(主程序)開始,沿著軟件的控制層次向下移動,從而逐漸把各個模塊結合起來。具體步驟是:1.對主控模塊進行測試,測試時用樁程序代替所有直接附屬于主控模塊的模塊;2.根據選定的結合策略,每次用一個實際模塊代替一個樁程序;3.在結合下一個模塊的同時進行測試;4.為了保證加入模塊沒有引進新的錯誤,可能需要進行回歸測試。優點:不需要測試驅動程序,能夠在測試階段的早期實現并驗證系統的主要功能,而且能在早期發現上層模塊的接口錯誤。缺點:需要樁程序,可能遇到與此相聯系的測試困難,低層關鍵模塊中的錯誤發現較晚,而且用這種方法在早期不能充分展開人力
自底向上法:從“原子”模塊(即在軟件結構最底層的模塊)開始集成以進行測試,具體策略是:1.把底層模塊組合成實現某個特定的軟件子功能的族;2.寫一個驅動程序,協調測試數據的輸入輸出;3.對由模塊組成的子功能族進行測試;4.去掉驅動程序,沿軟件結構自下向上移動,把子功能族組合起來形成更大的子功能族。優缺點:剛好和自頂向上相反
簡述增量式集成測試的自頂向下和自底向上兩種測試方法:自頂向下增量式測試的主要優點在于它可以自然地做到逐步求精,一開始便能讓測試者看到系統的框架。它的主要缺點是
需要提供被調用模擬子模塊,被調用模擬子模塊可能不能反映真實情況,因此測試有可能不充分。自底向上測試的優點在于,由于驅動模塊模擬了所有調用參數,即使數據流并未構成有向的非環狀圖,生成測試數據也沒有困難。它的缺點在于,直到最后一個模塊被加入進去之后才能看到整個程序(系統)的框架
集成測試自底向上和自頂向下集成方法優缺點是什么?
自底向上集成方法盡早的對底層實用歷程進行測試,可以避免編寫眾多的樁模塊,使得系統底層的眾多問題及早得到解決。缺點是在一些頂層構件非常重要的情況下,卻將其放到了最后集成。
自頂向下集成方法則盡早進行了頂層控制模塊的測試和集成,使得系統整體上得到驗證,但卻將底層實用歷程的測試放到了最后。某些具有關鍵性能或作用的底層模塊的問題將在最后才可能被發現。
簡述系統測試過程的主要步驟及每個步驟的測試依據。
功能測試:測試依據是系統功能需求;
性能測試:測試依據是其他軟件需求;
驗收測試:測試依據是客戶需求規格說明書;
安裝測試:測試依據是用戶環境
第三篇:軟件測試期末復習題
1、黑盒測試與白盒測試各有哪些優缺點,應該如何結合才能解決漏洞和冗余問題?
答:黑盒測試與軟件如何實現無關,測試用例開發可以與實現并行進行,因此可以壓縮總的項目開發時間,但測試用例之間可能存在嚴重的冗余,還會有未測試的軟件漏洞。白盒測試局限于已經完成的代碼行為當中,離代碼太近。如果黑盒測試結合白盒測試的覆蓋率指標執行,冗余和漏洞問題都會被發現并解決。如果發現同一條程序路徑被多個功能性測試用例遍歷,就可以懷疑這種冗余不會發生新的缺陷,如果沒有達到一定的DD—路徑覆蓋,則可知在功能性測試用例中存在漏洞。
2、簡單描述一下軟件測試工程師一般會承擔的一些具體工作。
答:(1)檢視代碼、評審開發文檔(靜態測試方法)
(2)進行測試設計、寫作測試文檔(測試計劃、測試方案、測試用例等)
(3)執行測試,發現軟件缺陷,提交缺陷報告,并確認缺陷最終得到了修正
(4)通過測試度量軟件的質量
3、程序員應避免檢查自己的程序,為什么?
答:(1)程序員從來不會承認自己寫的程序有錯誤
(2)程序員的測試思路有明顯的局限性
(3)多數程序員沒有經過嚴格正規的職業訓練,常忽視測試
(4)程序員無良好的BUG跟蹤和回歸測試的習慣
4、增量式集成測試的策略分為自頂向下、自底向上和混合式三種,請簡述自底向上與自頂向下集成測試的優缺點?
答:(1)自頂向下增量式測試:
—主要優點在于它可以自然的做到逐步求精,一開始就能讓測試者看到系統的框架。—主要缺點是需要提供樁模塊,并且在輸入/輸出模塊接入系統以前,在樁模塊中表示測試數據有一定困難。
(2)自底向上增量式測試:
—優點在于,由于驅動模塊模擬了所有調用參數,即使數據流并未構成有向的非環狀圖,生成測試數據也無困難。
—主要缺點在于,直到最后一個模塊被加進去之后才能看到整個程序(系統)的框架。
5、如果軟件執行了動態測試,靜態測試就是毫無意義的,這句話是否正確?為什么? 答:這種說法是不正確的。靜態測試和動態測試之間并不存在哪種方式更加有效的問題.,兩者的關注點不同,能夠發現問題的程度也不同。靜態測試一般關注的是程序結構、邏輯以及代碼的風格,而動態測試更多關注結果與預期的比較。這二者不能夠完全一個替代另外一個。針對不同的軟件和不同的潛在問題,有可能是靜態測試容易發現,也有可能是動態測試更加容易發現.例如,諸如代碼結構方面的問題,在動態測試中就難以發現,而在靜態測試中就一目了然.
第四篇:軟件測試期末總結
1.下列關于軟件測試的敘述錯誤的是(D)。
A.軟件測試可以作為度量軟件與用戶需求間差距的手段 B.沒有發現錯誤的測試也是有價值的
C.軟件測試的根本目的是盡可能多地發現軟件中存在的問題,最終把一個高質量的軟件系統交給用戶使用
D.軟件測試的主要工作內容包括發現軟件中存在的錯誤并解決存在的問題
2.軟件測試技術可以分為靜態測試和動態測試,下列說法中錯誤的是(D)A.靜態測試是指不運行實際程序,通過檢查和閱讀等手段來發現程序中的錯誤。B.動態測試是指實際運行程序,通過運行的結果來發現程序中的錯誤。C.動態測試包括黑盒測試和白盒測試。
D.白盒測試是靜態測試,黑盒測試是動態測試。
3.月收入<=800元者免稅,現用輸入數800元和801元測試程序,則采用的是(A)方法。A.邊界值分析 B.條件覆蓋 C.錯誤推測 D.邏輯覆蓋
4.等價類劃分法的關鍵是(C)。A.確定等價類的邊界條件 B.按照用例來確定等價類 C.劃分等價類
D.確定系統中相同和不同的部分
5.某教學設備銷售部門制定一項銷售優惠政策,一次購買100臺或100臺以上者按八五折優惠,購買者是教師、學生按九折優惠。設C1表示購買的臺數,C2為1、2、0分別表示教師、學生和其他人員,則符合九折優惠判定條件為(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.軟件測試用例主要由輸入數據和(C)兩部分組成。A.測試計劃 B.測試規則 C.預期輸出結果
D.以往測試記錄分析
8.在用白盒測試中的邏輯覆蓋法設計測試用例時,有語句覆蓋、分支覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋和路徑覆蓋等,其中(A)是最弱的覆蓋準則。A.語句覆蓋 B.條件覆蓋
C.判定-條件覆蓋 D.條件組合覆蓋 9.以下不屬于白盒測試技術的是(D)A.邏輯覆蓋 B.基本路徑測試 C.循環覆蓋測試 D.等價類劃分
10.集成測試的策略一般分為:一次性集成和漸增式集成。下面哪一條真實地反映了前者與后者的不同?(A)。
A.后者比前者更適合大規模應用系統的集成測試
B.在集成測試中發現問題時,前者比后者更容易進行問題定位
C.前者需要開發驅動模塊和樁模塊,而后者不需要開發驅動模塊和樁模塊 D.前者不需要所有模塊就緒,而后者需要所有模塊就緒 11.集成測試又稱為組裝測試,其主要內容包括(C)。A.對整體的性能進行測試
B.用白盒法設計測試用例進行測試 C.確定組裝策略和次序 D.對運行過程進行測試
12.全局數據結構的錯誤通常在(C)中檢查。A.單元測試 B.有效性測試 C.集成測試 D.確認測試
13.軟件開發公司組織內部人員,模擬各類用戶行為對即將面市的軟件產品進行的測試我們稱之為(B)。A.系統測試
B.α測試 C.β測試 D.綜合測試
14.對一個網站的連接速度測試屬于(C)?
A.功能測試
B.客戶端兼容性測試
C.性能測試 D.安全測試
15.軟件測試管理是軟件工程的保護性活動,其基本內容不包括(C)。A.測試組織管理 B.測試過程管理 C.效益管理
D.資源和配置管理
32.下面對軟件測試流程的描述,哪個是正確的?(A)
A.制定測試計劃->設計測試方案及測試用例->部署實施測試->執行測試->缺陷跟蹤管理->測試總結報告
B.制定測試計劃->部署實施測試->設計測試方案及測試用例->執行測試->缺陷跟蹤管理->測試總結報告
C.部署實施測試->制定測試計劃->設計測試方案及測試用例->執行測試->缺陷跟蹤管理->測試總結報告 D.制定測試計劃->設計測試方案及測試用例->執行測試->部署實施測試->缺陷跟蹤管理->測試總結報告
15.與設計測試數據無關的是(D)A.該軟件的設計人員 B.程序的復雜程度 C.源程序
D.項目開發計劃
18.McCabe復雜性度量又稱(B)。A.代碼行度量 B.環路度量 C.程序量度量 D.功能性度量
1.(A)說明了軟件測試與開發的并行關系,體現了測試貫穿于整個開發過程的思想。A.W模型 B.V模型 C.H模型 D.X模型
2.在下面幾句中,判斷哪一個是正確的。(D)。A.測試工作應在編碼階段結束后開始。
B.測試設計工作與軟件開發活動是相互獨立、相互無關的。
C.測試腳本是指一個測試包,它由一組邏輯相關的測試用例組成。D.過度測試會影響進度和增加成本。
3.以下哪種測試方法屬于黑盒測試技術(C)。A.基本路徑測試 B.循環覆蓋測試 C.邊界值分析測試 D.語句覆蓋測試
4.程序功能說明中指出:由三個輸入數據表示一個三角形的三條邊長。根據黑盒法中的邊界值分析法設計測試用例,應選(D)。A.a=3,b=4,c=5 B.a=1,b=2,c=4 C.上述A、B項目都應選上 D.a=1,b=2,c=3 5.某程序功能說明中列出“規定每個運動員參賽項目為1——3項”,應用黑盒法中的等價類劃分法確定等價類是(D)。A.1<=項目數<=3 B.項目數<1 C.項目數>3 D.以上都是
6.如果某個程序的輸入數據的可能值劃分為n個合理等價類,m個不合理等價類,這些等價類均為數軸上的一個有限區間范圍,則采用邊界值測試方法至少需要(D)個測試用例。A.m+n B.2m+n C.2n+m D.2(m+n)7.在用白盒測試中的邏輯覆蓋法設計測試用例時,有語句覆蓋、分支覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋和路徑覆蓋等,在下列覆蓋中,(D)是最強的覆蓋準則。A.語句覆蓋 B.條件覆蓋
C.判定-條件覆蓋 D.條件組合覆蓋 8.{ void SelectSort(datalist & list){ //對表list.V[0]到list.V[n-1]進行排序, n是表當前長度。
for(int i = 0;i < list.n-1;i++){ int k = i;
//在list.V[i].key到list.V[n-1].key中找具有最小關鍵碼的對象 for(int j = i+1;j < list.n;j++)if(list.V[j].getKey()< list.V[k].getKey())k = j;
//當前具最小關鍵碼的對象
if(k!= i)Swap(list.V[i], list.V[k]);//交換
} } 上面是選擇排序的程序,其中datalist是數據表,它有兩個數據成員:一是元素類型為Element的數組V,另一個是數組大小n。算法中用到兩個操作,一是取某數組元素V[i]的關鍵碼操作getKey(),一是交換兩數組元素內容的操作Swap():請問該程序段的McCabe環路復雜性為多少?(D)} A.2 B.3 C.4 D.5 9.對于傳統軟件來說,按集成粒度不同可以把集成測試分為(C)。①模塊間集成測試 ②類內集成測試 ③類間集成測試 ④子系統內集成測試 ⑤ 子系統間集成測試 A.①②③ B.②③④ C.①④⑤ D.②③⑤
10.在有關集成測試的敘述中,(A)是正確的。A.測試底層模塊時不需要樁模塊 B.驅動模塊的作用是模擬被調模塊 C.自頂向下測試方法易于設計測試結果
D.自底向上測試方法有有利于提前預計測試結果 11.系統測試中主要用到的測試技術是(B)A.回歸測試 B.黑盒測試 C.白盒測試 D.功能測試
12.不斷執行同樣的操作,如不停地啟動或關閉程序、反復讀寫數據或者選擇同一個操作。這種測試我們稱之為(B)測試。A.強度 B.重復 C.壓迫 D.重負
13.以下關于測試管理原則的描述中不正確的是(C)。A.實施全過程測試,有助于及時應對項目變化,降低測試風險。
B.軟件應全面測試,不僅對所有產品進行測試,還要求開發人員和測試人員全面參與。C.不能將測試過程從開發過程中抽象出來,作為一個獨立的過程進行管理。
D.盡早開展測試準備工作,能使測試人員較早了解測試難度、預測風險、提高效率。14.下面敘述中,哪一項不是測試項目管理者的職責?(B)。A.合理分配任務 B.負責建立測試環境 C.制訂測試策略
D.將已有經驗靈活應用到新項目中
15.下列所述的測試原則中,錯誤的是(D)。A.應設計非法輸入的測試用例 B.測試用例要給出測試的預期結果 C.因維護修改程序后需回歸測試 D.開發小組與測試小組合并
1.對于軟件測試分類,下列各項都是按照不同階段來進行的劃分,除了(C)。A.單元測試 B.集成測試 C.黑盒測試 D.系統測試
2.在軟件測試中,確認測試主要用于發現(B)階段的錯誤。A.軟件計劃 B.需求分析 C.軟件設計 D.編碼
3.(C)方法根據輸出對輸入的依賴關系設計測試用例。A.路徑測試 B.等價類 C.因果圖
D.邊界值分析
4.在功能測試中,假設求實數x的平方根,我們第1次輸入“最小的負實數”進行測試,第2次輸入“稍小于0”進行測試,第3次輸入0進行測試,第4次輸入“稍大于0”進行測試,第5次輸入“最大的正實數”進行測試,那么這種測試屬于(A)。A.邊界值分析法 B.絕對值分析法 C.相對值分析法 D.等價類劃分法
5.為了提高測試的效率,應該(D)。A.隨機地選取測試數據 B.取一切可能的輸入數據作為測試數據 C.在完成編碼以后制定軟件的測試計劃
D.選擇發現錯誤可能性大的數據作為測試數據
6.現有一個計算類型的程序,它的輸入只有一個Y,其范圍是—50≤Y≤50。現從輸入的角度考慮設計了一組測試用例:—100,100,0。設計這組測試用例的方法是(B)。A.條件覆蓋法 B.等價類劃分法 C.邊界值分析法 D.錯誤推測法
7.實際的邏輯覆蓋測試中,一般以(C)為主設計測試用例。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環路復雜性為多少?(C)} A.4 B.5 C.6 D.7 9.測試人員在提交軟件缺陷報告后,很可能發現開發人員對報告的缺陷存在異議。因此需要一個雙方認同的準則,用于判定軟件產品是否存在軟件缺陷。在實際的軟件項目工作中,我們通常采納的判定準則是(B)。A.測試人員提供的這個軟件缺陷的證據
B.軟件產品的運行結果與需求規格說明書不一致 C.可以客觀地描述這個軟件缺陷 D.軟件產品的運行結果與測試人員預期的不一致
10.從供選擇的答案中選出同下列關于軟件測試的各條敘述關系最密切的字句。
在測試具有層次結構的大型軟件時,有一種方法是從上層模塊開始,由上到下進行測試。此時,有必要用一些模塊替代尚未測試過的下層模塊。(A)A.樁 B.仿真器 C.模擬器 D.原型
11.集成測試時,能較早發現高層模塊接口錯誤的測試方法為(A)。A.自頂向下漸增式測試 B.自底向上漸增式測試 C.非漸增式測試 D.系統測試
12.系統測試一般從客戶角度考察和評價軟件產品的質量,不考慮開發方關注的質量特性。那么,下面那一個質量特性一般不是系統測試的重點?(D)A.是否符合有關的國家和行業標準 B.產品版本升級是否容易
C.軟件產品是否易于理解和使用 D.可復用的軟件部件所占的比例
13.同時啟動上百個模擬連接去請求服務器的服務,這種測試我們稱之為(D)測試。A.安全 B.重復 C.容量 D.壓力
14.在軟件質量概念中,不屬于測試要達到的目標為(D)A.確保建立了測試計劃,并按照測試計劃進行測試 B.確保測試計劃覆蓋了所有的系統規格定義和系統需求 C.確保經過測試和調試,軟件仍舊符合系統規格和需求定義 D.確保設計變更被正確的跟蹤、控制、文檔化
15.軟件測試是軟件質量保證的重要手段,下述哪種測試是軟件測試的最基礎環節?(B)A.功能測試 B.單元測試 C.結構測試 D.確認測試
1.提高測試的有效性十分重要,“高產”的測(C)。A.用適量的測試用例運行程序,證明被測程序正確無誤
B.用適量的測試用例運行程序,證明被測程序符合相應的要求 C.用少量的測試用例運行程序,發現被測程序盡可能多的錯誤 D.用少量的測試用例運行程序,糾正被測程序盡可能多的錯誤 2.在一個軟件項目中,開發人員主要承擔哪項工(D)A.驗收測試 B.系統測試 C.回歸測試 D.單元測試
3.某信息管理系統中,允許用戶輸入8位數字的市話號碼。如果使用等價類劃分法來設計測試用例,從保證測試效果的角度看,你認為哪一組是最佳的選擇(C)。A.63570007、80603805、100080、39103825 B.62570007、80603805 C.62570007、391038255、8252323、空值、h? D.39103825、8252323、@、*** 4.如果一個排序程序所設定的測試用例為:(1)表空
(2)表中只有一個元素
(3)表中均有相同的關鍵字值
(4)元素已排序,則此測試方法稱為(D)。A.等價類劃分法 B.邊界值分析法 C.因果圖法 D.錯誤推測法
5.軟件測試方法中,黑盒、白盒測試法是常用的方法,其中黑盒測試主要用于測試(B)。A.結構合理性 B.軟件的功能 C.程序正確性 D.程序內部邏輯
6.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是(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是數據表,n是datalist的長度。請問該程序段的McCabe環路復雜性為多少?(B)} A.2 B.3 C.4 D.5 8.使用程序設計的控制結構導出測試用例的測試方法是(B)A.黑盒測試 B.白盒測試 C.邊界測試 D.系統測試 9.集成測試也叫做(A)。①單元測試 ②部件測試 ③組裝測試 ④系統測試 ⑤確認測試 ⑥聯合測試 A.③⑥ B.①② C.⑤⑥ D.③④ 10.漸增式集成測試是將模塊一個一個地連入系統,每連入一個模塊(C)。A.只需要對新連入的模塊進行測試 B.都不需要再進行測試 C.要對新子系統進行測試 D.都要進行回歸測試 11.軟件開發公司組織各方面的典型用戶在日常工作中對軟件進行實際使用,并要求用戶報告異常情況,這種測試我們稱之為(C)。A.系統測試 B.α測試 C.β測試 D.綜合測試 12.單元測試是發現編碼錯誤,集成測試是發現模塊的接口錯誤,確認測試是為了發現功能錯誤,那么系統測試是為了發現(C)的錯誤。A.接口錯誤 B.編碼錯誤 C.性能、質量不合要求 D.功能錯誤 13.在實際的軟件項目工作中,測試人員運行測試用例,觀察運行結果,當發現軟件缺陷時提交軟件缺陷報告。那么,測試人員判定一個運行結果中存在缺陷的準則是(C)。A.這個運行結果與測試人員預期的不一致 B.測試人員可以從中找到缺陷的證據 C.這個運行結果與測試用例中的預期結果不一致 D.開發人員承認這個運行結果中存在缺陷 14.軟件測試計劃開始于需求分析階段,完成于(B)階段。A.需求分析 B.軟件設計 C.軟件實現 D.軟件測試 15.與設計測試用例無關的文檔是(A)。A.項目開發計劃 B.需求規格說明書 C.設計說明書 D.源程序 1.下面說法正確的是(C)。 A.經過測試沒有發現錯誤說明程序正確 B.測試的目標是為了證明程序沒有錯誤 C.成功的測試是發現了迄今尚未發現的錯誤的測試 D.成功的測試是沒有發現錯誤的測試 2.不屬于白盒測試的技術是(C)。A.語句覆蓋 B.判定覆蓋 C.邊界值分析 D.基本路徑測試 3.單元測試主要針對模塊的幾個基本特征進行測試,該階段不能完成的測試是(A)。A.系統功能 B.局部數據結構 C.重要的執行路徑 D.錯誤處理 4.軟件測試過程中的集成測試主要是為了發現(B)階段的錯誤。A.需求分析 B.概要分析 C.詳細設計 D.編碼 5.軟件測試不需要了解軟件設計的(D)。 A.功能 B.內部結構 C.處理過程 D.條件 6.(C)方法根據輸出對輸入的依賴關系設計測試用例。A.路徑測試 B.等價類 C.因果圖 D.邊界值分析 7.通常,在(D)的基礎上,將所有模塊按照設計要求組裝成系統 A.組裝測試 B.系統測試 C.驗收測試 D.單元測試 9.使用白盒測試方法時,確定測試數據應根據(A)和指定的覆蓋標準。 A.程序內部邏輯 B.程序的復雜度 C.使用說明書 D.程序的功能 10.與設計測試用例無關的文檔是(A)。A.項目開發計劃 B.需求規格說明書 C.設計說明書 D.源程序 1.負載測試是驗證要檢驗的系統的能力最高能達到什么程度。錯 2.健壯性測試的測試重點為當出現故障時,是否能夠自動恢復或忽略故障繼續運行。對 3.可用性測試是對于用戶友好性的測試,是指在設計過程中被用來改善易用性的一系列方法。對 4.軟件測試管理原則之一是全面測試,它的含義:一是對軟件的所有產品進行全面的測試;二是測試人員應對測試的全過程進行全程的跟蹤。錯 5.程序代碼編寫完成之后,軟件測試工作開始。錯 6.軟件測試是測試人員的事,與開發人員無關。錯 7.軟件的Bug就是指程序運行時出現的故障。錯 8.在n個變量的程序中,用邊界值分析法設計測試用例,測試用例的個數為4n+1。對 9.缺陷狀態為“已解決”表示該缺陷已經被測試人員回歸測試完畢,準備歸檔移除。錯 10.處于“已解決”狀態的缺陷,下一步狀態只能是“重新提交”或者“已關閉”。對 1.在進行負載測試的同時進行安全性測試是不合情理的。錯 2.在性能測試中,如果發現SQLServer資源監控中的一個指標緩存點擊率偏高,這說明系統運行效率較高。對 3.在程序有修改的情況下保證原有功能正常的一種測試方法是回歸測試。對 4.所有測試的標準都是建立在用戶需求之上。對 5.黑盒測試用例在軟件編碼完成后才可以設計。錯 6.軟件測試技術要求不高,至少比編程容易多了。錯 7.設計-實現-測試,軟件測試是開發后期的一個階段。錯 8.在n個變量的程序中,采用健壯性邊界值分析法設計測試用例,測試用例的個數為6n+1。對 9.缺陷狀態為“打開”表示該缺陷已被開發人員看到。對 10.缺陷狀態為“已拒絕”表示該缺陷開發人員拒絕修改。對 1.系統測試的目標是要找出軟件在與系統其他部分協調工作時出現的所有故障。錯 2.壓力測試是通過逐步增加系統負載來測試系統性能的變化,并最終確定在什么負載條件下系統性能處于失效狀態,以此來獲得系統性能提供的最大服務級別的測試。對 3.安全性測試最終證明應用程序是安全的。錯 4.軟件開發是一個漸進的過程,測試計劃需要根據需求變更及時調整。對 5.項目立項前測試人員不需要提交任何工件。對 6.軟件測試隨便找一個能力差的人就能做。錯 7.永遠也不可能完成軟件測試,這個重擔將從開發方轉移到客戶/用戶的身上,用戶的每一次使用就是一次測試。對 8.當被測軟件仍存在嚴重影響系統功能實現的缺陷,但存在合理的更正辦法時,該軟件可以發布。錯 9.缺陷狀態為“打開”表示該缺陷剛提交,開發人員還未看到該缺陷。錯 10.處于“已拒絕”狀態的缺陷,下一步狀態只能是“重新提交”或者“已關閉”。對 1.性能測試的重點在于前期數據的設計與后期數據的分析。對 2.通常使用平均無故障時間MTBF來衡量系統的可靠性。對 3.先對每個模塊分別測試,然后統一組裝成軟件系統的方法稱為漸增式測試。錯 4.測試計劃是做好測試工作的前提。對 5.如果發布出去的軟件有質量問題,那是軟件測試人員的錯。錯 6.有時間就多測試一些,來不及就少測試一些。錯 7.當用于軟件測試的時間或資金不夠用時,就完成了軟件測試。錯 8.當被測軟件仍存在嚴重影響系統功能實現的缺陷,但不存在合理的更正辦法時,該軟件可以發布。錯 9.缺陷狀態為“已解決”表示該缺陷已經被開發人員修改好,但是測試人員還未進行回歸測試。對 10.處于“打開”狀態的缺陷,下一步狀態只能是“已解決”或者“已拒絕”。對 軟件測試的定義: 軟件測試是為了發現錯誤而執行程序的過程”,明確提出了“尋找錯誤”是測試的目的。 使用人工或自動手段運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清楚預期結果與實際結果之間的差別”。軟件測試是一種重要的軟件質量保證活動,包括“分析”軟件和“運行”軟件,是軟件質量保證的關鍵步驟。測試用例: 測試用例是為特定的目的而設計的一組測試輸入、執行條件和預期的結果;測試用例是執行測試的最小實體。為什么要設計測試用例: 1.在開始實施測試之前設計好測試用例,可以避免盲目測試并提高測試效率。2.測試用例的使用令軟件測試的實施重點突出、目的明確。3.在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強度、縮短項目周期。4.功能模塊的通用化和復用化使軟件易于開發,而相對于功能模塊的測試用例的通用化和復用化則會使軟件測試易于開展,并隨著測試用例的不斷精化其效率也不斷攀升 軟件測試的對象: 需求規格說明 概要設計規格說明 詳細設計規格說明 源程序 軟件測試的目的(1)測試是程序的執行過程,目的在于發現錯誤;不能證明程序的正確性,除非僅處理有限種情況。2)檢查系統是否滿足需求也是測試的期望目標。(3)一個好的測試用例在于能發現還未曾發現的錯誤;一次成功的測試則是發現了至今未發現的錯誤的測試。 軟件測試模型: V模型、W模型、H模型、X模型 軟件缺陷的定義:最終產品同用戶的期望不一致。功能錯誤 功能遺漏 超出需求的部分 性能不符合要求 軟件測試人員認為軟件難以理解、不易使用,或者最終用戶認為該軟件使用效果不良。 軟件缺陷產生的原因:軟件產品說明書(需求)56% 編寫代碼7% 設計27% 其他10% 缺陷的管理:缺陷嚴重程度;嚴重、較大、較小、輕微 缺陷優先級;立即、排隊、不緊急缺陷狀態;提交、打開、拒絕、解決、關閉 黑盒測試法的概念 黑盒測試被稱為功能測試或數據驅動測試。在測試時,把被測程序視為一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下進行。 黑盒測試主要根據規格說明書設計測試用例,并不涉及程序內部構造和內部特性,只依靠被測程序輸入和輸出之間的關系或程序的功能設計測試用例,檢查程序功能是否按照規格說明書的規定正常使用。 如何劃分等價類: 1)如果輸入條件規定了取值范圍或值的個數就可確定一個有效等價類和兩個無效等價類 (2)輸入條件規定了輸入值的集合,或是規定了“必須如何”的條件,則可確定一個有效等價類和一個無效等價類 (3)如果輸入條件是一個布爾量,則可以確立一個有效等價類和一個無效等價類。 (4)如果規定了輸入數據的一組值, 且程序要對每一個輸入值分別進行處理, 要對每一個規定的輸入值確立一個有效等價類,而對于這組值之外的所有值確立一個無效等價類。 (5)如果規定了輸入數據必須遵循的規則,可確定一個有效等價類和若干個無效等價類(從不同角度違反規則)。 (6)如已劃分的等價類各元素在程序中的處理方式不同,則應將此等價類進一步劃分成更小的等價類。 用等價類設計測試用例步驟 (1)劃分等價類,形成等價類表(2)設計一新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類,重復這一步驟,直到所有的有效等價類都被覆蓋為止;(3)設計一新測試用例,使其只覆蓋一個無效等價類,重復這一步驟直到所有無效等價類均被覆蓋; 等價類測試的分類: 單缺陷與多缺陷假設產生弱等價類與強等價類測試之分;是否進行無效數據的處理產生健壯與一般等價類測試之分; 等價類測試的分類:弱一般等價類測試 強一般等價類測試 弱健壯等價類測試 強健壯等價類測試 邊界值分析法:對輸入或輸出的邊界值進行測試的一種黑盒測試方法。 邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。 邊界值測試方案分兩種方案:五點法: min、min+、nom、max-和max七點法: min-、min、min+、nom、max-和max、max+ 選擇測試用例的原則 (1)如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界值以及剛剛超過這個范圍邊界的值作為測試輸入數據。 (2)如果輸入條件規定了值的個數,則用最大個數、最小個數和比最大個數多1個、比最小個數少1個的數作為測試數據。 (3)根據程序規格說明的每個輸出條件,使用原則(1)。 (4)根據程序規格說明的每個輸出條件,使用原則(2)。 (5)如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合中的第一個和 最后一個元素作為測試用例。 (6)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例。 (7)分析程序規格說明,找出其它可能的邊界條件。 判定表,叫決策表,分析和表達多邏輯條件下執行不同操作的工具。 條件樁:出問題的所有條件;動作樁:可能采取的操作 條件項:列出條件樁的取值;動作項:列出條件項各種取值下應該采取的動作;規則:在判定表中貫穿條件項和動作項的一列就是一條規則; 判定表建立步驟①列出所有的條件樁和動作樁;②確定規則的個數;③填入條件項;④填入動作項,得到初始決策表;⑤簡化,合并相似規則(相同動作)。 因果圖法:是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。因果圖基本符號(ppt34) 程序插樁技術:軟件動態測試中,程序插樁是一種基本的測試手段;借助于往被測程序中插入操作來實現測試目的方法,最簡單的插樁:在程序中插入打印語句printf(“…”)語句 基本路徑測試 通過分析程序控制流圖的環路的復雜性,導出基本路徑集合,從而設計測試用例,保證這些路徑至少通過一次。獨立路徑:至少沿一條新的邊移動的路徑 單元測試:又稱模塊測試,是針對軟件設計的最小單位——程序模塊,進行正確性檢驗的測試工作,是代碼級的測試。基本單元本身不是一個獨立的程序,自己不能運行,要靠其它部分來調用和驅動。 驅動模塊:被測基本單元的主程序,它接收測試數據,并把數據傳送給被測單元,最后輸出實測結果。 樁模塊──存根模塊,用來代替被測基本單元調用的其他基本單元。 單元測試的內容:主要對模塊的五個基本特性進行評價(模塊接口 局部數據結構 邊界條件 重要的執行路徑 錯誤處理)單元測試策略: 自頂向下的單元測試 自底向上的單元測試 孤立單元測試 集成測試:叫組裝測試或聯合測試,集成測試遵循特定的策略和步驟將已經通過單元測試的各個軟件單元(或模塊)按照設計要求逐步集成為系統或子系統,并進行測試,以期望通過測試發現各軟件單元接口之間存在的問題,驗證程序和概要設計說明的一致性 集成測試對象:理論上凡是兩個單元(如函數單元)的組合測試都可以叫做集成測試。實際操作中,通常集成測試的對象為模塊級的集成和子系統間的集成,其中子系統集成測試稱為組件測試。 集成測試內容: 集成功能測試 接口測試 全局數據結構測試 資源測試 任務優先級沖突測試 性能和穩定性測試 集成測試方法: 基于功能分解的集成 非漸增式集成 漸增式集成;基于調用圖的集成有兩種:成對集成 相鄰集成 其他集成 客戶/服務器集成: 分層集成 高頻集成增量式集成測試兩種方法的比較 自頂向下增量式測試的主要優點在于它可以自然地做到逐步求精,一開始便能讓測試者看到系統的框架。它的主要缺點是需要提供被調用模擬子模塊,被調用模擬子模塊可能不能反映真實情況,因此測試有可能不充分。 自底向上測試的優點在于,由于驅動模塊模擬了所有調用參數,即使數據流并未構成有向的非環狀圖,生成測試數據也沒有困難。它的缺點在于,直到最后一個模塊被加入進去之后才能看到整個程序(系統)的框架。 系統測試:是將通過確認測試的軟件,作為整個基于計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其它系統元素結合在一起,在實際運行環境下,為了發現缺陷并度量產品質量,按照系統的功能和性能需求進行的一系列組裝測試和確認測試。 系統測試的依據: 開發人員提供的“需求規格說明書”,凡是和規格書不一致的地方都可以認為是問題。當然也不排除規格書有誤的地方,這些也需要提出來要求開發人員改正,以保證資料的正確性和權威性。 系統測試類型 web系統測試:功能測試、性能測試、安全性測試、兼容性測試、易用性測試、配置測試; 通訊類系統:功能測試、可靠性測試、鑒權測試、產品許可測試、多終端測試; 單機版系統:功能測試、安裝測試、容量測試、界面測試、恢復測試; 自動化測試: 通過測試工具或其他手段來部分替代手工測試,并按照測試工程師預定計劃進行自動測試的活動,它是軟件測試的一個重要組成部分,能夠完成許多手工無法完成或者難以實現的一些測試工作。 正確、合理地實施自動化測試,能夠快速、全面地對軟件進行測試,從而提高軟件質量,節省經費、縮短產品發布周期。自動化測試的基本原理: 錄制 腳本編輯 回放 運行腳本 分析結果 自動化測試的優點: 1、對程序的回歸測試更方便。 2、可以運行更多更繁瑣的測試 3、可以執行一些手工測試困難或不可能進行的測試。 4、更好地利用資源,將繁瑣的任務自動化,將測試技術人員解脫出來投入更多精力設計更好的測試用例。 5、測試具有一致性和可重復性 6、測試具有復用性,自動化測試的腳本技術可在不同的測試過程重用。 7、增加軟件信任度。自動化測試的缺點: 1、不能取代手工測試; 2、手工測試比自動測試發現的缺陷更多; 3、對測試質量的依賴性極大; 4、測試自動化不能提高有效性; 5、測試自動化可能會制約軟件開發。由于自動測試比手動測試更脆弱,所以維護會受到限制,從而制約軟件的開發。 6、工具本身并無想像力。 測試工具分類: 白盒測試工具: JUnit 黑盒測試工具:QuickTest 性能測試工具: LoadRunner 用于測試管理: TestDirector第五篇:軟件測試復習