亚洲免费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)
        亚洲久无码中文字幕热| 久久777国产线看观看精品 | 国产人妻精品一区二区三区不卡 | 国产自偷自偷免费一区| 亚洲欧美在线观看一区二区| 国内精品嫩模av私拍在线观看| 日本一区二区三区人妻| 久久久无码人妻精品无码| 在线视频99| 精品蜜桃视频在线观看| 丰满少妇被猛进去高潮| 欧美私人情侣网站| 香蕉视频一级| 日本加勒比一区二区在线观看| 在线视频国产91自拍| 国产97在线 | 亚洲| 国产午夜精品一区二区三区不| 亚洲无人区乱码中文字幕| 精品无码国产一区二区三区麻豆| 国产99久久精品一区二区| 国产熟女精品一区二区三区| 美女和男人一起插插插| 久久久中文久久久无码| 精品欧美一区二区在线观看| 自拍视频国产在线观看| 一区二区黄色在线观看| 久久精品免费一区二区三区| 亚洲人成人一区二区三区| 国产av一区二区制服丝袜美腿| 内射干少妇亚洲69xxx| 日本一区午夜艳熟免费 | 日本成人在线不卡一区二区三区 | 荡女精品导航| 一区二区三区岛国av毛片| 激情综合五月开心婷婷| 国产一女三男3p免费视频| 久久久久成人精品免费播放网站| 一区二区三区四区亚洲免费| 中文字幕日韩人妻不卡一区| 亚洲性综合网| 激情五月开心五月av|