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

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

計算機四級 閱讀(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%,需說明為什麼。