作者 | 小新小編 | 吃不飽
由于在開發(fā)早期階段編寫的需求會隨著時間的推移變得不夠充分,所以需要對其進行相應(yīng)調(diào)整。那么這時就會出現(xiàn)一個問題:
已經(jīng)根據(jù)需求實現(xiàn)的測試也要跟著進行調(diào)整和檢查(進行維護),但這對測試人員來說是相對單調(diào)且耗時的。
如何將維護工作減少到最低限度呢?
TPT作為德國PikeTec公司的嵌入式軟件測試工具,通過測試服務(wù)和客戶的建設(shè)性反饋,不斷識別工具新需求,對上述問題提供了幾種策略。接下來將從5個方面介紹TPT是如何減少維護工作的。1. 分離測試數(shù)據(jù)和預(yù)期行為2. 使用狀態(tài)機型測試用例開發(fā)測試3. 測試用例和評估與需求的雙向鏈接4. 巧用測試方法設(shè)計穩(wěn)健的測試5. 測試執(zhí)行的自動化
01分離測試數(shù)據(jù)和預(yù)期行為
與傳統(tǒng)方法相比,TPT可以將測試用例(用于刺激測試對象)和對預(yù)期行為的評估進行分離。這種方式既提高了清晰度,也在測試用例創(chuàng)建過程中節(jié)省了大量的工作。
舉個例子
當(dāng)前輸出信號d等于0,如果輸入信號a、b、c同時大于0,輸出信號d等于輸入信號a、b的和。對于傳統(tǒng)方法,根據(jù)需求和MC/DC要求編寫如下四條測試用例:
當(dāng)使用測試工具TPT時,可以將上述預(yù)期行為通過腳本、Trigger Rule等評估方法定義到Assesslet中,且其內(nèi)容對所有測試用例均可重用。
如圖1,使用Trigger Rule的While condition is true 模式進行評估,簡單介紹一下其使用方法:當(dāng)測試數(shù)據(jù)滿足Condition中的內(nèi)容時,會評估Then check 中的語句,否則就評估Else check中的內(nèi)容。
圖1 Trigger Rule
還可以通過使用信號波形或斜坡來減少被測系統(tǒng)(SUT)的必要測試用例的數(shù)量。如下圖,將上述四條測試用例用一條表示。(預(yù)期行為如上述寫在Assesslet中)
圖2 測試用例
另外如果我們想要增加測試深度,例如進行邊界值測試,只需編寫測試數(shù)據(jù)即可,因為在Assesslet中已經(jīng)定義了缺失的信息和期望值。
通過上述內(nèi)容可以看到TPT提供的這種分離方法在創(chuàng)建測試用例時節(jié)省了相當(dāng)大的成本。另外在大多數(shù)情況下測試數(shù)據(jù)可以保持不變,只需要調(diào)整Assesslet,這就使得維護工作進一步減少。
02使用狀態(tài)機型測試用例開發(fā)測試
TPT支持步驟列表型和狀態(tài)機型的測試用例。
對于狀態(tài)機型測試用例來說,可以將重復(fù)需要的測試數(shù)據(jù)分離到狀態(tài)機的變種中。
舉個例子
開關(guān)處于自動檔位下,頭燈根據(jù)不同的光照強度,產(chǎn)生不同的變化,測試車輛的燈控功能。這里重復(fù)使用的測試數(shù)據(jù)是開關(guān)處于自動擋,對其創(chuàng)建狀態(tài)機和變種,如下圖所示。圖3 測試用例
如果重復(fù)使用的測試數(shù)據(jù)內(nèi)容需要更改,這時只需更改一次即可將使用該變種的測試用例全部更改,內(nèi)容更改越頻繁,節(jié)省的工作也就會越多。
03測試用例和評估與需求的雙向鏈接
TPT支持測試用例和評估與需求的雙向鏈接,在ASPICE中所有測試活動都需要保持雙向追溯。
圖4 測試用例和評估與需求的雙向鏈接
TPT會在每次測試執(zhí)行后,將需求和測試用例,包括它們的結(jié)果,清楚地顯示在報告中。
圖5 報告顯示
如果測試失敗,可以很容易地找到相應(yīng)的需求。
圖6 未通過需求顯示
對于每個需求,可以很容易找到與之鏈接的測試用例和評估。
圖7 鏈接的測試用例和評估顯示
如果需求在生命周期中發(fā)生了改變,那么被改變的需求所鏈接的測試用例會高亮顯示,能夠方便查找,進而減少維護時間。
圖8 測試用例突出顯示
04使用反應(yīng)式測試方法設(shè)計穩(wěn)健的測試
TPT的反應(yīng)式測試方法增加了測試對變化和環(huán)境變量的穩(wěn)健性。反應(yīng)式測試可以理解為,在測試設(shè)計中(搭建測試用例時)定義只有當(dāng)SUT為已定義狀態(tài)時才執(zhí)行的動作(在轉(zhuǎn)移線上設(shè)置判斷條件),也可以稱為基于事件的測試。
舉個例子
當(dāng)車輛速度達到30km/h時,執(zhí)行緊急制動操作,以測試車輛的ABS功能。搭建測試用例時,只需明確當(dāng)車輛達到30km/h的目標速度時,TPT會檢測到這一點,并啟動全面制動即可。圖9 測試用例
前一狀態(tài)機可以切換到不同變種,轉(zhuǎn)移線和后一狀態(tài)機內(nèi)容可以不進行調(diào)整。這樣一來就可以為測試用例搭建和維護節(jié)省時間。
圖10 變種顯示
05自動化
我們可以發(fā)現(xiàn)測試中的許多任務(wù)都是重復(fù)的工作,例如在軟件更改后更新測試框架、日常的需求更新、將測試結(jié)果反饋到應(yīng)用程序生命周期管理工具中等。這些工作即使是在測試自動化中也需要由測試人員手動執(zhí)行。
但是,現(xiàn)階段TPT已經(jīng)創(chuàng)造了一些可能性來自動化這些手動工作:提供一個允許用戶使用自己的自動化腳本來自動化執(zhí)行部分工作的API接口(API Script Editor),并且TPT 中85%的GUI功能可以由用戶來實現(xiàn)自動化。
例如
通過下圖中的腳本可以創(chuàng)建TPT工程,生成狀態(tài)機型的測試用例。圖11 API Script Editor 內(nèi)容
圖12 執(zhí)行API Script生成的工程
除此以外,還可以通過API Script實現(xiàn)平臺配置,測試評估等功能。
06總結(jié)
本文介紹了使用TPT將維護工作減少到最低限度的五種方法,但TPT的優(yōu)勢不僅限于以上內(nèi)容,想了解更多請聯(lián)系我們吧。
-
測試
+關(guān)注
關(guān)注
8文章
5100瀏覽量
126338 -
TPT
+關(guān)注
關(guān)注
0文章
23瀏覽量
6962
發(fā)布評論請先 登錄
相關(guān)推薦
評論