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---)女,漢族,浙江諸暨人,華東師范大學本科,上海航天電子技術研究所,工程師,研究方向:軟件設計與測試技術。

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

主站蜘蛛池模板: 香蕉国产精品视频| 日韩乱码免费一区二区三区| 呦女亚洲一区精品| 奇米精品一区二区三区在线观看| 中文精品久久久久国产网址| 制服丝袜一区二区三区在线| 91久久性奴调教国产免费| 久久人搡人人玩人妻精品 | 精品国产毛片| 麻豆精品在线| 天天综合网亚洲网站| 日本午夜影院| 特级毛片8级毛片免费观看| 青草91视频免费观看| 97成人在线观看| 国产爽歪歪免费视频在线观看| 久久精品这里只有精99品| 狠狠色成人综合首页| 欧美福利在线| 91无码人妻精品一区二区蜜桃| 久久亚洲黄色视频| 欧美三级日韩三级| 成人一区专区在线观看| 又爽又大又光又色的午夜视频| 国产精品lululu在线观看| 国产主播喷水| 97久久免费视频| 国产无遮挡猛进猛出免费软件| 国产久草视频| 免费高清自慰一区二区三区| 亚洲人成网址| 性色生活片在线观看| 性网站在线观看| 成年A级毛片| 熟妇无码人妻| 亚洲一区二区视频在线观看| 91在线激情在线观看| 色久综合在线| 中文字幕1区2区| 国产情精品嫩草影院88av| 91av成人日本不卡三区| 97se亚洲| 毛片在线看网站| 亚洲一区二区三区香蕉| 亚洲av无码专区久久蜜芽| 国产嫩草在线观看| 国产麻豆精品久久一二三| 日韩欧美综合在线制服| 日韩精品中文字幕一区三区| 亚洲动漫h| 波多野结衣无码AV在线| 农村乱人伦一区二区| 亚洲午夜天堂| 亚洲Av综合日韩精品久久久| 国产一级二级在线观看| 久久久久九九精品影院| 亚洲精品免费网站| 女人18毛片久久| 99在线小视频| 在线播放精品一区二区啪视频| 99偷拍视频精品一区二区| 亚洲国产精品不卡在线| 欧美日韩成人在线观看 | 最新无码专区超级碰碰碰| 美女被躁出白浆视频播放| 色国产视频| 日韩在线2020专区| 国产网站在线看| 国产尤物jk自慰制服喷水| 尤物国产在线| 国产国拍精品视频免费看| 国产自产视频一区二区三区| 99精品福利视频| 国产精品熟女亚洲AV麻豆| 亚洲国产精品一区二区第一页免| 欧美色视频网站| 成人年鲁鲁在线观看视频| 青草视频久久| 高清免费毛片| 国产人人射| www.亚洲国产| 亚洲国产成人无码AV在线影院L|