簡介
在軟件測試中,等價類在有效地驗證系統行為方面起著至關重要的作用。這些類表示變量的可能值范圍的子集,例如輸入或輸出,在這些變量中,系統期望顯示類似的行為。通過從這些等價類中選擇具有代表性的值,我們可以系統地減少測試工作,同時仍然獲得重要的覆蓋率。
在這篇文章中,我們將探討等價類在用TPT做測試過程中的使用,以及它們如何優化測試過程。等價類將值分類為不同的子集,通過從每個類中選擇一個具有代表性的值來簡化測試過程。
![wKgaomSmZGSALZhSAABs8Qmahak762.png](https://file1.elecfans.com/web2/M00/8C/23/wKgaomSmZGSALZhSAABs8Qmahak762.png)
例如,在我們的例子中,我們定義了光強度的等價類為
- Dark(黑暗)[0;60],
- Bright(明亮)[70;100]以及
- Twilight(黃昏)[60;70].
![wKgaomSmZGWAHzJWAACffqLKJ2U254.png](https://file1.elecfans.com/web2/M00/8C/23/wKgaomSmZGWAHzJWAACffqLKJ2U254.png)
同樣,開關位置表示為
- off(關)0,
- on(開)1以及
- auto(自動)2.
![wKgZomSmZGSAEGgZAACatoiwJps282.png](https://file1.elecfans.com/web2/M00/8C/21/wKgZomSmZGSAEGgZAACatoiwJps282.png)
輸出信號,前照燈關閉0和打開1,也是我們的例子的一部分。
等價類測試
等價類測試的目的是通過測試從每個等價類中選擇的幾個值來驗證系統的行為,從而節省大量的測試工作。ISO 26262等安全標準也要求應用等價類測試。嘗試測試值范圍內的“每個”可能值將導致更高的測試工作量。
雖然這對于整數來說是可行的,但是對于雙精度來說,工作量是巨大的。通過系統地從每個等價類中選擇一個或多個代表,在保持可測量的覆蓋率的同時減少了測試工作。
此外,可以考慮等價類的笛卡爾積,其中每個開關位置都用所有三種光強度進行測試。然而,這種方法會迅速增加測試工作量,特別是當涉及多個輸入時。
![wKgZomSmZGSAPdLGAABrJRSSc7g911.png](https://file1.elecfans.com/web2/M00/8C/21/wKgZomSmZGSAPdLGAABrJRSSc7g911.png)
圖1展示了TPT中的覆蓋率報告,它提供了為等價類選擇的測試用例所獲得的覆蓋率的視圖。它標識了覆蓋的等價類的數量,并指出需要額外測試的任何剩余類。
因為它完美地融入了討論,所以讓我們簡單地介紹一下邊界值測試在軟件工程中的重要性。
邊界值測試
在軟件測試中,等價類測試和邊界值測試是密切相關的。等價類測試側重于從不同等價類中選擇有代表性的值來減少測試工作量,而邊界值測試則專門針對這些等價類中的最小值和最大值。
邊界值測試在軟件工程中很重要,原因如下:
- 首先,它有助于發現在輸入或輸出范圍邊界經常發生的錯誤或問題。這些邊界通常是系統行為變化的地方,使它們成為測試的關鍵區域。
- 此外,邊界值測試有助于識別離一錯誤、舍入錯誤和其他與精度相關的問題,這些問題會影響軟件的正確性和可靠性。通過徹底測試邊界值,開發人員可以確保魯棒性并提高軟件的整體質量。
就像任何測試技術一樣,等價類也有自己的優缺點。下面從高級的角度簡要概述一下。
優勢
1??輸入和輸出變量的系統劃分減少了測試工作。
2??適用于從單元測試到集成測試的所有測試階段。
不利條件
創建等價類可能非常耗時,并且需要基于需求的專業知識。
最佳實踐
1??根據需求創建功能測試,并相應地派生等價類。
2??執行測試并驗證覆蓋率。對于任何未覆蓋的等價類,創建額外的測試用例。
3??檢查是否指定了或需要指定這些類的行為。
![wKgZomSmZGWAZOsSAAEHbWIF0_U641.png](https://file1.elecfans.com/web2/M00/8C/21/wKgZomSmZGWAZOsSAAEHbWIF0_U641.png)
圖2:使用TPT進行等價類管理
TPT提供了特殊的等價類管理功能,用戶可以方便地創建和管理等價類。該功能分為三個對話框:
- 信號等價類的賦值(左上)
- 等價類的定義(右上)
- 測試運行的等價類的評估規則(底部)。
因此,覆蓋率報告通過顯示所覆蓋的等價類和任何需要注意的剩余類,為您的測試工作的完整性提供了有價值的洞察。
為了增加靈活性,可以使用數值或參數指定等價類的值范圍。可以在聲明編輯器中集中定義和管理參數。如果一個參數的特定值需要隨著時間的推移而調整,例如移動一個閾值,它將自動反映在等價類中。
另外,TPT通過為等價類和邊界值提供自動化的測試用例生成,超越了手工測試用例的創建。利用TPT的自動化功能,您可以在測試用例開發中節省時間和精力,同時確保對您的軟件變體進行徹底的測試。
![wKgZomSmZGSAfgMaAAEsITgOGyI546.png](https://file1.elecfans.com/web2/M00/8C/21/wKgZomSmZGSAfgMaAAEsITgOGyI546.png)
圖3自動化測試用例生成:展示了TPT的自動化功能,其中測試用例是基于定義的等價類和邊界值自動生成的。這種自動化特性簡化了測試過程,消除了手工工作,并確保了關鍵場景的全面覆蓋。
位于圖3右上角的配置對話框顯示了在生成過程中包含邊界(左和右)的選項。因此,每個等價類不僅有一個代表,而且每個等價類有三個值(左邊界、代表、右邊界)。
在圖3的下方窗口中,可以看到在生成等價類的過程中沒有生成數值。相反,將創建對等價類的引用。這種方法確保了更改的健壯性。當執行測試運行時,使用具體的數值,這些數值在測試報告中明確地報告。
通過利用TPT的等價類管理和自動化的測試用例生成,您可以簡化您的測試過程,提高效率,并且安心地驗證您的軟件變體的行為。
總結
等價類在有效的軟件測試中起著至關重要的作用,允許您系統地劃分變量并優化測試工作。TPT為管理等價類、驗證它們的覆蓋率和自動化測試用例生成提供了強大的支持。
您準備好利用等價類的功能并增強您的測試過程了嗎?嘗試TPT并親身體驗它如何簡化軟件變體的管理和測試。歡迎聯系北匯信息獲取免費試用。
-
軟件測試
+關注
關注
2文章
231瀏覽量
18665 -
TPT
+關注
關注
0文章
23瀏覽量
7010
發布評論請先 登錄
相關推薦
思瑞浦推出車規級LIN SBC新品TPT1028Q
鑒源實驗室·ISO 26262中測試用例的得出方法-等價類的生成和分析
![鑒源實驗室·ISO 26262中<b class='flag-5'>測試</b>用例的得出方法-<b class='flag-5'>等價</b><b class='flag-5'>類</b>的生成和分析](https://file1.elecfans.com/web2/M00/FF/62/wKgZomaol_OAF5EYAAENo2DgX3g565.png)
TPT 20自動化全面升級,讓測試擁有更多選擇
![<b class='flag-5'>TPT</b> 20自動化全面升級,讓<b class='flag-5'>測試</b>擁有更多選擇](https://file.elecfans.com/web2/M00/52/D4/pYYBAGLNkrKAeFJaAAAjXRuImx0496.png)
中控流程工業首款AI時序大模型TPT發布
![中控流程工業首款AI時序大模型<b class='flag-5'>TPT</b>發布](https://file1.elecfans.com//web2/M00/ED/54/wKgaomZip22AMUprAABKM6WTpu8103.jpg)
為什么要進行芯片測試?芯片測試在什么環節進行?
![為什么要<b class='flag-5'>進行</b>芯片<b class='flag-5'>測試</b>?芯片<b class='flag-5'>測試</b><b class='flag-5'>在</b>什么環節<b class='flag-5'>進行</b>?](https://file1.elecfans.com/web2/M00/CB/A9/wKgaomYfRHGAdOxSAAAhFnc48YQ545.jpg)
利用MOS管配合E類放大電路,輸入2.5M的波,測試發現即使VGS為0MOS管也無法關閉怎么解決?
![](https://file1.elecfans.com/web2/M00/C5/64/wKgaomXzy5eAZpAUAAHRPOQIHVQ962.png)
![](https://file1.elecfans.com/web2/M00/C3/7E/wKgZomXrvkKARY5KAAG6Gp3Uhls588.png)
![](https://file1.elecfans.com/web2/M00/C3/7D/wKgZomXrveOADPdlAAHHFJgfScY768.png)
![](https://file1.elecfans.com/web2/M00/C2/53/wKgZomXhtxeAZO4zAAHEuXinwQs839.png)
評論