• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于網口的自動化測試軟件的設計與實現(xiàn)

      2020-03-26 09:34:22徐春梅
      科學技術創(chuàng)新 2020年1期
      關鍵詞:字符串航跡報文

      徐春梅

      (四川九洲空管科技有限責任公司,四川 綿陽621000)

      二次雷達(Secondary surveillance radar,簡稱SSR)在現(xiàn)代空管領域中發(fā)揮著重要的作用,SSR 包括詢問機和應答機,主要工作原理是詢問機發(fā)射詢問信號,飛機上的應答機收到詢問信號后,經過信號處理、譯碼,然后由應答機發(fā)送應答信號,地面詢問機天線收到應答信號后,再經過信號處理和數(shù)據處理,可以獲取飛機代號、高度、方位和距離等目標信息,形成目標航跡后傳送到管制中心,從而對空中目標進行監(jiān)視[1]。其中形成目標航跡的軟件就是航跡軟件,指目標航跡的建立、更新和刪除等。航跡軟件是嵌入式軟件,處理的數(shù)據量較大,由于軟件運行環(huán)境較難搭建,通用測試工具環(huán)境缺乏,對于嵌入式軟件的系統(tǒng)測試提出了較高的要求。

      系統(tǒng)測試主要是通過對被測軟件(運行后)輸入測試用例,對被測軟件的運行情況進行分析,輸入和輸出的關系是否滿足軟件的功能需求。實驗室需要對被測軟件搭建測試平臺,一種方式是手動輸入測試報文,通過通信協(xié)議編輯報文、組報、發(fā)送到被測軟件,人工比較測試結果是否滿足預期結果,這種方式耗費較多的人力和時間成本。二是開發(fā)簡單高效的自動化測試驅動軟件,可以重復使用,提高工作效率。本文的被測軟件是通過網口(UDP 協(xié)議)通信,所以主要討論基于網口的自動化測試驅動軟件的設計與實現(xiàn)。

      1 測試軟件的需求

      1.1 讀取數(shù)據文件

      測試人員考慮采用網絡調試助手作為被測軟件的測試輸入數(shù)據的工具,比如在網絡調試助手的發(fā)送區(qū)設置選中“文件載入”,載入文件的數(shù)據內容為“77”(16 進制),設置為十六進制顯示,網口調試助手以字符串的形式讀取文件,數(shù)據待發(fā)送區(qū)域顯示為“37 37”,點擊“發(fā)送”,發(fā)送區(qū)域顯示發(fā)送數(shù)據“37 37”,串口調試助手把十六進制數(shù)據識別為字符串,會導致發(fā)送的數(shù)據出現(xiàn)錯誤。所以該測試驅動軟件必須正確讀取文件的數(shù)據,數(shù)據之間的間隔為逗號或空格等特定的分隔符。

      1.2 數(shù)據發(fā)送和接收

      建立測試驅動軟件和被測軟件之間的網絡通信,為數(shù)據的發(fā)送和接收提供鏈路,測試驅動軟件發(fā)送測試報文數(shù)據,同時接收被測軟件輸出的報文數(shù)據。

      1.3 結果判定

      測試驅動軟件接收被測軟件的輸出報文數(shù)據,和已知的數(shù)據文件進行結果比較,給出合格和不合格的判定。

      1.4 開發(fā)工具

      LabWindows/CVI 是一個ANSI C 開發(fā)環(huán)境,用于儀器控制、自動控制、數(shù)據處理的應用軟件,主要采用事件驅動與回調函數(shù)方式,編程方法簡單易學。工具提供了標準函數(shù)庫和交互式的函數(shù)面板,用戶利用便捷的用戶界面編輯器,代碼創(chuàng)建向導及函數(shù)庫,實現(xiàn)可視化用戶界面的建立,顯示和控制,很容易生成各種應用程序,并且這些程序可以在不同的平臺上移植,所以選用LabWindows/CVI 開發(fā)該測試驅動軟件[2]。

      2 測試驅動軟件的設計與實現(xiàn)

      2.1 讀取數(shù)據文件

      文件信息填寫的內容包括文件的數(shù)據類型(十六進制、八進制或者十進制),數(shù)據的間隔(逗號或者空格),數(shù)據發(fā)送間隔(0到10 秒),是否循環(huán)發(fā)送,使用庫函數(shù)GetCtrlVal()獲取控件的當前值。用戶選擇“打開”按鈕,瀏覽并打開測試計算機要導入發(fā)送的文件名。用戶選擇“預期輸出”按鈕,瀏覽并打開被測軟件預期輸出的數(shù)據文件。用戶選擇“保存”按鈕,選擇測試計算機保存被測軟件實際輸出的數(shù)據的文件名。文件信息填寫的界面如圖1所示。

      圖1 文件信息界面

      打開文件使用OpenFile () 函數(shù),使用ReadLine(filesucc1,Binarydata[countline],-1)按行讀取文件的字符串內容,filesucc1 是打開文件的句柄,Binarydata[countline]數(shù)組保存每一行的內容,-1 表示讀取到文件的結束。保存數(shù)據使用庫函數(shù)WriteLine(filesucc2,msg,-1) 對接收的數(shù)據按行進行保存,filesucc2 是保存文件的句柄,msg 是需要保存的字符串。

      函數(shù)strtodata(char *SourceString,int Style,int Mark,int Len,int*DestData) 實現(xiàn)的功能是將特定字符為間隔的字符串轉換為數(shù)值,其中SourceString 為源字符串指針,Style 為數(shù)據的類型樣式(其中8 表示源字符串為八進制,10 表示源字符串為十進制,16表示源字符串為十六進制),Mark 表示間隔標識符,Len 表示需要轉換的字符串長度,DestData 為源字符串轉換成數(shù)值后的指針,strtodata()函數(shù)的偽代碼如下:1for(j=0; j<len; j++)2 if(SourceString[j] == Mark) // 從字符串中以指定字符為間隔提取數(shù)值

      2.2 數(shù)據發(fā)送和接收

      使用LabWindows/CVI 進行網絡通信時,測試驅動軟件通過UDP 協(xié)議與被測軟件建立鏈路連接,測試驅動軟件直接調用庫函數(shù)CreateUDPChannel (unsigned int localPort, unsigned int*channel),建立發(fā)送和接收數(shù)據的鏈路,退出程序時調用DisposeUDPChannel(unsigned int channel)釋放通信鏈路。填寫地址信息的界面如圖2 所示(IP 選擇Sring 控件,PORT 選擇Numeric 控件),包括IP 地址和端口號(PORT)。使用定時器(Timer)每隔特定時間間隔觸發(fā)回調函數(shù),回調函數(shù)中調用庫函數(shù)UDPRead()和UDPWrite()進行數(shù)據的收發(fā)操作,庫函數(shù)的具體使用方法可查看LabWindows/CVI 的幫助文件。

      圖2 地址界面

      2.3 結果判定

      測試驅動軟件的結果顯示如圖3 所示,采用Table 控件,增加行和列的名稱,下圖中的輸入列為測試驅動軟件發(fā)送的數(shù)據,預期輸出列是被測軟件的預期輸出,實際輸出列是被測軟件的實際輸出,程序根據預期輸出和實際輸出的值進行比較,從而得到軟件測試結果合格或者不合格。

      圖3 結果判定

      圖3 打印輸出的是字符串,測試驅動軟件收到是數(shù)據數(shù)組,測試驅動軟件需要將一組數(shù)據轉換成字符串,采用語句p +=sprintf(targetstring+p,"%#04x,", numdata[j])實現(xiàn),p 為sprintf()函數(shù)一共轉換的字符個數(shù),numdata[]為數(shù)據數(shù)組,targetstring 為轉換后的字符串指針,根據不同的數(shù)據類型和顯示格式的需要,增加判定條件,同時修改sprintf()的格式類型即可。

      本文只討論了基于網口的自動化測試軟件,如果被測軟件有串口通信,可以擴展進行串口通信,只需在界面上增加串口參數(shù)設置,根據測試需求填寫端口號、波特率、數(shù)據位、停止位、校驗位等,調用庫函數(shù)ComRd()和ComWrt()進行數(shù)據收發(fā)等。

      3 結論

      通過該測試驅動軟件,可以向被測軟件定時發(fā)送特定格式的數(shù)據文件,同時接收被測軟件的實際輸出值,通過對比預期輸出和實際輸出值,得到軟件的測試結果。通過采用該測試驅動軟件測試航跡軟件,克服了串口調試助手讀取數(shù)據的局限性,同時節(jié)約了人力和時間資源,提高了效率,在實際的軟件測試中具有較好的應用價值。

      猜你喜歡
      字符串航跡報文
      基于J1939 協(xié)議多包報文的時序研究及應用
      汽車電器(2022年9期)2022-11-07 02:16:24
      CTCS-2級報文數(shù)據管理需求分析和實現(xiàn)
      夢的航跡
      青年歌聲(2019年12期)2019-12-17 06:32:32
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      自適應引導長度的無人機航跡跟蹤方法
      視覺導航下基于H2/H∞的航跡跟蹤
      ATS與列車通信報文分析
      基于航跡差和航向差的航跡自動控制算法
      一種新的基于對稱性的字符串相似性處理算法
      依據字符串匹配的中文分詞模型研究
      高密市| 连城县| 灌阳县| 贡觉县| 开原市| 桓仁| 正蓝旗| 苍南县| 彝良县| 虎林市| 藁城市| 洛隆县| 新丰县| 乌拉特前旗| 日照市| 日土县| 寿光市| 吉林市| 乡宁县| 武邑县| 广宁县| 北海市| 逊克县| 砀山县| 永福县| 茂名市| 漠河县| 潜山县| 新邵县| 陈巴尔虎旗| 南和县| 古交市| 山东省| 星子县| 万年县| 时尚| 山阳县| 保靖县| 延庆县| 尚志市| 汾西县|