• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于嵌入式開發(fā)的白盒測試插樁技術研究

      2017-07-25 07:24:27蘭婭勛陸璐
      現(xiàn)代電子技術 2017年14期
      關鍵詞:嵌入式技術

      蘭婭勛+陸璐

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

      關鍵詞: 嵌入式技術; 白盒測試; 插樁技術; CodeTEST

      中圖分類號: TN806?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2017)14?0049?03

      Abstract: The previous white box testing plugging pile method does not precisely position to the target pile, and its statement coverage rate does not meet the requirements. In order to eliminate this phenomenon, a kind of white?box testing plugging pile method based on embedded development is put forward in this paper. The principle of the pile technology based on the embedded development is introduced. A concept that uses the online embedded testing software CodeTEST the to implement the automatic plugging pile is put forward. The progress of white?box testing plugging pile based on embedded development is designed and divided into three steps of program standardization, inserted sequence division and coverage rate analysis. The plugging pile block partition method, plugging pile orientation extraction rules and plugging pile information analysis method are introduced. The experimental results show that the proposed method has high semantic coverage rate and branch coverage rate.

      Keywords: embedded technology; white box testing; insert pile technology; CodeTEST

      0 引 言

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

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

      1 嵌入式開發(fā)的插樁技術原理

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

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

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

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

      2.1 基于嵌入式開發(fā)的白盒測試插樁進程

      目前,軟件程序使用的編譯語言主要是C語言,考慮到白盒測試的特殊性,所提出的基于嵌入式開發(fā)的白盒測試插樁方法設計了如圖2所示的基于嵌入式開發(fā)的白盒測試插樁進程。軟件程序的預處理進程采用CodeTEST的嵌入式處理方式,先后進行程序標準化以及插樁順序的劃分。插樁進程分為語句覆蓋插樁和分支覆蓋插樁。對標準化程序進行插樁和編譯后,得到可執(zhí)行代碼和插樁信息,進而計算出白盒測試的覆蓋率信息[3]。

      2.2 順序塊劃分

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

      對插樁方位進行提取需要應用到四種規(guī)則,如表1所示。

      2.3 插樁信息分析

      白盒測試中插樁信息與靜態(tài)數(shù)據(jù)庫進行靜態(tài)連接,以交互模擬語言提取探測針得到軟件程序代碼特征,進一步生成可執(zhí)行代碼。樁函數(shù)負責將插樁信息傳送給CodeTEST進行分析,由CodeTEST計算白盒測試覆蓋率。使用樁函數(shù)還原原有軟件程序,返還白盒測試驅(qū)動指令[6],使用順序塊驅(qū)動樁函數(shù)。在白盒測試中,用表示CodeTEST得到的插樁信息,表示CodeTEST對插樁信息的分析順序,語句覆蓋率表示為式(1),分支覆蓋率表示為式(2),如下: (1)

      式中:是進行白盒測試軟件程序的序列,共有個程序;,表示插樁信息中的語句總量和已處理的分支數(shù)量;,是僅處理過一個的語句、分支數(shù)量;是可執(zhí)行代碼鏈。

      3 實驗結(jié)果與分析

      本次實驗的實驗地點為某大學的計算機實驗室,計算機系統(tǒng)為Windows XP,運存2.21 GHz,內(nèi)存4 GB。在計算機上使用虛擬機搭建出一個軟件測試環(huán)境,數(shù)據(jù)庫使用SqlServer(阿里混合云),Web應用服務器使用Apache。實驗將針對工程設計軟件、在線游戲軟件和數(shù)據(jù)恢復軟件進行白盒測試插樁,實時跟蹤插樁信息,取整體平均的語句覆蓋率與分支覆蓋率數(shù)據(jù)進行對比分析。實驗結(jié)果如表2所示。

      由表2可知,本次實驗選用本文提出的基于嵌入式開發(fā)的白盒測試插樁方法與基于路徑覆蓋的白盒測試插樁方法、基于ElcEmma的白盒測試插樁方法進行對比。在所搭建的實驗平臺中,三種方法均能正常取得語句覆蓋率與分支覆蓋率數(shù)據(jù)。其中,基于路徑覆蓋的白盒測試插樁方法在測試在線游戲軟件時取得的效果最好;基于ElcEmma的白盒測試插樁方法的覆蓋率偏小,未發(fā)揮很大作用;語句覆蓋率與分支覆蓋率最高的是本文方法,能夠很好地對各類軟件進行白盒測試插樁。

      4 結(jié) 論

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

      參考文獻

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

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

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

      [4] 陳佳麗,陳曉潔.基于ElcEmma工具的代碼覆蓋軟件測試技術研究[J].宜春學院學報,2016,38(6):45?48.

      [5] 陳佳麗,陳曉潔.靜態(tài)代碼分析在軟件測試中的應用研究[J].嘉應學院學報,2016,34(2):35?39.

      [6] 王穎,谷利澤,楊義先,等.EWFT:基于程序執(zhí)行過程的白盒測試工具[J].電子學報,2014,42(10):2016?2023.

      猜你喜歡
      嵌入式技術
      變電站開關柜狀態(tài)及有害氣體監(jiān)測報警系統(tǒng)研制與應用
      科學與財富(2017年1期)2017-03-17 23:20:56
      基于嵌入式技術的微機繼電保護應用探究
      基于S3C2440處理器系統(tǒng)的數(shù)字圖像處理技術和嵌入式技術結(jié)合機制
      遠程監(jiān)控工作中嵌入式技術應用
      基于視覺反饋的智能環(huán)境偵察車的研究
      嵌入式系統(tǒng)的應用與開發(fā)
      油氣管道飛行器檢測系統(tǒng)設計與實現(xiàn)
      嵌入式技術與工程裝備智能信息化研究
      基于嵌入式Web技術的監(jiān)控系統(tǒng)設計與實現(xiàn)
      基于嵌入式技術的農(nóng)村醫(yī)療系統(tǒng)設計
      江都市| 东辽县| 阿图什市| 大兴区| 德化县| 无为县| 中卫市| 昭苏县| 云浮市| 山东省| 昭通市| 满城县| 凤台县| 鸡东县| 海盐县| 三穗县| 论坛| 陇南市| 阿巴嘎旗| 浮山县| 巴马| 涞水县| 沛县| 如皋市| 安阳市| 延吉市| 黑龙江省| 耒阳市| 张掖市| 固始县| 扶沟县| 宁德市| 盈江县| 滦南县| 利津县| 石楼县| 新巴尔虎左旗| 社旗县| 随州市| 开江县| 江川县|