淺析等價類劃分技術設計測試用例

發表于:2020-11-03 09:30  作者:玉樹林風   來源:知乎

字體: | 上一篇 | 下一篇 |我要投稿 | 推薦標簽: 用例設計

  一、 等價類劃分技術的研究背景和定義
  1.1 等價類劃分技術的研究背景
  目前IT行業發展的如火如荼,軟件測試也是風聲水起,如何提高測試效率已經成為了當前軟件測試行業共同關注的難題。既要保證測試覆蓋率,又要節省軟件測試的時間,保證軟件項目的高效迭代。因此,軟件測試用例的設計也成為關注的焦點。現在,已經開發了許多測試用例設計方法。常見的測試用例設計方法包括等效類劃分,邊界值分析以及因果圖分析。
  1.2 等價類劃分技術的定義
  等價類劃分法是一種非常典型的,并且是最基礎的黑盒測試用例設計方法。測試工程師們采用等價類劃分法來設計測試用例時,完全不需要考慮程序內部結構,采用等價類劃分法設計用例的唯一依據是軟件需求規格說明書。那么什么是等價類呢?等價類就是從每一個等價類子集中選取少數并且具有代表性的數據,從而生成測試用例。
  確定等價類的原則:
  (1)當在軟件需求規格書中指定了輸入范圍或編號時,可以建立一個有效的等效類(規格要求范圍內的值)和兩個無效的等效類(規格要求范圍內的值)。
  (2)如果軟件需求說明書中規定了某個輸入域的集合,或者在必須怎么樣的情況下,可以確定一個有效等價類(在說明書要求的域中的值)和一個無效等價類(不在說明書要求的域中的值)。
  (3)如果軟件需求說明書中規定了某個輸入必須為真或者為假的時候,可以確定一個有效等價類(和說明書要求相同的值)和一個無效等價類(和說明書要求不同的值)。
  (4)如果軟件要求規范規定必須遵守某些規則,則一個有效的等效類(在規范要求的規則范圍內的值)和多個無效的等效類(在規范要求的規則范圍之外 )即可確定值。
  二、 等價類劃分技術的設計方法
  等價類又分為有效等價類和無效等價類,比如一個網頁登錄界面的軟件需求說明要求登錄密碼不小于6位數字,并且不大于12位數字,那么這個有效等價類就是在6-12位數字取一個值,無效等價類就是在0-5位和大于12位數字取一個值,不需要把所有位數的密碼都測一遍,那樣太浪費時間了,無形中為軟件測試節省了很多成本,縮短了項目周期。具體的步驟如下:
  (1) 我們首先需要確定兩類等價類:有效等價類和無效等價類,有效等價類是符合軟件說明書需求的正確值,而無效等價類則是不符合軟件說明書需求的錯誤值。
  (2) 對等效類進行分類后,建立符合提交 / 要求的等效類表,列出每個輸入條件對應的有效和無效等效類。舉例說明,某應用登錄界面有如下需求:用戶賬號需要輸入不低于10位字母/數字,用戶密碼需要輸入10-15位數字。如下表所示:
  (3) 編寫新的測試用例,盡可能多地覆蓋那些尚未被涵蓋的有效等價類和無效等價類,在每個有效等價類子集和無效等價類子集中選取一個值,直到所有的有效等價類子集都被測試用例所覆蓋完全。
  三、 等價類劃分技術的研究目的和意義
  3.1 等價類劃分技術的研究目的
  理想的測試是使用最少的測試輸入(測試數據和時間等輸入),達到最高的測試質量,而這個最少的測試數據,也就是測試子集需要我們去研究一種設計方法來達到在保證測試覆蓋率的前提下,用最少的測試case,找出盡可能多的軟件缺陷,當然也能隨便發現很多硬件缺陷,我們也不能不管。通過有效等價類和無效等價類的劃分可以實現將無窮的測試子集限定在有限的范圍內,使用最少的測試用例去發現最多的bug。因此,等價類劃分是黑盒測試最基本的方法。
  3.2 等價類劃分技術的研究意義
  在軟件迭代速度日益增加的今天,軟件測試的時間也在不斷被壓縮,在人力成本同步上升的同時,為了控制軟件項目成本不超,只能將測試的資源壓縮。在軟件測試面臨如此窘境的情況下,我們只能尋找方法在保證軟件測試覆蓋率不減的情況下,減少測試用例的數量,以保證在軟件測試周期內保質保量地去完成所有的測試用例。
  等價類分區通常是一種方法,可以被有輸入需求的測試對象使用。 等價類分區減少了準備測試用例和執行測試用例的工作量,確保了高的測試效率和準確的測試結果,大大降低了項目的成本。
  四、 等價類劃分技術的研究結論與不足
  雖然等價類劃分的測試用例設計方法減少了窮舉法帶來的大量準備測試用例和執行測試用例的工作量,但是一般都是有輸入性需求的被測對象才可以采用等價類劃分的方法,輸入與輸入之間的關系考慮少,可能產生一些邏輯錯誤。還需要其他用例設計方法來補充測試。另外需要注意的是測試用例沒有完美的,不是必須列到多少條才叫滿分,再怎么測試都不可能找出所有bug。測試行為是一個精益求精的過程,滿分是理想的狀態,測試工程師以這個理想為目的,始終在朝拜它的路上,不問何時抵達,只求更接近一步。設計測試用例的目的,圖的就是有邏輯得有規律得找出更多bug,那么就有理由認為,測試用例設計的越完整,邏輯性就越強,考慮得就越周到,就可以找出更多bug。

  本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8017),我們將立即處理

評 論

論壇新帖

頂部 底部


建議使用IE 6.0以上瀏覽器,800×600以上分辨率,法律顧問:上海瀛東律師事務所 張楠律師
版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2020, 滬ICP備05003035號
投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

滬公網安備 31010102002173號

51Testing官方微信

51Testing官方微博

掃一掃 測試知識全知道

日本av