簡介
在軟件測試中,等價(jià)類在有效地驗(yàn)證系統(tǒng)行為方面起著至關(guān)重要的作用。這些類表示變量的可能值范圍的子集,例如輸入或輸出,在這些變量中,系統(tǒng)期望顯示類似的行為。通過從這些等價(jià)類中選擇具有代表性的值,我們可以系統(tǒng)地減少測試工作,同時仍然獲得重要的覆蓋率。
在這篇文章中,我們將探討等價(jià)類在用TPT做測試過程中的使用,以及它們?nèi)绾蝺?yōu)化測試過程。等價(jià)類將值分類為不同的子集,通過從每個類中選擇一個具有代表性的值來簡化測試過程。
例如,在我們的例子中,我們定義了光強(qiáng)度的等價(jià)類為
- Dark(黑暗)[0;60],
- Bright(明亮)[70;100]以及
- Twilight(黃昏)[60;70].
同樣,開關(guān)位置表示為
- off(關(guān))0,
- on(開)1以及
- auto(自動)2.
輸出信號,前照燈關(guān)閉0和打開1,也是我們的例子的一部分。
等價(jià)類測試
等價(jià)類測試的目的是通過測試從每個等價(jià)類中選擇的幾個值來驗(yàn)證系統(tǒng)的行為,從而節(jié)省大量的測試工作。ISO 26262等安全標(biāo)準(zhǔn)也要求應(yīng)用等價(jià)類測試。嘗試測試值范圍內(nèi)的“每個”可能值將導(dǎo)致更高的測試工作量。
雖然這對于整數(shù)來說是可行的,但是對于雙精度來說,工作量是巨大的。通過系統(tǒng)地從每個等價(jià)類中選擇一個或多個代表,在保持可測量的覆蓋率的同時減少了測試工作。
此外,可以考慮等價(jià)類的笛卡爾積,其中每個開關(guān)位置都用所有三種光強(qiáng)度進(jìn)行測試。然而,這種方法會迅速增加測試工作量,特別是當(dāng)涉及多個輸入時。
圖1展示了TPT中的覆蓋率報(bào)告,它提供了為等價(jià)類選擇的測試用例所獲得的覆蓋率的視圖。它標(biāo)識了覆蓋的等價(jià)類的數(shù)量,并指出需要額外測試的任何剩余類。
因?yàn)樗昝赖厝谌肓擞懻摚宰屛覀兒唵蔚亟榻B一下邊界值測試在軟件工程中的重要性。
邊界值測試
在軟件測試中,等價(jià)類測試和邊界值測試是密切相關(guān)的。等價(jià)類測試側(cè)重于從不同等價(jià)類中選擇有代表性的值來減少測試工作量,而邊界值測試則專門針對這些等價(jià)類中的最小值和最大值。
邊界值測試在軟件工程中很重要,原因如下:
- 首先,它有助于發(fā)現(xiàn)在輸入或輸出范圍邊界經(jīng)常發(fā)生的錯誤或問題。這些邊界通常是系統(tǒng)行為變化的地方,使它們成為測試的關(guān)鍵區(qū)域。
- 此外,邊界值測試有助于識別離一錯誤、舍入錯誤和其他與精度相關(guān)的問題,這些問題會影響軟件的正確性和可靠性。通過徹底測試邊界值,開發(fā)人員可以確保魯棒性并提高軟件的整體質(zhì)量。
就像任何測試技術(shù)一樣,等價(jià)類也有自己的優(yōu)缺點(diǎn)。下面從高級的角度簡要概述一下。
優(yōu)勢
1??輸入和輸出變量的系統(tǒng)劃分減少了測試工作。
2??適用于從單元測試到集成測試的所有測試階段。
不利條件
創(chuàng)建等價(jià)類可能非常耗時,并且需要基于需求的專業(yè)知識。
最佳實(shí)踐
1??根據(jù)需求創(chuàng)建功能測試,并相應(yīng)地派生等價(jià)類。
2??執(zhí)行測試并驗(yàn)證覆蓋率。對于任何未覆蓋的等價(jià)類,創(chuàng)建額外的測試用例。
3??檢查是否指定了或需要指定這些類的行為。
圖2:使用TPT進(jìn)行等價(jià)類管理
TPT提供了特殊的等價(jià)類管理功能,用戶可以方便地創(chuàng)建和管理等價(jià)類。該功能分為三個對話框:
- 信號等價(jià)類的賦值(左上)
- 等價(jià)類的定義(右上)
- 測試運(yùn)行的等價(jià)類的評估規(guī)則(底部)。
因此,覆蓋率報(bào)告通過顯示所覆蓋的等價(jià)類和任何需要注意的剩余類,為您的測試工作的完整性提供了有價(jià)值的洞察。
為了增加靈活性,可以使用數(shù)值或參數(shù)指定等價(jià)類的值范圍。可以在聲明編輯器中集中定義和管理參數(shù)。如果一個參數(shù)的特定值需要隨著時間的推移而調(diào)整,例如移動一個閾值,它將自動反映在等價(jià)類中。
另外,TPT通過為等價(jià)類和邊界值提供自動化的測試用例生成,超越了手工測試用例的創(chuàng)建。利用TPT的自動化功能,您可以在測試用例開發(fā)中節(jié)省時間和精力,同時確保對您的軟件變體進(jìn)行徹底的測試。
圖3自動化測試用例生成:展示了TPT的自動化功能,其中測試用例是基于定義的等價(jià)類和邊界值自動生成的。這種自動化特性簡化了測試過程,消除了手工工作,并確保了關(guān)鍵場景的全面覆蓋。
位于圖3右上角的配置對話框顯示了在生成過程中包含邊界(左和右)的選項(xiàng)。因此,每個等價(jià)類不僅有一個代表,而且每個等價(jià)類有三個值(左邊界、代表、右邊界)。
在圖3的下方窗口中,可以看到在生成等價(jià)類的過程中沒有生成數(shù)值。相反,將創(chuàng)建對等價(jià)類的引用。這種方法確保了更改的健壯性。當(dāng)執(zhí)行測試運(yùn)行時,使用具體的數(shù)值,這些數(shù)值在測試報(bào)告中明確地報(bào)告。
通過利用TPT的等價(jià)類管理和自動化的測試用例生成,您可以簡化您的測試過程,提高效率,并且安心地驗(yàn)證您的軟件變體的行為。
總結(jié)
等價(jià)類在有效的軟件測試中起著至關(guān)重要的作用,允許您系統(tǒng)地劃分變量并優(yōu)化測試工作。TPT為管理等價(jià)類、驗(yàn)證它們的覆蓋率和自動化測試用例生成提供了強(qiáng)大的支持。
您準(zhǔn)備好利用等價(jià)類的功能并增強(qiáng)您的測試過程了嗎?嘗試TPT并親身體驗(yàn)它如何簡化軟件變體的管理和測試。歡迎聯(lián)系北匯信息獲取免費(fèi)試用。
-
軟件測試
+關(guān)注
關(guān)注
2文章
221瀏覽量
18515 -
TPT
+關(guān)注
關(guān)注
0文章
23瀏覽量
6949
發(fā)布評論請先 登錄
相關(guān)推薦
評論