軟件測試方法與經(jīng)驗 軟件測試
一、等價(jià)類(lèi)法
1.定義
是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)子集中選取少數具有代表性的數據作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。
2.劃分等價(jià)類(lèi)
等價(jià)類(lèi)是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數據對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價(jià)類(lèi)的代表值就等于對這一類(lèi)其它值的測試,因此,可以把全部輸入數據合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數據作為測試的輸入條件就可以用少量代表性的測試數據取得較好的測試結果。等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)。
1)有效等價(jià)類(lèi)
是指對于程序的規格說(shuō)明來(lái)說(shuō)是合理的、有意義的輸入數據構成的集合。利用有效等價(jià)類(lèi)可檢驗程序是否實(shí)現了規格說(shuō)明中所規定的功能和性能。
2)無(wú)效等價(jià)類(lèi)
與有效等價(jià)類(lèi)的定義恰巧相反。無(wú)效等價(jià)類(lèi)指對程序的規格說(shuō)明是不合理的或無(wú)意義的輸入數據所構成的集合。對于具體的問(wèn)題,無(wú)效等價(jià)類(lèi)至少應有一個(gè),也可能有多個(gè)。
設計測試用例時(shí),要同時(shí)考慮這兩種等價(jià)類(lèi)。因為軟件不僅要能接收合理的數據,也要能經(jīng)受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。
3.劃分等價(jià)類(lèi)的標準
1)完備測試、避免冗余;
2)劃分等價(jià)類(lèi)重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的并是整個(gè)集合;
3)并是整個(gè)集合:完備性;
4)子集互不相交:保證一種形式的無(wú)冗余性;
5)同一類(lèi)中標識(選擇)一個(gè)測試用例,同一等價(jià)類(lèi)中,往往處理相同,相同處理映射到"相同的執行路徑"。
4.劃分等價(jià)類(lèi)的方法
1)在輸入條件規定了取值范圍或值的個(gè)數的情況下,則可以確立一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。
如:輸入值是學(xué)生成績(jì),范圍是0~100;
2)在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可確立一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi);
3)在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。
4)在規定了輸入數據的一組值(假定n個(gè)),并且程序要對每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。
例:輸入條件說(shuō)明學(xué)歷可為:專(zhuān)科、本科、碩士、博士四種之一,則分別取這四種這四個(gè)值作為四個(gè)有效等價(jià)類(lèi),另外把四種學(xué)歷之外的任何學(xué)歷作為無(wú)效等價(jià)類(lèi)。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/