亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        論一種基于編碼規(guī)則的動(dòng)態(tài)驗(yàn)證測試方法

        2018-09-10 09:07:56嚴(yán)漪敏曹斌陳琦
        中國科技博覽 2018年32期
        關(guān)鍵詞:測試工具嵌入式軟件

        嚴(yán)漪敏 曹斌 陳琦

        [摘 要]借助代碼規(guī)則檢查問題單來逐一排查動(dòng)態(tài)驗(yàn)證,通過邏輯覆蓋測試來設(shè)計(jì)用例到達(dá)每一條,以驗(yàn)證故障的方法。在編碼規(guī)則檢查時(shí),存在規(guī)則問題,在用例設(shè)計(jì)后,進(jìn)行動(dòng)態(tài)驗(yàn)證。緩存隊(duì)列在加入指令時(shí),未考慮隊(duì)列滿時(shí)需要釋放隊(duì)列,導(dǎo)致,在間接指令隊(duì)列滿后,繼續(xù)插入指令時(shí),因隊(duì)列未釋放導(dǎo)致軟件復(fù)位。

        [關(guān)鍵詞]嵌入式軟件 測試工具 TESTBED 緩存隊(duì)列 未釋放 編碼規(guī)則 ada語言

        中圖分類號(hào):TS339 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-914X(2018)32-0112-02

        1 引言

        編碼規(guī)則是程序編碼所要遵循的規(guī)則,首先就要注意代碼的正確性、穩(wěn)定性和可讀性。遵照代碼規(guī)則也是一種良好的編碼習(xí)慣。作為測試人員可以依據(jù)代碼規(guī)則檢查工具來檢測代碼是否遵循規(guī)則來編寫,還可以借助代碼規(guī)則檢查問題單來逐一排查動(dòng)態(tài)測試問題。

        2 編碼規(guī)則檢查

        某嵌入式大型軟件,具有實(shí)行多任務(wù)、實(shí)時(shí)控制特點(diǎn)。

        軟件通過接收遙控指令進(jìn)行數(shù)據(jù)解析,若遙控包數(shù)據(jù)內(nèi)容為間接指令,將間接指令插入間接指令隊(duì)列,然后再通過周期調(diào)用發(fā)送間接指令函數(shù)依次將隊(duì)列中間接指令按照時(shí)間順序發(fā)送至遙控終端。

        在規(guī)則檢查時(shí),利用TESTBED工具進(jìn)行編譯,選取最重要強(qiáng)制項(xiàng)代碼形成LDRA Testbed Code Review Report。如表1所示。

        其中在函數(shù)JinsertQueue里發(fā)現(xiàn)了一個(gè)規(guī)則錯(cuò)誤:

        Violation Number : 7 - Procedure has more than one exit point(一個(gè)函數(shù)最好只包含一個(gè)return語句,且位于函數(shù)的最后。)

        Location : INDIRCMDQUE.JINSERTQUEUE

        在代碼審查時(shí),根據(jù)TESTBED提示的規(guī)則錯(cuò)誤進(jìn)行排查,發(fā)現(xiàn)當(dāng)間接隊(duì)列滿時(shí),程序直接RETUEN返回,并沒有釋放隊(duì)列“Queue_Mux.Release;”。

        3 動(dòng)態(tài)驗(yàn)證方法

        根據(jù)指令數(shù)據(jù)的格式表2,指令數(shù)據(jù)分為2種,一種是立即指令,時(shí)間碼全填充為0x00,另一種是延遲指令,時(shí)間碼填充為需要發(fā)送指令的時(shí)間。

        嵌入式軟件先讀取指令數(shù)據(jù)包緩存區(qū)指令進(jìn)行處理,如果是立即指令的就直接串口發(fā)送,如果是延遲指令的存入指令隊(duì)列緩存區(qū)。在另一任務(wù)中,實(shí)時(shí)讀取指令隊(duì)列緩存區(qū),如果基準(zhǔn)時(shí)間等于指令時(shí)間,則立即進(jìn)行串口發(fā)送,如果基準(zhǔn)時(shí)間小于指令時(shí)間,則不作處理。

        根據(jù)隊(duì)列的結(jié)構(gòu)特點(diǎn)和發(fā)送隊(duì)列指令的時(shí)序考慮,如果需要?jiǎng)討B(tài)驗(yàn)證以上錯(cuò)誤分支,必須通過邏輯覆蓋遍歷。判定覆蓋或分支覆蓋時(shí)較強(qiáng)的邏輯覆蓋準(zhǔn)則。該準(zhǔn)側(cè)要求必須編寫出足夠的測試用例,使得每一個(gè)判斷都至少有一個(gè)為真或?yàn)榧俚妮敵鼋Y(jié)果。換句話說,也就是每條分支路徑都必須至少遍歷一次。

        圖1中有N1、N2、N3、N4四個(gè)節(jié)點(diǎn),如果都要遍歷到,其路徑如下:

        所以要測試所有分支,必須滿足五種情況:

        1、隊(duì)列滿時(shí)

        2、當(dāng)前隊(duì)列中未有指令

        3、當(dāng)插入指令為最后一條指令

        4、當(dāng)插入指令指令不為最后一條指令,需要將指令隊(duì)列中指令向后挪一個(gè)空間

        5、當(dāng)插入指令指令不為最后一條指令,不需要將指令隊(duì)列中指令向后挪一個(gè)空間

        如果要走入錯(cuò)誤分支,則必須遍歷ab分支。對(duì)指令隊(duì)列進(jìn)行測試,在時(shí)間碼處填上時(shí)間,嵌入式軟件在運(yùn)行時(shí),會(huì)根據(jù)基準(zhǔn)時(shí)間進(jìn)行判斷,晚于基準(zhǔn)時(shí)間的指令會(huì)存入指令隊(duì)列,當(dāng)基準(zhǔn)時(shí)間與發(fā)送指令時(shí)間一致時(shí),會(huì)從隊(duì)列中讀取指令并發(fā)送。持續(xù)不斷向嵌入式軟件發(fā)送延遲指令,使指令發(fā)送時(shí)間晚于當(dāng)前時(shí)間,持續(xù)發(fā)送511條,將緩存區(qū)填滿,遙測下傳的間接指令隊(duì)列深度為1FF。然后,再發(fā)送一條間接延遲指令給嵌入式軟件,預(yù)期結(jié)果是,間接指令隊(duì)列深度不變,隊(duì)列內(nèi)容不變,此間接延遲指令丟棄。

        實(shí)際結(jié)果時(shí),軟件復(fù)位,間接指令隊(duì)列深度清零。

        4 故障排查分析

        當(dāng)進(jìn)入模塊是指令的隊(duì)列進(jìn)行鎖定操作,然后根據(jù)當(dāng)前指令的插入時(shí)間進(jìn)行順序插入隊(duì)列,最后進(jìn)行隊(duì)列釋放操作。當(dāng)隊(duì)列未滿時(shí),流程未出現(xiàn)錯(cuò)誤。當(dāng)隊(duì)列滿時(shí),流程直接退出模塊,導(dǎo)致指令隊(duì)列鎖定后未釋放。當(dāng)再次發(fā)送指令給嵌入式軟件,就會(huì)發(fā)生因隊(duì)列未釋放導(dǎo)致緩存區(qū)錯(cuò)誤引起軟件復(fù)位問題。

        5 故障糾正措施

        基于編碼規(guī)則,鎖定和釋放操作是要成對(duì)出現(xiàn)?,F(xiàn)在只要將隊(duì)列鎖定和隊(duì)列釋放操作在整個(gè)判斷隊(duì)列滿的條件之外,確保不論隊(duì)列滿還是隊(duì)列不滿時(shí),鎖定和釋放操作時(shí)成對(duì)出現(xiàn)的。將隊(duì)列滿的條件加在整個(gè)插入隊(duì)列。

        6 總結(jié)

        閱讀代碼對(duì)于構(gòu)成完善的軟件測試和調(diào)試手段的價(jià)值是非常大的,人工測試技術(shù)結(jié)合代碼規(guī)則檢查,在查找錯(cuò)誤方面非常有效。同樣在測試用例設(shè)計(jì)時(shí),通過不同的測試要素組合起來得到一種合理的測試策略也是非常關(guān)鍵的。

        參考文獻(xiàn)

        [1] 姜靜波,Ada程序設(shè)計(jì)語言高級(jí)編程,解放軍出版社,1999.

        [2] Tucker S.Taft,綜合ADA參考手冊(cè),Oversea Publishing House,2002.

        [3] GlenFord J.Myers,軟件測試的藝術(shù),機(jī)械工業(yè)出版社,2007.

        作者簡介

        嚴(yán)漪敏,上海航天電子技術(shù)研究所,工程師。

        曹斌,上海航天控制技術(shù)研究所,高級(jí)工程師。

        陳琦,上海航天電子技術(shù)研究所,工程師。

        猜你喜歡
        測試工具嵌入式軟件
        Web應(yīng)用的自動(dòng)化測試研究
        邊緣智力兒童及其智力測試工具的研究進(jìn)展
        基于人工智能的模塊化嵌入式軟件開發(fā)研究
        Http并發(fā)連接測試工具
        實(shí)時(shí)嵌入式軟件的測試技術(shù)
        電子測試(2018年10期)2018-06-26 05:54:08
        全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
        電子制作(2017年17期)2017-12-18 06:40:56
        基于移動(dòng)平臺(tái)APP 測試
        基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
        航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
        福祿克推出先進(jìn)的連接式測試工具系統(tǒng)
        精选二区在线观看视频| 中文字幕在线播放| 一群黑人大战亚裔女在线播放| 亚洲三区二区一区视频| 中文字幕一区二区三区6| 中字乱码视频| 成人区人妻精品一熟女| 亚洲另类激情综合偷自拍图| 久久伊人久久伊人久久| 成人影院在线视频免费观看| 国产精品免费看久久久8| 日韩中文在线视频| 日本女优爱爱中文字幕| 亚洲人成人无码www| 国产精品jizz视频| 加勒比在线一区二区三区| 国产精品毛片毛片av一区二区| 中国少妇×xxxx性裸交| 亚洲老妇色熟女老太| 日韩毛片久久91| av在线天堂国产一区| 麻豆精品久久久久久中文字幕无码| 激情综合五月开心婷婷| 亚洲av日韩av无码污污网站| 欧美在线成人午夜网站| 日本精品啪啪一区二区| 人人妻人人澡人人爽人人精品av | 日本一道dvd在线中文字幕| 女女同女同一区二区三区| 亚洲国产精品国自产拍av| 国产午夜福利不卡在线观看视频| 国产噜噜亚洲av一二三区| 伊人久久综合无码成人网| 久久人妻少妇嫩草av蜜桃| 久久精品综合国产二区| 亚洲av乱码二区三区涩涩屋| 免费观看的a级毛片的网站| 国产国语对白一区二区三区| 日本频道一区二区三区| 国产狂喷潮在线观看| 2021国产最新在线视频一区|