技術分享 | 黑盒測試方法論—等價類

      網友投稿 673 2022-05-30

      更多技術文章分享和免費資料領取

      本文節選自霍格沃茲測試學院內部教材

      等價類劃分是一種重要的、常用的黑盒測試方法,不需要考慮程序的內部結構,只需要考慮程序的輸入規格。它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性。

      需要把用戶所有可能輸入的數據,劃分成若干份(若干個子集),然后從每一個子集當中選取少數具有代表性的數據作為測試用例,這種方法被稱為——等價類劃分法。

      在有限的測試資源的情況下,用少量有代表性的數據得到比較好的測試效果。

      等價類劃分

      等價類劃分的基本思想就是先把可能的數據劃分為不同的類別,然后再從每一類里面挑選有代表性的數據進行測試。這樣挑選出來的數據,就可以代表這一類里面的全部數據。通過這種方式,測試用例的數量就可以減少。

      等價類分類

      從已經劃分出來的這些范圍當中,又可以分為兩種情況:

      有效等價類:指符合《需求文檔》,輸入合理的數據集合。

      無效等價類:指不符合《需求文檔》,輸入不合理的數據集合。

      因為軟件不僅要能夠接收合理的數據,不合理的數據也需要做出正確響應,所以在設計測試用例時,兩種等價類都需要考慮,這樣的測試才能確保軟件具有更高的可靠性。

      所有的有效等價類和無效等價類合起來,就是整個的測試數據范圍。

      等價類劃分原則

      通常按照以下規則進行劃分等價類:

      如果規定輸入的取值范圍或個數時,則劃分一個有效等價類和兩個無效等價類。如:注冊用戶名的長度限制 6~18 個字符,6~18 個字符是有效等價類,小于 6 個字符和大于 18 個字符則是兩個無效等價類。

      如果規定了輸入的集合或規則必須要遵循的條件,則劃分一個有效等價類,和一個無效等價類。如:注冊用戶名的格式要求必須以字母開頭時,以字母開頭是有效等價類,非字母開頭是無效等價類。

      如果輸入條件是一個布爾值,則劃分為一個有效等價類和一個無效等價類。如:在注冊用戶時需要遵循協議或條款是否接受時,“接受”是有效等價類,“不接受”則是無效等價類。

      如果輸入條件時一組數據(枚舉值),并且程序對每一個輸入的值做不同的處理,則化為若干個有效等價類和一個無效等價類。如:網游中充值 VIP 等級(三個等級),對每個 VIP 的等級優惠不同,VIP1、VIP2、VIP3 不同等級是三個有效等價類,不是 VIP 用戶則是無效等價類。

      如果輸入條件規定了必須要遵循的某些規則下,則劃分為一個有效等價類和若干個無效等價類(無效等價類需要從不同的角度去違反規則)。如:密碼要求首位必須是大寫字母的,首字母大寫時有效等價類,首位小寫字母的、首位為數字的或者首位為特殊字符的則是無效等價類。

      不是所有的等價類都有無效等價類。如:性別的選擇只有男或女兩種。

      等價類設計步驟

      先劃分等價類:找出所有可能的分類。

      確定有效等價類:需求中的條件。

      確定無效等價類:與條件相反的情況,再找到特殊情況(中文、英文、符號、空格、空)。

      從各個分類中挑選測試用例數據。

      劃分等價類要點:文本框要求輸入的長度、輸入的類型、組成規則、是否為空、是否重復---區分大小寫、是否去除空格。

      實例

      技術分享 | 黑盒測試方法論—等價類

      等價類設計步驟的前3個步驟,可以通過等價類表這種方法來輔助進行分析。

      例:計算 1---100 的整數之和(包括 1 和 100)

      以上面的計算器來舉例,這次是計算1--100中的其中兩個整數之和。

      在確立了等價類之后,可按下表的形式列出所有劃分出的等價類表。

      等價類表可以幫助分析如何劃分等價類,是一個輔助工具,初學者可以這樣寫,等熟練之后可以直接快速的編寫出測試用例。

      設計用例的時候需要注意,應該按照以下原則來覆蓋不同的等價類:

      設計新的測試數據,盡可能多覆蓋尚未被覆蓋的有效等價類,重復這一步驟,直到將所有的有效等價類都被覆蓋完為止。

      設計新的測試數據,只覆蓋一個無效等價類,重復這一步,直到將所有的無效等價類都被覆蓋完為止。

      設計測試用例

      先編寫一個很簡單的用例,只包含最關鍵的一些信息,比如用例編號,屬于的等價類,兩個輸入框中的測試數據,還有預期結果。

      因為這里想要得到最終結果的話涉及到了多個元素,這里就需要輸入兩個值。

      在這種情況下,要采用控制變量法,如果是要覆蓋無效等價類的話,設計測試用例的時候,當前元素覆蓋無效等價類,用例中涉及到的其他元素要保持有效。

      每次一個單點無效輸入讓其他點有效輸入排除更多不確定和干擾。

      等價類總結

      等價類劃分法非常簡單,也很容易理解,是在用例設計中使用最廣泛的一種測試用例設計方法。

      它的優點是考慮了單個輸入域,所有可能的取值情況,避免了在設計用例時盲目或隨機選取輸入測試不完整或不穩定的數據。

      最大的缺點就是產生的測試用例比較多,而且在設計時,可能會產生一些無效的測試用例,也沒有對特殊點進行考慮,所以在設計時需要結合其他的設計方法進行補充。

      獲取更多內容:

      https://qrcode.testing-studio.com/f?from=hwyun&url=https://ceshiren.com/t/topic/16586

      Bash 指令 Linux Shell TCP/IP 自動化測試

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:2020年人工神經網絡第二次作業
      下一篇:關于前端的碎碎念2-CSS裝修之display
      相關文章
      亚洲国产精品无码久久久不卡| 国产亚洲综合成人91精品| 亚洲av日韩av高潮潮喷无码| 中文字幕一精品亚洲无线一区| 久久久久亚洲AV无码去区首| 亚洲综合久久精品无码色欲| 激情五月亚洲色图| 亚洲av乱码一区二区三区| 亚洲国产精品久久丫| 亚洲欧洲日本天天堂在线观看| 亚洲精品中文字幕乱码| 亚洲国产精品成人综合久久久| 亚洲视频免费在线播放| 亚洲国产精品成人久久久| 亚洲AV无码久久久久网站蜜桃| 久久久久精品国产亚洲AV无码| 亚洲91精品麻豆国产系列在线| 久久亚洲国产最新网站| 亚洲精品乱码久久久久蜜桃 | 亚洲av色福利天堂| 情人伊人久久综合亚洲| 久久精品视频亚洲| 久久亚洲精品无码VA大香大香| 亚洲码一区二区三区| youjizz亚洲| 亚洲AV无码成人精品区狼人影院| 国产亚洲男人的天堂在线观看| 亚洲精品视频在线看| 亚洲乱码精品久久久久..| 亚洲丁香色婷婷综合欲色啪| 亚洲精品影院久久久久久| 亚洲乱码在线观看| 激情婷婷成人亚洲综合| 亚洲午夜日韩高清一区| 久久精品国产69国产精品亚洲| 亚洲最大的成网4438| 精品亚洲AV无码一区二区三区 | 亚洲第一中文字幕| 亚洲一欧洲中文字幕在线| 亚洲午夜无码久久久久小说 | 亚洲国产高清精品线久久|