說到測試用例編寫炭臭,大家的第一反應肯定都是等價類劃分。是的敌呈,等價類劃分是設(shè)計用例最常見的方法之一贸宏。周四組里的小哥分享了黑盒測試的方法,大家討論了一下磕洪,才發(fā)現(xiàn)各自的理解都是不一樣吭练。
首先,來看下官方定義:
等價類劃分將程序所有可能輸入的數(shù)據(jù)(有效和無效)劃分為若干個等價類析显。然后從每個部分選取具有代表性的數(shù)據(jù)當做測試用例進行合理的分類鲫咽,測試用例由有效等價類和無效等價類組成,從而保證測試用例具有完整性和代表性。
用例設(shè)計:
1)在分析需求規(guī)格說明的基礎(chǔ)上劃分等價類分尸,列出等價類表锦聊,為每一個等價類規(guī)定一個唯一的編號。
2)將程序可能的輸入數(shù)據(jù)分成若干個子集寓落,從每個子集中選取一個有代表性的數(shù)據(jù)作為測試用例括丁。等價類是某個輸入域的子集,在該子集中的每個輸入數(shù)據(jù)的作用都是等效的伶选。
3)設(shè)計新的測試用例史飞,使其盡可能多地覆蓋未覆蓋的有效等價類,按照這一步驟重復進行仰税,直到所有的有效等價類都被覆蓋為止构资。
4)設(shè)計新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類陨簇,按照這一步驟重復進行吐绵,直到所有的無效等價類都被覆蓋為止。
問題1:那有效等價類有幾個河绽?
有人回答1個己单,有人回答若干。OK耙饰,其實有效等價類可以是一個纹笼,也可以是多個,根據(jù)系統(tǒng)的輸入域劃分若干部分苟跪,然后從每個部分選取少數(shù)具有代表性數(shù)據(jù)作為數(shù)據(jù)測試的測試用例廷痘,等價類是輸入域的集合。
1)一個有效等價:手機號碼的定義件已,由11位數(shù)字組成
劃分子集:空笋额,1-10位數(shù)字,11位數(shù)字篷扩,12位或以上數(shù)字兄猩,1非數(shù)字
則有效等價類為一個,11位數(shù)字瞻惋。無效等價類為若干:1-10位厦滤,12位或以上,空歼狼,非數(shù)字掏导。非數(shù)字可繼續(xù)細分:字符,特殊字符羽峰,數(shù)字與其他字符混合等趟咆。無效等 價類可以根據(jù)時間資源和價值等確定添瓷。
2)多個有效等價:
關(guān)于第3點,設(shè)計新的測試用例值纱,使其盡可能多的覆蓋未覆蓋的有效等價類鳞贷,按照這一步驟重復進行,直到所有的有效等價類都被覆蓋虐唠。第一次看到這句話的時候搀愧,愣了一下,因為第一反應就是有效等價類不是一個嗎疆偿,下面舉另一個例子說明:
規(guī)定學歷可為本科咱筛,碩士,博士之一
劃分子集:本科生杆故,碩士生迅箩,博士生,空处铛,小學饲趋,初中,高中撤蟆,中專奕塑,大專,其他學歷
則有效等價為3個:本科家肯,碩士爵川,博士。無效等價類為空息楔,小學,初中扒披,高中值依,中專,大專碟案,其他學歷愿险。