當前位置:才華齋>計算機>計算機四級>

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

計算機四級 閱讀(7.4K)

  一、選擇題

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工具進行軟體解析與測試時,被測原始檔可放在任意目錄下。進行軟體靜態解析不必執行被測程式,便可得到程式的結構資訊及程式的複雜度資訊,將被測程式執行後才得到的資訊就是動態測試資訊。