軟體測試工程師與面試題

2021-05-30 19:23:34 字數 4769 閱讀 1496

開發思想,邏輯能力

目錄測試用例 2

測試用例的設計 3

(一)白盒技術 3

(二)黑盒技術 4

面試題 9

測試用例(test case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。指對一項特定的軟體產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入資料、測試步驟、預期結果、測試指令碼等,並形成文件。

測試用例構成了設計和制定測試過程的基礎。

編制測試用例的具體做法:

1、測試用例文件2、測試用例的設定3、設計測試用例

測試用例在軟體測試中的作用:

1、 指導測試的實施。測試用例主要適用於整合測試、系統測試和回歸測試。

2、 規劃測試資料的準備

3、 編寫測試指令碼的"設計規格說明書"

4、 評估測試結果的度量基準。完成測試實施後需要對測試結果進行評估,並且編制測試報告。判斷軟體測試是否完成、衡量測試質量需要一些量化的結果。

例:測試覆蓋率是多少、測試合格率是多少、重要測試合格率是多少,等等。

5、 分析缺陷的標準

白盒測試是結構測試,所以被測物件基本上是源程式,以程式的內部邏輯為基礎設計測試用例。

1、邏輯覆蓋

程式內部的邏輯覆蓋程度,當程式中有迴圈時,覆蓋每條路徑是不可能的,要設計使覆蓋程度較高的或覆蓋最有代表性的路徑的測試用例。

(1)語句覆蓋。

為了個提高發現錯誤的可能性,在測試時應該執行到程式中的每乙個語句。語句覆蓋是指設計足夠的測試用例,使被測試程式中每個語句至少執行一次。

(2)判定覆蓋。

判定覆蓋指設計足夠的測試用例,使得被測程式中每個判定表示式至少獲得一次「真」值和「假」值,從而使程式的每乙個分支至少都通過一次,因此判定覆蓋也稱分支覆蓋。

(3)條件覆蓋。

條件覆蓋是指設計足夠的測試用例,使得判定表示式中每個條件的各種可能的值至少出現一次。

(4)判定/條件測試。

該覆蓋標準指設計足夠的測試用例,使得判定表示式的每個條件的所有可能取值至少出現一次,並使每個判定表示式所有可能的結果也至少出現一次。

(5)條件組合覆蓋。

條件組合覆蓋是比較強的覆蓋標準,它是指設計足夠的測試用例,使得每個判定表示式中條件的各種可能的值的組合都至少出現一次。

(6)路徑覆蓋。

路徑覆蓋是指設計足夠的測試用例,覆蓋被測程式中所有可能的路徑。

在實際的邏輯覆蓋測試中,一般以條件組合覆蓋為主設計測試用例,然後再補充部分用例,以達到路徑覆蓋測試標準。

2.迴圈覆蓋

3.基本路徑測試

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑盒測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。

1.等價類劃分

(1)劃分等價類。

①如果某個輸入條件規定了取值範圍或值的個數。則可確定乙個合理的等價類(輸入值或數在此範圍內)和兩個不合理等價類(輸入值或個數小於這個範圍的最小值或大於這個範圍的最大值)。

②如果規定了輸入資料的一組值,而且程式對不同的輸入值做不同的處理,則每個允許輸入值是乙個合理等價類,此處還有乙個不合理等價類(任何乙個不允許的輸入值)。

③如果規定了輸入資料必須遵循的規則,可確定乙個合理等價類(符合規則)和若干個不合理等價類(從各種不同角度違反規則)。

④如果已劃分的等價類中各元素在程式中的處理方式不同,則應將此等價類進一步劃分為更小的等價類。

(2)確定測試用例。

①為每乙個等價類編號。

②設計乙個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的合理等價類。重複這步,直到所有合理等價類被測試用例覆蓋。

③設計乙個測試用例,使其只覆蓋乙個不合理等價類。

2.邊界值分析

使用邊界值分析方法設計測試用例時一般與等價類劃分結合起來。但它不是從乙個等價類中任選乙個例子作為代表,而是將測試邊界情況作為重點目標,選取正好等於、剛剛大於或剛剛小於邊界值的測試資料。

(1)如果輸入條件規定了值的範圍,可以選擇正好等於邊界值的資料作為合理的測試用例,同時還要選擇剛好越過邊界值的資料作為不合理的測試用例。如輸入值的範圍是[1,100],可取0,1,100,101等值作為測試資料。

(2)如果輸入條件指出了輸入資料的個數,則按最大個數、最小個數、比最小個數少1、比最大個數多1等情況分別設計測試用例。如,乙個輸入檔案可包括1--255個記錄,則分別設計有1個記錄、255個記錄,以及0個記錄的輸入檔案的測試用例。

(3)對每個輸出條件分別按照以上原則(1)或(2)確定輸出值的邊界情況。如,乙個學生成績管理系統規定,只能查詢95--98級大學生的各科成績,可以設計測試用例,使得查詢範圍內的某一屆或四屆學生的學生成績,還需設計查詢94級、99級學生成績的測試用例(不合理輸出等價類)。

由於輸出值的邊界不與輸入值的邊界相對應,所以要檢查輸出值的邊界不一定可能,要產生超出輸出值之外的結果也不一定能做到,但必要時還需試一試。

(4)如果程式的規格說明給出的輸入或輸出域是個有序集合(如順序檔案、線形表、鍊錶等),則應選取集合的第乙個元素和最後乙個元素作為測試用例。

3.錯誤推測

在測試程式時,人們可能根據經驗或直覺推測程式中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例,這就是錯誤推測法。

4.因果圖

等價類劃分和邊界值方法分析方法都只是孤立地考慮各個輸入資料的測試功能,而沒有考慮多個輸入資料的組合引起的錯誤。

5.綜合策略

每種方法都能設計出一組有用例子,用這組例子容易發現某種型別的錯誤,但可能不易發現另一型別的錯誤。因此在實際測試中,聯合使用各種測試方法,形成綜合策略,通常先用黑盒法設計基本的測試用例,再用白盒法補充一些必要的測試用例

測試用例模板:

模組描述 xx專案/xx模組

提交時間

測試人測試時間

測試環境

測試工具

功能1描述 xx專案/xx模組/xx功能

用例目的

前提條件

輸入/動作

期望的輸出/相應

實際情況

期待輸出和實際比較

軟體測試工具也分為自動化軟體測試工具和測試管理工具。國內免費軟體測試工具有:黑盒測試工具autorunner可以用來完成功能測試、回歸測試、每日構建測試與自動回歸測試等工作和testcenter是一款功能強大測試管理工具,它可以幫助您:

實現測試用例的過程管理,對測試需求過程、測試用例設計過程、業務元件設計實現過程等整個測試過程進行管理。

一、判斷題

1.軟體測試的目的是盡可能多的找出軟體的缺陷。(y)

2.beta 測試是驗收測試的一種。(y)

3.驗收測試是由終端使用者來實施的。(n)

4.專案立項前測試人員不需要提交任何工件。(y)

5.單元測試能發現約80%的軟體缺陷。(y)

6.**評審是檢查源**是否達到模組設計的要求。(n)

7.自底向上整合需要測試員編寫驅動程式。(y)

8.負載測試是驗證要檢驗的系統的能力最高能達到什麼程度。(n)

9.測試人員要堅持原則,缺陷未修復完堅決不予通過。(n) 看情況有時候就是堅持原則。

10.**評審員一般由測試員擔任。(n)

11.我們可以人為的使得軟體不存在配置問題。(n)

12.整合測試計畫在需求分析階段末提交。(n)

二、選摺

1.軟體驗收測試的合格通過準則是:(abcd)

a. 軟體需求分析說明書中定義的所有功能已全部實現,效能指標全部達到要求。

b. 所有測試項沒有殘餘一級、二級和**錯誤。

c. 立項審批表、需求分析文件、設計文件和編碼實現一致。

d. 驗收測試工件齊全。

2.軟體測試計畫評審會需要哪些人員參加?(abcd)

a.專案經理 b.sqa 負責人 c.配置負責人 d.測試組

3.下列關於alpha 測試的描述中正確的是:(ad)

a.alpha 測試需要使用者代表參加 d.alpha 測試是驗收測試的一種

4.測試設計員的職責有:(bc)

b.設計測試用例c.設計測試過程、指令碼

5.軟體實施活動的進入準則是:(abc)

a.需求工件已經被基線化 b.詳細設計工件已經被基線化

c.構架工件已經被基線化

三、添空

1.軟體驗收測試包括:正式驗收測試,alpha測試,beta測試。

2.系統測試的策略有:功能測試,效能測試,可靠性測試,負載測試,易用性測試,強度測試,安全測試,配置測試,安裝測試,解除安裝測試,文擋測試,故障恢復測試,介面測試,容量測試,相容性測試,分布測試,可用性測試,(有的可以合在一起,分開寫只要寫出15就滿分哦)

3.設計系統測試計畫需要參考的專案文擋有:軟體測試計畫,軟體需求工件和迭代計畫。

4.對面向過程的系統採用的整合策略有:自頂向下,自底向上兩種。

5.(這題出的有問題哦,詳細的5步驟為~~)通過畫因果圖來寫測試用例的步驟為:

(1)分析軟體規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),並給每個原因和結果賦予乙個識別符號。

(2)分析軟體規格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的是什麼關係? 根據這些關係,畫出因果圖。

(3)由於語法或環境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。

(4)把因果圖轉換成判定表。

(5)把判定表的每一列拿出來作為依據,設計測試用例。

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

班級姓名 1.軟體測試就是為了驗證軟體功能實現是否正確,是否完成既定目標的活動所以軟體測試在軟體工程的後期才開始具體的工作。錯誤 1 正確2 錯誤 2.功能測試是系統測試的主要內容,檢查系統的功能 效能是否與需求規格說明相同。正確 1 正確2 錯誤 3.軟體就是程式。正確 1 正確2 錯誤 4.軟體...

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

1 軟體測試的目的是盡可能多的找出軟體的缺陷。y 2 beta 測試是驗收測試的一種。y 3 驗收測試是由終端使用者來實施的。n 4 專案立項前測試人員不需要提交任何工件。y 5 單元測試能發現約80 的軟體缺陷。y 6 評審是檢查源 是否達到模組設計的要求。n 7 自底向上整合需要測試員編寫驅動程...

常見軟體測試工程師面試題 一

04.您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作?答 從事過write test plan,creation of test case,進行功能測試,效能測試,編寫測試工具,文件的管理等,比較擅長與寫測試用例和進行功能測試。05.您所熟悉的軟體測試型別都有哪些?請試著分別比較...