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

全國計算機等級考試四級軟件測試工程師筆試真題

計算機四級 閲讀(1.03W)

導語:全國計算機等級考試四級軟件測試工程師即將開始,你複習好了嗎?下面就由小編為大家帶來全國計算機等級考試四級軟件測試工程師筆試真題,希望能給大家帶來幫助!

全國計算機等級考試四級軟件測試工程師筆試真題

單項選擇題

1. 下列有關軟件質量的敍述中,錯誤的是

A) 軟件質量不僅包括軟件產品的質量,還包括軟件過程的質量

B) 明確的軟件質量屬性是指在合同或行業標準中規定必須實現的質量要求

C) 隱含的軟件質量屬性在合同或行業標準中沒有規定,因此在產品開發時不必專門考慮

D) 軟件的功能和性能必須結合在一起考慮

2. 下列有關軟件測試的敍述中,正確的是

A) 測試是軟件開發中一個單獨的階段,其目的是對已實現的程序編碼進行正確性檢驗

B) 一個成功的測試能夠驗證程序的確做了它應該做的事情

C) 根據80/20的原則,優秀的軟件開發人員所編寫的程序錯誤少,因此時於他們的程序,重點不應放在缺陷測試上

D) 在軟件過程的早期尋找儘可能多的錯誤符合軟件測試的原則

3. 下列有關白盒測試的敍述中,錯誤的是

A)白盒測試是在同時擁有源代碼和可執行代碼的情形下才可以進行的一種軟件測試方法

B)白盒測試應該由開發人員實施,因為只有他們才能夠訪問測試執行所涉及的代碼

C)即使對所有的源代碼都進行了100%的邏輯覆蓋測試,也不能**程序中沒有錯誤

D)軟件測試人員制定測試計劃的目的是想盡可能多地對源代碼進行測試

4. 下列有關黑盒測試的敍述中,錯誤的是

A) 黑盒測試是在不考慮源代碼的情形下進行的一種軟件測試方法

B) 最好由測試人員、最終用户和開發人員組成的團隊來實施黑盒測試

C) 黑盒測試主要是**對比和分析實測結果和預期結果來發現它們之間的差異,所以黑盒測試又稱為“數據驅動”測試

D) 數據流測試是一種黑盒測試方法

5. 走查是一種重要的審查方法,下列所述的審查活動中,不屬於走查的是

A) 審查小組的組織者事先把相關的設計文檔、源程序和其他材料發給每一個小組成員,要求他們預先了解審查的內容

B) 測試員事先根據審查的源代碼準備一批測試用例

C) 程序員在小組審查會上向全體審查人員逐條講解自己編寫的程序

D) 所有參與審查的人員集體扮演“計算機”的角色,使用事先準備的測試用例按照源程序規定的順序逐條執行,討論可能出現的問題

6. 下面有關軟件測試的敍述中,不屬於H模型核心思想的是

A) 軟件測試不僅僅指測試的執行,還包括很多其他的活動

B) 軟件測試是一個獨立的流程,貫穿產品整個開發週期,與其他流程併發地進行

C) 軟件測試要儘早準備,儘早執行

D) 軟件測試不同層次的測試活動嚴格按照某種線性次序執行

7. 下面有關路徑測試的敍述中,錯誤的是

A) 路徑覆蓋是最強的覆蓋測試,它不但能發現其他覆蓋測試能發現的問題,還能發現其他覆蓋測試不能發現的問題

B) 測試員不可能對任何一個程序都完成100%的路徑測試

C) 不提倡用不同的數據重複測試同一條路徑

D) 即使每條路徑都執行了一次,程序還是可能存在缺陷

8. 同行評審主要包括管理評審、技術評審、過程評審和

A) 需求評審 B) 文檔評審 C) 質量評審 D) 風險評審

9. 對於如下給出的程序段:

if(A>B)and(C=5)

thendoP1;

若考慮滿足條件/判定覆蓋原則以及內部邊界條件,需要設計的最小測試輸入數據集可能是

A)(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=1,C=5)

B)(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5),(A=1,B=2,C=4)

C)(A=2,B=1,C=5),(A=2,B=1,C=4),(A=1,B=2,C=5)

D)(A=2,B=1,C=5),(A=1,B=2,C=4)

10. 下列關於邏輯覆蓋的説法中,錯誤的是

A) 滿足條件覆蓋的測試不一定滿足判定覆蓋

B) 滿足條件組合覆蓋的測試一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋

C) 滿足路徑覆蓋的測試也一定滿足條件組合覆蓋

D) 滿足判定/條件覆蓋的測試也一定滿足判定覆蓋和條件覆蓋

11. 以下關於軟件性能測試的説法中,正確的是

A) 對於沒有併發的應用系統而言,響應時間與吞吐量成反比關係

B) 應用系統的資源利用率越高,性能也就越好

C) 軟件性能測試是從用户視角考察軟件性能

D) 併發進程數是軟件性能測試中一種常用的性能指標

12. 以下哪一種技術屬於基於性能計數器的分析技術

A) 數據流分析 B) 指針分析 C) 時間序列分析 D) 進程分析

13. 以下哪種軟件測試屬於軟件性能測試的範疇

A) 路徑覆蓋測試 B) 併發測試 C) 安全性測試 D) 健壯性測試

14. 以下關於軟件可靠性測試的説法中,正確的是

A) 軟件可靠性測試是一種比白盒測試更嚴格的軟件測試

B) 軟件可靠性測試的代價通常比較高

C) 軟件可靠性測試本質上是一種黑盒單元測試

D) 軟件可靠性測試不適用於面向對象軟件測試

15. 以下關於面向對象軟件測試的説法中,正確的是

A)單個成員方法的測試不屬於面向對象單元測試考慮的範疇

B)等價類劃分測試只適用於傳統軟件的測試,不適用於面向對象軟件的測試

C)基於判定表的測試適用於面向對象軟件的測試

D)抽象類無法進行單元測試

16. 以下關於面向對象軟件測試的説法中,正確的是

A) 大突擊集成是最有效的面向對象軟件集成測試策略

B) 在面向對象軟件的單元測試中,一棵繼承樹上的每個類都需要進行測試

C) 針對一個類的多個實例間協作的測試屬於面向對象軟件集成測試考慮的範疇

D) 在面向對象軟件的單元測試中,基於判定表的測試是類層次測試的常用方法

17. 以下關於Web應用軟件測試的説法中,正確的是

A) 排版結構測試是數據層測試關注的內容

B) 鏈接測試是Web應用軟件內容測試的'重要內容

C) 在對Web應用軟件進行系統測試時,通常需要考慮性能測試

D) 測試Web應用軟件在多用户的情況下是否會出現系統崩潰,屬於Web應用軟件可靠性測試考慮的範疇

18. 以下關於Web應用軟件測試的説法中,正確的是

A) 應用服務器兼容性測試是Web應用軟件業務層測試的一項內容

B) 瀏覽器兼容性測試是Web應用軟件安全性測試的一項內容

C) Web應用軟件壓力測試的主要內容是併發測試

D) 表單測試是Web應用軟件易用性測試的一項內容

19. 以下哪一項屬於軟件易用性測試關注的內容

A) Web應用軟件是否支持不同廠商開發的瀏覽器

B) 軟件是否提供圖形用户界面

C) 軟件提供的功能是否豐富

D) 在處理複雜任務時,軟件的響應時間是否符合需求

20. 以下哪一項屬於數據兼容性測試關注的範疇

A) 一個軟件是否支持不同的操作系統

B) 一個殺毒軟件是否會誤刪其他軟件保存的文件

C) 一個文字處理軟件的操作方式是否與同類軟件的操作方式一致

D) 一個電子郵件收發軟件是否可以導入以前版本保存的郵件

21. 下列有關測試過程抽象模型的描述中,正確的是

A) V模型中,單元測試驗證的是程序編碼

B) W模型強調,測試伴隨着整個軟件開發週期同步進行,測試的對象是程序和設計

C) H模型的提出源自軟件開發中的活動常常是交叉進行的,存在反覆觸發、迭代的關係

D) X模型提出針對完整的程序進行集成的編碼和測試

22. 下列有關測試執行管理的描述中,錯誤的是

A) 測試用例執行要求**測試結果準確完整

B) 對測試結果的追蹤應該可追溯到具體責任人

C) 測試執行完成後,並不意味着測試項目的結束

D) 檢查完所有測試用例的執行結果是否完整即可結束測試執行

23. 以下有關自動化測試腳本的説法中,錯誤的是

A)數據驅動腳本將測試輸入存儲在腳本中

B)線性腳本容易受軟件變化的影響,且無共享和重用的腳本

C)結構化腳本的優點是健壯性更好,可以對一些容易導致測試失敗的特殊情況進行處理

D)共享腳本的維護開銷低於線性腳本

24. 以下哪一項不屬於測試策劃的內容

A) 確定測試的充分性要求 B) 建立測試環境

C) 提出測試的基本方法 D) 制定測試計劃

25. 單元測試的測試用例設計主要依據是

A)需求規格説明B)概要設計説明

C)接口規格説明D)詳細設計説明

論述題

1. 論述題1: 設計黑盒測試的測試用例

某圖書出租商店欲開發一個租書信息管理系統,管理圖書的租借業務。

該系統的數據流圖如下:

根據系統的數據流圖,畫出對應的程序功能圖。

(提示;在程序功能圖中不考慮文件和與文件交互的數據流,並可用狀態和遷移來描述。)

2. 計算該程序功能圖的McCabe複雜性度量。

3. 給出該程序功能圖的基本測試路徑集合。

4. QESuite Web Version 1.0中,已知某安全文檔管理系統測試項目的部分信息如下:

●在測試過程中先後產生4個測試版本。按日期排序分別為SEDM 1.0_101009,SEDM 1.0_101025,SEDM1.0_101103,SEDM1.0_101106。

●功能分類視圖中部分待測區域及人員分配定義如下表所示:

已知張明在功能區域“我的安全區/導入和導出”下發現一個軟件問題,下表中是該軟件問題的操作歷史信息,請依據QESuite Web Version 1.0的軟件問題生命週期定義和題中提供的相關人員分配和測試版本信息,假設下表中“執行操作”的信息均正確,請找出表中的錯誤並説明理由。

5. 論述題3:

已知C源程序如下:

/**************************************************/

/* 功能:檢查輸入的標識符是否符合C語言規則 */

/**************************************************/

#include<stdio.h>

#include<string.h>

#include<ctype.h>

#include<conio.h>

#include<malloc.h>

char*IsLegal(char*CheckWorD) ;

const int MaxWordLen=32;

char*ErrorMessages[]={ /*錯誤信息列表*/

"合法!",

"首字符只能是字母或下劃線!",

"常、變量只能由字母、下劃線和數字構成!",

"常、變量標識不能用C語言關鍵字!"。

"常、變量標識不能用C語言預定義函數名!",

"內存不夠!"

};

int main()

{

char*Prompt="C語言標識符的命名要遵守以下原則:";

char*TestWord;

int i;

TestWord=(char*)malloc(sizeof(char)*MaxWordLen);

/*TestWord存放用户輸入*/

if(!TestWorD)

return 1;

/*顯示部分提示信息*/

puts(Prompt);

for(i=1;i<=4;i++){

puts(ErrorMessages[i]);

}

while(1){

printf("請輸入一個標識符(大寫的Q退出):");/*提示*/

scanf("%s",TestWorD) ; /*得到用户輸入*/

if(toupper)(TestWord[0]))=='0')

break; /*循環出口*/

prind("%s %s",TestWord,IsLegal(TestWorD) );/*判定標識符的合法性*/

}

free(TesfWorD) ;

return 0;

}

/*此函數檢驗標識符命名的合法性*/

char*IsLegal(ehar*CheckWorD)

{

char*KeyWords[]={"auto","break","case","char","continue","const","default",

"do","double","else","enum",extern","float","for","goto",

"if","int","long","noalias","register","return","short",

"signed","sizeof","static","struct","switch","typedef",

"union","unsigned","void","volatile","while","defined",

"define","undef","include","ifdef","ifndef","endif","line",

"error","elif","pragma"}; /*C關鍵字列表*/

char*Functions[]={"close","crest","eof","fclose","fcloseall","feof","fopen",

"ferror","fgetchar","fgets","fprintf","fputc","fputchar",

"fseek","get","putch","putc","printf","open","putchar",

"puts","read","scanf","abs","acos","asin","math","atan",

"atan2","atof","atoi","atol","ceil","dos","cosh",ecvt",

"exp","fabs","floor","fmod","frexp","itoa","labs","ldexp",

"log","log10","modf","pow","rand","sin","sqrt","srand",

"strtod","strlol","tan","tanh","ultoa","memset","strcpy",

"strcat","strchr","strcrap","calloc","isalnum","isalpha",

"toascii","tolower","tollpper","exit"); /*C主要預定義函數列表*/

char*Others="_"; /*'_'也可以用於關鍵字,但我們不推薦您使用!*/

int WordLength,i;

char*WordTemp;

WordLength=strlen(CheckWorD) ;

/*檢查標識符命名原則1*/

if((isalpha(CheckWord[0])==0)&&(CheckWord[0]!=Others[0]))

return ErrorMessages[1];

/*檢查標識符命名原則2*/

for(i=0;i<WordLength;i++)

if((isalnum(CheekWord[i]==0)&&(CheckWord[i]!=Others[0]))

return ErrorMessages[2];

/*檢查標識符命名原則3*/

for(i=0;i<44;i++)

{

if(!strcmp(CheckWord,KeyWords[i]))

return ErrorMessages[3];

}

/*檢查標識符命名原則4 */

for(i=0;i<69;i++)

{

if(!stremp(CheckWord,Functions[i]))

return ErrorMessages[4];

}

return ErrorMessages[0];

}

參照QESAT/C軟件分析與測試工具的規定,畫出程序中所有函數的控制流程圖;

6. 設計一組測試用例,使該程序所有函數的語句覆蓋率和分支覆蓋率儘量達到最大。如果認為該程序的語句覆蓋率或分支覆蓋率無法達到100%,需説明為什麼。