?

車載行駛記錄儀軟件性能測試工具設計與實現?

2017-10-23 07:40寧先洪于嘉維王淑雪
艦船電子工程 2017年9期
關鍵詞:記錄儀接收器軟件測試

寧先洪 于嘉維 王淑雪

(1北京中宏遠達科技發展有限公司 北京 100094)

(2海軍工程大學計算機工程系 武漢 430033)

車載行駛記錄儀軟件性能測試工具設計與實現?

寧先洪1于嘉維2王淑雪1

(1北京中宏遠達科技發展有限公司 北京 100094)

(2海軍工程大學計算機工程系 武漢 430033)

根據車載行駛記錄儀通過接口數據展現功能、性能(含資源消耗性)測試實施成本過高的特點,針對性地提出了基礎數據不變鍵值遞增的測試數據生成工具和陪試軟硬件統籌配合的測試場景控制工具的設計理念。貫徹這些理念于車載行駛記錄儀的測試設計過程,借助開發的專用軟件測試工具,完成了記錄儀的性能測試,顯著縮短了測試周期,提高了被測軟件的性能和可靠性。

測試數據生成;測試場景控制;嵌入式軟件性能測試;嵌入式軟件資源消耗性測試

Classnumber TP311

1 引言

車載行駛記錄儀(簡稱記錄儀)可實現對車輛行駛狀態和車輛位置的實時監控,通過對記錄儀所記錄的行駛信息數據進行分析,可以掌控車輛的各種行駛狀況,有利于防止駕駛員違章駕駛,遏制重大交通事故,提高車輛利用率,降低運行成本[1]。記錄儀軟件中包含有嵌入式軟件,為驗證軟件功能、性能、可靠性等特性,常采用軟件測試技術對軟件進行測試。

軟件測試是軟件生命周期中的關鍵環節,是保證軟件質量的重要方法[2],它作為一個決定性技術和軟件工程的主要研究對象在各行各業中被廣泛應用[3]。根據美國國家標準與技術研究所的統計報告指出,采用有效的軟件測試手段可以使由于軟件失效引起的經濟損失減少到三分之二[4]。然而,軟件測試作為最常用的軟件驗證技術卻依然面臨著巨大挑戰。據統計,一般軟件測試的花費占軟件開發總成本的50%以上,所占時間和資源達到了40%~85%[5]。

實際項目中,為改善用戶體驗,降低售后維護成本,需要對記錄儀進行充分的測試[6]。無論是從節約成本的角度還是從保證軟件運行質量的角度出發,都需要面向實際問題研究并改進軟件測試方法與技術[7~8]。

軟件功能正確、健壯性強是執行性能(含資源消耗性)測試工作的前置條件,并不能說明該軟件沒有性能問題[9]。本文針對現有測試手段和方法的局限性,結合記錄儀軟件特性及性能測試過程中遇到的實際困難,從基礎數據不變鍵值遞增的測試數據生成和陪試軟硬件統籌配合的測試場景控制二個方面進行軟件性能測試工具設計與實現研究。

2 性能測試工具設計與實現背景

嵌入式軟件是指依賴于硬件設備的內嵌軟件,由于自身嵌入性、實時性、專用性、硬件依賴性、內存不豐富、I/O通道少等特點,嵌入式軟件測試所用到的測試策略、方法和技術相比一般應用軟件更為復雜[10]。記錄儀軟件正是一種用于監控車輛行駛狀態和車輛位置的嵌入式軟件。

性能測試一般是在功能測試和健壯性測試完成的基礎上進行的[11]。完成記錄儀軟件的較為徹底的功能測試(通過軟件測試輔助工具軟件向記錄儀接口注入正常數據實現)和健壯性測試(通過軟件測試輔助工具軟件向記錄儀接口注入異常數據實現)以后,需要對記錄儀展開性能測試。文獻[12]中介紹了對車載行駛記錄儀軟件功能與健壯性測試工具的設計與開發,本文在此工具的基礎上進行改進,開發對記錄儀進行測試性能和資源消耗性能測試工具。

記錄儀為黑匣子結構,與外界之間有以下涉及性能的交聯方式:

1)通過RS232串口與上位機進行有線交聯(已通過上位機與記錄儀間串口通信模擬軟件完成功能和健壯性測試),例如因數據積累而需要持續向上位機發送大量車輛行駛數據;

2)通過WiFi鏈路與無線數據接收器(簡稱接收器)進行無線交聯(已通過接收器與記錄儀間WiFi通信模擬軟件完成功能和健壯性測試),例如因數據積累而需要持續向接收器發送大量車輛行駛數據;

3)通過移動通信GSM鏈路使用GSM短信與車場監控臺站(簡稱監控臺)進行GSM短信交聯(已通過監控臺與記錄儀間GSM短信模擬軟件完成功能測試和健壯性測試),在這種交聯方式中,所有類型的短信均為實時發送,不存在數據積累現象。

記錄儀軟件沒有GUI界面,無法用主流的第三方軟件性能測試工具操作錄制(以形成性能測試腳本)、性能測試腳本編程、數據池處理編程和性能測試腳本回放等技術手段對其進行性能測試。

記錄儀具有自動保存6萬公里或200天車輛行駛數據的技術能力要求。本文的研究目的是如何采用適當的黑盒測試技術驗證此需求并對其進行充分的性能測試。

面向上述需求,本文在功能和健壯性測試工具的基礎上設計了性能測試工具,以基礎數據不變鍵值遞增的測試數據生成和陪試軟硬件統籌配合的測試場景控制,來克服當前記錄儀性能測試中存在的困難,實現了測試過程的高效性和充分性。圖1展示了采用本文方法的記錄儀性能測試環境示意圖。

圖1 記錄儀性能測試環境示意圖

如文獻[12]中所述,測試環境由寄主計算機、測試線纜和測試工裝等多個專用軟件測試工具組成:1)記錄儀持續行駛數據注入軟件用于實現基礎數據不變鍵值遞增的測試數據生成工作;2)記錄儀長時間重復關機測試輔助軟件用于實現陪試軟硬件統籌配合的測試場景控制工作;3)導航數據錄入軟件用于形成導航數據樣本;4)上位機與記錄儀間串口通信模擬軟件、接收器與記錄儀間WiFi通信模擬軟件、監控臺與記錄儀間GSM短信模擬軟件和記錄儀隨車行駛軌跡數據標繪軟件用于監測記錄儀運行狀態。

本文第3、4節詳細介紹了記錄儀持續行駛數據注入軟件和記錄儀長時間重復關機測試輔助軟件的設計及實現方法。

3 基礎數據不變鍵值遞增的測試數據生成工具軟件設計與實現

3.1 持續性測試數據生成需求

我們可以用人工攜帶記錄儀驅車進行6萬公里跑車試驗的方法來驗證記錄儀具有自動保存6萬公里行駛數據的技術能力,但是該方法試驗周期過長,人力和財力消耗成本較高;同時試驗過程中記錄儀在野外出現問題不便于分析和修改,無法兼顧資源消耗性測試。

實際跑車試驗條件難以實現,因此必須借助輔助工具軟件完成這項測試工作。在文獻[12]中在記錄儀軟件的功能和健壯性測試階段已經開發了一些軟件測試輔助工具軟件[1],以此為基礎進行漸進性設計是經濟可行的。

3.2 持續性測試數據生成設計

為模擬記錄儀行駛6萬公里的場景,對記錄儀的衛星定位模塊輸出的導航數據(為ASCII字符串,遵循NMEA0183,每秒一幀)進行了分析:導航數據包括當前時間、位置、航向、導航衛星的俯仰角和方位角;當前時間信息可以視為導航數據中的鍵值,其余信息為基本信息(記錄儀可以在不同時間多次途經同一個地點,不可以同一時間位于不同的地點)。根據分析,對記錄儀軟件進行重復性測試時開發的導航數據回放軟件進行功能改進:1)回放時,樣本導航數據中的時間信息以指定時間為基準,以組為單位按秒遞增,其余信息不變,校驗數據重新計算,然后將數據經串口注入記錄儀;2)添加樣本導航數據持續重復回放控制功能,每次循環回放導航數據中的時間信息依次遞增;3)記錄儀隨車行駛軌跡標繪軟件(以下簡稱標繪軟件)接收進程間消息,獲取記錄儀的當前時間、位置、速度和航向,將行駛信息標繪在地圖上。

選擇適當行車路線(含行車場景),使用導航數據錄制軟件錄制記錄儀從車場出發沿設定路線跑車后返回車場期間的導航數據,將此數據作為樣本數據,啟動導航數據回放軟件,設定好回放次數后進行驗證,觀察記錄儀是否具有自動保存6萬公里行駛數據的技術能力。

為檢查試驗過程中記錄儀工作是否正常,需對原有軟件測試輔助工具軟件進行適應性改進:

1)監控臺與記錄儀間GSM短信模擬軟件向標繪軟件發送進程間消息,告知記錄儀上報的行駛信息,標繪軟件將該信息標繪在地圖上;

2)接收器與記錄儀間WiFi通信模擬軟件向標繪軟件發送進程間消息,告知記錄儀上報的行駛信息,標繪軟件將該信息標繪在地圖上。

3.3 持續性測試數據生成實現

根據持續性測試場景生成設計方案,開發了記錄儀持續行駛數據注入軟件,對原有軟件測試輔助工具進行了適應性改進。

記錄儀持續行駛數據注入軟件可驅使記錄儀不間斷模擬行駛完6萬公里路程(此過程中亦伴隨性進行了記錄儀軟件的資源消耗性測試),期間可使用GSM短信模擬軟件和標繪軟件監測記錄儀行駛狀態,可挑選若干時間點使用串口通信模擬軟件和WiFi通信模擬軟件查詢記錄儀中的大量歷史數據,檢查記錄儀輸出的存量數據的正確性。

4 陪試軟硬件統籌配合的測試場景控制工具軟件設計與實現

4.1 測試場景控制工具需求

人工驅車攜帶記錄儀連續進行200天的跑車試驗會消耗大量的時間和資源,實際操作難度較大。因此,為驗證記錄儀具有保存200天行駛數據的技術能力就必須通過技術手段實現此測試場景,實際使用記錄儀的場景如下:

1)駕駛員啟動記錄儀載車,記錄儀接通電源后接收導航數據并開始工作;

2)記錄儀載車駛近車場值班室,記錄儀收到接收器WiFi信號;

3)記錄儀載車駛離車場值班室,記錄儀與接收器失去WiFi信號連接;

4)記錄儀載車完成任務后返回,駛近過車場值班室,記錄儀接收到接收器WiFi信號后向接收器報送當次車輛行駛數據;

5)記錄儀載車駛離車場值班室回停車位,記錄儀失去與接收器之間的WiFi信號連接;

6)記錄儀載車熄火,記錄儀斷電。

4.2 測試場景控制工具設計

測試場景控制工具需要完成的與記錄儀的實際使用場景相對應的工作有:

1)記錄儀的適時上電與斷電;

2)WiFi信號的適時出現與消失;

3)模擬記錄儀行駛用導航數據適時注入記錄儀;

4)接收器適時開始從記錄儀接收車輛行駛數據。

所需陪試硬件如下:

1)記錄儀輸入電源;

2)無線路由器(為接收器與記錄儀間WiFi通信模擬軟件提供WiFi鏈路);

3)四口RS232串口控制繼電器(控制記錄儀電源和無線路由器電源的通斷電操作);

4)記錄儀接口線纜[10]。

須開發測試場景控制工具軟件,統籌調度相關的軟件和配試硬件協調工作:

1)通過RS232串口控制繼電器(硬件),為記錄儀上電與斷電;

2)通過RS232串口控制繼電器(硬件)為無線路由器上電與斷電,模擬WiFi信號適時出現與消失場景;

3)通過復用和改進導航數據回放軟件中的函數實現導航數據的按日生成和注入;

4)通過添加進程間消息控制接收器模擬器(即接收器與記錄儀間WiFi通信模擬軟件,其部署在計算機上通過網線連接無線路由器)啟動或停止接收行駛數據,接收器與記錄儀間WiFi通信模擬軟件需做適應性改進;

5)統籌調度上述四條所描述各項事務。

4.3 測試場景控制工具實現

根據測試場景控制工具軟件設計方案,在VC2010平臺上開發了記錄儀長時間重復關機測試輔助軟件(簡稱開關機測試軟件)。該軟件在Windows7環境下運行,其主控界面如圖2所示。

圖2 記錄儀長時間重復關機測試輔助軟件主控界面

對開關機測試軟件簡要說明如下:

1)開關機測試軟件通過記錄儀串口號往記錄儀中注入模擬導航數據;

2)開關機測試軟件通過繼電器串口號控制記錄儀和無線路由器的適時通斷電;

3)點擊‘樣本文件’按鈕可選擇導航數據樣本文件,其中樣本文件通過事先規劃好跑車試驗場景后使用導航數據錄制軟件錄制后形成;

4)‘樣本長’右側編輯框的內容由開關機測試軟件分析樣本文件后自行填充;

5)‘循環結束前’右側編輯框可設置啟動無線路由器的時機,‘接收器運行’右側編輯框可設置關閉無線路由器的時機;

6)‘循環(天)數’右側編輯框可設置重復開關機次數,每次開機至關機模擬記錄儀一天的運行(每天運行時長由樣本文件時長確定),開關機測試軟件將樣本數據中的時間屬性按日遞增后注入到記錄儀中;

7)‘起始日’右側組合框可設置模擬數據的起始日期以避免與記錄儀中的存量數據發生沖突;

8)開關機測試軟件主界面下方列表框用于顯示發往或從記錄儀接收的數據;

9)開關機測試軟件的運行日志界面,如圖3所示。

圖3 記錄儀長時間重復關機測試輔助軟件日志界面

進行重復開關機試驗期間,可使用改進后記錄儀隨車行駛軌跡標繪軟件、監控臺與記錄儀間GSM短信模擬軟件、接收器與記錄儀間WiFi通信模擬軟件觀察記錄儀的工作狀態,確認記錄儀是否處于正常工作狀態。

使用開關機測試軟件可以驗證記錄儀是否具有保存200天行駛數據的技術能力,卻無法對記錄儀軟件進行資源消耗性測試(因記錄儀需反復上電和斷電,相關資源被釋放)。待試驗完成后,可使用上位機與記錄儀間串口通信模擬軟件和接收器與記錄儀間WiFi通信模擬軟件查詢記錄儀中的大量歷史存量數據,檢查記錄儀輸出的大批量存量數據的正確性。

5 結語

本文針對記錄儀軟件性能測試過程中出現的測試場景實施成本過高的情況,針對性地提出了基礎數據不變鍵值遞增的測試數據生成工具設計理念、陪試軟硬件統籌配合的測試場景控制工具軟件設計理念,并針對性地開發了測試輔助工具軟件,對記錄儀功能和健壯性測試階段開發的測試輔助工具軟件進行了適應性改進。

借助這些測試輔助工具軟件,測試人員對記錄儀的性能進行了充分測試。經過測試,發現了記錄儀功能和健壯性測試階段的測試手段無法發現的性能問題,這些性能問題將在記錄儀投入使用若干年后出現。

在記錄儀的性能測試期間,附帶發現了記錄儀硬件本身存在的一些非確定性故障,對這些故障現象進行分析與修正,提高了記錄儀硬件的可靠性。

[1]陳石平,楊曉明,史哲英.北斗車載行駛記錄儀設計與實現[J].廣西通信技術,2014,23(1):23-25.

[2]趙翀,孫寧編著,賁可榮主審.軟件測試技術——基于案例的測試[M].北京:機械工業出版社,2011.

[3]盛云龍.基于組合覆蓋的嵌入式軟件測試平臺研制[D].哈爾濱:哈爾濱工業大學碩士學位論文,2013.

[4]蘇亭.基于覆蓋準則的軟件測試用例自動化生成方法的研究與實現[D].上海:華東師范大學碩士學位論文,2016.

[5]Christoph C,Yannis S,Tao X.DSD-Crasher:Ahybrid analysis tool for bug finding[J].ACMTransactions on Software Engineering and Methodology,2008,17(2):1-37.

[6]Mouheb D,DebbabiM,PourzandiM,et al.Model-Driven Architecture and Model Transformation[M].Berlin:Springer InternationalPublishing,2015:35-45.

[7]Cadar C,Dunbar D,Engler D R.KLEE:Unassisted and automatic generation of high-coverage tests for complex systems programs[C]//Proceedings of the 8thUSENIX Conference on Operating Systems Design and Implementation.San Diego,USA,2008:109-224.

[8]Anand S,E.K.Burke,etal.An orchestrated survey ofmethodologies for automated software test case generation[J].JournalofSystemsand Software,2013,86(8):1978-2001.

[9]Jiang G L,Wu J,Liu K,etal.Implementation and performance analysis of SDN controller[J].Journal of Southeast University,2014,35(3):313-318.

[10]蔡建平.嵌入式軟件測試實用技術[M].北京:清華大學出版社,2010.

[11]孟祥豐.軟件性能測試解析與優化[J].電子設計工程,2011,19(9):26-28.

[12]寧先洪,張獻,王淑雪.車載行駛記錄儀軟件測試工具設計與實現[J].艦船電子工程,2017,50(7):152-155.

Design and Im p lementation of Software Performance Testing Tools for Vehicle Traveling Data Recorder

NING Xianhong1YU Jiawei2WANG Shuxue1
(1 Beijing ZHYD Technology DevelopmentCo.,Ltd.Beijing 100094)
(2DepartmentofComputer Science,NavalUniversity of Engineering,Wuhan 430033)

According to the features of vehicle traveling data recorder that show the function through the interface data and high costof performance test implementation(including resource consumption),puting forward the design concept that toolofgenerating testdatawith basic-data-the-same and increasing key and testing scene control tool of co-ordinateing hardwarewith software.The testdesign process of carrying out the idea to the vehicle traveling data recorder,using special software testing tools to complete the performance testing instrument,shorten the testcycle,improve the performance and reliability of the tested software.

test data generate,test scenario control,embedded software performance testing,embedded software resource consumption test

TP311

10.3969/j.issn.1672-9730.2017.09.018

2017年3月8日,

2017年4月21日

寧先洪,男,碩士,高級工程師,研究方向:測量設備、精密儀器。于嘉維,男,碩士研究生,研究方向:軟件質量保證技術。王淑雪,男,碩士,工程師,研究方向:軟件測試開發技術研究及實踐。

猜你喜歡
記錄儀接收器軟件測試
軟件測試方向人才培養“1+X”融合研究
自主核級無紙記錄儀產品發布會在上海召開
淺談消防執法記錄儀在實際工作中的應用
淺談一種新型的25Hz相敏軌道電路微電子接收器
基于OBE的軟件測試課程教學改革探索
航天軟件測試模型構建與應用
做夢記錄儀
EXCEL和VBA實現軟件測試記錄管理
奇奇小笨探秘海洋世界(六)
記錄儀
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合