第一章軟件測試理論
一、選擇題
1、C 2、A 3、D 4、B 5、D 6、D 7、B 8、B
二、簡答題
1.
參考答案:
軟件測試是伴隨著軟件的產生而產生的。在軟件行業發展初期,沒有系統意義上的軟件測試,更多的是一種類似調試的測試,測試用例的設計和選取也都是根據測試人員的經驗隨機進行的,大多數測試的目的是為了證明系統可以正常運行。
到了20世紀70年代以后,很多測試理論和測試方法應運而生軟件測試方法和技術第二版課后答案,逐漸形成了一套完整的體系。在產業界,從20世紀70年代后期到20世紀80年代中期,很多軟件企業成立了QA或者SQA部門。后來QA的職能轉變為流程監控(包括監控測試流程),而測試()則從QA中分離出來成為獨立的組織職能。
到了20世紀80年代初期,一些軟件測試的基礎理論和實用技術開始形成,軟件測試作為軟件質量保證(SQA)的主要職能,包含軟件質量評價的內容。軟件測試已有了行業標準(IEEE/ANSI )。
在我國,軟件測試目前還沒有形成一個真正的產業,尚處于起步階段。
但是,在國內,現在在軟件測試行業中各種軟件測試的方法、技術和標準都還在探索階段。
總之,國內軟件測試行業與一些發達國家相比還存在一定的差距。
2.
參考答案:
軟件缺陷造成的修復費用隨著時間的推移呈指數級地增長,如下圖所示。
3.
參考答案:
軟件測試的復雜性體現在:
不可能對程序實現完全測試。
殺蟲劑現象,即為了克服被測試軟件的免疫力,軟件測試員必須不斷編寫新的測試程序,對程序的各個部分進行不斷測試,以避免被測試軟件對單一的測試程序具有免疫力而使軟件缺陷不被發現。
軟件測試的代價不容易掌握,因為隨著測試量的增加,測試成本將呈幾何數級上升,而軟件缺陷數量降低到某一數值之后將沒有明顯的變化,尋求最優測試點,掌握好測試工作量是至關重要的。
在實際操作過程中,測試人員要進行正確的判斷,合理的取舍,根據風險分析來決定哪些故障需要修復,哪些故障可以不修復軟件測試方法和技術第二版課后答案,
即并不是所有的軟件缺陷都需要被修復。
4.
參考答案:
軟件測試是軟件生命期中費用消耗最大的環節。測試費用除了測試的直接消耗外,還包括其他的相關費用。影響測試費用的主要因素有:
(1) 軟件的功能,軟件產品需要達到的標準決定了測試的數量。對于那些至關重要的系統必須進行更多的測試。
(2) 目標用戶的數量,一個系統的目標用戶數量的多少也在很大程度上影響了測試必要性的程度。
(3) 潛在缺陷造成的影響
在考慮測試的必要性時,還需要將系統中所包含的信息價值考慮在內。因此我們應該從經濟方面考慮,投入與經濟價值相對應的時間和金錢去進行測試。
(4) 開發機構的業務能力
一個沒有標準和缺少經驗的開發機構很可能會開發出充滿錯誤的軟件系統。而一個建立了標準和有很多經驗的開發機構開發出來的軟件系統中的錯誤將會少很多。
(5) 測試的時機
測試量會隨時間的推移發生改變,在一個競爭很激烈的市場里,爭取時間可能是制勝的關鍵。測試量應該針對合適的目標進行調整。
5.
參考答案:
軟件測試是貫穿于整個軟件開發的過程。在軟件開發的各個階段,測試人員必須制訂本階段的測試方案,把軟件開發和測試活動集成到一起,如下圖所示。
6.
參考答案:
軟件測試從測試計劃編寫到測試實施,需要經過一系列的過程。這些測試按軟件從編寫到交付的各個階段的先后順序可分為:單元測試、集成測試、確認(有效性)測試、系統測試和驗收(用戶)測試5個階段,如下圖所示。
7.
參考答案:
通常軟件人員應具備如下素質:
(1) 良好的溝通能力
(2) 掌握比較全面的技術
(3) 充分的自信心
(4) 足夠的耐心和責任感
(5) 要具備懷疑精神和學****能力
(6) 超強的記憶力和良好的洞察力
第2章白盒測試技術
一、選擇題
1、B 2、C 3、A 4、D 5、B
6、B 7、C 8、C 9、A 10、A
三、簡答題
1.
參考答案:
白盒測試方法可以分為兩大類:靜態測試方法和動態測試方法,動態測試方法是設計一系列的測試用例,通過輸入預先設定好的數據來動態地運行程序,從而達到發現程序錯誤的目的。靜態測試方法則不在計算機上實際執行程序,而是以一些人工的模擬技術或使用測試軟件對軟件進行分析和測試。動態測試方法主要有邏輯覆蓋、獨立路徑測試等。靜態測試方法主要有靜態結構分析、靜態質量度量、代碼檢查方法等。
2.
參考答案:
根據不同的測試要求,覆蓋測試可以分為語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
語句覆蓋就是設計足夠多的測試用例,使得被測試程序中的每條可執行語句至少被執行一次。
判定覆蓋又稱分支覆蓋,就是設計足夠多的測試用例,使得被