Tessy—支援複雜場景測試的單元整合測試工具

hirain_md發表於2020-10-29

   Tessy是一個專門針對嵌入式軟體的C/C++程式碼進行單元、整合測試的工具,它可以自動化地執行測試、評估測試結果並生成測試報告。Tessy的目標就是:透過自動化整個測試周期,支援針對C語言的單元測試/整合測試,同時,Tessy也同樣關注測試組織和測試管理。

 

        Tessy軟體源自戴姆勒-賓士公司的軟體技術實驗室,在戴姆勒-賓士公司得到廣泛的使用,1997年之後獨立成為軟體測試工具公司Razorcat,由德國Hitex負責全球銷售及技術支援服務。經緯恆潤作為Hitex/Razorcat公司的中國合作伙伴,將為中國汽車客戶提供Tessy軟體及優秀的軟體測試服務。

 

產品介紹

        在以V模型為例的開發模式中,Tessy主要應用在單元/模組測試,整合/元件測試。在V模型的開發模式中,單元測試是第一個動態測試活動。透過函式級測試,有效檢查出每一類錯誤,比如演算法錯誤、邊界控制錯誤、資料溢位等。透過單元測試,可以儘可能早得發現Bug,防止直到後面的測試過程或者直到終端使用者那裡才被發現。在整個專案開發測試周期中,越早發現Bug越好,事實證明,開展詳盡規範的單元測試能夠有效減少系統測試和迴歸測試時間,降低開發成本。

 

        另外,Tessy也可以滿足各類標準(ISO26262、IEC 61508、 EN 50128/50129、 DO-178B、汽車SPiCE或FDA的軟體驗證通用原則)對測試的需求,比如ISO26262中各個測試等級中對模組測試的要求可以使用Tessy來滿足,當然Tessy本身也透過了Tuev的認證,可以在安全相關性的軟體研發過程中被使用。


主要功能

• 自動生成測試環境

        Tessy可以自動生成測試環境驅動,選擇自動或者手動打樁以及自動生成測試用例模板,幫助客戶提高測試用例設計效率。

 

• 多種測試用例確定方式

        除了可以在簡潔的介面中手動輸入測試用例之外,還支援從Excel中匯入測試資料,也可以透過指令碼編輯器編寫測試用例。另外,Tessy裡整合了CTE軟體,根據分類樹的方法,將每個介面的等價類進行劃分,半自動化的生成測試用例,降低用例冗餘度,提高測試效率。

 

用例設計

用例指令碼編輯器

CTE分類樹設計

• 支援動態測試的各階段

        Tessy可以支援從單元測試到系統測試的動態測試過程各個階段,透過單元測試檢查每個函式的功能完整性,透過整合測試對各個子模組進行功能驗證以及模組間介面測試,可以透過與目標板整合進行系統功能驗證。

 

 

 

        另外Tessy可以自動識別被測物件的介面變更,提示我們需要更新測試用例;版本迭代時,可重用測試用例和測試資料,節約大量回歸測試需要的工作和時間,在介面不變的情況下Tessy可以自動化地執行不需要使用者介入的迴歸測試。

 

• 全自動地測試執行及評估

        Tessy檢查原始檔並且透過分析程式程式碼來確定函式以及他們的介面,這些資訊將被儲存在特定的資料庫中供隨時檢索,介面資訊和測試資料的分離實現了結構和資料之間的明確劃分,一方面,介面的測試使首先顯示變化成為可能,另一方面,如果發生變化,通常也只有要測試的函式介面的幾個元素要發生變化,在Tessy中介面發生變化時的處理相當簡單;

 

• 測試報告生成

        管理測試資料並將測試結果文件,Tessy提供輸入引數/執行測試和評估結果和報告文件,Tessy可以生成各種型別的測試報告,包括詳細報告、概況報告以及覆蓋度報告等。

 
 

•  覆蓋率統計

        Tessy提供C0覆蓋,即語句覆蓋statement coverage;C1覆蓋,即分支覆蓋branch coverage或者判定覆蓋decision coverage ;條件覆蓋,即多條件覆蓋MCC( Multiple Condition Coverage)和修正條件判定覆蓋MC/DC(Modified Condition/Decision Coverage),Tessy是透過測試應用程式來獲取測試覆蓋資訊的。

 

        對於整合測試,Tessy還提供了呼叫覆蓋Call pair coverage和函式覆蓋Function Coverage。

 

 

• 測試工作量評估與跟蹤

        基於函式中語句、呼叫的數量和巢狀深度,Tessy可以評估測試的工作量,並以時間形式顯示。並且可以追蹤實際的測試完成時間,並在測試專案檢視中方便地進行管理。

 

 

• 故障注入測試

        故障注入可以實現傳統方法無法實現的測試用例輸入,例如跳出無限迴圈,先寫後讀功能以及防禦性程式設計測試。可以在選定的分支位置注入專用的測試程式碼,以便可以操縱決策結果。這確保了正確的操作以及正常的測試用例不會由故障注入引起副作用。

 

 

• 支援各種開發環境

        Tessy現在可以支援超過130種微控制器、編譯器和偵錯程式的組合;這確保了Tessy能夠處理交叉編譯器生成的非標準C(ANSI-C)微控制器特定的程式碼;一旦Tessy和不同的開發環境完成整合,就可以在實際晶片中執行測試用例了。

 

• 支援ASAP2

        在Tessy中設計測試用例之前選擇與ASAP2標準的整合功能,確定需要匯入的ASAP2檔案,使用ASAP2轉換規則自動地將測試用例中設計的測試資料物理值轉換為在目標板中執行測試物件的整數值,從而簡化測試用例設計的理解和實現,並且可以在Tessy中顯示其他ASAP2資訊,例如單位,最大/最小值等。

 

• 插入需求

        測試活動都是基於功能規格和需求變更的。支援插入需求,隨著需求的變化自動變更需求版本,實現需求可溯性。可透過插入需求宏觀把握測試工作的進度。

 
 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31535135/viewspace-2730833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章