国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

多控制模塊伺服控制驅(qū)動軟件的配置項(xiàng)測試方法

2019-10-09 05:48樊茜何雨昂吳非喬森李東東
電子技術(shù)與軟件工程 2019年17期
關(guān)鍵詞:插樁代碼文檔

文/樊茜 何雨昂 吳非 喬森 李東東

隨著軟件工程的發(fā)展以及軟件需求方的強(qiáng)烈要求,軟件的可靠性保證又推向了新的高度。國內(nèi)外專家均不斷探索軟件硬件結(jié)合的軟件測試方法,發(fā)現(xiàn)軟件潛在問題,從而提高軟件質(zhì)量。多控制模塊伺服控制驅(qū)動軟件是一種應(yīng)用在伺服控制驅(qū)動器上的多時序指令軟件,廣泛適用于機(jī)電伺服系統(tǒng)。針對多控制模塊伺服控制驅(qū)動軟件,本文提出了多種測試技術(shù),用于多控制模塊伺服控制驅(qū)動軟件功能、性能、可靠性和安全性的驗(yàn)證。

1 基于靜態(tài)分析測試技術(shù)的可靠性安全性測試方法

開發(fā)方測試用例設(shè)計(jì)和執(zhí)行的依據(jù)為軟件任務(wù)書、需求規(guī)格說明和設(shè)計(jì)說明文檔。部分可靠性安全性指標(biāo)完全可以通過靜態(tài)測試技術(shù)進(jìn)行驗(yàn)證。靜態(tài)測試是不執(zhí)行程序代碼而尋找程序代碼中可能存在的缺陷以及評估程序代碼的過程。該測試方法需要設(shè)定測試分析條件、執(zhí)行步驟、代碼編程規(guī)則。靜態(tài)測試可以手工進(jìn)行,也可以借助工具自動進(jìn)行。目前有多類軟件安全漏洞檢測工具,對軟件的內(nèi)存泄露、數(shù)據(jù)越界等潛在安全性問題進(jìn)行深度分析。同時,再配合制定一份針對可靠性安全性問題排查的代碼審查單,在代碼走查中,結(jié)合專家人員的經(jīng)驗(yàn)對軟件代碼進(jìn)行逐行檢查,可以盡早發(fā)現(xiàn)軟件深層次的可靠性安全性問題。

目前完整的代碼審查單中有多達(dá)100項(xiàng)審查內(nèi)容,均是針對嵌入式C語言代碼、設(shè)計(jì)文檔、需求文檔制定,并通過多次實(shí)際審查進(jìn)行了修改和完善。依據(jù)制定好的代碼審查單對可靠性安全性進(jìn)行校驗(yàn),在開發(fā)方測試初期對代碼與文檔、文檔與文檔之間的一致性進(jìn)行全面的驗(yàn)證。由于篇幅有限,列舉部分可靠性安全性代碼審查內(nèi)容如表1。

表1

依據(jù)軟件設(shè)計(jì)任務(wù)書中對安全性和可靠性設(shè)計(jì)要求,并使用靜態(tài)分析測試技術(shù)制定針對軟件安全漏洞以及可靠性指標(biāo)的代碼審查單,對代碼與文檔、文檔與文檔之間的一致性進(jìn)行全面的驗(yàn)證,對不一致內(nèi)容提出問題報告單,匯總后統(tǒng)一交由軟件設(shè)計(jì)進(jìn)行修改。審查單可以根據(jù)不同的代碼、文檔等不同對象進(jìn)行沿用和制定,并不斷的積累和豐富,進(jìn)一步增加代碼審查單的檢查深度,更易發(fā)現(xiàn)軟件的深層次問題。

2 多控制模塊伺服控制驅(qū)動軟件的高精度性能測試方法

針對過去使用示波器獲取伺服控制驅(qū)動軟件性能指標(biāo)的方式,存在軟件測試精度存在偏差和實(shí)時性差的問題,本文設(shè)計(jì)了強(qiáng)實(shí)時的伺服控制驅(qū)動軟件性能測試方法。

強(qiáng)實(shí)時的伺服控制驅(qū)動軟件性能測試環(huán)境利用LDRA 公司的嵌入式軟件測試工具TestBed,結(jié)合其配套的實(shí)時硬件數(shù)據(jù)采集工具RTInsight及測試結(jié)果分析和顯示軟件RTInsight Pro,將被測軟件軟件運(yùn)行于伺服控制驅(qū)動器,對多控制模塊伺服控制驅(qū)動軟件進(jìn)行實(shí)時性能測試。

TestBed是英國LDRA 公司的嵌入式軟件測試工具,它的功能包括編碼規(guī)則檢查、軟件度量分析、靜態(tài)數(shù)據(jù)流分析等靜態(tài)分析和軟件單元測試等功能。RTInsight是LDRA公司推出的和TestBed配套的實(shí)時硬件數(shù)據(jù)采集器,通過將RTInsight與被測系統(tǒng)的物理總線相連接,實(shí)時監(jiān)控系統(tǒng)總線讀寫情況,并與軟件測試工具TestBed及RTInsigh配合使用,實(shí)現(xiàn)對被測軟件的覆蓋率分析、時間性能分析等功能。

被測軟件由于實(shí)時性的要求和硬件資源的限制,必須要考慮插樁代碼對被測系統(tǒng)的影響。過去的插樁方法常常會影響軟件的執(zhí)行效率,原因在于通常的插樁會造成源文件代碼和數(shù)據(jù)空間驟增。TestBed的插樁技術(shù)能夠解決這些問題,大大提高了執(zhí)行效率。同時,由于RTInsight采用高速虛擬端口技術(shù),使得代碼插樁量可控制在函數(shù)入口、出口、程序分支點(diǎn),僅使用一到兩條語句,大大減少了由于插樁代碼的增加而產(chǎn)生的對被測軟件的影響。

RTInsight作為完成強(qiáng)實(shí)時功能的硬件設(shè)備,是通過并口和隔離板左側(cè)連接,隔離板的右側(cè)為雙列直插的排針,再通過飛線和目標(biāo)控制器相連。運(yùn)行測試工具RTInsight Pro后,使用測試代碼對硬件連接進(jìn)行測試,驗(yàn)證是否能正確和完成采集到數(shù)據(jù),測試代碼如下:

利用RTInsight進(jìn)行性能測試的步驟如下:

2.1 搭建測試運(yùn)行環(huán)境

測試主機(jī)通過網(wǎng)線和RTInsight硬件設(shè)備連接,RTInsight硬件設(shè)備通過飛線和伺服控制驅(qū)動器的數(shù)據(jù)線、地址線和讀寫信號線相連。

2.2 生成插樁文件

用TestBed對被測軟件源代碼進(jìn)行靜態(tài)分析和代碼插樁,即是向一個未被使用的指定RAM 地址寫入特定內(nèi)容,然后在測試主機(jī)上的編譯調(diào)試軟件對插樁后的源代碼進(jìn)行編譯,生成目標(biāo)控制器可運(yùn)行文件。

2.3 更新FLASH區(qū)

測試主機(jī)通過板卡(例如1553B總線板卡)和伺服控制驅(qū)動器連接,通過測試主機(jī)上的程序燒寫軟件,將可運(yùn)行文件燒寫至伺服控制驅(qū)動器的FLASH中。

2.4 顯示測試結(jié)果

伺服控制驅(qū)動器上電,在測試主機(jī)上運(yùn)行測試結(jié)果分析軟件RTInsight Pro,RTInsight通過在被測程序的插樁地址采集數(shù)據(jù),并將數(shù)據(jù)通過網(wǎng)絡(luò)上傳到測試主機(jī),RTInsight Pro分析上傳的數(shù)據(jù),以每3秒刷新的頻率,將結(jié)果顯示在測試軟件界面中,從而實(shí)時的得到軟件各個函數(shù)的執(zhí)行時間。

使用多控制模塊伺服控制驅(qū)動軟件的高精度性能測試方法,可以對被測軟件進(jìn)行強(qiáng)實(shí)時的性能測試,將測試精度提升到納秒級,實(shí)現(xiàn)了對軟件的高精度測試,更好的評估軟件的性能特性。

3 多控制模塊伺服控制驅(qū)動軟件的故障注入技術(shù)

多控制模塊伺服控制驅(qū)動軟件功能測試,即根據(jù)需求規(guī)格說明進(jìn)行分析提煉測試用例,來驗(yàn)證程序在正常情況下能完成規(guī)格說明中預(yù)定的功能。但“軟件做了應(yīng)該做的”不能代表該軟件沒有隱藏錯誤。軟件測試還需要從“軟件未做不應(yīng)該做的”的角度,來考察軟件的容錯機(jī)制、邊界和異常數(shù)據(jù)處理的能力。

針對被測軟件,采用故障模擬注入技術(shù),在測試需求分解過程中著重考慮無效等價類的測試用例設(shè)計(jì)。在程序中輸入任何可能的輸入條件,人為的添加軟件模擬運(yùn)行中可能出現(xiàn)的故障于軟件上,驗(yàn)證軟件對故障數(shù)據(jù)的處理、抵御誤操作的能力是否滿足軟件需求。多控制模塊伺服控制驅(qū)動軟件的測試主要采用三類故障模擬注入技術(shù)(即硬件故障、操作故障、數(shù)據(jù)故障),對軟件的主要功能模塊進(jìn)行測試。

硬件故障的注入主要是利用高精可調(diào)直流電源實(shí)現(xiàn)對A/D接口硬件的檢測和軟件處理的檢查。硬件檢測的內(nèi)容包括采樣精度、信號輸入有效范圍內(nèi)的線性度、超邊界采樣能力等,軟件檢查的內(nèi)容包括采樣數(shù)據(jù)一致性、濾波處理、符號位擴(kuò)展等。

數(shù)據(jù)故障的注入主要是模擬多總線下發(fā)一系列真實(shí)的數(shù)據(jù)類型和數(shù)據(jù)值進(jìn)行測試,以測試軟件在超負(fù)荷、飽和及其他“最壞情況”下的結(jié)果,或者下發(fā)一些假想的數(shù)據(jù)類型和數(shù)據(jù)值,測試軟件排斥不規(guī)則輸入的能力,或者下發(fā)一些非約定的數(shù)據(jù)值和錯誤指令,考核軟件的響應(yīng)情況和容錯的能力。

操作故障的注入主要是通過編譯調(diào)試軟件強(qiáng)大的在線調(diào)試功能,利用插樁技術(shù),在源代碼中插入一些變量標(biāo)志,通過對變量標(biāo)志的判斷來改變程序的流向,或者在變量查看窗口中改變某些關(guān)鍵變量的值,以此來改變某些關(guān)鍵功能的操作順序,例如時序、同步等,考核軟件對誤操作的抵御能力。

4 結(jié)論

本文采用靜態(tài)分析測試技術(shù)、結(jié)合測試平臺和搭配嵌入式軟件測試工具,對多控制模塊伺服控制驅(qū)動軟件可靠性、安全性測試、性能測試和功能測試方法進(jìn)行詳細(xì)分解,高精度高效率的完成軟件配置項(xiàng)測試。該技術(shù)高效高可靠的特點(diǎn)能夠充分應(yīng)對測試任務(wù)繁重,研制周期緊張等特殊情況,同時提升多控制模塊伺服控制驅(qū)動軟件的質(zhì)量。

猜你喜歡
插樁代碼文檔
淺談Matlab與Word文檔的應(yīng)用接口
有人一聲不吭向你扔了個文檔
基于TXL的源代碼插樁技術(shù)研究
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
基于性能分析的自適應(yīng)插樁框架
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
柯坪县| 邵东县| 织金县| 瓮安县| 黄石市| 定日县| 宝应县| 米易县| 高邮市| 永丰县| 连州市| 昌江| 柳河县| 商河县| 赤壁市| 平湖市| 浙江省| 旌德县| 卫辉市| 滕州市| 漳浦县| 汉沽区| 吉隆县| 金乡县| 辽阳县| 刚察县| 黄冈市| 彩票| 西充县| 桦川县| 六枝特区| 垦利县| 志丹县| 伊川县| 习水县| 温泉县| 建平县| 东台市| 正镶白旗| 虹口区| 武乡县|