1. 程式人生 > >軟體測試工程師面試題及答案

軟體測試工程師面試題及答案

 1、從供選擇的答案中選出應填入下列(   )中的字句。
軟體測試的目的是(  A  )。為了提高測試的效率,應該(  B  )。使用白盒測試方法時,確定測試資料應根據(  C  )和指定的覆蓋標準。與設計測試資料無關的文件是(  D  )。
軟體的整合測試工作最好由(  E  )承擔,以提高整合測試的效果?BR>供選擇的答案:
A.① 評價軟體的質量② 發現軟體的錯誤
③ 找出軟體中的所有錯誤④ 證明軟體是正確的
B.① 隨機地選取測試資料   
② 取一切可能的輸入資料作為測試資料
③ 在完成編碼以後制定軟體的測試計劃
④ 選擇發現錯誤的可能性大的資料作為測試資料
C.① 程式的內部邏輯② 程式的複雜程度
③ 使用說明書④ 程式的功能
D.① 該軟體的設計人員② 程式的複雜程度
③ 源程式④ 專案開發計劃
E.① 該軟體的設計人員② 該軟體開發組的負責人
③ 該軟體的程式設計人員④ 不屬該軟體開發組的軟體人員


2、從供選擇的答案中選出應填入下列(   )中的字句。
為了把握軟體開發各個環節的正確性和協調性,人們需要進行(  A  )和(  B  )工作。(  A  )的目的是想證實在一給定的外部環境中軟體的邏輯正確性。它包括(  C  )和(  D  ),(  B  )則試圖證明在軟體生存期各個階段,以及階段間的邏輯(  E  )、(  F  )和正確性。
供選擇的答案:
A, B.① 操作  ② 確認     ③ 驗證    ④ 測試    ⑤ 除錯
C, D.① 使用者的確認     ② 需求規格說明的確認
 ③ 程式的確認    ④ 測試的確認
E, F.① 可靠性 ② 獨立性 ③ 協調性   ④ 完備性   ⑤ 擴充性

3、從供選擇的答案中選出應填入下列(   )中的字句。
 測試過程需要三類輸入:(  A  )、(  B  )和(  C  )。請選擇正確的答案填入下圖中以完成測試資訊處理的全過程。

供選擇的答案?
A~C.① 介面選擇② 軟體配置③ 硬體配置
 ④ 測試配置⑤ 測試環境⑥ 測試工具 
D~ F.① 排錯       ② 可靠性分析   ③ 結果分析    ④ 資料分類

 4、請從供選擇的答案中選出應填入下列(     )中的字句。
程式的三種基本控制結構是(  A  )。它們的共同點是(  B  )。結構化程式設計的一種基本方法是(  C  )。軟體測試的目的是(  D  )。軟體除錯的目的是(  E  )。
供選擇的答案:
A.① 過程,子程式,分程式   ② 順序,條件,迴圈
③ 遞迴,堆疊,佇列    ④ 呼叫,返回,轉移
B.① 不能巢狀使用     ② 只能用來寫簡單的程式
③ 已經用硬體實現     ④ 只有一個入口和一個出口
C.① 篩選法   ② 遞迴法   ③ 歸納法   ④ 逐步求精法
D.① 證明程式中沒有錯誤    ② 發現程式中的錯誤
③ 測量程式的動態特性    ④ 檢查程式中的語法錯誤
E.① 找出錯誤所在並改正之   ② 排除存在錯誤的可能性
③ 對錯誤性質進行分類    ④ 統計出錯的次數


 
 5、從供選擇的答案中選出同下列各條敘述關係最密切的字句。
(1) 對可靠性要求很高的軟體,例如作業系統,由第三者對原始碼進行逐行檢查。
(2) 已有的軟體被改版時,由於受到變更的影響,改版前正常的功能可能發生異常,效能也可能下降。因此,對變更的軟體進行測試是必要的。
(3) 在意識到被測試模組的內部結構或演算法的情況下進行測試。
(4) 為了確認使用者的需求,先做出系統的主要部分,提交給使用者試用。
(5) 在測試具有層次結構的大型軟體時,有一種方法是從上層模組開始,由上到下進行測試。此時,有必要用一些模組替代尚未測試過的下層模組。
供選擇的答案:
A~E:① 模擬器  ② 程式碼審查  ③ 模擬器  ④ 樁
⑤ 驅動器  ⑥ 域測試  ⑦ 黑盒測試  ⑧ 原型
⑨ 白盒測試    ⑩ 退化測試

 6、從供選擇的答案中選出應填入下面敘述的(    )內的正確答案。
 軟體測試方法可分為黑盒測試法和白盒測試法兩種。
黑盒測試法是通過分析程式的(  A  )來設計測試用例的方法。除了測試程式外,它還適用於對(  B  )階段的軟體文件進行測試。
白盒測試法是根據程式的(  C  )來設計測試用例的方法。除了測試程式外,它也適用於對(  D  )階段的軟體文件進行測試。
白盒法測試程式時常按照給定的覆蓋條件選取測試用例。(  E  )覆蓋比(  F  )覆蓋嚴格,它使得每一個判定的每一條分支至少經歷一次。(  G  )覆蓋既是判定覆蓋,又是條件覆蓋,但它並不保證使各種條件都能取到所有可能的值。(  H  )覆蓋比其他條件都要嚴格,但它不能保證覆蓋程式中的每一條路徑?BR> 單元測試一般以(  I  )為主,測試的依據是(  J  )。
供選擇的答案:
A, C:① 應用範圍    ② 內部邏輯     ③ 功能        ④ 輸入資料
B, D:① 編碼      ② 軟體詳細設計  ③ 軟體總體設計  ④ 需求分析
E~H:① 語句    ② 判定          ③ 條件       ④ 判定/條件
⑤ 多重條件    ⑥ 路徑
I: ① 白盒法       ② 黑盒法
J: ① 模組功能規格說明     ② 系統模組結構圖   ③ 系統需求規格說明

 7、從供選擇的答案中選出應填入下面敘述的(    )內的正確答案。
整合測試也叫做(  A  )或(  B  )。通常,在(  C  )的基礎上,將所有模組按照設計要求組裝成為系統。子系統的整合測試特別稱為?nbsp; D  ),它所做的工作是要找出子系統和系統需求規格說明之間的(  E  )。需要考慮的問題是:在把各個模組連線起來的時侯,穿越模組介面的資料是否會(  F  ); 一個模組的功能是否會對另一個模組的功能產生不利的影響;各個(  G  )組合起來,能否達到預期要求的(  H  );(  I  )是否有問題;單個模組的誤差累積起來是否會放大。
供選擇的答案:
A~D.① 單元測試   ② 部件測試   ③ 組裝測試
 ④ 系統測試   ⑤ 確認測試   ⑥ 聯合測試
E~I.① 子功能     ② 丟失    ③ 父功能   
 ④ 區域性資料結構  ⑤ 全域性資料結構  ⑥ 不一致

 ⑦ 一致

 8、從供選擇的答案中選出應該填入下列敘述的(  )內的正確答案。
軟體測試中常用的靜態分析方法是(  A  )和(  B  )。(  B  )用於檢查模組或子程式間的呼叫是否正確。分析方法(白盒方法)中常用的方法是(  C  )方法。非分析方法(黑盒方法)中常用的方法是(  D  )方法和(  E  )方法。(  E  )方法根據輸出對輸入的依賴關係設計測試用例。
供選擇的答案:
A~B:① 引用分析     ② 演算法分析   ③ 可靠性分析  ④ 效率分析 
  ⑤ 介面分析     ⑥ 操作分析
C~E:① 路徑測試     ② 等價類     ③ 因果圖    ④ 歸納測試
⑤ 綜合測試     ⑥ 追蹤     ⑦ 深度優先    ⑧ 除錯
⑨ 相對圖



9、從供選擇的答案中選出應填入下面敘述的(    )內的正確答案。
 等價類劃分是一種典型的(  A  )方法,也是一種非常實用的重要的測試方法。使用這一方法,完全不考慮程式的(  B  )。用所有可能輸入的資料來測試程式是不可能的,只能從全部可供輸入的資料中選擇一個(  C  )進行測試。(  D  )是指某個輸入域的集合,在該集合中,各個輸入資料對於揭露程式中的錯誤是(  E  )。
供選擇的答案:
A: ① 白盒測試方法     ② 黑盒測試方法
B: ① 內部結構   ② 外部環境   ③ 順序   ④ 流程
C~E:① 全集     ② 子集      ③ 等效?BR>  ④ 不同的  ⑤ 等價類  ⑥ 典型集



10、從供選擇的答案中選出應填入下面敘述的(    )內的正確答案。

① 黑盒測試方法的缺點是(      )和(      )。
A. 不可測試軟體的特定部位
B. 不能發現功能需求中的錯誤
C. 無法檢驗軟體的外部特性  
D. 無法測試未實現功能需求的軟體的內部缺陷


 ② 白盒測試方法的缺點是(      )和(      )。
A. 不可測試軟體的特定部位
B. 不能發現功能需求中的錯誤
C. 無法檢驗軟體的外部特性  
D. 無法測試未實現功能需求的軟體的內部缺陷

 

四、問答計算題

 1、從下列關於軟體測試的敘述中,選出5條正確的敘述。
 (1) 用黑盒法測試時,測試用例是根據程式內部邏輯設計的。
 (2) 儘量用公共過程或子程式去代替重複的程式碼段。
 (3) 測試是為了驗證該軟體已正確地實現了使用者的要求。
 (4) 對於連鎖型分支結構,若有n個判定語句,則有2n條路徑。
 (5) 儘量採用複合的條件測試,以避免巢狀的分支結構?BR> (6) GOTO語句概念簡單,使用方便,在某些情況下,保留GOTO語句反能使寫出的程式更加簡潔。
 (7) 發現錯誤多的程式模組,殘留在模組中的錯誤也多。
 (8) 黑盒測試方法中最有效的是因果圖法。
 (9) 在做程式的單元測試時,樁(存根)模組比驅動模組容易編寫。
 (10) 程式效率的提高主要應通過選擇高效的演算法來實現。



2、對小的程式進行窮舉測試是可能的,用窮舉測試能否保證程式是百分之百正確呢?

 3、在任何情況下單元測試都是可能的嗎?都是需要的嗎?

 4、如圖所示的程式有三條不同的路徑。分別表示為L1(a→b)、L2(a→c→d)、L3(a→c→e),或簡寫為ace、abd、abe及acd。根據判定覆蓋、條件覆蓋、判定–條件覆蓋、條件組合覆蓋和路徑覆蓋等五種覆蓋標準,從供選擇的答案中分別找出滿足相應覆蓋標準的最小測試用例組。(用①~ ⑩回答)

供選擇的答案:
①x = 90, y = 90②x = 50, y = 50

③x = 90, y = 90④x = 90, y = 70
x = 50, y = 50x = 40, x = 90

 ⑤x = 90, y = 90⑥x = 90, y = 90 
x = 50, y = 50x = 70, y = 90
x = 90, y = 70x = 50, y = 50

 ⑦x = 90, y = 90⑧x = 90, y = 90 
x = 50, y = 50x = 50, y = 50
x = 80, y = 70x = 90, y = 50
x = 70, y = 90x = 80, y = 80

⑨x = 90, y = 90⑩x = 90, y = 90 
x = 90, y = 70x = 80, y = 80
x = 90, y = 30x = 90, y = 70
x = 70, y = 90x = 90, y = 30 
x = 30, y = 90x = 70, y = 90
x = 70, y = 70x = 30, y = 90
x = 50, y = 50x = 70, y = 70
x = 50, y = 50



5、在白盒測試用例設計中,有語句覆蓋、分支覆蓋、條件覆蓋、路徑覆蓋等,其中(  A  )是最強的覆蓋準則。為了對如下圖所示的程式段進行覆蓋測試,必須適當地選取測試用例組。若x, y是兩個變數,可供選擇的測試用例組共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四組,如表中給出,則實現判定覆蓋至少應採取的測試用例組是(  B  )或(  C  );實現條件覆蓋至少應採取的測試用例組是(  D  );實現路徑覆蓋至少應採取的測試用例組是(  E  )或(  F  )。


供選擇的答案
A:① 語句覆蓋    ② 條件覆蓋    ③ 判定覆蓋    ④ 路徑覆蓋
B~F:① Ⅰ和Ⅱ組    ② Ⅱ和Ⅲ組   ③ Ⅲ和Ⅳ組  ④ Ⅰ和Ⅳ組
 ⑤ Ⅰ、Ⅱ、Ⅲ組     ⑥ Ⅱ、Ⅲ、Ⅳ組    ⑦ Ⅰ、Ⅲ、Ⅳ組
 ⑧ Ⅰ、Ⅱ、Ⅳ組



6、下面是快速排序演算法中的一趟劃分演算法,其中datalist是資料表,它有兩個資料成員:一是元素型別為Element的陣列V,另一個是陣列大小n。演算法中用到兩個操作,一是取某陣列元素V[i]的關鍵碼操作getKey ( ),一是交換兩陣列元素內容的操作Swap( ):
int Partition ( datalist &list, int low, int high ) {
//在區間[ low, high ]以第一個物件為基準進行一次劃分,k返回基準物件回放位置。
int  k = low;  Element pivot = list.V[low]; //基準物件
for ( int i = low+1; i <= high; i++ ) //檢測整個序列,進行劃分
if ( list.V[i].getKey ( ) < pivot.getKey( ) && ++ k != i )
Swap ( list.V[k], list.V[i] );//小於基準的交換到左側去
Swap ( list.V[low], list.V[k] );//將基準物件就位 
return k; //返回基準物件位置
   }
 (1) 試畫出它的程式流程圖;
 (2) 試利用路徑覆蓋方法為它設計足夠的測試用例(迴圈次數限定為0次,1次和2次)。



 7、下面是選擇排序的程式,其中datalist是資料表,它有兩個資料成員:一是元素型別為Element的陣列V,另一個是陣列大小n。演算法中用到兩個操作,一是取某陣列元素V[i]的關鍵碼操作getKey ( ),一是交換兩陣列元素內容的操作Swap( ):
void SelectSort ( datalist & list ) {
//對錶list.V[0]到list.V[n-1]進行排序,  n是表當前長度。
for ( int i = 0; i < list.n-1; i++ ) {
int k = i;   //在list.V[i].key到list.V[n-1].key中找具有最小關鍵碼的物件
for ( int j = i+1; j < list.n; j++)
if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j;
//當前具最小關鍵碼的物件
if ( k != i ) Swap ( list.V[i], list.V[k] );//交換
   }
}
 (1) 試計算此程式段的McCabe複雜性;
 (2) 用基本路徑覆蓋法給出測試路徑;
 (3) 為各測試路徑設計測試用例。



8、根據下面給出的規格說明,利用等價類劃分的方法,給出足夠的測試用例。
 “一個程式讀入三個整數。把此三個數值看成是一個三角形的三個邊。這個程式要打印出資訊,說明這個三角形是三邊不等的、是等腰的、還是等邊的。”



9、設要對一個自動飲料售貨機軟體進行黑盒測試。該軟體的規格說明如下:
 “有一個處理單價為1元5角錢的盒裝飲料的自動售貨機軟體。若投入1元5角硬幣,按下“可樂”、“雪碧”或“紅茶”按鈕,相應的飲料就送出來。若投入的是2元硬幣,在送出飲料的同時退還5角硬幣。”
 (1) 試利用因果圖法,建立該軟體的因果圖;
 (2) 設計測試該軟體的全部測試用例。

 11、應該由誰來進行確認測試?是軟體開發者還是軟體使用者?為什麼?


相關推薦

軟體測試工程師試題答案

 1、從供選擇的答案中選出應填入下列(   )中的字句。 軟體測試的目的是(  A  )。為了提高測試的效率,應該(  B  )。使用白盒測試方法時,確定測試資料應根據(  C  )和指定的覆蓋標準。與設計測試資料無關的文件是(  D  )。 軟體的整合測試工作最好由(  E  )承擔,以提高整合測試的

軟體測試工程師試題答案(二)

測試人員考試試卷二(考試時間90分鐘,滿分100分) 一、 判斷題(每題2分,正確的“√”,錯誤的“╳”)  1 、 好的測試員不懈追求完美。(×)  2、 測試程式僅僅按預期方式執行就行了。(×)  3、 不存在質量很高

用selenium工具做軟體自動化測試試題答案

1、selenium中如何判斷元素是否存在? 答:isElementPresent  2、selenium中hidden或者是display = none的元素是否可以定位到? 答:不可以定位到  3、selenium中如何保證操作元素的成功率?也就是說如何保證我點選

軟體測試工程師試題

1.白箱測試和黑箱測試是什麼?什麼是迴歸測試? 2.單元測試、整合測試、系統測試的側重點是什麼? 3.設計用例的方法、依據有那些? 4.一個測試工程師應具備那些素質和技能? 5.整合測試通常都有那些策略? 6.你用過的測試工具的主要功能、效能及其他? 7.一個缺

盤點2019年PHP高階開發工程師試題答案彙總

今天小編給大家整理一下關於PHP培訓高階面試題及答案彙總,下面我們一起來看一下吧。

軟件測試試題答案【匯總】

代碼復用 尋找 質量保證 形式 協議 優先級 應對 考慮問題 調查 軟件測試面試題及答案,歡迎參考!   1、你的測試職業發展是什麽?   測試經驗越多,測試能力越高。所以我的職業發展是需要時間積累的,一步步向著高級測試工程師奔去。而且我也有初步的職業規劃,前3年積累測

大廠測試工程師試題總結-一面(附參考答案

一面:面試官問的面試題: 1、首先自我介紹,然後問了簡歷上熟悉的自動化測試框架的使用過程,自動化測試框架的優缺點 2、用棧實現佇列 3、資料庫的死鎖問題  死鎖:是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去

系統運維工程師試題參考答案

1. raid0 raid1 raid5 原理與區別raid0至少2塊硬碟。吞吐量大 效能好 同時讀寫,但損壞一個就完蛋raid1至少2塊硬碟。相當於 一個映象,一個儲存。安全性比較高。但是效能比0弱r

selenium 自動化測試試題答案

1、selenium中如何判斷元素是否存在? - isElementPresent 2、selenium中hidden或者是display = none的元素是否可以定位到? - 不能 3、selenium中如何保證操作元素的成功率?也就是說如何保證我點選的元素一定是可

PHP試題答案解析(8)—PHP綜合應用題

java應用程序 外殼 sleep 服務應用程序 解釋 源碼 use lee eve 1.寫出下列服務的用途和默認端口。 ftp、ssh、http、telnet、https ftp:File Transfer Protocol,文件傳輸協議,是應用層的協議,它基於傳輸層,

100+經典Java試題答案解析

是什麽 自定義 我們 計數 接口類 同步方法 main err ans 面向對象編程(OOP) Java是一個支持並發、基於類和面向對象的計算機編程語言。下面列出了面向對象軟件開發的優點: 代碼開發模塊化,更易維護和修改。 代碼復用。 增強代碼的可靠性和靈活

JavaScript基本的試題答案

對象 con cnblogs typeof fin 如果 defined 輸出結果 是什麽 1、使用typeof bar==="object"來確定bar是否是對象的潛在陷阱是什麽?如何避免這個陷阱? 例: var bar=null; console.log(typeof

史上最全Java多線程試題答案

blog 上下文 exec 線程 單例 通信 流轉 排查 創建 多線程有什麽用? 線程和進程的區別是什麽? Java實現線程有哪幾種方式? 啟動線程方法start()和run()有什麽區別? 怎麽終止一個線程?如何優雅地終止線程? 一個線程的生命周期

Linux必問試題,雲計算試題答案

雲計算×××教育總結了很多雲計算面試題及答案,一起來看一下吧! 1.生產場景如何對linux系統進行合理規劃分區? 分區的根本原則是簡單、易用、方便批量管理。根據服務器角色定位建議如下: ①單機服務器:如8G內存,300G硬盤 分區: /boot 100-200M,swap 16G,內存大小8G*2,/ 80

經典的一套SQL試題答案

SQL SqlServer 數據庫 面試經典的一套SQL面試題及答案

15個頂級Java多線程試題答案

ctrl 打印 MF 進程 lock 異常 mage 分析 iar 在任何Java面試當中多線程和並發方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺資訊職位,那麽你應該準備很多關於多線程的問題。在投資銀行業務中多線程和並發是一個非常受歡迎的話題,特別是電

關於H5的20道試題答案

查找 除了 模式 鏈接 canvas ike 空元素 search 人的 1 DOCTYPE有什麽作用?標準模式與混雜模式如何區分?它們有何意義? 告訴瀏覽器使用哪個版本的HTML規範來渲染文檔。DOCTYPE不存在或形式不正確會導致HTML文檔以混雜模式呈現。 標準模式

C# 試題答案31-60

ron 保護 靜態方法 方法 重載 可空類型 ast RoCE lis 2018/8/4 c# 面試系列續 31) “System.Array.Clone()” 和 “System.Array.CopyTo()” 有何不同?   1、“CopyTo()” 從一個數組復制

C#經典試題答案

list add 字段 有一個 副本 udp 隔離性 垃圾回收 readonly 字節 1.請你說說.net 中類和結構的區別? 答:結構和類具有大體的語法,但是結構受到的限制比類多。結構不能聲明默認的的構造函數,為結構的副本是編譯器創建和銷毀的,所以不需要默認的構造函數和

中高階測試工程師試題庫(轉)

TesterHome收集的一些中高階測試工程師的68道面試題,轉存。   軟性熱身題 這種題目,考的就是你的軟效能力,比如表達能力,理解能力,協調能力,一個詞概括就是套路。這類題目會在面試開始熱身的時候,問一道兩題,不會多,但是如果你能回答的有條不紊,清晰達意,那麼就會給面試官留下非常好的印象