作者 | 冰糖葡萄皮小編 | 吃不飽
汽車世界在不斷發展,“軟件定義的汽車”等新術語證明了軟件對當今汽車的重要性。無論是MiL、SiL、PiL、HiL、還是單元測試、集成測試,汽車軟件測試的世界有很多技術術語,本文將從一款專業的汽車軟件測試工具TPT出發,帶大家從實際應用的角度掌握汽車測試術語。
01什么是測試對象或被測系統?(SUT,System under test)
測試對象、被測系統和測試元素通常是同義詞。根據ISTQB,一個測試對象一般被定義為“待測試的工作產品”。
測試對象
一個控制單元幾個控制單元組成的網絡幾個集成網絡組成的系統一輛整車 任何其他被測對象TPT是全球知名的基于模型的嵌入式系統測試工具,用于電控系統軟件應用層功能測試。不論是單元模型還是幾個控制單元組成的集成模型,又或是整個系統模型,TPT都可以加載并導入接口,為后續的測試做準備。02什么是動態測試(Dynamic testing)?
動態測試是測試對象的執行。在動態測試中,創建并執行測試用例,用測試數據激勵測試對象。激勵導致測試對象要么執行計算,要么改變其狀態。在動態測試中記錄測試對象的反應,并與期望值進行比較。如果反應與期望相等,則認為測試用例通過;如果不相等,就認為用例失敗。
TPT就是一款基于模型的動態測試工具,可以一鍵執行測試用例,模型仿真結束后TPT回采測試數據,并將其與期望值進行對比,自動輸出測試結果。既然提到了執行測試用例,那么——
03什么是測試用例(Test case)?
一個測試用例總是至少包含以下兩部分信息:1. 定義如何激勵測試對象的測試數據。2. 測試對象的期望值,它定義了被測對象在接收到測試激勵后有哪些計算/狀態。
其中,針對第一項給定信號激勵往往需要測試人員有著豐富的測試經驗。一個專業的測試工具也能幫助測試人員實現事半功倍的效果。
TPT就支持非常多種測試用例搭建方式,可實現測試場景的可視化,也能夠實現基于等價類/邊界值/遍歷等方法自動生成測試用例。1)基于測試步驟手寫測試用例TPT支持測試人員針對測試過程進行手寫測試用例,測試人員可以通過“直接定義”、“測試用例列表”以及“引用”自然語言等方法進行測試用例的編寫。提供 Signal preview,直觀顯示信號在整個測試過程中的曲線情況,掌握整個測試過程,避免出現測試用例人為錯誤。 圖1.基于測試步驟搭建測試用例
在實際項目中,針對簡單的測試需求,可以使用測試列表的方法來進行測試用例搭建,比常規的Excel 測試用例更簡潔更直接。
2)基于State的圖形化測試用例搭建在實際項目中,針對給出的需求,要考慮條件滿足時的測試(Positive Testing)和條件不滿足時的測試(Negative Testing),在TPT中可以設置State,為信號設定不同的取值狀態,還可以設置跳轉條件、增加執行路徑,這樣通過切換信號狀態和執行路徑就能覆蓋不同的測試場景。 圖2.基于State搭建圖形化測試用例
采用State建立測試用例,除了可以更方便快捷的搭建測試用例之外,還可以大幅度提高測試用例的可讀性,這對于測試用例的后期維護和評審帶來了極大的便利。
3)TPT中提供一系列自動化的測試用例生成工具箱可以確保整個測試過程更加便捷、高效,實現測試過程標準化:
基于等價類:ISO26262 針對模型的測試方法提到了等價類測試。TPT針對這一要求,設計了等價類生成工具箱,這個工具箱支持根據用戶的等價分類一鍵生成測試用例,避免了傳統方式上的人工重復操作,測試效率得到極大的提升。
圖3.為信號創建等價區間 圖4.基于等價類自動生成的測試用例
基于數值范圍:在針對接口測試時,往往要針對數據的數值范圍進行測試,以驗證模型接口是否正確。針對這樣的測試用例,TPT 可以根據數值范圍自動生成測試用例,用戶只需要關注數據范圍以及步進長度,就能實現數值范圍內的遍歷。同時可以結合邊界值及數據精度自動生成符合邊界值要求的測試用例,來測試邊界是否出現不符合預期功能的情況。
圖5.設置接口的數據范圍以及步進長度 圖6.基于數值范圍自動生成的測試用例
基于TASMO工具箱:能夠分析模型結構并自動生成測試用例,會采用最少數量的測試用例來最大化遍歷模型。同時TASMO還能夠作為結構覆蓋度統計工具,幫助統計當前運行的測試用例或測試用例集的覆蓋情況,并且生成相應的結構覆蓋度統計報告。
在TPT19中,還支持基于形式化需求自動生成測試用例,用戶只需要從導入的需求中提取關鍵字,TPT就能自動覆蓋與需求相關的場景,生成對應的測試用例。 圖7.基于形式化需求自動生成的測試用例
基于狀態機組合:在項目中,針對一些邏輯類的功能測試,從需求的角度,一般就是一些輸入條件的排列組合。TPT 可以基于這些條件排列組合,自動生成測試用例,這可以的極大的提升測試效率。如圖8示例模型,三個輸入信號需遍歷true/false的取值并進行排列組合,此時可使用基于狀態機組合的方式,一鍵自動生成8條測試用例。
圖8.基于狀態機組合自動生成用例示例模型 圖9.基于狀態機組合自動生成測試用例
在實際的項目應用中,可以自由選擇和搭配上述搭建測試用例的方式,滿足功能測試的需求。多種自動生成用例的方法能夠讓測試人員“解放雙手”,避免重復性工作,提高測試效率和質量。
有了測試用例,還需要針對測試對象編寫合理的期望值,這個過程我們也稱為測試評估。那么如何省時省力評估自動生成的測試用例呢?TPT為我們提供了解決方案,具體內容將在下篇介紹。
04總結
本文借由基于模型的動態測試工具TPT帶大家了解了測試對象、測試用例和動態測試這些術語的含義,并且介紹了TPT在編寫和自動生成用例方面的優勢。
敬請期待下篇:什么是測試級別和測試環境?以及TPT在不同測試級別和測試環境中有著什么功能?
-
測試
+關注
關注
8文章
5269瀏覽量
126599 -
汽車
+關注
關注
13文章
3493瀏覽量
37252
發布評論請先 登錄
相關推薦
評論