今天我們把所有的底牌都擺出來。
首先,做個簡單的自我介紹。Piketec已經存在了15年。從一開始,我們一直在開發模型動態測試工具TPT,并提供測試服務。我們為客戶測試基于軟件的汽車產品,例如駕駛輔助功能、驅動組件、充電和電池系統的控制軟件。
很少有人知道:我們提供測試服務主要是為了不斷改進我們的測試工具TPT。我們希望不斷為我們的用戶改善用戶界面(UI)和操作方式。
我們從客戶那里得到的建設性用戶反饋強化了我們的信念,即這一策略正在起作用。
測試中的挑戰
在開始之前,讓我們先從為幾家汽車OEM和供應商工作的服務提供商的角度來看一下測試中的挑戰。
我們是基于需求的測試的擁護者。在這里,我們提到的需求是對一個組件的原子描述,如果可能的話描述一個方面。理想情況下(對于測試),這些需求在整個開發周期內都是穩定的。
與此同時,我們在汽車項目中很少有這種穩定的需求狀態。需求經常會改變。這也是好的,也是正確的。通過這些變化,產品不斷得到改進和擴展。
在開發早期階段編寫的需求隨著時間的推移會變得不充分,需要進行調整。
然而,在測試中,這也會帶來一些挑戰。已經根據需求實現的測試必須在變更后進行檢查和調整。在這種情況下,我們會談到維護。因此,需求或代碼中的更改總是自動地在測試中產生額外的工作。
測試人員發現維護活動單調乏味。他們也希望開發新的功能并對其進行測試。我們在測試服務中開發了幾種策略,有助于將維護工作減少到最低限度。另外,也為了幫助測試人員進行更有趣的測試。
我們具體執行哪些策略,就是我們在這里要討論的內容。
減少維護工作的測試策略
以下是我們將涉及的主題的簡要概述:
1. 分離測試數據,用于刺激和定義預期行為
2. 在測試模型中開發測試
3. 測試與需求的雙向鏈接
4. 使用方法設計穩健的測試
5. 自動化
5個測試技巧
- 分離測試數據
測試數據的分離(用于刺激測試對象)是在所有測試服務中節省工作的基本原則之一。
一方面,這種定義的分離提高了清晰性,另一方面,它在測試用例創建過程中節省了大量的工作。測試項的期望值定義在所謂的Assesslet中,因此對于所有測試用例都是可重用的,并且非常容易維護。
被測系統(SUT)的必要測試用例的數量可以減少。測試用例中的信號波形或斜坡可以同時覆蓋多個需求,而不是費力地分析和建模需求的一個方面。
分離方法還允許立即使用生成的測試用例,例如增加測試深度。這無需額外的工作就可以實現,因為在Assesslet中已經定義了缺失的信息和期望值。
與傳統方法相比,這種分離在創建測試用例時節省了相當大的成本。使用單一數據源方法,可以進一步減少測試維護工作。這是因為在大多數情況下測試數據可以保持不變,只需要調整Assesslet。
2. 在測試模型中開發測試
不用以過程的形式來編寫測試用例,它們也可以通過模型來描述。
有什么好處?
使用測試模型,您可以將重復需要的測試數據分離到可重用的引用中。單一數據來源方法從最初的創建開始就節省了寶貴的工作。變動越頻繁,節省的工作就越多。由于個體名稱的使用和結構化,這樣的測試模型的審查更容易。
3. 測試與需求的雙向鏈接
另一個非常棒的特性是測試和需求的雙向鏈接。理由很充分:在ASPICE中,所有測試活動都需要這個特性。
簡而言之:追溯性增加了清晰度
有了可追溯性,在每次測試運行中,SUT的所有需求和所有測試用例,包括它們的結果,都清楚地顯示在報告中。
如果測試失敗,可以很容易地找到相應的需求。對于每個需求,總是清楚地知道已經創建了哪些測試。
如果需求在生命周期中被改變了,那么被改變的需求所鏈接的測試用例就會被突出顯示。分析和實現測試中的變更可以節省被測件檢查的時間。
TPT還有更多有待發現的地方。
4. 使用方法設計穩健的測試
TPT的一些特性增加了測試對變化和環境變量的穩健性。
穩健性特性的一個例子是反應式測試方法。在反應式測試中,可以在測試設計中定義僅在SUT假定已定義狀態時才執行的動作——這也可以稱為基于事件的測試。
舉一個簡短的例子來理解。
作為測試人員,您想測試車輛的ABS功能。為此,您需要將車輛加速到30公里/小時,然后執行緊急制動操作。當使用反應性測試方法自動化執行此測試時,您可以在測試設計中抽象相關環境參數,例如車輛質量、路面摩擦系數和其他影響因素。當車輛達到30公里/小時的目標速度時,TPT會檢測到這一點,并啟動全面制動。
反應性測試方法可以應用于所有類型的技術、測試階段和測試對象。
這樣做的好處是,一旦編寫了測試,就可以為其他變體復用它們,而不必調整測試。測試設計中的穩健性為測試創建和維護節省了大量工作。
5. 自動化
最后重要的一種方法:自動化是測試的關鍵。
測試中的許多任務都是重復的活動,例如在軟件更改后更新測試框架,每天更新需求,并將測試結果反饋到應用程序生命周期管理工具中。這些工作必須由測試人員手動執行,即使是在測試自動化中。
在TPT中,我們已經創造了一些可能性來自動化這些傳統的手動作業。TPT提供一個API接口,允許TPT用戶使用自己的自動化腳本自動化部分工作。TPT中85%的GUI功能可以由用戶實現自動化。
總結
對我們來說,測試不僅僅是測試。我們希望盡可能容易、快速和有效地找到漏洞。從我們的角度來看,如果你感受到樂趣并享受你的工作,它會更有效。
這就是為什么我們建立了TPT,并在15年多的時間里在許多項目中使用它。我們相信,我們已經創建了一個最好的測試工具,具有許多創新的功能和機制。TPT的發展還遠遠沒有結束。所以我們希望這些關于我們如何工作的見解能讓你對TPT更加好奇。
北匯信息作為PIKETEC的合作伙伴,可以支持您的測試工作變得輕松。
-
測試
+關注
關注
8文章
5369瀏覽量
126928
發布評論請先 登錄
相關推薦
評論