軟件測試理論題_第1頁
軟件測試理論題_第2頁
軟件測試理論題_第3頁
軟件測試理論題_第4頁
軟件測試理論題_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、選擇題1. 軟件測試的目的是( B )A. 避免軟件開發中出現的錯誤B. 發現軟件中出現的錯誤C. 容忍軟件中出現的錯誤D. 修改軟件中出現的錯誤2. 對于邏輯表達式(a&b)| |c),需要( C )個測試用例才能完成條件組合覆蓋。A 2B 3C 4D 53. 邏輯覆蓋法不包括( C )。A 分支覆蓋B 語句覆蓋C 需求覆蓋D 修正條件判定覆蓋4. 如果某測試用例集實現了某軟件的路徑覆蓋,那么它一定同事實現了該軟件的( A )。A. 判定覆蓋B. 條件覆蓋C. 判定/條件覆蓋D. 組合覆蓋5. 使用白盒測試方法時,確定測試數據的依據是指定覆蓋標準和( B )。A 程序的注釋第 1

2、 頁 共 37 頁B 程序的內部邏輯C 用戶使用說明書D 程序的需求說明6. 劃分軟件測試屬于白盒測試還是黑盒測試的依據是( C )。A 是否執行程序代碼B 是否能看到軟件設計文檔C 是否能看到被測源程序D 運行結果是否確定7. 單元測試中用來模擬被測模塊調用者的模塊是( C )A 父模塊B 子模塊C 驅動模塊D 樁模塊8. 不屬于單元測試內容的是( A )A 模塊接口測試B 局部數據結構測試C 路經測試D 用戶界面測試9. 客戶端交易處理性能指標是一類重要的負載壓力測試指標,以下不屬于客戶端交易處理性能指標的是( C )A 負載測試B 壓力測試C 疲勞強度測試D 大數據量測試第 2 頁 共

3、37 頁10. 以下不屬于易用性而的是( D )A 功能易用性測試B 用戶界面測試C 輔助功能測試D 可靠性測試11. 軟件測試的目的是( F )E. 避免軟件開發中出現的錯誤 F. 發現軟件中出現的錯誤G. 容忍軟件中出現的錯誤H. 修改軟件中出現的錯誤12. 軟件的測試對象包括( D )。A 軟件代碼B 文檔第 3 頁 共 37 頁C 數據D 以上全選13. 對于邏輯表達式(a&b)| |c),需要( G )個測試用例才能完成條件組合覆蓋。E 2F 3G 4H 514. 如果某測試用例集實現了某軟件的路徑覆蓋,那么它一定同事實現了該軟件的( E )。E. 判定覆蓋F. 條件覆蓋G.

4、 判定/條件覆蓋H. 組合覆蓋15. 以下不屬于黑盒測試方法的是( D )A 等價類劃分法B 邊界值分析法C 錯誤推測法D 靜態結構分析法16. 劃分軟件測試屬于白盒測試還是黑盒測試的依據是( G )。E 是否執行程序代碼F 是否能看到軟件設計文檔G 是否能看到被測源程序H 運行結果是否確定17. 單元測試中用來模擬被測模塊調用者的模塊是( G )第 4 頁 共 37 頁E 父模塊F 子模塊G 驅動模塊H 樁模塊18. 不屬于單元測試內容的是( E )E 模塊接口測試F 局部數據結構測試G 路經測試H 用戶界面測試19. 在進行單元測試時,常用的方法是( B )A 采用黑盒測試,輔之以白盒測試

5、B 采用白盒測試,輔之以黑盒測試C 只是用黑盒測試D 只是用白盒測試20. 客戶端交易處理性能指標是一類重要的負載壓力測試指標,以下不屬于客戶端交易處理性能指標的是( G )E 負載測試F 壓力測試G 疲勞強度測試H 大數據量測試第 5 頁 共 37 頁21. 實際的邏輯覆蓋測試中,一般以( J )為主設計測試用例。I.J. 條件覆蓋 判定覆蓋K. 條件組合覆蓋L. 路徑覆蓋22. 單元測試所使用的主要測試方法是( D )A. 黑盒測試B. 靜態測試C. 動態測試D. 白盒測試23. 集成測試所使用的主要測試方法是( A )。A. 黑盒測試B. 靜態測試C. 動態測試D. 白盒測試第 6 頁

6、共 37 頁24. 系統集成測試常見的有哪幾種不同模式(AB )。A 非漸增式測試模式B 漸增式測試模式C 獨立測試模式D 非獨立測試模式25. 在集成測試中,主要的集成方法有( )。E 自頂向下F 自底向上G 大棒H 三明治26. 文檔測試主要檢查文檔的( ABCD )。A 正確性B 完備性C 易理解性D 一致性27. 驗收測試完成后還需要提交( AC ),才可交付用戶使用。A 驗收報告B 項目完成報告C 交付報告第 7 頁 共 37 頁D 無需提供任何報告28. 軟件產品的質量中的非功能需求包括( ABCD )等。A 適用性B 有效性C 可靠性D 性能29. 對于整個軟件的本地化過程來說,

7、需要解決的技術問題主要有( AC )。A 數據格式B 頁面顯示和布局C 配置和兼容性問題D 翻譯問題30. 測試團隊的基本責任應該是(ABCD )。A 發現軟件程序、系統或產品中的所有問題B 盡早地發現問題C 督促開發人員盡快地解決程序中的缺陷D 幫助團隊解決資金問題31. 軟件缺陷是由很多方面造成的,以下哪個方面是造成軟件缺陷的最多的地方( A )a) 規格說明書b) 系統設計結果c) 編寫代碼d) 其他32. 單元測試所使用的主要測試方法是( H )第 8 頁 共 37 頁E. 黑盒測試F. 靜態測試G. 動態測試H. 白盒測試33. 系統集成測試常見的有哪幾種不同模式( EF )。E 非

8、漸增式測試模式F 漸增式測試模式G 獨立測試模式H 非獨立測試模式34. 對于一些關鍵代碼或新人寫的代碼,主要采取( B )方式。A. 走查B. 會議審查C. 代碼互評D. 自查35. 在集成測試中,主要的集成方法有(I 自頂向下J 自底向上K 大棒L 三明治第 9 頁 共 37 頁)。36. 造成軟件的主要原因可從( ABC )方面來查找。A 技術問題B 軟件本身C 團隊工作D 資金問題37. 代碼評審有哪些方法( EFGH )。E 代碼走查F 正式會議審查G 代碼會審H 代碼咨詢38. 驅動程序,用以模擬被測模塊的(A )模塊。A 上級模塊B 下級模塊C 同級模塊D 其他39. 整體測試用

9、例的質量要求包括(ABCD )。A 覆蓋率B 易用性C 易維護性D 粒度適中40. 易用性、兼容性、安裝、文檔測試等主要在( A )階段完成。A 單元測試B 集成測試C 功能測試D 驗收測試第 10 頁 共 37 頁41. 實際的邏輯覆蓋測試中,一般以( C )為主設計測試用例。A. 條件覆蓋B. 判定覆蓋C. 條件組合覆蓋D. 路徑覆蓋42. 軟件的缺陷通常集中在( AB )階段。A. 需求分析B. 系統設計C. 編寫代碼D. 軟件測試43. 對于一些關鍵代碼或新人寫的代碼,主要采取( B )方式。A. 走查B. 會議審查C. 代碼互評D. 自查44. 軟件本地化工作中除了翻譯之外還應該(

10、BD )。A 處理字符集問題B 數據格式C 頁面顯示和布局D 配置和兼容性等問題45. 代碼評審有哪些方法( ABCD )。A 代碼走查B 正式會議審查第 11 頁 共 37 頁C 代碼會審D 代碼咨詢46. 易用性、兼容性、安裝、文檔測試等主要在( A )階段完成。A 單元測試B 集成測試C 功能測試D 驗收測試47. 系統集成測試常見的有哪幾種不同模式( IJ )。I 非漸增式測試模式J 漸增式測試模式K 獨立測試模式L 非獨立測試模式48. 驗收測試完成后還需要提交( EG ),才可交付用戶使用。E 驗收報告F 項目完成報告G 交付報告H 無需提供任何報告49. 系統集成測試常見的有哪幾

11、種不同模式( AB )。A 非漸增式測試模式B 漸增式測試模式C 獨立測試模式D 非獨立測試模式50. 單元測試的主要任務是完成單元中所有( ABCD )等測試。A. 獨立路徑B. 數據結構第 12 頁 共 37 頁C. 邊界條件D. 容錯性二、判斷題1. 測試應該盡可能早地進行測試。( Y )2. 應該在代碼編寫完成后開始測試。( X )3. 需求分析和設計階段不需要測試人員參與。( X )4. 白盒測試僅與程序的內部結構有關,完全可以不考慮程序的功能需求。( X )5. 黑盒測試容易知道用戶會用到那些功能,會遇到哪些問題( Y )6. 靜態測試通過對執行程序,找到程序中的錯誤或者是可疑之處

12、。( X )7. 在軟件的開發中,每次回歸測試都要重新運行完整的測試包。( )8. 在對軟件缺陷的描述中,測試人員可以對有個人的觀點,也可以對開發人員進行評價,有利于開發人員提高開發質量。( X )9. 驗收測試是由用戶完成的。( X )10. 集成測試就是系統測試。( X )11. 能夠盡可能早的有的時候因為時間緊迫,可以臨時安排幾個程序員或者行業新手做測試工作。( X )12. 在實際的運用中,無論對于白盒測試和黑盒測試,通常使用其中一種方法就可以完成對某一軟件的測試工作。( X )13. 發現軟件缺陷,就能夠盡可能地節約修復缺陷的成本,因此,因此在軟件的設計階段修復缺陷的費用最低。( X

13、 )14. 每一種測試方法都必須執行程序,才能得到最好的效果。( X )15. 在整個軟件團隊中,對軟件測試人員的要求比較低,會操作計算機、有一定的軟件使用經驗就可以。( X )第 13 頁 共 37 頁16. 在對軟件缺陷的描述中,測試人員可以對有個人的觀點,也可以對開發人員進行評價,有利于開發人員提高開發質量。( X )17. 驗收測試是由用戶完成的。(X )18. 在一個規范的軟件的開發中,開發人員的人數一般大于測試人員的人數。( X )19. 在整個開發周期中要對測試用例進行有效的跟蹤和維護。( Y )20. 功能測試也可以采用白盒測試的方法。( X )21. 根據著名的瀑布模型,軟件

14、測試應該處在“編程”的下游、在“軟件維護”的上游,先有編程,后有測試,測試的位置很清楚。( Y )22. 因為軟件開發人員不止一人,因此在測試時候,只能進行松散地實施測試。( X )23. 單元測試的主要人員構成是開發人員。( Y )24. 在進行系統測試的時候,當發現有錯誤時候,應該及時修正,緊接著修正下一個錯誤。( Y )25. 有的時候因為時間緊迫,可以臨時安排幾個程序員或者行業新手做測試工作。( X )26. 軟件質量的要求是要滿足軟件的功能性需求。( X )27. 在整個軟件團隊中,對軟件測試人員的要求比較低,會操作計算機、有一定的軟件使用經驗就可以。( X )28. 在整個軟件生命

15、周期中的每個階段、每個時刻都存在著軟件測試活動,軟件測試伴隨著軟件開發。( Y )29. 在整個開發周期中要對測試用例進行有效的跟蹤和維護。( Y )30. 功能測試也可以采用白盒測試的方法。(X )第 14 頁 共 37 頁31. 能夠盡可能早的有的時候因為時間緊迫,可以臨時安排幾個程序員或者行業新手做測試工作。( X )32. 在實際的運用中,無論對于白盒測試和黑盒測試,通常使用其中一種方法就可以完成對某一軟件的測試工作。( X )33. 發現軟件缺陷,就能夠盡可能地節約修復缺陷的成本,因此,因此在軟件的設計階段修復缺陷的費用最低。( X )34. 每一種測試方法都必須執行程序,才能得到最

16、好的效果。( X )35. 在整個軟件團隊中,對軟件測試人員的要求比較低,會操作計算機、有一定的軟件使用經驗就可以。( X )36. 在對軟件缺陷的描述中,測試人員可以對有個人的觀點,也可以對開發人員進行評價,有利于開發人員提高開發質量。( X )37. 驗收測試是由用戶完成的。( X )38. 在一個規范的軟件的開發中,開發人員的人數一般大于測試人員的人數。( X )39. 在整個開發周期中要對測試用例進行有效的跟蹤和維護。( Y )40. 功能測試也可以采用白盒測試的方法。( X )41. 測試應該盡可能早地進行測試。( Y )42. 若能推遲暴露軟件中的錯誤,則修復和改正錯誤所花費的代價

17、就會降低。( X )43. 白盒測試僅與程序的內部結構有關,完全可以不考慮程序的功能需求。( X )44. 黑盒測試容易知道用戶會用到那些功能,會遇到哪些問題( Y )45. 黑盒測試基于軟件開發文檔,所以也能知道軟件實現了文檔中的哪些第 15 頁 共 37 頁功能( Y )46. 邏輯覆蓋法是一種常用的白盒測試方法。( Y )47. 程序中存在很多判定和條件,不可能實現100%的條件覆蓋。( Y )48. 靜態測試通過對執行程序,找到程序中的錯誤或者是可疑之處。( X )49. 在整個開發周期中要對測試用例進行有效的跟蹤和維護。( Y )50. 在進行系統測試的時候,當發現有錯誤時候,應該及

18、時修正,緊接著修正下一個錯誤。( Y )三、簡答題1. 健壯等價類測試與標準等價類測試的主要區別是什么?解:主要區別在于健壯等價類測試在標準等價類的基礎上還要進行有效取值范圍之外的輸入(無效輸入)的測試。2. 單元測試有哪些步驟?各個步驟有哪些實施內容?單元測試的步驟通常單元測試在編碼階段進行。在源程序代碼編制完成,經過評審和驗證,確認沒有語法錯誤之后,就開始進行單元測試的測試用例設計。利用設計文檔,設計可以驗證程序功能、找出程序錯誤的多個測試用例。對于每一組輸入,應有預期的正確結果。模塊并不是一個獨立的程序,在考慮測試模塊時,同時要考慮它和外界的聯系,用一些輔助模塊去模擬與被測模塊相聯系的其

19、它模塊。這些輔助模塊分為兩種:驅動模塊:相當于被測模塊的主程序。它接收測試數據,把這些數據傳送給被測模塊,最后輸出實測結果。樁模塊:用以代替被測模塊調用的子模塊。樁模塊可以做少量的數據操作,不需要把子模塊所有功能都帶進來,但不允許什么事情也不做。如果一個模塊要完成多種功能,且以程序包或對象類的形式出現,例如Ada中的包,Modula中的模塊,C+中的類。這時可以將這個模塊看成由幾個小程序組成。對其中的每個小程序先進行單元測試要做的工作,對關鍵模塊還要做性能測試。對支持某些標準規程的程序,更要著手進行互聯測試。有人把這種情況特別稱為模塊測試,以區別單元測試。第 16 頁 共 37 頁單元測試的內

20、容模塊接口測試:對通過被測模塊的數據流進行測試。為此,對模塊接口,包括參數表、調用子模塊的參數、全程數據、文件輸入/輸出操作都必須檢查。局部數據結構測試:設計測試用例檢查數據類型說明、初始化、缺省值等方面的問題,還要查清全程數據對模塊的影響。路徑測試:選擇適當的測試用例,對模塊中重要的執行路徑進行測試。對基本執行路徑和循環進行測試可以發現大量路徑錯誤。錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經引起系統的干預等。邊界測試:要特別

21、注意數據流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。此外,如果對模塊運行時間有要求的話,還要專門進行關鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。這類信息對進行性能評價是十分有用的。3. 單元測試的策略主要有哪些,并簡述這些策略。單元測試策略主要有三種方式:1.自頂向下的單元測試策略:從頂層調用的單元做成樁模塊;對第二層測試,使用上面已測試的單元做驅動模塊;依次類推,直到全部單元測試結束。2.自底向上的單元測試策略:先對模塊調用的最底層模塊進行測試,模擬調用該模塊的模塊為驅動模塊;其次,對上一層模塊進行單元測試,

22、用已經被測試過的模塊做樁模塊,依次類推,直到全部單元測試結束。3.孤立測試的單元測試策略:無需考慮每個模塊與其他模塊之間的關系,分別為每個模塊單獨設計樁模塊和驅動模塊,逐一完成所有單元模塊的測試。第 17 頁 共 37 頁4. 集成測試有哪些不同的集成方法?簡述不同方法的特點。解:集成測試通常有一次性集成、自頂向下集成、自底向上集成和混合集成4種集成方法。一次性集成方法需要的測試用例數目少,測試方法簡單、易行。但是由于不可避免存在模塊間接口、全局數據結構等方面的問題,所以一次運行成功的可能性不大;如果一次集成的模塊數量多,集成測試后可能會出現大量的錯誤,給程序的錯誤定位與修改帶來很大的麻煩;即

23、使集成測試通過,也會遺漏很多錯誤進入系統測試。自頂向下集成在測試的過程中,可以較早地驗證主要的控制和判斷點;一般不需要驅動程序,減少了測試驅動程序開發和維護的費用;可以和開發設計工作一起并行執行集成測試,能夠靈活的適應目標環境;容易進行故障隔離和錯誤定位。但是在測試時需要為每個模塊的下層模塊提供樁模塊,樁模塊的開發和維護費用大;樁模塊不能反映真實情況,重要數據不能及時回送到上層模塊,導致測試不充分;涉及復雜算法和真正I/O的底層模塊最易出問題,在后期才遇到導致過多的回歸測試。自底向上集成可以盡早的驗證底層模塊的行為;提高了測試效率;一般不需要樁模塊;容易對錯誤進行定位。但是直到最后一個模塊加進

24、去之后才能看到整個系統的框架;驅動模塊的設計工作量大;不能及時發現高層模塊設計上的錯誤。混合集成具有自頂向下和自底向上兩種集成策略的優點,但是在被集成之前,中間層不能盡早得到充分的測試。5. 簡述基于功能分解的集成的特點,并分析其適用的應用場景。6. 系統測試主要包括哪些內容?解:系統測試主要包括強度測試、性能測試、恢復測試、安全測第 18 頁 共 37 頁試、可靠性測試、安裝測試、容量測試和文檔測試。7. 針對某論壇,考慮其重要測試的內容。8. 簡述黑盒測試方法的特點黑盒測試用例設計方法主要有以下幾種:等價類劃分法、邊界值分析法、因果圖法、決策表法、錯誤推測法等方法。等價類劃分法的特點:等價

25、類劃分法的優點是考慮了單個輸入域的各類情況,避免了盲目或隨機選取輸入數據的布完整性和覆蓋的不穩定性。等價類劃分法雖然簡單易用,但是沒有對組合情況進行充分的考慮。需要結合其他測試用例設計的方法進行補充。邊界值分析法的特點:1)邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。因果圖法的特點:1、考慮輸入條件間的組合關系。2、考慮輸出條件對輸入條件的信賴關系,即因果關系。3、測試用例發現錯誤的效率高。4、能檢查出功能說明書中的某些不一致或遺漏。決策表法的特點:在一個程序中,如果輸入輸出比較多,輸

26、入之間,輸出之間相互制約的條件比較多,在這種情況下使用決策表更合適,它可以清楚地表達它們之間的各種復雜關系。錯誤推測法的特點:沒有確定的步驟,很大程度上是憑經驗進行的。9. 健壯等價類測試與標準等價類測試的主要區別是什么?主要區別在于健壯等價類測試在標準等價類的基礎上還要進行有效取值范圍之外的輸入(無效輸入)的測試。10. 簡述單元測試的目的和意義。目的:是暴漏出失敗和錯誤。失敗的可能性是可預期的,并且可以使用斷言來進行檢查。而錯誤則是不可預期的問題意義:(1)提前發現問題并解決可以節約時間(2)是測試階段的基礎,為后期的集成測試和系統測試做好準備;(3)對單元獨立測試,容易發現問題,減少成本

27、。11. 單元測試的策略主要有哪些,并簡述這些策略。12. 簡述基于調用圖的集成的特點,并分析其適用的應用場景。第 19 頁 共 37 頁13. 什么是系統測試?系統測試是指測試整個系統已確定其是否能夠提供應用的所有需求行為,包含了多種測試活動,主要分為功能性測試和非功能測試。14. 針對某殺毒軟件(如360殺毒),考慮其需要測試的內容。主要是采用黑盒測試的方法,包括程序各功能性測試、界面友好性測試、時效性測試、安裝/卸載測試、用戶說明書測試、與其他軟件的兼容性、與特定硬件的兼容性、可靠性(如長時間運行,休眠/喚醒等)、合法性(版權標示驗證)等。15. 什么是軟件測試計劃?是指導測試過程的綱領

28、性文件,包含產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試交流和風險分析等內容。16. 制定軟件測試的計劃的原則有?(1)制定測試計劃應盡早開始;(2)保持測試計劃的靈活性;(3)保持測試計劃簡潔和易讀;(4)盡量爭取多渠道評審測試計劃;(5)計算測試計劃的投入。17. 單元測試的原則有哪些?(1)單元測試越早進行越好;(2)單元測試應該根據軟件詳細設計規格說明進行;(3)對于修改過的代碼應該重做單元測試,以保證對已發現錯誤的修改沒有引入新的錯誤;(4)當測試用例的測試結果與設計規格說明書的預期結果不一致時,測試人員應該如實記錄實際的測試結果;(5)單元測試應注意選

29、擇好被測試軟件單元的大小;(6)一個完整的單元測試說明應該包含軟件證明測試和負面測試;(7)注意使用單元測試工具。18. 單元測試的重要性及目的是什么?19. 系統測試與用戶測試有何不同?系統測試是測試整個系統已確定其是否能夠提供應用的所有需求行為;用戶測試分為體驗、界面、驗收、用戶測試報告組成20. 制定軟件測試的計劃的步驟有?(1)產品基本情況調研;(2)測試需求說明;(3)測試的策略和記錄;(4)測試資源配置;(5)計劃表;(6)問題跟蹤報告;(7)測試計劃的評審21. 什么是靜態測試、動態測試?第 20 頁 共 37 頁靜態測試:是一種不通過執行程序而進行測試的技術,只是檢測和評審。動

30、態測試:直接執行被測試程序以提供測試支持。22. 簡述單元測試的過程.(1)準備階段;(2)編制階段(3)代碼審查階段;(4)單元測試階段;(5)評審、提交階段。23. 什么是插樁程序設計?是在保證被測程序原有邏輯完整性的基礎上在程序中插于一些探針,通過探針的執行拋出程序運行的特征數據,通過這些數據的分析,可以獲得程序的控制流和數據信息,進而得到邏輯覆蓋等動態信息,從而實現測試目標的方法。24. 簡述系統測試的主要內容?(1)功能測試。即測試軟件系統的功能是否正確,其依據是需求文檔,如產品需求規格說明書。(2)健壯性測試。即測試軟件系統在異常情況下能否正常運行的能力。健壯性有兩層含義:一是容錯

31、能力,二是恢復能力25. 容量測試與壓力測試的區別有哪些?(1)壓力測試是在給系統不斷加壓,增加并發量,直到崩潰,找到系統所能承受的極限值。(2)容量測試是在預先分析的極限值下,系統能否正常運行。26. 如何組織軟件測試團隊(1)建立合理、高效的組織結構(2)建立正確的分工體系,即角色與職責;(3)培養合格的測試人員。27. 什么是軟件測試計劃?是指導測試過程的綱領性文件,包含產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試交流和風險分析等內容。28. 制定軟件測試的計劃的原則有?(1)制定測試計劃應盡早開始;(2)保持測試計劃的靈活性;(3)保持測試計劃簡潔和易讀;

32、(4)盡量爭取多渠道評審測試計劃;(5)計算測試計劃的投入。29. 單元測試的原則有哪些?(1)單元測試越早進行越好;(2)單元測試應該根據軟件詳細設計規格說明進行;(3)對于修改過的代碼應該重做單元測試,以保證對已發現錯誤的修改沒有引入新的錯誤;(4)當測試用例的測試結果與設計規第 21 頁 共 37 頁格說明書的預期結果不一致時,測試人員應該如實記錄實際的測試結果;(5)單元測試應注意選擇好被測試軟件單元的大小;(6)一個完整的單元測試說明應該包含軟件證明測試和負面測試;(7)注意使用單元測試工具。30. 單元測試的重要性及目的是什么?重要性:1、提前發現問題并解決可以節約時間2、是測試階

33、段的基礎,為后期的集成測試和系統測試做好準備;3、對單元獨立測試,容易發現問題,減少成本。目的:是暴漏出失敗和錯誤。失敗的可能性是可預期的,并且可以使用斷言來進行檢查。而錯誤則是不可預期的問題31. 測試和測試有什么不同?a 測試是在公司內部由用戶組織與的測試;a 測試對發現缺陷是可控的,但缺陷是人數有限、地域限制。b測試是在外部有用戶進行的測試;b測試不會認真地去發現缺陷,有時僅僅是為了搶占市場。四、綜合應用題1. 白盒測試方法的綜合應用(1) 簡述白盒測試用例的設計方法。解:白盒測試用例設計方法主要有邏輯覆蓋和獨立路徑測試。從覆蓋源程序語句的詳盡程度分析,邏輯覆蓋主要有以下不同的覆蓋標準:

34、語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。實際項目中,由于程序內部的邏輯存在不確定性和無窮性,尤其對于大規模復雜軟件,不必采用所有的覆蓋指標,而應根據實際情況選擇合適的覆蓋指標。獨立路徑測試是在程序控制流圖的基礎上,通過分析控制結構的環路復雜性,導出可執行的獨立路徑集合,從而設計出相應的測試用例。設計出的測試用例要保證被測程序的每條可執行的獨立路徑至少被執行一次。獨立路徑測試給出了滿足路徑覆蓋指標所需測試用例的下限,同時給出了語句覆蓋的上限,它可以確保對所有相互獨立的決策結果進行測試。(2) 分析歸納邏輯覆蓋的各種策略,并比較每種覆蓋的特點,分析在怎樣的情況下采用何

35、種覆蓋方式。解:語句覆蓋是選擇足夠多的測試數據,使被測程序中每個語句至少執行一次。語句覆蓋是最弱的邏輯覆蓋標準。判定覆蓋又叫分支覆蓋,它不僅每個語句必須至少執行一次,而且每個判定表達式的每種可能的結果都應該至少執行一次。判定條件覆蓋比語句覆蓋強,但是對程序邏輯的覆蓋程度仍然不高。第 22 頁 共 37 頁條件覆蓋的含義是,使判定表達式中的每個條件都取到各種可能的結果。條件覆蓋通常比判定覆蓋強,但是也可能有相反的情況:雖然每個條件都取到了兩個不同的結果,判定表達式卻始終只取一個值。判定/條件覆蓋的含義是,選取足夠多的測試數據,使得判定表達式中的每個條件都取到各種可能的值,而且每個判定表達式也都取

36、到各種可能的結果。但有時判定/條件覆蓋也并不比條件覆蓋更強。條件組合覆蓋是更強的邏輯覆蓋標準,它要求選取足夠的測試數據,使得每個判定表達式中條件的各種可能組合都至少出現一次。滿足條件組合覆蓋標準的測試數據,也一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋標準。因此,條件組合覆蓋是前述幾種覆蓋標準中最強的。但是,滿足條件組合覆蓋標準的測試數據并不一定能使程序中的每一條路徑都執行到。路徑覆蓋的定義是選取足夠多測試數據,使程序的每一條可能路徑都至少執行一次。但在實際問題中,一個不太復雜的程序,其路徑數都可能是一個龐大的數字,以致要在測試中覆蓋所有的路徑是不可能實現的。即使對于路徑數有限的程序做到了路徑覆

37、蓋,也不能保證被測程序的正確性。(3)請按照各種覆蓋方法為下述語句設計測試用例,并寫出測試過程 if(a>1) and (b=0) thenx=x/aif(a=2) or (x>1) thenx=x+1語句覆蓋:CASE 1:a=2,b=0,x=3。則程序按路徑ace執行,這樣該程序段第 23 頁 共 37 頁的4個語句均得到執行,從而達到了語句覆蓋。斷定覆蓋:CASE2:a=2,b=0,x=3。CASE3:a=1,b=0,x=1。則可分別執行路徑ace和abd。從而使兩個判斷的4個分支c、e和b、d分別得到覆蓋。 條件覆蓋:在上述程序段中,第一個判斷應考慮到: a>1取真值

38、,記為Ta1;a>1取價值,即a<=1時,記為Ta2; b=0取真值,記為Tb1;b=0取假值,即b!=0時,記為Tb2; 第二個判斷應考慮到: a=2取真值,記為Ta3;a=2取假值,即a!=2,記為Ta4; x>1取真值,記為Tx1;x>1取假值,即x<=1,記為Tx2;條件覆蓋測試用例以上兩個測試用例把4個條件的8種情況均做了覆蓋。判斷-條件覆蓋:語句中兩個判斷各包含兩個條件,這四個條件在兩個判斷中可能有八種組合:1號、a>1,b=0記為Ta,Tb; 2號、a>1,b!=0記為Ta,Fb; 3號、a<=1,b=0記為Fa,Tb; 4號、a&

39、lt;=1,b!=0 記為Fa,Fb; 5號、a=2,x>1記為Ya,Yx; 6號、a=2,x<=1記為Ya,Nx; 7號、a!=2,x>1記為Na,Yx; 8號、a!=2,x<=1記為Na,Nx;路徑覆蓋:根據題目語句有4條可能路徑 ace記為L1; abd記為L2;第 24 頁 共 37 頁abe記為L3; acd記為L4;2. 黑盒測試方法的綜合應用3. 案例:某保險公司的人壽保險的保費計算方式為:保費=投保額×保險費率其中保險費率依點數不同而有別,10點幾10點以上保費率為0.6%,10點一下保險費率為0.1%;而點數又是投保人的年齡,性別,混應狀況和

40、撫養人數來決定,具體規則如下表所示。年齡:一位或者兩位非零整數,值得有效范圍是1-99 性別:一位應為字符,只能去M或者F 婚姻:字符,只能取已婚或者未婚 撫養人數:空白或一位非零整數(1-9) 點數:一位或兩位非零整數,值得范圍是1-99第 25 頁 共 37 頁要求:根據以上的案例描述,設計出能否改所有等價類的測試用例。并寫出測試過程。4. 白盒測試方法的綜合應用示例源碼Dim a,b as IntegerDim c as DoubleIf(a>0 and b>0) Thenc = c/aEnd ifIf(a>1 OR c >1) Thenc = c +1End i

41、fc = b+c第 26 頁 共 37 頁要求:根據以上的示例源碼,采用兩種以上的白盒測試方法進行測試,要求寫出詳細的測試用例及測試過程,并比較你所采用的測試方法的優點和缺點。第 27 頁 共 37 頁5. 黑盒測試方法的綜合應用以“打印機打印文件”為例,用黑盒測試中的判定表法來對其進行測試。要求:寫出詳細的要求寫出詳細的測試步驟,測試用例以及詳細的測試過程。1、 列出所有的條件樁和動作樁條件樁:C1:有驅動程序嗎?C2:有紙張嗎?C3:有墨粉嗎?第 28 頁 共 37 頁動作樁:A1:安裝驅動程序 A2:加入紙張 A3:加入墨粉 A4:打印紙張 2、 確定規則個數輸入條件個數:3每個條件的取值:”是“或”否“ 規則個數:2*2*2=8 3、 填入條件項和動作項4、 簡化決策表,合并相似規則沒有相似規則,無需合并。 6. 白盒測試方法的綜合應用示例源碼(購物車添加商品方法,判斷hashmap中沒有pid對應的商品為false的情況下添加product)p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論