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

?

基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁技術(shù)研究

2021-02-23 03:36馬嘉駿
科教創(chuàng)新與實(shí)踐 2021年46期

馬嘉駿

摘要:以往的白盒測(cè)試插樁方法普遍不能精準(zhǔn)定位到目標(biāo)插樁,語(yǔ)句覆蓋率不符合要求。為了解決這個(gè)現(xiàn)象,提出一種基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法。所提方法先對(duì)嵌入式開(kāi)發(fā)的插樁技術(shù)原理進(jìn)行介紹,提出使用在線嵌入式測(cè)試軟件CodeTEST進(jìn)行自動(dòng)插樁的理念。設(shè)計(jì)基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁進(jìn)程,分程序標(biāo)準(zhǔn)化、插樁順序劃分和覆蓋率分析三步進(jìn)行。并介紹插樁順序塊劃分方法、插樁方位提取規(guī)則以及插樁信息分析方法。實(shí)驗(yàn)結(jié)果表明,所提方法擁有很高的語(yǔ)義覆蓋率和分支覆蓋率。

關(guān)鍵詞:嵌入式技術(shù);白盒測(cè)試;插樁技術(shù);CodeTEST

引言

嵌入式技術(shù)的應(yīng)用價(jià)值越來(lái)越大,目前已經(jīng)成為熱點(diǎn)研究話題。就現(xiàn)階段而言,嵌入式開(kāi)發(fā)在軟件測(cè)試中的應(yīng)用往往過(guò)于重視軟件調(diào)試,隨著用戶對(duì)軟件質(zhì)量要求的不斷攀升,軟件測(cè)試明顯已經(jīng)不能只做表面功夫,需要更深層次的調(diào)試支持。

白盒測(cè)試是軟件測(cè)試人員常用的測(cè)試方法,以白盒測(cè)試為例,以往進(jìn)行的嵌入式開(kāi)發(fā)代碼插樁普遍無(wú)法得到結(jié)構(gòu)相對(duì)完整的語(yǔ)義信息,語(yǔ)句覆蓋率不符合要求。造成這種情況的原因是在嵌入式開(kāi)發(fā)的初期,插樁技術(shù)不能自動(dòng)完成語(yǔ)義覆蓋,此時(shí)一旦涉及到目標(biāo)測(cè)試環(huán)境的交互開(kāi)發(fā),白盒測(cè)試就不能精準(zhǔn)定位到目標(biāo)插樁。對(duì)此,提供一種新的基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法,對(duì)以往方法覆蓋率低的缺點(diǎn)進(jìn)行改善,達(dá)到提高白盒測(cè)試精度的需求。

1.嵌入式開(kāi)發(fā)的插樁技術(shù)原理

嵌入式開(kāi)發(fā)將通過(guò)動(dòng)、靜態(tài)相融合的測(cè)試方法取得插樁定位信息,使用在線嵌入式測(cè)試軟件 CodeTEST進(jìn)行自動(dòng)插樁。CodeTEST具有在線追蹤和展示能力,幾乎支持所有嵌入式開(kāi)發(fā)設(shè)備軟硬件平臺(tái)。CodeTEST在插樁過(guò)程中不用變更原軟件程序代碼,軟件測(cè)試人員只需敲定需要進(jìn)行代碼插樁的范圍即可。

軟件測(cè)試插樁進(jìn)程,將根據(jù)工具鏈的多元組合達(dá)成嵌入式插樁。軟件源代碼在中央控制器的開(kāi)發(fā)環(huán)境中通過(guò)編譯器套件帶動(dòng) Makefile 文件進(jìn)行預(yù)處理。預(yù)處理文件的代碼間隔變寬,更容易向其中插入探測(cè)針。同時(shí),預(yù)處理過(guò)程也會(huì)間接修正錯(cuò)誤的軟件程序代碼。插樁器在預(yù)處理文件中插入探測(cè)針,探測(cè)針攜帶定位標(biāo)簽,測(cè)試人員能夠通過(guò)跟蹤定位標(biāo)簽查看軟件測(cè)試進(jìn)程。由于CodeTEST不能直接將編譯代碼寫入定位點(diǎn),因此利用編譯器套件將插樁文件匯編并引入編譯器,通過(guò)構(gòu)建編譯程序和鏈接程序自動(dòng)生成可執(zhí)行代碼,以便對(duì)源代碼文件進(jìn)行插樁。

2.基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法

本文提出的基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法先排列好軟件程序插樁順序,再依次進(jìn)行插樁,對(duì)插樁信息進(jìn)行分析最后達(dá)成白盒測(cè)試。

2.1 基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁進(jìn)程

目前,軟件程序使用的編譯語(yǔ)言主要是C語(yǔ)言,考慮到白盒測(cè)試的特殊性,所提出的基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法設(shè)計(jì)了基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁進(jìn)程。軟件程序的預(yù)處理進(jìn)程采用 Code-TEST的嵌入式處理方式,先后進(jìn)行程序標(biāo)準(zhǔn)化以及插樁順序的劃分。插樁進(jìn)程分為語(yǔ)句覆蓋插樁和分支覆蓋插樁。對(duì)標(biāo)準(zhǔn)化程序進(jìn)行插樁和編譯后,得到可執(zhí)行代碼和插樁信息,進(jìn)而計(jì)算出白盒測(cè)試的覆蓋率信息。

2.2 順序塊劃分

在白盒測(cè)試中獲取良好的插樁方位是提高覆蓋率的有效方式。插樁順序作為提供插樁方位的前提條件,其原理是在插樁順序中對(duì)順序塊進(jìn)行劃分。順序塊是指單純的軟件程序處理代碼,其中不含有循環(huán)語(yǔ)句、外部鏈接以及外部函數(shù),程序的運(yùn)行是一步到位且不重復(fù),只存在一個(gè)入口和一個(gè)出口,在保證探測(cè)針數(shù)量最少的情況下,插樁方位也只存在于程序的首端或者尾端,可有效縮短插樁時(shí)間,避免語(yǔ)句重復(fù)覆蓋,減少了白盒測(cè)試對(duì)源代碼的干擾。除以上描述之外,順序塊中也不會(huì)含有不可執(zhí)行代碼,這是由嵌入式開(kāi)發(fā)設(shè)備內(nèi)存小的特性決定的。首端代碼的宏、聲明、定義以及以上代碼所占據(jù)的行列和標(biāo)點(diǎn)都?xì)w屬于不可執(zhí)行代碼的范疇。

3.實(shí)驗(yàn)結(jié)果與分析

本次實(shí)驗(yàn)的實(shí)驗(yàn)地點(diǎn)為某大學(xué)的計(jì)算機(jī)實(shí)驗(yàn)室,計(jì)算機(jī)系統(tǒng)為Windows XP,運(yùn)存2.21 GHz,內(nèi)存4 GB。在計(jì)算機(jī)上使用虛擬機(jī)搭建出一個(gè)軟件測(cè)試環(huán)境,數(shù)據(jù)庫(kù)使用 SqlServer(阿里混合云),Web 應(yīng)用服務(wù)器使用Apache。實(shí)驗(yàn)將針對(duì)工程設(shè)計(jì)軟件、在線游戲軟件和數(shù)據(jù)恢復(fù)軟件進(jìn)行白盒測(cè)試插樁,實(shí)時(shí)跟蹤插樁信息,取整體平均的語(yǔ)句覆蓋率與分支覆蓋率數(shù)據(jù)進(jìn)行對(duì)比分析。實(shí)驗(yàn)結(jié)果如表2所示。由表2可知,本次實(shí)驗(yàn)選用本文提出的基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法與基于路徑覆蓋的白盒測(cè)試插樁方法、基于ElcEmma的白盒測(cè)試插樁方法進(jìn)行對(duì)比。在所搭建的實(shí)驗(yàn)平臺(tái)中,三種方法均能正常取得語(yǔ)句覆蓋率與分支覆蓋率數(shù)據(jù)。其中,基于路徑覆蓋的白盒測(cè)試插樁方法在測(cè)試在線游戲軟件時(shí)取得的效果最好;基于ElcEmma的白盒測(cè)試插樁方法的覆蓋率偏小,未發(fā)揮很大作用;語(yǔ)句覆蓋率與分支覆蓋率最高的是本文方法,能夠很好地對(duì)各類軟件進(jìn)行白盒測(cè)試插樁。

結(jié)論

本文提出一種基于嵌入式開(kāi)發(fā)的白盒測(cè)試插樁方法,用CodeTEST整體掌控白盒測(cè)試插樁進(jìn)程,分析白盒測(cè)試覆蓋率,有效改善了以往插樁技術(shù)智能化不足的問(wèn)題,使其能自動(dòng)完成語(yǔ)義覆蓋。通過(guò)實(shí)驗(yàn)的證明,本文所提方法取得了很高的語(yǔ)義覆蓋率和分支覆蓋率,達(dá)成了提高白盒測(cè)試精度的用戶需求。

參考文獻(xiàn):

[1] 徐晴,紀(jì)峰,田正其,等.基于 E 2 PROM數(shù)據(jù)讀寫的智能電能表白盒測(cè)試方法[J].電測(cè)與儀表,2014,51(3):1-5.

[2] 姚佳瑜.箭載飛控軟件系統(tǒng)最差情況執(zhí)行時(shí)間測(cè)試研究[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2016,12(3):87-89.

[3] 井靖,蔣烈輝,李軼民,等.基于平臺(tái)透明化處理的動(dòng)態(tài)信息提取方法[J].計(jì)算機(jī)應(yīng)用研究,2015,32(10):3009-3013.

[4] 陳佳麗,陳曉潔.基于ElcEmma工具的代碼覆蓋軟件測(cè)試技術(shù)研究[J].宜春學(xué)院學(xué)報(bào),2016,38(6):45-48.

[5] 陳佳麗,陳曉潔.靜態(tài)代碼分析在軟件測(cè)試中的應(yīng)用研究[J].嘉應(yīng)學(xué)院學(xué)報(bào),2016,34(2):35-39.

山东| 舟曲县| 临潭县| 天长市| 金坛市| 夏河县| 马龙县| 静安区| 西宁市| 郎溪县| 安多县| 晋城| 昌乐县| 惠来县| 甘肃省| 苏尼特右旗| 都江堰市| 镶黄旗| 福州市| 高密市| 建瓯市| 四平市| 突泉县| 万全县| 城市| 綦江县| 宝清县| 博乐市| 嘉定区| 班戈县| 新干县| 泾阳县| 五河县| 汉源县| 稷山县| 岑巩县| 和龙市| 汝阳县| 泰宁县| 肇东市| 清水河县|