1軟件測試的目的是(_第1頁
1軟件測試的目的是(_第2頁
1軟件測試的目的是(_第3頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、、選擇題1.軟件測試的目的是(A)試驗性運行軟件B)發(fā)現(xiàn)軟件錯誤C)證明軟件正確D)找出軟件中全部錯誤2.軟件測試中白盒法是通過分析程序的()來設(shè)計測試用例的。A)應(yīng)用范圍B)內(nèi)部邏輯C)功能D)輸入數(shù)據(jù)3.黑盒法是根據(jù)程序的()來設(shè)計測試用例的。A)應(yīng)用范圍B)內(nèi)部邏輯C)功能D)輸入數(shù)據(jù)4.為了提高軟件測試的效率,應(yīng)該(A)隨機地選取測試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C)在完成編碼以后制定軟件的測試計劃D)選擇發(fā)現(xiàn)錯誤可能性最大的數(shù)據(jù)作為測試用例5.與設(shè)計測試用例無關(guān)的文檔是(A)項目開發(fā)計劃B)需求規(guī)格說明書C)設(shè)計說明書D)源程序6.測試的關(guān)鍵問題是(A)如何組織軟件評審B)

2、如何選擇測試用例C)如何驗證程序的正確性D)如何采用綜合策略7.軟件測試用例主要由輸入數(shù)據(jù)和(兩部分組成。A)測試計劃B)測試規(guī)則C)預(yù)期輸出結(jié)果D)以往測試記錄分析8.成功的測試是指運行測試用例后(A)未發(fā)現(xiàn)程序錯誤B)發(fā)現(xiàn)了程序錯誤C)證明程序正確性D)改正了程序錯誤9.下列幾種邏輯覆蓋標準中,查錯能力最強的是(A)語句覆蓋B)判定覆蓋C)條件覆蓋D)條件組合覆蓋10.在黑盒測試中,著重檢查輸入條件組合的方法是(A)等價類劃分法B)邊界值分析法C)錯誤推測法D)因果圖法11.單元測試主要針對模塊的幾個基本特征進行測試,該階段不能完成的測試是(A)系統(tǒng)功能B)局部數(shù)據(jù)結(jié)構(gòu)C)重要的執(zhí)行路徑D

3、)錯誤處理12.軟件測試過程中的集成測試主要是為了發(fā)現(xiàn)()階段的錯誤。A)需求分析B)概要設(shè)計C)詳細設(shè)計D)編碼13.不屬于白盒測試的技術(shù)是(A)路徑覆蓋B)判定覆蓋C)循環(huán)覆蓋D)邊界值分析14.集成測試時,能較早發(fā)現(xiàn)高層模塊接口錯誤的測試方法為(A)自頂向下漸增式測試B)自底向上漸增式測試C)非漸增式測試D)系統(tǒng)測試15. 確認測試以()文檔作為測試的基礎(chǔ)。16. A)需求規(guī)格說明書B)設(shè)計說明書C)源程序D)開發(fā)計劃使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)()和指定的覆蓋標準。17. A)程序內(nèi)部邏輯B)程序的復(fù)雜度C)使用說明書D)程序的功能程序的三種基本結(jié)構(gòu)是()。A)過程子、程序、

4、分程序B)順序、選擇、循環(huán)C)遞歸、堆棧、隊列D)調(diào)用、返回、轉(zhuǎn)移18.結(jié)構(gòu)化程序設(shè)計的一種基本方法是()A)篩選法B)遞歸法軟件調(diào)試的目的是(A)找出錯誤所在并改正之C)對錯誤性質(zhì)進行分類C)歸納法D)逐步求精法B)排除存在錯誤的可能性D)統(tǒng)計出錯的次數(shù).程序三種基本結(jié)構(gòu)的共同特點是()A)不能嵌套使用B)只能用來寫簡單程序C)已經(jīng)用硬件實現(xiàn)D)只有一個入口和一個出口21.下面說法正確的是()。A)經(jīng)過測試沒有發(fā)現(xiàn)錯誤說明程序正確B)測試的目標是為了證明程序沒有錯誤C)成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試D)成功的測試是沒有發(fā)現(xiàn)錯誤的測試22.覆蓋準則最強的是()。A)語句覆蓋B)判定

5、覆蓋C)條件覆蓋D)路徑覆蓋23.發(fā)現(xiàn)錯誤能力最弱的是()。A)語句覆蓋B)判定覆蓋C)條件覆蓋D)路徑覆蓋24.實際的邏輯覆蓋測試中,一般以()為主設(shè)計測試用例。A)條件覆蓋B)判定覆蓋C)條件組合覆蓋D)路徑覆蓋25. 下面()方法能夠有效地檢測輸入條件的各種組合可能引起的錯誤。26 C)錯誤推測D)因果圖.與確認測試階段有關(guān)的文檔是()。27 A)需求規(guī)格說明書B)概要設(shè)計說明書C)詳細設(shè)計說明書D)源程序.超出軟件工程范圍的測試是()。28. A)單元測試B)集成測試C)確認測試D)系統(tǒng)測試軟件測試不需要了解軟件設(shè)計的()。29. A)功能B)內(nèi)部結(jié)構(gòu)C)處理過程D)條件()方法需要考

6、察模塊間的接口和各模塊之間的聯(lián)系。A)單元測試C)確認測試調(diào)試應(yīng)該由()完成。A)與源程序無關(guān)的程序員C)不了解軟件設(shè)計的機構(gòu)B)集成測試D)系統(tǒng)測試B)編制該源程序的程序員D)設(shè)計該軟件的機構(gòu)基線是軟件生存期中各開發(fā)階段的一個特定點,它可作為一個檢查點,當采用的基線發(fā)生錯誤時,我們可以返回到最近和最恰當?shù)模ǎ┥稀?3. A)配置項B)程序C)基線D)過程32.版本管理是對系統(tǒng)不同版本進行的()過程A)標識與跟蹤B)標識變更C)發(fā)布變更D)控制變更在變更控制中,管理各個用戶存取和修改一個特定軟件配置對象的權(quán)限是()。A)異步控制B)同步控制C)存取控制D)基線控制在配置管理中,“登入”和“檢出

7、”處理實現(xiàn)了兩個重要的變更控制要素,即同步控制和()。34. A)異步控制B)同步控制C)基線控制D)存取控制按照軟件配置管理的原始指導思想,受控制的對象應(yīng)是()。C)軟件項目35. D)軟件過程()。軟件配置項是軟件配置管理的對象,指的是軟件工程過程中所產(chǎn)生的A)接口B)軟件環(huán)境C)信息項D)版本在變更控制中,可用來確保由不同用戶所執(zhí)行的并發(fā)控制是()。36. A)異步控制B)同步控制C)存取控制D)基線控制以下說法錯誤的是()。37. A)軟件配置管理簡稱SCIB)軟件配置項是配置管理的基本單位C)軟件配置實際上是一動態(tài)的概念D)軟件工程過程中某一階段的變更均要引起軟件配置的變更在設(shè)計人機

8、界面時,應(yīng)主要考慮的因素有()。A)系統(tǒng)響應(yīng)時間B)錯誤處理C)用戶求助機制D)以上都是人機界面的風格大致經(jīng)過了()代的演變A)B)二C)三D)四二、填空題1.軟件測試的目的是盡可能多地發(fā)現(xiàn)軟件中存在的,將作為糾錯的依據(jù)。2. 測試階段的基本任務(wù)是根據(jù)軟件開發(fā)各階段的和程序的,精心設(shè)計一組,利用這些實例執(zhí)行,找出軟件中潛在的各種和。3.測試用例由和預(yù)期的兩部分組成。4. 軟件測試方法一般分為兩大類:方法和方法。5. 動態(tài)測試通過發(fā)現(xiàn)錯誤。根據(jù)的設(shè)計方法不同,動態(tài)測試又分為與兩類。6 .靜態(tài)測試采用和的手段對程序進行檢測。7 .人工審查程序偏重于的檢驗,而軟件審查除了審查還要對各階段進行檢驗。8

9、 .計算機輔助靜態(tài)分析利用工具對測試程序進行分析。9 .黑盒法只在軟件的處進行測試,依據(jù)說明書,檢查程序是否滿足要求。10.白盒法必須考慮程序的和,以檢查的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行。11 .白盒測試是測試,被測對象是,以程序的為基礎(chǔ)設(shè)計測試用例。.邏輯覆蓋是對程序內(nèi)部有存在的邏輯結(jié)構(gòu)設(shè)計測試用例,根據(jù)程序內(nèi)部的邏輯覆蓋程度又可分為、和6種覆蓋技術(shù)。13.實際的邏輯覆蓋測試中,一般以覆蓋為主設(shè)計測試用例,然后再補充部分用例,以達到覆蓋測試標準。14.循環(huán)覆蓋是對程序內(nèi)部有存在的邏輯結(jié)構(gòu)設(shè)計測試用例,它通過限制來測試。15. 基本路徑測試是在程序基礎(chǔ)上,通過分析控制構(gòu)造的復(fù)雜性,

10、導出集合,從而設(shè)計測試用例。16. 黑盒測試是測試,用黑盒技術(shù)設(shè)計測試用例有4種方法:、和。17 .等價類劃分從程序的說明,找出一個輸入條件(通常是或),然后將每個輸入條件劃分成兩個或多個。.邊界值分析是將測試情況作為重點目標,選取正好等于、剛剛大于或剛剛小于的測試數(shù)據(jù)。如果輸入或輸出域是一個有序集合,則應(yīng)選取集合的元素和元素作為測試用例。18 .在測試程序時,根據(jù)經(jīng)驗或直覺推測程序中可能存在的各種錯誤,稱為。20. 因果圖的基本原理是通過畫圖,把用自然語言描述的轉(zhuǎn)換為,最后為每一列設(shè)計一個測試用例。20 .測試的綜合策略是在測試中,聯(lián)合使用各種方法。通常先用法設(shè)計基本的測試用例,再用法補充一

11、些必要的測試用例。21 .軟件測試過程中需要3類信息:、和。22 .軟件測試一般經(jīng)過4個測試:、和。24.指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤,它涉及和的文檔。25.單元測試主要測試的5個基本特征:、和。在單元測試中,需要為被測模塊設(shè)計模塊和模塊。用來模擬被測模塊的上級調(diào)用模塊,用來代替被測模塊所調(diào)用的模塊。27.集成測試指在測試基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的系統(tǒng)進行的測試。也稱測試或測試。28. 集成測試的方法有兩種:和。29. 漸增式測試有兩種不同的組裝模塊的方法:和。30.自頂向下漸增式測試不需要編寫模

12、塊,只需要編寫模塊,其步驟是從模塊開始,沿著被測程序的的控制路徑逐步向下測試,它有兩種組合策略:和。31.自底向上漸增式測試不需要編寫模塊,只需要編寫模塊。確認測試指檢查軟件的與是否與說明書中確定的指標相符合,又稱測試。31. 確認測試在模擬環(huán)境下運用測試方法,由和參加的測試。32. 確認測試開始前需要制定計劃,結(jié)束后要寫出報告。其測試用例要選用的數(shù)據(jù)。35 .軟件配置審查的任務(wù)是檢查軟件的所有文檔資料的和。36 .調(diào)試也稱,是在成功的測試之后才開始進行,其目的是確定錯誤的和,并改正錯誤。37 .調(diào)試技術(shù)包括、和。38 .回溯法調(diào)試是從出發(fā),而歸納法調(diào)試是從入手。39.被測試程序不在機器上運行

13、,而是采用人工檢測和計算機輔助分析檢測的手段稱為測試。40 .用等價類劃分法設(shè)計一個測試用例時,使其覆蓋尚未被覆蓋的合理等價類。41 .用等價類劃分法設(shè)計一個測試用例時,使其覆蓋不合理等價類。42. 在單元測試時,需要為被測模塊設(shè)計。43. 在集成測試時有兩種測試方法,它們是。44 .軟件測試是為了而執(zhí)行程序的過程。45 .運行被測程序的方法稱為測試。46. 動態(tài)測試中,主要測試軟件功能的方法稱為法。47. 選擇測試用例,使得被測程序中每個判定的每個分支至少執(zhí)行一次,這種邏輯覆蓋標準稱為。48.要覆蓋含循環(huán)結(jié)構(gòu)的所有路徑是不可能的,一般通過限制來測試。49.用等價類劃分法設(shè)計測試用例時,如果被

14、測程序的某個輸入條件規(guī)定了取值范圍,則可確定一個合理的等在和。50 .憑經(jīng)驗或直覺推測程序中可能存在的錯誤而設(shè)計測試用例的方法是。51 .集成測試中的具體方法是。52 .確認測試階段的兩項工作是。53 .在單元測試中,測試一個模塊時,需要設(shè)計。54. 軟件配置管理,簡稱SCM,它用于整個軟件工程過程。其主要目標是:55. 、oSCM是一組管理整個軟件生存期各階段中的活動。56. 基線的作用是把各階段的開發(fā)工作劃分得更加明確,便于檢查與確認階段成果。因此,基線可以作為項目的一個。1. 三、名詞解釋軟件測試靜態(tài)測試動態(tài)測試黑盒測試白盒測試語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋測

15、試用例驅(qū)動模塊樁模塊單元測試集成測試確認測試漸增式測試非漸增式測試調(diào)試21.人的因素的含義基線軟件配置管理軟件配置項四、簡答題為什么說軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),但不是軟件質(zhì)量保證的安全網(wǎng)?2. 軟件測試的目的是什么?為什么把軟件測試的目的定義為只是發(fā)現(xiàn)錯誤?3. 軟件測試應(yīng)當遵循什么原則?為什么要遵循這些原則?4. 軟件測試的步驟是什么?這些測試與軟件開發(fā)各階段之間的關(guān)系?5. 軟件測試的過程是什么?6. 單元測試、集成測試和確認測試各自主要目標是什么?它們之間有什么不同?相互有什么關(guān)系?7. 什么是黑盒測試與白盒測試?它們都適應(yīng)哪些測試?8. 簡述軟件測試與軟件調(diào)試的區(qū)別。9.

16、 軟件配置管理的任務(wù)。10. 試述第三代界面的優(yōu)點。11.試述人機界面的設(shè)計過程。1. 五、綜合題變量的命名規(guī)則一般規(guī)定如下:變量名的長度不多于40個字符,第一個字符必須為英文字母,其他字母可以英文字母、數(shù)字以及下劃線的任意組合。請用等價分類法設(shè)計測試用例。某商場在“五一”期間,顧客購物時收費有4種情況:普通顧客一次購物累計少于100元,按A類標準收費(不打折),一次購物累計多于或等于100元,按B類標準收費(打9折);會員顧客一次購物累計少于1000元,按C類標準收費(打8折),一次購物累計等于或多于1000元,按D類標準收費(打7折)。測試對象是按以上要求計算顧客收費模塊,按照路徑覆蓋法設(shè)

17、計測試用例。2. 下面是某程序的流程圖:(1)計算它的環(huán)路復(fù)雜性。(2)為了完成基本路徑測試,求它的一組獨立的路徑。六、選擇題1.B2.B3C4.D5.A6.B7C8.B9.D10D11.A12.B13D14.A15A16A17B18D19A20D21.C22D23A24.C25D26A27D28.D29B30B31.C32A33D34.B35C36B37B38.A39D40D1. 七、填空題錯誤測試結(jié)果文檔資料內(nèi)部結(jié)構(gòu)測試用例程序錯誤缺陷輸入數(shù)據(jù)輸出數(shù)據(jù)動態(tài)測試靜態(tài)測試運行程序測試用例黑盒測試白盒測試人工檢測計算機輔助靜態(tài)分析編碼質(zhì)量編碼軟件產(chǎn)品靜態(tài)分析特性接口需求規(guī)格功能內(nèi)部結(jié)構(gòu)處理過程處

18、理過程測試結(jié)構(gòu)源程序內(nèi)部邏輯判定語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋條件組合路徑循環(huán)循環(huán)次數(shù)控制流程圖環(huán)路基本路徑功能等價類劃分邊界值分析錯誤推測因果圖功能一句話一個短語等價類邊界邊界值第一個最后一個錯誤推測法因果功能說明判定表判定表測試黑盒白盒軟件配置測試配置測試工具單元測試集成測試確認測試系統(tǒng)測試單元測試編碼詳細設(shè)計模塊模塊接口局部數(shù)據(jù)結(jié)構(gòu)重要的執(zhí)行路徑錯誤處理邊界條件驅(qū)動樁驅(qū)動模塊樁模塊單元組裝聯(lián)合非漸增式測試漸增式測試自頂向下結(jié)合自底向上結(jié)合驅(qū)動樁頂層軟件結(jié)構(gòu)圖深度優(yōu)先策略寬度優(yōu)先策略樁驅(qū)動功能性能需求規(guī)格有效性黑盒專門測試人員用戶測試測試分析實際運用完整性正確性

19、糾錯原因位置簡單調(diào)試歸納法調(diào)試演繹法調(diào)試回溯法調(diào)試程序產(chǎn)生錯誤的地方測試結(jié)果發(fā)現(xiàn)的線索靜態(tài)盡可能多的41.一個驅(qū)動模塊與樁模塊漸增式和非漸增式發(fā)現(xiàn)錯誤動態(tài)測試黑盒法判定覆蓋循環(huán)次數(shù)兩個不合理的等價類錯誤推測法漸增式和非漸增式測試方法進行確認測試和軟件配置審查驅(qū)動模塊和樁模塊標識變更控制變更確保變更正確地實現(xiàn)報告有關(guān)變更變更檢查點八、名詞解釋軟件測試指為了發(fā)現(xiàn)軟件中的錯誤而執(zhí)行軟件的過程。它的目標是盡可能多地發(fā)現(xiàn)軟件中存在的錯誤,將測試結(jié)果作為糾錯的依據(jù)。2. 靜態(tài)測試指被測試的程序不在機器上運行,而是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。3. 動態(tài)測試指通過運行程序發(fā)現(xiàn)錯誤。黑

20、盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱為功能測試或數(shù)據(jù)驅(qū)動測試。白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢驗內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。4. 語句覆蓋指設(shè)計足夠的測試用例,使被測程序中每個語句至少執(zhí)行一次。5. 判定覆蓋指設(shè)計足夠的測試用例,使被測程序中每個判定表達式至少獲得一次“真”值或“假”值,從而使程序的每個分支至少都通過一次,因此

21、判定覆蓋又稱分支覆蓋。6. 條件覆蓋指設(shè)計足夠測試用例,使判定表達式中每個條件的各種可能的值至少出現(xiàn)一次。判定/條件覆蓋指設(shè)計足夠的測試用例,使得判定表達式中每個條件的所有可能取值至少出現(xiàn)一次,并使每個判定表達式所有可能的結(jié)果也至少出現(xiàn)一次。條件組合覆蓋指設(shè)計足夠的測試用例,使得每個判定表達式中條件的各種可能的值的組合都至少出現(xiàn)一次。7. 路徑覆蓋指設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑。8. 測試用例指為尋找程序中的錯誤而精心設(shè)計的一組測試數(shù)據(jù)。驅(qū)動模塊指用來模擬被測模塊的上級調(diào)用模塊,其功能比真正的上級模塊簡單得多,它只完成接受測試數(shù)據(jù),以上級模塊調(diào)用被測模塊的格式驅(qū)動被測模塊,

22、接收被測模塊的測試結(jié)果并輸出。9. 樁模塊指用來代替被測試模塊所調(diào)用的模塊,其作用是返回被測試模塊所需的信息。單元測試指對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。10. 集成測試指在單元測試基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的系統(tǒng)進行的測試。也稱組裝測試或聯(lián)合測試。確認測試指檢查軟件的功能與性能是否與需求規(guī)格說明書中確定的指標相符合,又稱有效性測試。漸增式測試指逐個把未經(jīng)過測試的模塊組裝到已經(jīng)過測試的模塊上去,進行集成測試。每加入一個新模塊進行一次集成測試,重復(fù)此過程直到程序組裝完畢。非漸增式測試指首先對每個模塊分別進行

23、單元測試,然后把所有的模塊按設(shè)計要求組裝在一起進行測試。11. 調(diào)試指確定錯誤的原因和位置,并改正錯誤的過程,也稱糾錯。12. 1)人對感知過程的認識,包括視覺、閱讀時的認知心理、記憶、歸納與演繹推理等;2)用戶已有的技能和行為方式;3)用戶所要求的完成的整個任務(wù)以及用戶對人機交互部分的特殊要求。已經(jīng)通過正式復(fù)審和批準的某規(guī)約或產(chǎn)品,它因此可以作為進一步開發(fā)的基礎(chǔ),并且只能遵循正式的變化控制過程得到改變。軟件配置管理,簡稱SCM,它用于整個軟件工程過程。其主要目標是:標識變更、控制變更、確保變更正確地實現(xiàn)、報告有關(guān)變更。SCM是一組管理整個軟件生存期各階段中變更的活動。軟件配置項是軟件工程中產(chǎn)

24、生的信息項,它是配置管理的基本單位,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的正確的過程進行評估,確認每一處的修改。1. 九、簡答題軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),原因是:測試的工作量約占整個項目開發(fā)工作量的40%左右,幾乎一半。如果是關(guān)系到人的生命安全的軟件,測試的工作量還要成倍增加。- 軟件測試代表了需求分析、設(shè)計、編碼的最終復(fù)審。 軟件測試不是軟件質(zhì)量保證的安全網(wǎng),因為軟件測試只能發(fā)現(xiàn)錯誤,不能保證沒有錯誤。2. 軟件測試的目的有: 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。軟件

25、測試的目標定義為只是發(fā)現(xiàn)錯誤,原因是軟件測試可以有兩個目標,一個是預(yù)防錯誤,另一個是發(fā)現(xiàn)錯誤。由于軟件開發(fā)是人的創(chuàng)造性勞動,人的活動不可能完美無缺,錯誤可能發(fā)生在任何一個階段,因此預(yù)防錯誤這一目標幾乎是不可實現(xiàn)的,所以軟件測試的目標定義為只是發(fā)現(xiàn)錯誤。3. 軟件測試應(yīng)當遵循原則如下: 用例由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成,因為這樣便于對照檢查,做到有的放矢。 用例不僅選用合理的輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。因為當以特殊方式使用程序時,會突然發(fā)現(xiàn)程序中有許多錯誤,故使用預(yù)期的不合理的輸入數(shù)據(jù)進行程序測試,比用合理的輸入數(shù)據(jù)收獲要大,從而能更多地發(fā)現(xiàn)錯誤,提高程序可靠性。 除了檢查程序是

26、否做了它應(yīng)該做的事,還應(yīng)該檢查程序是否做了它不應(yīng)該做的事,因為如果程序做了它不應(yīng)該做的事,即使程序能做它應(yīng)該做的事,程序也是錯誤的。 應(yīng)制定測試計劃并嚴格執(zhí)行,因為這樣可以排除隨意性。 長期保留測試用例,因為測試用例的設(shè)計耗費很大的工作量,而修改后的程序可能有新的錯誤,需要進行回歸測試,故必須將測試用例作為文檔保存,使測試具有可重復(fù)性,同時測試用例是將來系統(tǒng)維護測試與確認的依據(jù),保存測試用例也為以后的維護提供方便。 對發(fā)現(xiàn)錯誤較多的程序段,應(yīng)進行更深入的測試,因為發(fā)現(xiàn)錯誤較多的程序段,其質(zhì)量較差,同時在修改錯誤過程中又容易引入新的錯誤。 程序員避免測試自己設(shè)計的程序,因為測試目的是找錯。從心理

27、學角度講,程序員大多對自己的程序存有偏見,總認為沒有錯誤或錯誤不大,另外程序員對需求規(guī)格說明的理解而引入的錯誤則更難發(fā)現(xiàn),應(yīng)該由別人或另外的機構(gòu)來測試會更客觀、更有效。4. 軟件測試的步驟如圖7-3所示。圖7-3軟件測試的步驟這些測試與軟件開發(fā)各階段之間的關(guān)系如圖7-2所示。因為系統(tǒng)測試已經(jīng)超出了軟件工程的范圍,所以圖7-2中的系統(tǒng)測試不包括在內(nèi)。5. 軟件測試是一個規(guī)則的過程,包括測試設(shè)計、測試執(zhí)行以及測試結(jié)果比較等。 測試設(shè)計:根據(jù)軟件開發(fā)各階段的文檔資料和程序的內(nèi)部結(jié)構(gòu),利用各種設(shè)計測試用例技術(shù)精心設(shè)計測試用例。 測試執(zhí)行:利用這些測試用例執(zhí)行程序,得到測試結(jié)果。 測試結(jié)果比較:將預(yù)期的

28、結(jié)果與實際測試結(jié)果進行比較,如果二者不符合,對于出現(xiàn)的錯誤進行糾錯,并修改相應(yīng)文檔。修改后的程序還要進行再次測試,直到滿意為止。如果測試發(fā)現(xiàn)不了錯誤,可能由于測試配置考慮不周到,應(yīng)考慮重新制定測試方案,設(shè)計測試用例。6. 單元測試、集成測試和確認測試各自主要目標是: 單元測試的主要目標是檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。 集成測試的主要目標是檢查與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問題。 確認測試的主要目標是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定的各種需求。單元測試、集成測試和確認測試之間的不同如下: 測試內(nèi)容不同:單元測試集中于單個模塊的功能和結(jié)構(gòu)檢驗,

29、其測試內(nèi)容主要包括模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行路徑、錯誤處理和邊界測試;集成測試集中于模塊組合的功能和軟件結(jié)構(gòu)檢驗,其測試內(nèi)容主要包括模塊組裝中可能出現(xiàn)的問題,即數(shù)據(jù)穿過接口可能丟失、一個模塊可能破壞另一個模塊的內(nèi)容、子功能組裝可能不等于主功能、全程數(shù)據(jù)結(jié)構(gòu)問題、誤差累積問題;確認測試集中于論證軟件需求的可追溯性,主要包括測試軟件功能和性能是否與軟件需求一致、測試軟件配置的所有程序與文檔是否正確完整而且一致。 測試的方法不同:單元測試總是使用白盒測試法,為被測模塊設(shè)計驅(qū)動模塊和樁模塊;集成測試使用漸增式測試和非漸增式測試,漸增式測試又有分為自頂向下結(jié)合法和自底向上結(jié)合法;確認測試總是使用

30、黑盒測試法。 發(fā)現(xiàn)的錯誤不同:單元測試發(fā)現(xiàn)的錯誤主要是在編碼階段產(chǎn)生的錯誤,集成測試發(fā)現(xiàn)的錯誤主要是在設(shè)計階段產(chǎn)生的錯誤,確認測試發(fā)現(xiàn)的錯誤主要是在需求分析階段產(chǎn)生的錯誤。 涉及的文檔不同:單元測試涉及編碼和詳細設(shè)計文檔,集成測試涉及詳細設(shè)計文檔和概要設(shè)計文檔,確認測試涉及軟件需求規(guī)格說明書和用戶手冊。三者相互關(guān)系是:單元測試、集成測試和確認測試是順序?qū)崿F(xiàn)的。首先單元測試對各個模塊進行測試,然后集成測試以單元測試為基礎(chǔ),將所有已測模塊按照設(shè)計要求組裝成一個完整的系統(tǒng),對模塊組合的功能和軟件結(jié)構(gòu)檢驗進行測試,最后確認測試是以集成測試為基礎(chǔ),測試集成的軟件是否滿足需求規(guī)格說明書中確定的各種需求。黑

31、盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱為功能測試或數(shù)據(jù)驅(qū)動測試。 白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢驗內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒測試適應(yīng)的測試有單元測試、邏輯覆蓋(按邏輯覆蓋程度不同,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。)、循環(huán)覆蓋(限制循環(huán)次數(shù),有單循環(huán)和嵌套循環(huán))和基本路徑測試。 黑盒

32、測試適應(yīng)的測試有:確認測試、等價類劃分、邊界值分析、錯誤推測和因果圖。7. 軟件測試與軟件調(diào)試在目的、技術(shù)和方法等方面存在很大的區(qū)別,主要表現(xiàn)在: 測試從一個側(cè)面證明程序員的失敗,而調(diào)試是為了證明程序員的正確。 測試從已知條件開始,使用預(yù)先定義的程序,且有預(yù)知的結(jié)果,不可預(yù)見的只是程序是否通過測試。調(diào)試一般以不可知的內(nèi)部條件開始,除統(tǒng)計性調(diào)試外,結(jié)果是不可預(yù)見的。 測試是有計劃的,并要進行測試設(shè)計,而調(diào)試是不受時間約束的。 測試是一個發(fā)現(xiàn)錯誤、改正錯誤、重新測試的過程,而調(diào)試是一個推理過程。 測試的執(zhí)行是有規(guī)程的,而調(diào)試的執(zhí)行往往要求程序員進行必要的推理及知覺的飛躍。 測試經(jīng)常由獨立的測試組在

33、不了解軟件設(shè)計的前提下完成,而調(diào)試必須由了解詳細設(shè)計的程序員完成。 大多數(shù)測試的執(zhí)行和設(shè)計可由工具支持,而調(diào)試時,程序員能利用的工具主要是調(diào)試器。十、綜合題1.劃分等價類下表。等價類劃分表輸入條件合理等價類不合理等價類長度(1) 小于40個字符(2) *40個字符(5)大于40個字符第一個字符(3)英文字母(6)非英文字母其他字母(4)英文字母、數(shù)字或下劃線的任意組合(7)空格(8)標點符號算符號(10)其他可顯示字符運設(shè)計測試用例下表。測試用例表測試數(shù)據(jù)測試范圍期望結(jié)果(1)s_name12等價類,(3),(4)有效(2)a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r

34、9s_tr等價類,(3),(4)有效(3)a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff等價類(5)無效234name等價類(6)無效(5)abgh等價類(7)無效(6)ab!2f等價類(8)無效(7)fg+ghh等價類(9)無效(8)Hgh等價類(10)無效2.被測模塊的程序流程圖如圖所示。被測模塊的程序流程圖按照路徑覆蓋法設(shè)計測試用例如下:是會員,累計消費900元,是會員,累計消費2000元,不是會員,累計消費80元,不是會員,累計消費300元,3.(a)環(huán)路復(fù)雜性=判斷數(shù)+覆蓋路徑覆蓋路徑覆蓋路徑覆蓋路徑127128134(b)路徑1:0一一1319路徑20一一一14一19路徑30一一一一15一19路徑4:0一一一一16一19路徑5:0一一一一一一1719路徑6:0一一一一一一18一19路徑7:0一一一一一一12194.(1)劃分等價類見表1。表1等價類劃分表1=6+1=7135(個)輸入條件合理等價類不合理等價類長度(1) 小于40個字符(2) *40個字符(5)大于40個字符第一個字符(3)英文字母(6)非英文字母其他字母(4)英文字母、數(shù)字或下劃線的

溫馨提示

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

評論

0/150

提交評論