糯米文學吧

位置:首頁 > 計算機 > 計算機四級

2015年9月計算機四級《軟件測試工程師》模擬試題答案及解析

  一、選擇題

2015年9月計算機四級《軟件測試工程師》模擬試題答案及解析

1. C 2. C 3. D 4. B5. C

6. C 7. B 8. A 9. C10. C

11. A 12. B 13. C 14. A15. D

16. D 17. A 18. B 19. A20. D

21. D 22. A 23. A 24. C25. B

  二、論述題

1.問題1:

解答:

首先根據規格説明,列出所有可能的輸入和輸出,得到如下結果:

輸入:處於提交狀態、數據完整率達到80%以上、已經過業務員確認。

輸出:處理或不處理。

找出所有輸入與輸出的關係,通過解析,得到以下的對應關係:

如果單據處於提交審批狀態且數據完整率達到80%以上,則處理;

如果單據不處於提交審批狀態,則不處理;

如果單據處於提交審批狀態,數據完整率未達到80%以上,但已經過業務員確認,則處理。

下面列出所有的原因和結果,並進行編號,根據上面解析的關係,畫出因果圖,如圖17-2所示:

原因:1:處於提交狀態

2:數據完整率未達到80%以上

3:已經過業務員確認

結果:21:處理

22:不處理

問題2:

解答:

首先將上面的因果圖轉換成判定表,如下表所示:

然後將判定表中的8列轉換成測試用例即可。

2.解析該程序的説明和功能,顯然可以劃分四組測試等價類:有效輸入等價類、無效輸入等價類、合法輸出等價類和非法輸出等價類。在考慮該程序的合法輸出和非法輸出時需要考慮計算機的字長,這時要進行邊界值法設計測試用例,以補充等價類法設計的測試用例。具體採用邊界值法設計的測試用例如下:

(1)使程序輸入剛好等於最小的負整數:

輸入:'-32768'

輸出:-32768

(2)使程序輸入剛好等於最大的正整數:

輸入:'32767'

輸出: 32767

(3)使程序輸入剛好小於最小的負整數:

輸入:'-32769'

輸出:錯誤

(4)使程序輸入剛好大於最大的正整數:

輸入:'32768'

輸出: 錯誤

3.問題1:

不是。窮舉測試的方法並不是對所有程序都可以實現。

問題2:

對小程序進行窮舉測試,也不見得能保證程序百分之百正確。所謂窮舉測試是拿所有可能的輸入數據來作為測試用例(黑盒測試),或覆蓋程序中所有可能的路徑(白盒測試)。對於小程序來説,實際上並不能真正作到窮舉測試。

  答案解析

一、選擇題

1.解析:白盒測試又稱為邏輯驅動測試,這種測試策略是對程序的邏輯結構進行檢查,從中獲取測試數據。所以説白盒測試是一種以程序內部的邏輯結構為基礎的測試用例設計技術。

2.解析:白盒測試是程序員十分了解程序的前提下,對程序的邏輯結構進行的測試。而黑盒測試則將程序視為一個黑盒子,僅僅是測試人員提供數人數據,觀察輸出數據,並不瞭解程序是如何運行的,結構測試屬於白盒測試,關注的是如何選擇合適的程序或子程序路徑來執行有效的檢查。功能測試則屬於黑盒測試,對功能的測試通常通過提供輸入數據,檢查實際輸出的結果,很少考慮程序的內部結構。

3.解析:程序設計過程中,要為程序調試做好準備,主要體現在:①採用模塊化、結構化的設計方法設計程序;②根據程序調試的需要,選擇並安排適當的中間結果輸出必要的斷點;③編寫程序時要為調試提供足夠的靈活性。

4.解析:軟件測試是軟件開發過程中重要和不可缺少的階段,其包含的內容和步驟甚多,而測試過程的多種環節中最基礎的是單元測試。

5.解析:在邏輯覆蓋中,測試覆蓋最弱的是語句覆蓋。

6.解析:考察白盒測試中各種邏輯覆蓋之間的關係。

7.解析:軟件測試的目標是發現缺陷,證明程序有錯而非證明其正確。故A不正確。

8.解析:考察黑盒測試中的等價類劃分測試。

9.解析:考慮自動測試的優點就是為了解決重複的人工操作進行的。

10.解析:同行評審是一種通過作者的同行來確定缺陷和需要變更區域的檢查方法。涉及的內容很多,主要可以分為管理評審、技術評審、文檔評審和過程評審。

11.解析:依據測試目的的不同,可以把軟件性能測試及與性能有關的其他測試分為以下幾類:

(1)性能測試(Performance Testing)

(2)併發測試(Concurrency Testing)

(3)壓力測試(Stress Testing)

(4)可靠性測試(Reliability Testing)

(5)負載測試(Load Testing)

(6)配置測試(Configuration Testing)

(7)失效恢復測試(Recovery Testing)

12.解析:與其他的'軟件測試不同,軟件可靠性測試的目的不在於通過測試揭示軟件中的缺陷並通過修改軟件缺陷來提高軟件可靠性,而是通過受控的軟件測試過程來預測軟件在實際運行中的可靠性,即收集軟件測試時揭示軟件故障的情況,並對其進行整理從而為解析和預測軟件實際的可靠性提供幫助。

13.解析:由於面向對象具有封裝的特點,在設計類的測試用例時,不僅要考慮各成員方法的輸入參數,還要考慮如何設計調用的序列。若類B繼承自類A,如果對B進行了嚴格的測試,有些情況也許可以就不對類A進行測試,但由於繼承的存在,就會導致類A的規格説明可能與類B不一致,此時就必須按照類A的規格説明重新對類A重新進行測試。多態是指對一個類的引用可以與多個類的實現綁定。抽象類是指只有一些成員方法而沒有其實現的類,甚至有的抽象類中的所有成員方法都沒有實現,在測試抽象類時,需要為抽象類構造一個子類,並實現所有抽象類沒有實現的成員方法,這也説明構造抽象類的驅動程序顯然比構造其他類的驅動程序複雜。

14.解析:面向對象軟件的基幹集成測試策略的具體測試步驟為:①對基幹中的每個模塊進行孤立的、充分的測試。②對基幹中的所有模塊進行一次性集成,形成基幹子系統,並使用一個驅動模塊檢查使用經過一次性集成的基幹。此時採用的是大突擊集成方式。③對應用的控制子系統進行自頂向下的集成④集成基幹和控制子系統,重新構造控制子系統。⑤對各應用子系統採用自底向上的集成策略。⑥集成基幹子系統、控制子系統和各應用子系統,形成整個系統。基幹集成的優點是集成了自底向上集成、自頂向下集成和大突擊集成三者的優點,而對三者的缺點也進行了控制,更適合於大型複雜項目的集成。

15.解析:Web應用軟件表示層的測試主要集中在客户端,測試的內容包括:

(1)排版結構的測試

(2)鏈接結構的測試

(3)客户端程序的測試

(4)瀏覽器兼容性測試

16.解析:通常Web應用軟件的測試分為三層:表示層、業務層和數據層。其中表示層的測試主要集中在客户端,測試內容主要包括:①排版結構的測試,②鏈接結構的測試,③客户端程序的測試,④瀏覽器兼容性測試。

17.解析:軟件兼容性的測試問題包括:

符合最新HTML版本的頁面能否在瀏覽器中正確顯示

腳本和插件是否適用於不同的瀏覽器,某些腳本和插件只適用於特定的瀏覽器,如Active X,只

有IE瀏覽器支持

不同的瀏覽器對於安全性的設置各有不同,需要測試不同瀏覽器是否可以為使用該Web應用提供

合適的安全設置

18.解析:易用性測試一般不僅針對應用程序,還要包括用户文檔,除了對用户文檔的測試,易用性測試主要包括三個方面:易安裝性測試、功能易用性測試和用户界面測試。而兼容性測試是與易用性測試並列的測試方法,二者不存在包含關係。

19.解析:面向構件提供者的測試目標是:①儘可能多地揭示構件錯誤,②驗證構件的功能、接口、行為和性能,以保證它們符合給定地構件規約,檢查在特定平台和操作環境中構件的複用、打包和部署。而面向構件複用者的測試目標是:①驗證可複用構件的功能和性能,②在特定平台和操作環境下,確保可複用構件的正確使用和部署,③檢查可複用構件定製而成的構件的質量,④檢查為特定項目而創建的新構件的質量。

20.解析:極限編程採用的是一種頻繁迭代的開發方式,整個軟件項目由一系列增量式開發組成。而極限測試本質上就是為了滿足極限編程的思想和流程而設計的一套測試策略和流程,從極限測試流程圖中,我們可以看出,單元測試和驗收測試是貫穿始終的關鍵步驟。

21.解析:定義軟件缺陷的狀態如下:

新錯誤(New)--測試中新報告的軟件缺陷

更多新信息(New More Info)--開發工程師認為報告的缺陷信息不完整,要求缺陷報告者添加更準確的缺陷信息

打開(Open)--缺陷被確認並分配給相關開發工程師處理

拒絕(Declined)--拒絕修改缺陷

修正(Fixed)--開發工程師已完成修正,等待測試人員驗證

重新打開(Reopen)--沒有正確修復的缺陷,需要進一步修復

延期(Diferred)--不在當前版本修復的缺陷,以後的版本修復,包括兩種情況:

①延期-下個版本(Diferred-Next Build)--本項目的下一個新版本修復

②延期-下個主要版本(Diferred-Next Main Release)--本項目不修復,本軟件下一個項目的版本修復關閉(Closed)--缺陷已被修復

22.解析:軟件缺陷報告是軟件測試過程中的核心測試產品之一,也是重要的測試產品,因此管理好軟件缺陷報告是軟件過程管理最起碼的要求。

23.解析:假如是軟件企業內部測試團隊開展的軟件測試,由於軟件測試介入較早,在測試開始時被測系統很可能是不完整的,會不斷有新的系統模塊加入到系統中,因此最適合採用H模型來組織測試,可以為每一個新增的系統模塊設計一次系統測試。

24.解析:軟件缺陷報告是測試人員和開發人員交流的紐帶。

25.解析:白盒測試又稱為程序結構測試,它主要進行程序邏輯結構的覆蓋測試。用QESAT/C工具進行測試之前,首先應定義項目文件,用以描述被測程序的組成,該項目文件通常以作為擴展名的。用QESAT/C工具進行軟件解析與測試時,被測源文件可放在任意目錄下。進行軟件靜態解析不必運行被測程序,便可得到程序的結構信息及程序的複雜度信息,將被測程序運行後才得到的信息就是動態測試信息。