軟件測試方法_等價類劃分法

目錄:

①等價類劃分法的介紹和概念服務器

②等價類的類型劃分性能

③等價類測試用例的類別測試

④等價類劃分的原則spa

⑤等價類劃分法的測試用例應用設計

⑥邊界值分析法的實例分析blog

一、等價類劃分法的介紹和概念

  • 劃分

指互不相交的一組子集,這些子集的並是整個集合。get

對測試的意義:完備性和無冗餘性。it

  • 等價類

等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的,具備等價特性class

  • 等價類合理地假設

測試某等價類的表明值就等於對這一類其它值的測試。基礎

  • 等價類劃分

等價類劃分是一種典型的黑盒測試方法。

等價類測試方法是把全部可能的輸入數據,即程序的輸入域劃分紅若干部分,而後從每一部分中選取少數有表明性的數據做爲測試用例。使用等價類劃分方法設計測試用例要經歷劃分等價類(列出等價類表)和選取測試用例兩步,它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具備完整性和表明性。

二、等價類的類型劃分

等價類劃分可有兩種不一樣的狀況:有效等價類和無效等價類。

  • 有效等價類

是指對於程序的需求規格說明來講是合理的,有意義的輸入數據構成的集合。

利用有效等價類可檢驗程序是否實現了規格說明中所規定的功能和性能(確認過程)。

  • 無效等價類(與有效等價類的定義恰巧相反)

是指對於程序的需求規格說明來講是不合理的,無心義的輸入數據構成的集合。

利用無效等價類可檢驗程序對於無效數據的異常處理能力(檢驗過程)。

設計測試用例時,要同時考慮這兩種等價類。由於,軟件不只要能接收合理的數據,也要能經受意外的考驗。這樣的測試才能確保軟件具備更高的可靠性。

三、等價類測試用例的類別

根據測試用例的完整性能夠劃分

  • 弱等價類測試
  1. 弱通常等價類測試
  2. 弱健壯等價類測試
  • 強等價類測試
  1. 強通常等價類測試
  2. 強健壯等價類測試

PS:健壯性測試

健壯性有兩層含義:容錯能力和恢復能力

容錯性測試一般構造一些不合理的輸入來引誘軟件錯誤,例如
•輸入錯誤的數據類型:如「猴」年「馬」月
•輸入定義域以外的數值

粗暴一些方式俗稱「大猩猩」測試法。除了不能拳打腳踢嘴咬以外,什麼招術均可以使出來。例如在測試客戶機-服務器模式的軟件時,把網線拔掉,形成通訊異常中斷。

恢復測試重點考察如下幾項:
•系統可否從新運行;
•有無重要的數據丟失;
•是否毀壞了其餘相關的軟件硬件。
 

3.1弱通常等價類

遵循單缺陷原則,要求用例覆蓋每個變量的一種取值便可,取值爲有效值。

image

3.2弱健壯等價類

在弱通常等價類的基礎上,增長取值爲無效值的狀況。

對於有效輸入,使用每一個有效值類的一個值

對於無效輸入,測試用例將擁有一個無效值,並保持其他的值是有效的。

image

3.3強通常等價類

遵循多缺陷原則,要求用例覆蓋每一個變量的每種取值之間的迪卡爾乘積,即全部變量全部取值的全部組合,取值爲有效值

覆蓋全部的等價類

有可能的輸入組合中的一個

image

3.4強健壯等價類

在強通常等價類的基礎上,增長取值爲無效值的狀況。

「健壯」考慮無效值,全部等價類都有考慮

「強」多缺陷假設

image

四、等價類劃分的原則

4.1按照區間劃分

在輸入條件規定了取值範圍或值的個數的狀況下,則能夠確立一個有效等價類和兩個無效等價類。

例子:輸入值是學生成績,範圍是0~100之間

image

有效等價類:0≤並≤100,如0,1,10等

無效等價類:<0 或 >100,如-1,101等

弱通常等價類:0~100中任意一個數爲測試數據,只設計1個用例便可
強通常等價類:分爲0、 1~9九、 100三個等價類,須要設計3個用例
弱健壯等價類:考慮到60分在實際狀況中爲特殊數字,劃分0、 1~99(除60外)、 100、 60四個等價類
強健壯等價類:考慮各類非法輸入,如負數、其餘字符等等

4.2按照數值劃分

在規定了輸入數據的一組值(假定n個),而且程序要對每個輸入值分別處理的狀況下,可確立n個有效等價類和一個無效等價類。

例子:輸入條件說明輸入學歷爲本科、碩士和博士3種之一

有效等價類:本科、碩士和博士其中一種

無效等價類:除要求的2種外其餘字符,如小學、專科等

4.3按照數值集合劃分

在輸入條件規定了輸入值的集合或者規定了「必須如何」的條件的狀況下,可確立一個有效等價類和一個無效等價類。

例子:密碼輸入框,要求密碼必須是數字或字母

有效等價類:密碼是數字和字母的組合(還能夠細分)

無效等價類:密碼包括中文、密碼包括其餘符號等

4.4按限制條件或規則劃分

在規定了輸入數據必須遵照的規則的狀況下,可確立一個有效等價類(符合規則)和若干個無效等價類(從不一樣角度違反規則)。

例子:校內電話號碼撥外線爲9開頭

有效等價類:9+外線號碼

無效等價類:非9開頭+外線號碼,9+非外線號碼等

4.5細分等價類

在確知已劃分的等價類中各元素在程序處理中的方式不一樣的狀況下,則應再將該等價類進一步的劃分爲更小的等價類,並創建等價類表。

例子:肯定了等價類後,再列表形式列出全部劃分出的等價類表

image

五、等價類劃分法的測試用例應用

  • 按照[輸入條件][有效等價類][無效等價類] 創建等價類表,列出全部劃分出的等價類
  • 爲每個等價類規定一個惟一的編號
  • 設計一個新的測試用例,使其儘量多地覆蓋還沒有被覆蓋地有效等價類,重複這一步,直到全部的有效等價類都被覆蓋爲止。
  • 設計一個新的測試用例,使其僅覆蓋一個還沒有被覆蓋的無效等價類,重複這一步,直到全部的無效等價類都被覆蓋爲止。

六、等價類劃分法的實例分析

某程序規定:"輸入三個整數 a 、 b 、 c 分別做爲三邊的邊長構成三角形。經過程序斷定所構成的三角形的類型,當此三角形爲通常三角形、等腰三角形及等邊三角形時,分別做計算 … "。用等價類劃分方法爲該程序進行測試用例設計。(三角形問題的複雜之處在於輸入與輸出之間的關係比較複雜。)

分析題目中給出和隱含的對輸入條件的要求:

(1)整數 (2)三個數 (3)非零數 (4)正數
(5)兩邊之和大於第三邊 (6)等腰 (7)等邊
若是 a 、 b 、 c 知足條件( 1 ) ~ ( 4 ),則輸出下列四種狀況之一:
1)若是不知足條件(5),則程序輸出爲 " 非三角形 " 。
2)若是三條邊相等即知足條件(7),則程序輸出爲 " 等邊三角形 " 。
3)若是隻有兩條邊相等、即知足條件(6),則程序輸出爲 " 等腰三角形 " 。
4)若是三條邊都不相等,則程序輸出爲 " 通常三角形 " 。

請各位列出等價類表並編號

image

覆蓋有效等價類的測試用例:

a      b      c              覆蓋等價類號碼

3      4      5             (1)--(7)

4      4      5             (1)--(7),(8)

4      5      5             (1)--(7),(9)

5      4      5             (1)--(7),(10)

4      4      4             (1)--(7),(11)

覆蓋無效等價類的測試用例:

image

相關文章
相關標籤/搜索