保證測試有效性的方法
除了提供嵌入式領(lǐng)域最好的測試工具之一外,我們還為汽車行業(yè)的客戶測試軟件產(chǎn)品(包括駕駛輔助功能、驅(qū)動組件、充電和電池系統(tǒng)的控制軟件)。
隨著時間的推移,我們也遇到了測試過程中的錯誤。為了避免過程錯誤,我們制定了各種策略和方法。始終以快速為客戶的開發(fā)模型提供高質(zhì)量的報告為目標(biāo)。
下面,我們將詳細解釋其中一種方法。它是由我們的測試工程師開發(fā)的,并在日常實踐中使用。
此方法的目的是確保測試用例在任何時候都實際測試鏈接到它的需求。
這里有一個簡單的例子來說明為什么這件事如此重要。
在用于控制車輛外燈的軟件中,當(dāng)燈開關(guān)處于on位置時,外燈應(yīng)始終打開。在最壞的情況下,這個需求只與從未包含條件“燈開關(guān)處于ON位置”的測試用例相關(guān)聯(lián)。如果這些測試用例成功地測試了另一個方面(例如,燈開關(guān)關(guān)閉,外部燈保持關(guān)閉),那么可以認為鏈接的需求已經(jīng)被充分測試了。

錯誤的鏈接會以不同的方式出現(xiàn):
- 測試人員在測試用例和需求之間創(chuàng)建了一個錯誤的鏈接。
- 隨著時間的推移,由于測試項的更改,現(xiàn)有鏈接將失去其意義
有一個簡單且可快速實現(xiàn)的解決方案可以解決這個問題。
在我們的方法中,如果每個測試用例沒有正確地測試鏈接的需求,那么它將被報告為“失敗”。由于錯誤鏈接導(dǎo)致的失敗在報告中有詳細說明。我們的方法本質(zhì)上是基于分別定義測試數(shù)據(jù)和期望值的可能性。
在TPT中,測試項的預(yù)期結(jié)果(在這里我們也說測試預(yù)言)可以在Assesslet的幫助下描述。Assesslets可以同時用于幾個測試用例的評估。
該方法的實現(xiàn)分為5個步驟:
- 將需求導(dǎo)入TPT
- 根據(jù)單個需求創(chuàng)建1個Assesslet
- 創(chuàng)建檢查腳本
- 創(chuàng)建測試用例
- 測試用例與導(dǎo)入需求的鏈接.
步驟1:將需求導(dǎo)入到TPT
導(dǎo)入可以通過幾種方式完成。對于這種方法,只有需求在TPT中可用才是有意義的。
步驟2:為每個需求創(chuàng)建一個Assesslet
一個Assesslet的目的是在定義的條件下指定測試對象的預(yù)期行為。這個單一數(shù)據(jù)源的定義可以用于多個測試用例。
如何做到這一點?
在Assesslet文件夾中為每個需求創(chuàng)建一個新的腳本Assesslet,相應(yīng)地命名并實現(xiàn)它。
一個Assesslet的實現(xiàn)包含以下元素:
- 定義條件或情況區(qū)別(通常來自需求)
- 定義每個條件的期望值(有些簡單,有些復(fù)雜)
- 添加一個注釋,說明哪個期望值涵蓋了哪個需求
對于上面的燈控制示例,這里是一個評估Assesslet的參考實現(xiàn),它使用ID 2018檢查需求“如果燈開關(guān)是打開的,那么大燈應(yīng)該立即打開”:

Assesslet檢查需求2018:條件“當(dāng)燈開關(guān)位于位置1(3號線)”。我們的期望值記錄在第4行:TPT.CheckAlways()檢查大燈是否== true。使用REQUIREMENTS.checked(),附加到需求2018的屬性將被結(jié)果覆蓋(從第4行開始)。
其他請求的過程是相同的。
步驟3:創(chuàng)建檢查腳本
然后使用另一個Assesslet腳本檢查鏈接到測試用例的所有需求是否具有定義好的屬性。對于Assesslet,這是在第5行中使用REQUIREMENTS.checked()函數(shù)完成的。當(dāng)調(diào)用這個函數(shù)時,默認值將被更改。
換句話說,對于每個測試用例,對于鏈接到該測試用例的每個需求,我們檢查默認值的屬性。如果存在默認值,則要么沒有測試Assesslet,要么是需求的測試Assesslet不正確。
下面是一個參考實現(xiàn):

您需要將該腳本移動到報告部分。然后它將在Assesslet之后運行以檢查需求。
步驟4:創(chuàng)建測試用例
步驟5:將測試用例與導(dǎo)入的需求鏈接起來
需求與測試之間的鏈接或者測試與需求的鏈接,都可以通過拖拽來完成。選擇一些測試用例并將它們拖到需求上即可。
優(yōu)點是什么?
這個過程的優(yōu)點是報告中不正確的鏈接可以立即和容易地看到。在報告中,每個錯誤鏈接的測試用例都被標(biāo)識為失敗的測試用例。
因此,該報告為用戶提供了一個關(guān)于是否為所有需求創(chuàng)建了相關(guān)測試用例的快速概述。與此同時,這提高了生產(chǎn)率,因為可以省略對完成度的分析。
在應(yīng)用這種方法時必須考慮什么?
應(yīng)該檢查Assesslet的正確性和與需求的一致性。只有當(dāng)Assesslet是正確的,它們才有意義。這是測試過程中的實際工程工作。我們(目前)還不能從你們手中接過這個任務(wù)。
進一步的提示和建議:
在我們的一些項目中,我們沒有將腳本Assesslet直接鏈接到需求。然而,映射是通過命名約定完成的:每個“需求-測試”腳本Assesslet都有以下結(jié)構(gòu)“Ass_”& 。雙向可追溯性的要求(例如來自ASPICE)在原則上得到了滿足,因為配對可以在任何時候確定。
總結(jié)
我們確保測試重要性的方法符合ASPICE和ISO26262的要求。
在它的應(yīng)用中,它需要使用測試自動化的基本功能,例如用于刺激的測試數(shù)據(jù)的分離和測試對象預(yù)期行為的單獨定義。幾年來,我們一直在安全關(guān)鍵型汽車項目中成功地使用這種方法。
我們的工程師被直觀的程序所說服,不再想沒有它,因為費時的手工檢查鏈接正確性的工作可以省略。
編寫腳本和檢查Assesslets及需求的正確性的工作是可管理的,并且顯著低于諸如審查和演練之類的替代指標(biāo)。
-
測試
+關(guān)注
關(guān)注
9文章
6211瀏覽量
131382 -
嵌入式
+關(guān)注
關(guān)注
5199文章
20454瀏覽量
334254
發(fā)布評論請先 登錄
大會演講回顧– 愛德萬 泰瑞達 | AI 賦能半導(dǎo)體測試,兩大實戰(zhàn)案例解鎖測試優(yōu)化新路徑
銅厚對阻抗的影響在實際設(shè)計中如何驗證?
深圳南柯電子|EMC摸底測試整改:這套標(biāo)準(zhǔn)流程已被100+企業(yè)驗證
跨越“仿真到實車”的鴻溝:如何構(gòu)建端到端高置信度驗證體系?
肖克利 | 極端環(huán)境測試,讓驗證與實戰(zhàn)同頻!
置信度驗證對于自動駕駛來說重要嗎?
看不見的安全防線:信而泰儀表如何驗證零信任有效性
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計24: UVM 驗證包設(shè)計
不確定度評估新實踐:傳感器標(biāo)定中的置信概率與誤差傳遞法則?
可編程電源如何適應(yīng)不同測試需求?
雷擊浪涌測試中的TVS波形驗證:雷卯電子專業(yè)解析
康謀分享 | 基于多傳感器數(shù)據(jù)的自動駕駛仿真確定性驗證
超大規(guī)模芯片驗證:基于AMD VP1902的S8-100原型驗證系統(tǒng)實測性能翻倍
CAN芯片邏輯響應(yīng)驗證測試
需求驗證測試中的100%置信度
評論