天天看點

軟體測試期末複習

填空題

1.軟體測試的目的是盡可能多地發現軟體中存在的錯誤,将測試結果作為糾錯的依據。

2.測試階段的基本任務是根據軟體開發各階段的文檔資料和程式的内部結構,精心設計一組測試用例利用這些執行個體執行程式找出軟體中潛在的各種 錯誤和缺陷

3.測試用例由輸入資料和預期的輸出資料兩部分組成,

4.軟體測試方法一般分為兩大類:動态測試方法和靜态測試方法。

5.動态測試通過運作程式發現錯誤。 根據測試用例的設計方法不同,動态測試又分為黑盒測試與白盒測試兩類。

6.靜态測試采用人工檢測和計算機輔助靜态分析的手段對程式進行檢測。

7.人工審查程式偏重于編碼品質的檢驗, 而軟體審查除了市查編碼還要對各階段軟體産品進行檢驗。

8. 計算機輔助靜态分析利用靜态分析工具對測試程式進行特性分析。

9.黑盒法隻在軟體的接口處進行測試,依據_需求規格說明書,檢查程式是否滿足功能要求。

10.白盒法必須考慮程式的内部結構和處理過程,以檢查 處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試.

11. 白盒測試是結構測試,被測對象是源程式__, 以程式的内部邏輯為基礎設計測試用例。

12.邏輯覆寫是對程式内部有判定 存在的邏輯結構設計測試用例,根據程式内部的邏輯覆寫程度又可分為_語句覆寫、判定覆寫、條件覆寫、判定/條件覆寫、條件組合覆寫、路徑覆寫6種覆寫技術。

13.實際的邏輯覆寫測試中,一般以條件組合覆 蓋為主設計測試用例,然後再補充部分用例,以達到路徑覆寫測試标準。

14. 循環覆寫是對程式内部有循環存在的邏輯結構設計測試用例,它通過限制循環次數來測試。

15. 基本路徑測試是在程式控制流程圖基礎上,通過分析控制構造的環路複雜性,導出_基本路徑集合, 進而設計測試用例。

16. 黑金測試是功能測試,用黑盒技術設計測試用例有4種方法:等價類劃分、邊界值分析、錯誤推測、因果圖.

17.等價類劃分從程式的_功能說明, 找出一個輸入條件(通常是一句話或: 一個短語),然後将每個輸入條件劃分成兩個或多個等價類.

18.邊界值分析是将測試邊界  情況作為重點目标,選取正好等于、剛剛大F或剛剛小于邊界值的測試資料。如果輸入或輸出城是個有序集合, 則應選取集合的第一個元素和最後一個元素作為測試用例。

19在測試程式時,根據經驗或直覺推測程式中可能存在的各種錯誤,稱為錯誤推測法

20. 因果圖的基本原理是通過畫_ 因果 圖,把用自然語言描述的功能說明轉換為判定表_, 最後為 判定表每一列設計一個測試用例,

 21測試的綜合政策是在測試中,聯合使用各種測試方法。 通常先用黑盒法設計基本的測試用例,再用白盒法補充一些必要的測試用例。

22軟體測試過程中需要3類資訊:軟體配置、測試配置 和測試工縣_

23.軟體測試般經過4個測試: 單元測試、內建測試、确認測試、系統測試

24.單元測試指對源程式中每一個程式單元進行測試,檢查各個子產品是否 正确實作規定的功能,進而發現子產品在編碼中或算法中的錯誤,它涉及編碼和 詳細設計的文檔,

25. 單元測試主要測試子產品的5個基本特征:子產品接口、局部資料結構、重要的執行路徑、錯誤處理、邊界條件,

26. 在單元測試中,需要為被測子產品設計驅動子產品和_樁子產品。驅動子產品用來模拟被測子產品的上級調用子產品,樁子產品用來代替 被測子產品所調用的子產品。

27.內建測試指在單元測試基礎上,将所有子產品按照設計要求組裝成個完整的系統進行的測試。也稱組裝測試或聯合測試。

28.內建測試的方法有兩種:非漸增式測試、漸增式測試

29. 漸增式測試有兩種不同的組裝子產品的方法:自頂向下結合、自底向上結合_.

30.自頂向下漸增式測試不需要編寫_ 驅動子產品,隻需要編寫樁子產品,其步驟是從子產品開始,沿着被測程式的_頂層的控制路徑逐漸向下測試, 它有兩種組合政策:軟體結構圖 和深度優先政策寬度優先政策_。

31.自底向上漸增式測試不需要編寫樁子產品,隻需要編寫_ 驅動子產品。

32.确認測試指檢查軟體的功能與性能是否與需求規格說明 書中确定的名額相符合,又稱有效性測試。

33.确認測試在模拟環境下運用黑盒測試方法,由專門測試人員和使用者參加的測試。

34.确認測試開始前需要制定測試計劃,結束後要寫出測試分析報告。 其測試用例要選用實際運用的資料。

35.軟體配置審查的任務是檢查軟體的所有文檔資料的完整性和正确性。

36.調試也稱糾錯,是在成功的測武之後才開始進行,其目的是确定錯誤的原因和位置,并改正錯誤。

37.調試技術包括簡單調試、歸納法調試、演繹法調式、回溯法調試

38.回溯法調試是從程式産生錯誤的地方出發,而歸納法調試是從 測試結果發現的線索入手。

39被測試程式不在機器上運作,而是采用人工測試和計算機輔助分析檢測的手段稱為靜态.測試。

40.用等價類劃分法設計一個測試用例時,使其覆寫盡可能多的尚未被覆寫的合理等價類。

41.用等價類劃分法設計一個測試用例時,使其覆着一個不合理等價類。

42. 在單元測試時,需要為被測試子產品設計__ 驅動子產品與樁子產品

43. 在內建測試時有兩種測試方法,它們是漸增式和非漸增式。

44軟體測試是為了發現錯誤 而執行程式的過程。

45. 運作被測程式的方法稱為動态測試,

46.動态測試中, 主要測試軟體功能的方法稱為黑盒法

47選擇測試用例,使得被測程式中每個判定的每個分支至少執行一次這種邏輯覆寫标準稱為___ 判定覆寫___

48.要覆寫含循環的所有路徑是不可能的,一股通過限制循環次數來測試

49.用等價類劃分法設計測試用例時,如果被測程式的某個輸入條件規定了取值範圍,  則可确定一個合理的等價類和兩個不合理的等價類

50.憑經驗或直覺推測程式中可能存在的錯誤而設計測試用例的方法是錯誤推測法

名詞解釋

1.軟體測試:軟體測試指為了發現軟體中的錯誤而執行軟體的過程。它的目标是盡可能多地發現軟體中存在的錯誤,将測試結果作為糾錯的依據。

2.靜态測試:指被測試的程式不在機器上運作,而是采用人工檢測和計算機輔助靜态分析的手段對程式進行檢測。

3. 動态測試:指通過運作程式發現錯誤

4.黑盒測試:指把測試對象看成個黑盒子 ,測試人員完全不考慮程式的内部結構和處理過程,隻在軟體的接口處進行測試,依據需求規格說明書,檢查程式是否滿足功能要求,又稱為功能測試或資料驅動測試。

5.白盒測試:把測試對象看成一個打開的盒子,測試人員需了解程式的内部結構和處理過程,以檢查處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試,檢驗内部控制結構和資料結構是否有錯,實際的運作狀态與預期的狀态是否一緻。

6.語句覆寫:設計足夠的測試用例,使被測程式中每個語句至少執行一次

7.判定覆寫:指設計足夠的測試用例,使被測程式中每個判定表達式至少獲得一次“真”值或“假”值,進而使程式的每個分支至少都通過一次,是以判定覆寫又稱分支覆寫

8.條件覆寫:設計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現一次。

9.判定/條件覆寫:設計足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出現一次,并使每個判定表達式所有可能的結果也至少出現一次。

10. 條件組合覆寫:指設計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的組合都至少出現一次。

11.路徑覆寫:設計足夠的測試用例,覆寫被測程式中所有可能的路徑

12.測試用例:指為尋找程式中的錯誤而精心設計的一組測試資料

13.驅動子產品:指用來模拟被測子產品的上級調用子產品,其功能比真正的上級子產品簡單得多,它隻完成接受測試資料,以上級子產品調用被測子產品的格式驅動被測子產品,接收被測子產品的測試結果并輸出。

14.樁子產品:是指模拟被測試的子產品所調用的子產品,而不是軟體産品的組成的部分

15.單元測試:指對源程式中每一個程式單元進行測試,檢查各個子產品是否正确實作規定的功能,進而發現子產品在編碼中或算法中的錯誤

16.內建測試:指在單元測試基礎上,将所有子產品按照設計要求組裝成一個完整的系統進行的測試。也稱組裝測試或聯合測試。

17确認測試:指檢查軟體的功能與性能是否與需求規格說明書中确定的名額相符合,又稱有效性測試。

18.漸增式測試:指逐個把未經過測試的子產品組裝到已經過測試的子產品上去,進行內建測試。每加入一個新子產品進行一次內建測試,重複此過程直到程式組裝完畢。

19.非漸增式測試:指首先對每個子產品分别進行單元測試,然後把所有的子產品按設計要求組裝在一起進行測試。

20.調試:指确定錯誤的原因和位置,并改正錯誤的過程,也稱糾錯。

21.人的因素的含義:

 1)人對感覺過程的認識,包括視覺、閱讀時的認知心理、記憶、歸納與演繹推理等;

2)使用者已有的技能和行為方式;

3)使用者所要求的完成的整個任務以及使用者對人機互動部分的特殊要求。

22.基線:已經通過正式複審和準許的某規約或産品,它是以可以作為進一步開發的基礎,并且隻能遵循正式的變化控制過程得到改變。它是軟體生存期各開發階段的一個特定點

23.軟體配置管理:簡稱SCM,它用于整個軟體工程過程。其主要目标是:辨別變更、控制變更、確定變更正确地實作、報告有關變更。SCM是一組管理整個軟體生存期各階段中變更的活動。

24軟體配置項:是軟體工程中産生的資訊項,它是配置管理的基本機關,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的正确的過程進行評估,确認每一處的修改。

25.軟體品質:軟體品質就是“軟體與明确地和隐含地定義的需求相一緻的程度”。

26.軟體缺陷:即為計算機軟體或程式中存在的某種破壞正常運作能力的問題、錯誤,或者隐藏的功能缺陷

簡答題:

1.為什麼說軟體測試是軟體開發中不可缺少的重要一環,但不是軟體品質保證的安全網?

①軟體測試是軟體開發中不可缺少的重要一環,原因是:

·測試的工作量約占整個項目開發工作量的40%左右,幾乎一半。如果是關系到人的生命安全的軟體,測試的工作量還要成倍增加。

·軟體測試代表了需求分析、設計、編碼的最終複審。

②軟體測試不是軟體品質保證的安全網,因為軟體測試隻能發現錯誤,不能保證沒有錯誤。

2.軟體測試的目的是什麼?為什麼把軟體測試的目的定義為隻是發現錯誤?

基于不同的立場,存在着兩種完全不同的測試目的。

從使用者的角度出發,普遍希望通過軟體測試暴露軟體中隐藏的錯誤和缺陷,以考慮是否可接受該産品。

從軟體開發者的角度出發,則希望測試成為表明軟體産品中不存在錯誤的過程,驗證該軟體已正确地實作了使用者的要求,确立人們對軟體品質的信心。

軟體測試的目标定義為隻是發現錯誤,原因是軟體測試可以有兩個目标,一個是預防錯誤,另一個是發現錯誤。由于軟體開發是人的創造性勞動,人的活動不可能完美無缺,錯誤可能發生在任何一個階段,是以預防錯誤這一目标幾乎是不可實作的,是以軟體測試的目标定義為隻是發現錯誤。

3.軟體測試應當遵循什麼原則?為什麼要遵循這些原則?

1. 應當把“盡早地和不斷地進行軟體測試”作為軟體開發者的座右銘。

2. 測試用例應由測試輸入資料和對應的預期輸出結果這兩部分組成。

3. 程式員應避免檢查自己的程式。

4. 在設計測試用例時,應包括合理的輸入條件和不合理的輸入條件。

5. 充分注意測試中的群集現象。

經驗表明,測試後程式中殘存的錯誤數目與該程式中已發現的錯誤數目成正比。

6. 嚴格執行測試計劃,排除測試的随意性。

7. 應當對每一個測試結果做全面檢查。

8. 妥善儲存測試計劃,測試用例,出錯統計和最終分析報告,為維護提供友善。

4.軟體測試的步驟是什麼?這些測試與軟體開發各階段之間的關系?

單元測試、內建測試、确認測試、系統測試,是軟體開發的一個階段但貫穿于整個過程

5.軟體測試的過程是什麼?

軟體測試是一個規則的過程,包括測試設計、測試執行以及測試結果比較等。

①測試設計:根據軟體開發各階段的文檔資料和程式的内部結構,利用各種設計測試用例技術精心設計測試用例。

②測試執行:利用這些測試用例執行程式,得到測試結果。

③測試結果比較:将預期的結果與實際測試結果進行比較,如果二者不符合,對于出現的錯誤進行糾錯,并修改相應文檔。修改後的程式還要進行再次測試,直到滿意為止。如果測試發現不了錯誤,可能由于測試配置考慮不周到,應考慮重新制定測試方案,設計測試用例。

6.單元測試、內建測試和确認測試各自主要目标是什麼?它們之間有什麼不同?互相有什麼關系?

單元測試、內建測試和确認測試各自主要目标是:

①單元測試的主要目标是檢查各個子產品是否正确實作規定的功能,進而發現子產品在編碼中或算法中的錯誤。

②內建測試的主要目标是檢查與設計相關的軟體體系結構的有關問題。

③确認測試的主要目标是檢查已實作的軟體是否滿足需求規格說明書中确定的各種需求。

單元測試、內建測試和确認測試之間的不同如下:

①測試内容不同:單元測試集中于單個子產品的功能和結構檢驗,其測試内容主要包括子產品接口、局部資料結構、重要的執行路徑、錯誤處理和邊界測試;內建測試集中于子產品組合的功能和軟體結構檢驗,其測試内容主要包括子產品組裝中可能出現的問題,即資料穿過接口可能丢失、一個子產品可能破壞另一個子產品的内容、子功能組裝可能不等于主功能、全程資料結構問題、誤差累積問題;确認測試集中于論證軟體需求的可追溯性,主要包括測試軟體功能和性能是否與軟體需求一緻、測試軟體配置的所有程式與文檔是否正确完整而且一緻。

②測試的方法不同:單元測試總是使用白盒測試法,為被測子產品設計驅動子產品和樁子產品;內建測試使用漸增式測試和非漸增式測試,漸增式測試又有分為自頂向下結合法和自底向上結合法;确認測試總是使用黑盒測試法。

③發現的錯誤不同:單元測試發現的錯誤主要是在編碼階段産生的錯誤,內建測試發現的錯誤主要是在設計階段産生的錯誤,确認測試發現的錯誤主要是在需求分析階段産生的錯誤。

④涉及的文檔不同:單元測試涉及編碼和詳細設計文檔,內建測試涉及詳細設計文檔和概要設計文檔,确認測試涉及軟體需求規格說明書和使用者手冊。

三者互相關系是:單元測試、內建測試和确認測試是順序實作的。首先單元測試對各個子產品進行測試,然後內建測試以單元測試為基礎,将所有已測子產品按照設計要求組裝成一個完整的系統,對子產品組合的功能和軟體結構檢驗進行測試,最後确認測試是以內建測試為基礎,測試內建的軟體是否滿足需求規格說明書中确定的各種需求。

7.什麼是黑盒測試與白盒測試?它們都适應哪些測試?

①黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程式的内部結構和處理過程,隻在軟體的接口處進行測試,依據需求規格說明書,檢查程式是否滿足功能要求,又稱為功能測試或資料驅動測試。

②白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程式的内部結構和處理過程,以檢查處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試,檢驗内部控制結構和資料結構是否有錯,實際的運作狀态與預期的狀态是否一緻。

③白盒測試适應的測試有單元測試、邏輯覆寫(按邏輯覆寫程度不同,有語句覆寫、判定覆寫、條件覆寫、判定/條件覆寫、條件組合覆寫和路徑覆寫。)、循環覆寫(限制循環次數,有單循環和嵌套循環)和基本路徑測試。

  • 黑盒測試适應的測試有:确認測試、等價類劃分、邊界值分析、錯誤推測和因果圖。

8.軟體配置管理的任務。

(1)制定項目的配置計劃;(2)對配置項進行辨別;(3)對配置項進行版本控制;(4)對配置項進行變更控制;(5)定期進行配置審計;(6)向相關人員報告配置的狀态

10、測試計劃應包括内容

一個測試計劃應包括:産品基本情況、測試需求說明、測試政策和記錄、測試資源配置計劃表、問題跟蹤報告、測試計劃的評審、結果等。

11、軟體測試階段是如何劃分的

軟體測試的階段劃分為:規格說明書審查;系統和程式設計審查;單元測試;內建測試;确認測試;系統測試;驗收測試。

12、簡述軟體測試過程

軟體測試過程主要包括如下6個活動:測試計劃;測試需求分析;測試設計;測試規程實作;測試執行;總結生成報告

13.一條軟體缺陷(bug)記錄都包含了哪些内容?如何送出高品質的軟體缺陷記錄?

1.和BUG對應的軟體版本2.開發的借口人員,測試人員3.BUG的優先級4.BUG的嚴重程度5.BUG可能屬于的子產品6.BUG的标題7.BUG的描述8.BUG的截圖9.BUG的狀态

10.BUG的錯誤類型(資料,界面。。。。)

14軟體測試人員在軟體開發過程中的任務?

尋找BUG2.避免軟體開發過程中的缺陷3.衡量軟體的品質4.關注使用者的需求

15.軟體測試和調試的差別?

1,軟體測試是找出軟體已經存在的錯誤,而調試是定位錯誤,修改程式以修正錯誤.

2,軟體測試從一個已知的條件開始,有預知的結局 而調試從未知的條件開始,其結局不可預知

3,軟體測試可以計劃,可以預先制定測試用例和過程,工作進度可以度量.而調試不能計劃,進度不可度量.

4,調試是在測試之後,在方法,思路,政策上都有所不同.

5,測試的對像可以是文檔和代碼 而調試的對像隻能是代碼 

6.調試是随機性的 由程式員完成 為了程式可運作

測試是有目的性的 由測試人員完成 為了程式可完成指定功能

16.什麼是回歸測試?

回歸測試是指修改了舊代碼後,重新進行測試以确認修改沒有引入新的錯誤或導緻其他代碼産生錯誤。

17.要使用自動化測試的幾個基本條件?

1. 需求變動不頻繁     2. 項目周期足夠長 

3. 測試腳本可重複使用 

4. 測試對象能盡可能的被自動化 

18.畫出軟體測試的V模型和W模型?

19.軟體缺陷等級如何劃分?

1)緻命錯誤

2)嚴重錯誤

3)一般錯誤:4)建議問題

20.如何劃分等價類?

在輸入條件規定的取值範圍或值的個數的情況下,可以确定一個有效等價類和兩個無效等價類。

在規定了輸入資料的一組值中(假定有n個值),并且程式要對每個輸入值分别處理的情況下,可以确定n個有效等價類和一個無效等價類。

在規定輸入資料必須遵守的規則的情況下,可以确定一個有效等價類和若幹個無效等價類。

在輸入條件規定了輸入值的集合或規定了“必須如何”的條件下,可以确定一個有效等價類和一個無效等價類。

在确定已劃分的等價類中各元素在程式進行中的方式不同的情況下,則應将該等價類進一步地劃分為更小的等價類。

21.任選:使用seleium.fiddler.postman.jmeter的基本過程?

22.任選語言,寫出模拟滑鼠,鍵盤操作的關鍵代碼?

from selenium import webdriver

import time

browser = webdriver.Chrome()

browser.get("http://www.baidu.com")

browser.maximize_window()

browser.find_element_by_id("kw").send_keys("貓")

time.sleep(3)

browser.find_element_by_id("su").click()

評審指導原則

(1)評審産品,而不是評審生産者。注意客氣地指出錯誤,氣氛輕松。

(2)不要離題,限制争論。有異議的問題不要争論但要記錄在案。

(3)對各個問題都發表見解。問題解決應該放到評審會議之後進行。

(4)為每個要評審的工作産品建立一個檢查表。應為分析、設計、編碼、測試文檔都建立檢查表。

(5)配置設定資源和時間。應該将評審作為軟體工程任務加以排程。

(6)評審以前所做的評審

黑盒測試和白盒測試是軟體測試的兩種基本方法,它們各自的優點和缺點是什麼?

黑盒測試的優點有:1.比較簡單,不需要了解程式内部的代碼及實作;2.與軟體的内部實作無關;  3.從使用者角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;4.基于軟體開發文檔,是以也能知道軟體實作了文檔中的哪些功能;5.在做軟體自動化測試時較為友善。

黑盒測試的缺點有:1.不可能覆寫所有的代碼,覆寫率較低,大概隻能達到總代碼量的30%;2.自動化測試的複用性較低。

白盒測試的優點有:幫助軟體測試人員增大代碼的覆寫率,提高代碼的品質,發現代碼中隐    藏的問題。

白盒測試的缺點有:1.程式運作會有很多不同的路徑,不可能測試所有的運作路徑;2測試基于代碼,隻能測試開發人員做的對不對,而不能知道設計的正确與否,可能會漏掉一些功能需求;3系統龐大時,測試開銷會非常大。

設計題

輸入三個整數,判斷三個整數能否構成三角形,請用黑盒測試方法一種設計相應的測試用例,

并詳細說明所使用黑盒測試方法.

6、根據自己的了解什麼是測試用例和測試規程,設計一個測試用例應當從哪幾方面考慮?

答:狹義的講,一個測試用例就是測試人員用以測試被測軟體的某個特性或特性組合的一組資料。這組資料可能是從使用者處得來的實際的一組資料,也可能是測試人員專門設計出來的測試軟體某些功能的一組資料。

測試規程就是詳細的對測試用例設計方法、測試方法、測試工具、測試環境和測試資料進行描述的文檔,還可以包括能把某個或某一組測試用例應用到被測軟體上完成某項測試的一系列的操作步驟。

設計測試用例應當從以下幾方面考慮:邊界值,等價類劃分,有效/無效值等。

7、什麼是軟體品質保證?軟體品質保證人員與開發人員的關系如何?

答:軟體品質保證就是通過確定軟體過程的品質,來保證軟體産品的品質。

軟體品質保證人員和開發人員之間具有管理上的嚴格的獨立性,兩個小組的管理者都不能越權管理另一組,但都可以向更高層的管理者彙報軟體開發中的問題

表7.12 電話号碼等價類劃分表

輸入 有效等價類 等價類編号 無效等價類 等價類編号
地區碼 空白 1 有非數字字元 3
四位有效數字 2 少于4位數字字元 4
多于4位數字字元 5
字首 非0或1開頭的四位數字 6 有非數字字元 7
少于4位數字字元 8
多于4位數字字元 9
0開頭的4位數字 10
1開頭的4位數字 11
字尾 四位數字 12 有非數字字元 13
少于4位數字字元 14
多于4位數字字元 15

步驟2:根據等價類劃分表,設計測試用例覆寫有效等價類,如表7.13所示。

表7.13 有效等價類測試用例

用例編号 輸入 覆寫有效等價類編号
地區碼 字首 字尾
CASE1 8632 3678 1, 6, 12
CASE2 0411 8631 8357 2, 6, 12

步驟3:根據無效等價類劃分表,設計測試用例覆寫無效等價類,如表7.14所示。

表7.14 無效等價類測試用例

用例編号 輸入 覆寫無效等價類編号
地區碼 字首 字尾
CASE1 041A 8632 3678 3
CASE2 041 8632 3678 4
CASE3 04111 8632 3678 5
CASE4 0411 A632 3678 7
CASE5 0411 863 3678 8
CASE6 0411 86321 3678 9
CASE7 0411 0632 3678 10
CASE8 0411 1632 3678 11
CASE9 0411 8632 A678 13
CASE10 0411 8632 678 14
CASE11 0411 8632 67890 15