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