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提供C1覆蓋,即分支覆蓋branch coverage或者判定覆蓋decision coverage ;條件覆蓋,即多條件覆蓋MCC(Multiple Condition Coverage)和修正條件判定覆蓋MC/DC(Modified Condition/Decision Coverage),Tessy是通過測試應用程序來獲取測試覆蓋信息的。
- 故障注入測試
故障注入可以實現傳統方法無法實現的測試用例輸入,例如跳出無限循環,先寫后讀功能以及防御性編程測試。可以在選定的分支位置注入專用的測試代碼,以便可以操縱決策結果。這確保了正確的操作以及正常的測試用例不會由故障注入引起副作用。
- 支持測試用例有效性自動評估
除了傳統的測試用例執行結果統計和覆蓋率統計,TESSY還支持自動化的用例有效性評估,檢驗測試用例對邊界測試和特殊場景的覆蓋情況,防止由于測試用例不充分對測試效果的影響,影響程序運行可靠性。同時,對于測試項目管理者來說,也可以通過該指標對團隊的整個測試結果有更全面的了解和把控。
- 支持各種開發環境
Tessy現在可以支持超過130種微控制器、編譯器和調試器的組合;這確保了Tessy能夠處理交叉編譯器生成的非標準C(ANSI-C)微控制器特定的代碼;一旦Tessy和不同的開發環境完成集成,就可以在實際芯片中運行測試用例了。
- 支持ASAP2
在Tessy中設計測試用例之前選擇與ASAP2標準的集成功能,確定需要導入的ASAP2文件,使用ASAP2轉換規則自動地將測試用例中設計的測試數據物理值轉換為在目標板中執行測試對象的整數值,從而簡化測試用例設計的理解和實現,并且可以在Tessy中顯示其他ASAP2信息,例如單位,最大/最小值等。
- 插入需求
所有的測試活動都是基于功能規格和需求變更的。支持插入需求,隨著需求的變化自動變更需求版本,實現需求可溯性。可通過插入需求宏觀把握測試工作的進度。
應用 & 案例
Tessy被廣泛應用于汽車、鐵路、醫療和工業應用領域當中,眾多汽車整車廠、零部件供應商都在使用Tessy。
- 汽車行業
- 安全關鍵性領域
- 醫療行業、白色家電等領域