嵌入式系統(tǒng)一般是產(chǎn)品的核心單元, 嵌入式系統(tǒng)是否可靠決定了整個產(chǎn)品的質(zhì)量好壞,如果能在產(chǎn)品的早期階段對嵌入式系統(tǒng)進行充分和全面的測試,將會很大程度提高產(chǎn)品的可靠性, 減少產(chǎn)品發(fā)布后在實際運營過程中可能出現(xiàn)的各種棘手問題。
那么如何在產(chǎn)品的早期階段對嵌入式系統(tǒng)進行全面的測試呢?嵌入式系統(tǒng)往往跟外部各種模塊或系統(tǒng)進行交互,這使得嵌入式系統(tǒng)的測試難度很大,很多項目在集成階段才對嵌入式系統(tǒng)的功能進行測試,而集成測試主要是發(fā)現(xiàn)兩個或多個模塊配合工作過程中可能出現(xiàn)的問題,并不能發(fā)現(xiàn)嵌入式系統(tǒng)一些本身的深層次問題,使得這些問題在產(chǎn)品實際運營很長時間后才暴漏出來,給企業(yè)造成了很大的損失。
今天給大家介紹一款支持在產(chǎn)品研發(fā)過程中對嵌入式系統(tǒng)進行自動化測試的工具(宏控UTP協(xié)同自動化測試系統(tǒng)),宏控UTP協(xié)同自動化測試系統(tǒng)支持全面仿真能力,不需要等到集成階段就能對嵌入式系統(tǒng)做充分的測試,支持各種類型的異常注入,能夠模擬異常和正常的測試場景, 支持在盡可能早的階段發(fā)現(xiàn)嵌入式系統(tǒng)的各種問題。
本文現(xiàn)結(jié)合具體的例子中典型的測試場景,介紹宏控UTP協(xié)同自動化測試系統(tǒng)的功能。
嵌入式系統(tǒng)舉例
一般嵌入式系統(tǒng)有多種接口(如UART,CAN,Ethnet,Wifi,SPI,I2C)用作輸入和輸出,也可能帶有實體按鍵作為輸入和顯示屏作為輸出,如何對這樣的系統(tǒng)進行全面的測試呢?
比如下面一個被測的嵌入式系統(tǒng):
該嵌入式系統(tǒng)的輸入輸出有:
串口:被測系統(tǒng)通過串口從其他模塊/系統(tǒng)接收指令,并根據(jù)指令執(zhí)行相關(guān)功能邏輯
信號(I):被測系統(tǒng)接收其他模塊或系統(tǒng)輸入的外部信號
實體按鍵:用于用戶輸入控制操作
屏幕:用于顯示各種狀態(tài)和數(shù)據(jù)信息
信號(O):用于對外輸出信號給其他模塊或系統(tǒng)
網(wǎng)口:通過HTTP/TCP/UDP等協(xié)議同服務(wù)器通信
集成測試存在的問題
對該嵌入式系統(tǒng)的測試,常用的方法是將外部真實的模塊/系統(tǒng)都集成進來一起進行測試,測試所集成的系統(tǒng)是否能正常工作,如下圖所示:
該示例被測系統(tǒng)在集成測試過程中典型測試用例的測試步驟為:
步驟一:通過外部模塊/系統(tǒng)(1) 向被測系統(tǒng)發(fā)送串口控制指令
步驟二:通過外部模塊/系統(tǒng)(2) 向被測系統(tǒng)發(fā)送信號
步驟三:點擊被測系統(tǒng)的按鍵
步驟四:通過被測系統(tǒng)的屏幕,檢查顯示的信息是否正確
步驟五:通過外部模塊/系統(tǒng)(3),檢查被測系統(tǒng)輸出的信號是否正確
步驟六:通過外部模塊/系統(tǒng)(4),檢查被測系統(tǒng)發(fā)出的數(shù)據(jù)(消息)是否正確
集成測試有如下困難和挑戰(zhàn):
外部依賴:集成測試需要外部模塊都具備的情況下才能進行,很多情況下不具備所依賴的外部模塊/系統(tǒng),需要協(xié)調(diào)各方面資源,并且受各種條件影響比如跨部門協(xié)作,不同項目的周期,支持的人員,還可能受采購的成本影響, 使得測試活動推進比較艱難。
測試不充分:集成測試中各模塊/系統(tǒng)是真實的模塊/系統(tǒng),一些異常場景沒辦法在實際的環(huán)境中創(chuàng)造出來,往往系統(tǒng)功能跑通了即認為測試通過了,而實際上仍然有很多潛在的問題沒有發(fā)現(xiàn)出來,為之后產(chǎn)品實際運營中出現(xiàn)風(fēng)險留下隱患。
宏控UTP系統(tǒng)仿真環(huán)境測試
(1)全仿真自動化測試
宏控UTP協(xié)同自動化測試系統(tǒng)支持全面自動化測試覆蓋,通過多種類型的測試機器人來為被測嵌入式系統(tǒng)提供全仿真環(huán)境,測試機器人在UTP平臺協(xié)同調(diào)度下自動仿真外部模塊/系統(tǒng)或者模擬操作人員, 按照自定義的時序邏輯,來實現(xiàn)對該嵌入式系統(tǒng)的全面測試。
全仿真測試系統(tǒng)圖:如下圖所示,UTP協(xié)同測試平臺協(xié)同調(diào)度多個測試機器人對被測嵌入式系統(tǒng)進行全面仿真測試。
測試機器人的功能:UTP系統(tǒng)根據(jù)測試腳本的邏輯協(xié)同調(diào)度多個測試機器人(由軟件和硬件組成)來對各個輸入和輸出進行測試和檢查,在上圖中,各測試機器人的功能為:
串口測試機器人:仿真外部模塊/系統(tǒng),自動通過串口同被測系統(tǒng)進行通信,自動發(fā)送、接收和檢查串口數(shù)據(jù)。
信號仿真測試機器人:仿真外部模塊/系統(tǒng),自動產(chǎn)生測試所需要的各種輸入信號,對被測系統(tǒng)進行信號激勵。
按鍵操作測試機器人:模擬人工進行按鍵操作,自動對被測系統(tǒng)產(chǎn)生按鍵輸入。
顯示檢查測試機器人:模擬人工檢查界面顯示,自動識別和檢測屏幕上顯示的各種信息。
信號檢測測試機器人:仿真外部模塊/系統(tǒng),自動檢測被測系統(tǒng)輸出的信號是否在規(guī)格范圍內(nèi)。
網(wǎng)絡(luò)測試機器人:仿真外部模塊/系統(tǒng),自動通過網(wǎng)口同被測系統(tǒng)進行通信,自動發(fā)送、接收、回復(fù)和檢查通信的數(shù)據(jù)。
自動化測試步驟:該示例被測系統(tǒng)在全仿真自動測試過程中典型測試用例的測試步驟同集成測試中的手工測一樣,如下:
步驟一:UTP平臺自動控制串口測試機器人向被測系統(tǒng)發(fā)送串口控制指令
步驟二:UTP平臺自動控制信號仿真測試機器人向被測系統(tǒng)發(fā)送信號
步驟三:UTP平臺自動控制按鍵操作測試機器人點擊被測系統(tǒng)的實體按鍵
步驟四:UTP平臺自動控制顯示檢查測試機器人識別被測系統(tǒng)的屏幕,檢查顯示的信息是否正確
步驟五:UTP平臺自動控制信號檢測測試機器人,檢查被測系統(tǒng)輸出的信號是否正確
步驟六:UTP平臺自動控制網(wǎng)絡(luò)通信測試機器人,檢查被測系統(tǒng)發(fā)出的數(shù)據(jù)(消息)是否正確
積木式腳本設(shè)計:測試人員在瀏覽器客戶端通過搭積木的方式進行測試邏輯的設(shè)計, 如下圖:
UTP系統(tǒng)仿真測試具有如下優(yōu)勢:
仿真環(huán)境測試,支持異常注入,可以覆蓋各種測試場景,在最早階段發(fā)現(xiàn)被測系統(tǒng)可能存在的問題
不依賴外部模塊/系統(tǒng),可以根據(jù)團隊需求隨時開展測試工作
提供圖形化方式支持用戶自定義仿真和時序邏輯進行測試,可以覆蓋各種業(yè)務(wù)邏輯
支持用戶根據(jù)被測系統(tǒng)實際特點靈活搭建測試環(huán)境
極大程度提高測試效率,便于回歸測試
(2)部分仿真自動化測試
在實際測試中有時候可能需要對某一部分功能進行全面的測試,比如某嵌入式系統(tǒng)在實際網(wǎng)絡(luò)通信過程中經(jīng)常出現(xiàn)不規(guī)律的問題,這時候可能需要重點對通信功能進行測試。宏控UTP協(xié)同自動化測試系統(tǒng)支持部分仿真測試,即一部分用真實的外部模塊/系統(tǒng),另一部分用測試機器人來仿真, 如下圖所示。
上圖中串口、信號(I)、信號(O)的接口分別連接真實的外部模塊/系統(tǒng), 重點需要測試的網(wǎng)絡(luò)通信功能通過仿真測試機器人來測試, 同時按鍵通過按鍵操作測試機器人來自動操作, 屏幕顯示通過顯示檢查測試機器人來自動檢查。
(3)UTP協(xié)調(diào)測試系統(tǒng)支持仿真的類型
宏控UTP協(xié)同自動化測試系統(tǒng)支持多種仿真能力,包括:
接口總線通信節(jié)點仿真
支持各種接口通信的仿真,如RS232/422/485, CAN, Ethernet, I2C, SPI, SRIO,FC光纖等,支持仿真通信節(jié)點的各種異常和正常場景
網(wǎng)絡(luò)通信鏈路的仿真
支持整個無線通信鏈路(通信模塊、基站、網(wǎng)絡(luò)等)的仿真,仿真鏈路中各種異常情況
支持網(wǎng)絡(luò)服務(wù)器的仿真,仿真服務(wù)端的各種異常情況
云端服務(wù)器的仿真
支持對云端的各種行為進行仿真,用于測試物聯(lián)網(wǎng)終端同云端的各種業(yè)務(wù)邏輯
信號仿真
支持多種規(guī)格信號的仿真,通過動態(tài)地對被測對象進行信號激勵,仿真各種外部輸入信號。
更多類型的自動化測試
宏控UTP系統(tǒng)除了支持上述介紹的嵌入式測試外,還支持各種測試,如串口通信測試、UDP/TCP通信測試、GUI桌面軟件測試,性能測試,物聯(lián)網(wǎng)測試等。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3620瀏覽量
129680 -
測試系統(tǒng)
+關(guān)注
關(guān)注
6文章
825瀏覽量
62218 -
UTP
+關(guān)注
關(guān)注
0文章
51瀏覽量
12475
原文標題:如何對嵌入式系統(tǒng)進行自動化全面測試?從實際的例子說起
文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論