1.介紹
等價(jià)類劃分是一種典型的黑盒測試方法耕拷。等價(jià)類劃分是指分步驟把海量(無限)的測試用例集減得很小,但過程同樣有效蒙袍。也就是說,選取足夠小測試用例嫩挤,發(fā)現(xiàn)更多軟件缺陷害幅。
2.類型劃分
等價(jià)類劃分有兩種不同情況:有效等價(jià)類和無效等價(jià)類。
有效等價(jià)類:
是指對于程序的需求規(guī)格說明來說是合理的岂昭,有意義的輸入數(shù)據(jù)構(gòu)成的集合以现。
利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能(確認(rèn)過程)。
無效等價(jià)類(與有效等價(jià)類的定義恰巧相反)
是指對于程序的需求規(guī)格說明來說是不合理的约啊,無意義的輸入數(shù)據(jù)構(gòu)成的集合邑遏。
利用無效等價(jià)類可檢驗(yàn)程序?qū)τ跓o效數(shù)據(jù)的異常處理能力(檢驗(yàn)過程)。
3.測試用例完整性劃分
根據(jù)測試用例的完整性可以劃分:
弱一般等價(jià)類測試
強(qiáng)一般等價(jià)類測試
弱健壯等價(jià)類測試
強(qiáng)健壯等價(jià)類測試
下面使用二分法來說明測試用例的完整性:
健壯是指要考慮無效值恰矩。強(qiáng)是指要考慮組合情況记盒,使用笛卡爾積算出測試用例個(gè)數(shù)。
使用下面例子分別說明它們區(qū)別:
某城市電話號碼由三部分組成外傅。地區(qū)碼:空白或三位數(shù)字纪吮;前綴:不能1和2開頭的三位數(shù)字;后綴:4位數(shù)字萎胰。
根據(jù)上面信息劃分等價(jià)類:
3.1弱一般等價(jià)類
使用最少測試用例覆蓋每個(gè)有效等價(jià)類碾盟。在上面例子弱一般等價(jià)類的用例如下:
3.2強(qiáng)一般等價(jià)類
強(qiáng)一般等價(jià)類是基于多缺陷假設(shè),強(qiáng)一般等價(jià)類的測試用例是要覆蓋每個(gè)有效等價(jià)類取值的笛卡爾積技竟。即在有效等價(jià)類取值的所有組合冰肴。組合個(gè)數(shù)是2 * 1 *1=2。
3.3弱健壯等價(jià)類
在弱一般等價(jià)類的基礎(chǔ)上榔组,增加取值為無效值的情況熙尉。對于無效輸入,測試用例將擁有一個(gè)無效值瓷患,并保持其余的值是有效的骡尽。
3.4強(qiáng)健壯等價(jià)類
在強(qiáng)一般等價(jià)類的基礎(chǔ)上,增加取值為無效值的情況擅编。也是運(yùn)用笛卡爾積思路得出測試用例攀细。測試用例個(gè)數(shù)有:(2+3)*(1+5) * (1+3)=5 * 6 * 4 = 120(個(gè)),用例數(shù)量太多爱态,就不意義列出來了谭贪。
上面從四個(gè)不同方面來思考怎樣設(shè)計(jì)測試用例,我們需要選取如何測試用例锦担,發(fā)現(xiàn)更多缺陷呢俭识?正如我們在開頭提到:
等價(jià)類劃分是指分步驟把海量(無限)的測試用例集減得很小,但過程同樣有效洞渔。
4.使用方法
等價(jià)類使用方法說明如下:
按照輸入條件建立有效等價(jià)類和無效等價(jià)類套媚,列出所有劃分出的等價(jià)類缚态。
為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號。
設(shè)計(jì)一個(gè)新的測試用例堤瘤,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類玫芦,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止本辐。
設(shè)計(jì)一個(gè)新的測試用例桥帆,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步慎皱,直到所有的無效等價(jià)類都被覆蓋為止老虫。
根據(jù)以上說明,弱健壯等價(jià)類是符合以上要求茫多。在使用等價(jià)類劃分法設(shè)計(jì)測試用例的的重點(diǎn)在于劃分有效等價(jià)類和無效等價(jià)類粗細(xì)的粒度祈匙。粒度越粗,設(shè)計(jì)測試用例越少天揖,粒度越細(xì)菊卷,設(shè)計(jì)測試用例越多。相對來說宝剖,粒度越細(xì)能發(fā)現(xiàn)更多問題。