999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

匯編語言的單元測試研究與應用

2018-06-17 10:48:32施雯洪小駿胡浩陸靈君鄭璧青
科學與技術 2018年24期

施雯 洪小駿 胡浩 陸靈君 鄭璧青

摘要:針對MCS-51單片機軟件中使用匯編語言存在單元測試難度大的問題,采用了TBrun for ASM測試工具和腳本指令解釋器進行解決。以某嵌入式軟件的單元測試為例給出具體應用,結果表明,TBrun for ASM測試工具既滿足軟件匯編語言的覆蓋率測試要求,又保證了軟件測試的質量。

關鍵詞:匯編語言;MCS-51單片機;單元測試;TBrun for ASM測試工具

引言

匯編語言具有非結構化、非標準化、硬件相關性高、靈活性極大的特性[1],所以在的嵌入式實時軟件和操作系統等對時間、空間要求較高的軟件系統中仍經常使用匯編語言。但是,由于匯編語言結構化程序低、程序不易理解,與硬件關系緊密(使用絕對地址或固定相對位移地址)目前市面上大多是針對高級程序設計語言的測試工具,針對匯編語言的單元測試工具卻很少,增加了匯編語言測試難度。本文介紹了TBrun for ASM測試工具,解決了匯編語言單元測試難度大的問題,針對該工具的測試用例設計,不僅方便了匯編語言的測試,還提高匯編語言軟件的測試的覆蓋率。

1 單元測試基本方法

單元測試是發現軟件缺陷的重要測試手段,是對軟件單元進行正確性檢查,它所包含的測試項目有功能測試、結構覆蓋率測試以及性能測試[2]。驅動模塊:是調用被測單元的模塊,被測模塊的主程序;樁模塊(Stub):是被測單元調用的其他模塊。軟件單元測試通過構造隔離的測試環境來實現測試,即構造一個驅動程序代替該單元的驅動模塊,以傳送測試數據給被測單元,同時為被測單元調用的接口(即樁模塊)打樁,以返回一定的測試結果給被測單元,并實現對被測單元不同邏輯分支的覆蓋控制[3]。

2 匯編語言測試的難點

2.1 語言特點

匯編是一種低級語言,面向機器,非結構化、非標準化且程序不易理解,與硬件關系緊密。軟件在進行單元測試時,匯編語言使用絕對地址或固定相對位移地址,一旦進行插裝,將會改變地址的特性,使地址原功能特性改變,增加測試用例設計的難度。

2.2 測試腳本

匯編語言不能自動識別出全局變量、形參等,需要測試人員在測試腳本中自己手動添加寄存器變量、地址和賦值,然后再對地址進行賦值。在進行結構覆蓋率測試時,測試人員需在代碼審查的基礎上進行數據流和控制流分析,增加測試難度。

2.3 測試界面

匯編語言運行測試用例無法運行于后臺,測試界面一旦顯示語法錯誤和警告信息,則需要測試人員手動設置斷點、以查看內部寄存器變量調試測試腳本。相比高級語言,測試結果輸出顯示困難。

3 匯編語言單元測試方法

3.1匯編語言測試工具——TBrun for ASM

TBrun for ASM測試工具是一個使用腳本語言來構建測試用例,通過對指令的解釋執行來進行測試的匯編語言單元測試工具,使用簡捷的腳方便的進行測試用例的構建,具有精確的指令解釋執行、簡捷的腳言、靈活的函數打樁、全面的功能驗證、詳細的覆蓋率分析、方便靈活的用例管理和可定制的中文測試報告等功能,使匯編語言的單元測試更加可靠、高效和易于管理。

3.2測試用例設計

在進行用例設計前,首先需要確認函數的結束標識和調用語句:RET(匯編語言的子程序返回語句)或RETI(匯編語言的中斷程序返回語句)、CALL和LCALL(匯編語言的函數調用和長調用語句)。TBrun for ASM具有高可靠性的指令解釋器,來實現匯編語言的指令解釋執行。

3.3 TBrun for ASM在匯編軟件中的應用

以某嵌入式軟件為例,該嵌入式系統采用Intel8031微處理器,軟件采用MCS 51匯編語言編制,軟件主要通過1553B總線完成數據發送至數管總線。測試人員通過TBrun for ASM工具來實現匯編指令模擬、CPU環境模擬以及外部事件模擬等手段來構建匯編應用程序的運行環境,在該環境下實現了匯編語言程序模擬運行、代碼調試、代碼分析(包括代碼規則檢查)、代碼測試、外部事件仿真及測試報告生成。

bit_sys對應的地址是0x01,而它是內部存儲器,則使用“%%INPUT.IDATA.{BIT∣BYTE∣WORD∣DWORD} ADDRESS={address} VALUE={value}”命令集,JNB bit_sys,NEXT1,要使程序跳轉至NEXT分支,bit_sys變量為0,因此測試腳本為:%%INPUT.IDATA.BIT ADDRESS=0x01 VALUE=0

從以上測試用例得出TBrun for ASM不需要對被測軟件手工編寫測試驅動。用工具自帶的指令集來模擬匯編語言,從而使得被測匯編程序在TBrun for ASM模擬運行環境下。這種自編程模擬功能很好地解決匯編語言難測試的問題。執行動態測試后,還能查看已完成的測試語句覆蓋率和分支覆蓋率,并生成測試報告,能夠滿足嵌入式匯編語言編程的軟件單元測試的要求。

4 結論

本文結合實踐,針對嵌入式匯編語言的軟件的單元測試難點展開討論,通過TBrun for ASM測試工具解決了匯編語言單元測試難度大的問題,并應用在某嵌入式軟件的單元測試,滿足了的測試覆蓋率要求,取得了較好的測試效果,為后續軟件測試工作提供了重要保障。

參考文獻

[1]劉利權 基于51系列的嵌入式軟件測試系統研究與實現[J],電子科技大學,2005.

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

[3]張巍,尹海波,孫立財.軟件的單元測試方法[J].光電技術應用,2006,21(2):36-38.

作者簡介:施雯(1984.1---)女,漢族,浙江諸暨人,華東師范大學本科,上海航天電子技術研究所,工程師,研究方向:軟件設計與測試技術。

(作者單位:上海航天電子技術研究所)

主站蜘蛛池模板: 色成人综合| 国产主播一区二区三区| 狠狠色综合久久狠狠色综合| 潮喷在线无码白浆| 97综合久久| 香蕉国产精品视频| 这里只有精品国产| 久久精品电影| 亚洲欧美在线精品一区二区| 中文字幕丝袜一区二区| 久久国产av麻豆| 91偷拍一区| 高清无码一本到东京热| 在线播放真实国产乱子伦| 狠狠久久综合伊人不卡| a毛片在线| 全部毛片免费看| 亚洲最新在线| 国产成年无码AⅤ片在线| 亚洲午夜久久久精品电影院| 四虎亚洲精品| 亚洲最黄视频| 久久综合激情网| 国产一区二区网站| 青青热久免费精品视频6| 国产一区二区网站| 在线综合亚洲欧美网站| 思思热精品在线8| 国产拍揄自揄精品视频网站| 欧美日韩免费观看| 日本久久网站| 日韩精品无码免费一区二区三区 | 国产成人8x视频一区二区| av大片在线无码免费| 日韩第九页| 国产精品毛片一区视频播| 成人91在线| 亚洲男人的天堂在线观看| 精品视频福利| 国产99视频精品免费视频7| 五月婷婷欧美| 中文字幕无线码一区| 乱人伦99久久| 国产高清无码麻豆精品| 亚洲aⅴ天堂| 亚洲欧美另类日本| 亚洲V日韩V无码一区二区| 五月丁香伊人啪啪手机免费观看| 亚洲三级视频在线观看| 久草视频精品| 亚洲高清无码精品| 成年看免费观看视频拍拍| 色欲国产一区二区日韩欧美| 国产精品丝袜视频| 亚洲天堂首页| 国产第二十一页| 天天操精品| 日韩黄色大片免费看| 2021亚洲精品不卡a| 欧美亚洲一区二区三区导航 | 91美女视频在线| 美女内射视频WWW网站午夜 | 国产精品福利尤物youwu | 97久久免费视频| 欧美午夜视频在线| 这里只有精品国产| 久久精品国产精品一区二区| 欧美日韩综合网| 欧美精品啪啪| 国产91久久久久久| 亚洲毛片一级带毛片基地| 中国丰满人妻无码束缚啪啪| 一级片免费网站| 91久久大香线蕉| 999在线免费视频| 午夜福利免费视频| 欧美成a人片在线观看| 精品国产美女福到在线不卡f| 老司国产精品视频91| 成人福利在线看| 精品国产美女福到在线不卡f| 成人伊人色一区二区三区|