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

        ?

        白盒測試之基本路徑測試技術(shù)探析

        2014-05-25 00:33:53仝海燕呂洪善
        關(guān)鍵詞:白盒控制流測試用例

        仝海燕,呂洪善,賈 爽

        (1.亳州師范高等??茖W校理化系,安徽 亳州 236800;2.亳州職業(yè)技術(shù)學院電子與電氣工程系,安徽 亳州 236800)

        白盒測試之基本路徑測試技術(shù)探析

        仝海燕1,呂洪善2,賈 爽1

        (1.亳州師范高等??茖W校理化系,安徽 亳州 236800;2.亳州職業(yè)技術(shù)學院電子與電氣工程系,安徽 亳州 236800)

        結(jié)合教學過程中的內(nèi)容,分析了白盒測試技術(shù)中覆蓋率較強的測試技術(shù)——基本路徑測試方法的相關(guān)概念,闡述了利用基本路徑測試設計測試用例的過程,最后通過實例說明基本路徑測試方法的使用。

        軟件測試;軟件質(zhì)量保證;白盒測試;基本路徑測試

        目前,各種類型軟件的使用無處不在,已經(jīng)涉及人們生活的各個方面,如日常生活中的手機、智能冰箱、新一代數(shù)字電視、電子商務等等。在軟件的使用過程中,或多或少的會碰到一些不愉快的事情,如信息顯示不對、數(shù)據(jù)不完整、操作不靈活等,這些都是軟件質(zhì)量問題,另外由軟件問題有時會引起其他問題,特別是經(jīng)濟、醫(yī)學、軍事等領(lǐng)域有關(guān)的軟件,一旦軟件質(zhì)量出現(xiàn)異常將會造成很嚴重的后果。軟件質(zhì)量的優(yōu)劣日益受到人們的重視,為減少乃至避免軟件故障的問題,軟件測試是保證軟件質(zhì)量的最有效手段,在軟件正式上市之前,要對軟件進行相關(guān)的測試,以保證軟件正常運行。軟件測試技術(shù)包括很多,本文結(jié)合在軟件測試課程授課的一些經(jīng)驗,主要對白盒測試技術(shù)中覆蓋率較強的基本路徑測試技術(shù)進行了介紹,包括基本路徑測試的相關(guān)概念、測試用例設計過程,最后結(jié)合實例介紹基本路徑測試方法的使用。

        1 基本路徑測試技術(shù)的相關(guān)概念

        1.1 軟件測試的定義

        隨著人們對軟件質(zhì)量認識和重視的程度,不同的階段軟件測試的定義也不同。1972年軟件測試的宗師Bill Hetzel博士在其論著《The Complete Guide to Software Testing》(《軟件測試完全指導書》)中指出:“軟件測試就是建立一種信心,認為程序能夠按預期的設想運行?!?979年,Glen ford J.Myers的《軟件測試的藝術(shù)》中將軟件測試定義為“測試是為發(fā)現(xiàn)錯誤而執(zhí)行的一個程序或者系統(tǒng)的過程。[1]”1983年,Bill Hetzel在《軟件測試完全指南》一書中指出:“測試是以評價一個程序或者系統(tǒng)屬性為目標的任何一種活動,測試是對軟件質(zhì)量的度量”。到了2002年,Rick和Stefan在《系統(tǒng)的軟件測試》中對軟件測試做了進一步定義:“測試是為了度量和提高被測軟件的質(zhì)量,對測試軟件進行工程設計、實施和維護的整個生命周期過程”[2]。

        1.2 白盒測試

        白盒測試是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。白盒測試一般用來分析程序的內(nèi)部結(jié)構(gòu),對測試者而言是透明的,測試者可以看到被測程序源代碼,并分析其內(nèi)部結(jié)構(gòu)[3]。因此,白盒測試也叫結(jié)構(gòu)測試或邏輯驅(qū)動測試。

        白盒測試要求對被測程序的結(jié)構(gòu)特性做到一定程度的覆蓋,并以軟件中某類成分是否都已得到測試來判斷軟件測試的充分性。覆蓋的標準主要有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋、路徑覆蓋6種[4]。其中覆蓋強度最強的是路徑覆蓋,但由于軟件程序的復雜性,要達到理想的路徑測試是完全不可能的,因此在進行路徑測試時需要把覆蓋的路徑數(shù)進行縮減,實際測試時往往采用的是基本路徑測試技術(shù)。

        1.3 基本路徑測試

        基本路徑測試是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復雜性,導出基本可執(zhí)行路徑集合,然后據(jù)此設計測試用例[4,5]。設計出的測試用例要保證在測試中程序的每一條可執(zhí)行語句至少執(zhí)行一次。

        1.4 程序控制流圖

        在進行軟件(程序)測試的設計時,對程序的流程圖進行簡化,圖1中每個處理都退化成一個結(jié)點,流線變成連接不同結(jié)點的有向弧,簡化之后所得的圖形稱為程序控制流圖,即控制流圖是退化的程序流程圖[5]??刂屏鲌D將程序流程圖中結(jié)構(gòu)化構(gòu)件改用一般有向圖的形式表示。

        在軟件(程序)的控制流圖中對應的圖形符號如圖1所示。圖1中的圓圈稱為結(jié)點,代表程序代碼中的一個或多個無分支語句,箭頭表示控制流的方向,也稱為邊。出度大于1的結(jié)點稱為判定結(jié)點或分支結(jié)點,對應的是代碼中的條件。由邊和結(jié)點所圍成的封閉部分叫區(qū)域,對控制流圖中的區(qū)域進行計數(shù)時注意將圖形外的部分也要算一個區(qū)域統(tǒng)計進去。

        圖1 控制流圖中的圖形符號

        1.5 程序環(huán)形復雜性

        程序的環(huán)路復雜性也稱為McCabe復雜性度量或圈復雜度[5]。環(huán)形復雜性是為軟件邏輯復雜度進行度量的一種尺度,在進行程序的基本路徑測試時,從程序的環(huán)路復雜性可導出程序基本路徑集合中的獨立路徑條數(shù),根據(jù)獨立路徑數(shù)目可確保程序中每個可執(zhí)行語句至少執(zhí)行一次的測試用例數(shù)目。

        1.6 獨立路徑

        獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序的控制流圖來看,一條獨立路徑至少包含有一條在其他獨立路徑中從未有過的邊的路徑[5,6]。對于給定的控制流圖,由獨立路徑構(gòu)成的基本路徑集合不是唯一的,在設計測試用例時只要能夠確?;韭窂郊械膱?zhí)行,就可以使得程序中的每個可執(zhí)行語句至少執(zhí)行一次。

        2 基本路徑測試法設計測試用例的過程

        基本路徑測試方法是根據(jù)程序的控制流圖,計算出相應的環(huán)形復雜性,通過環(huán)形復雜性的值確定獨立路徑的數(shù)目,從而導出控制流圖的基本路徑集,然后結(jié)合基本路徑集對程序或軟件進行測試用例的設計。這種方法適合于模塊的詳細設計及源程序,測試的主要步驟如下:以項目或軟件測詳細設計或代碼為基礎(chǔ),導出程序的控制流圖;根據(jù)控制流圖,采用環(huán)形復雜性的計算方法得到的相應控制流圖的環(huán)形復雜性,環(huán)形復雜性的計算方法在后面有所描述;根據(jù)程序的環(huán)型復雜性,確定程序的獨立路徑數(shù)目,導出程序的獨立路徑,從而得出基本路徑集;根據(jù)基本路徑集設計測試用例,確保路徑集中每條獨立路徑的執(zhí)行。

        3 基本路徑測試技術(shù)的實例應用

        下面結(jié)合軟件測試課程的教學內(nèi)容,來說明使用基本路徑測試技術(shù)設計測試用例的應用。

        3.1 實例代碼描述

        3.2 基本路徑測試技術(shù)方法來設計測試用例

        根據(jù)代碼畫程序的控制流圖時,若是連續(xù)的順序執(zhí)行語句在控制流圖中可以壓縮為一個結(jié)點,若代碼中的條件是復合條件時,要在畫控制流圖時注意先將復合條件轉(zhuǎn)化為單條件。根據(jù)前面介紹的基本路徑測試技術(shù)生成測試用例的方法。

        第一步,依據(jù)程序代碼導出該實例對應的控制流圖,如圖2所示。

        第二步,根據(jù)程序的控制流圖計算程序的環(huán)形復雜性。環(huán)形復雜性的計算方法可以根據(jù)控制流圖的結(jié)點和邊數(shù)進行計算,也可以根據(jù)控制流圖的判定結(jié)點數(shù)目來計算,還可以根據(jù)控制流圖的區(qū)域數(shù)來計算。給定控制流圖的環(huán)形復雜性的值為控制流圖的邊數(shù)減去控制流圖的結(jié)點數(shù)后再加上2或者是控制流圖的區(qū)域數(shù)目或者是判定結(jié)點的數(shù)目加1。本文采用結(jié)點和邊數(shù)來計算,該實例中控制流圖的邊數(shù)為11,結(jié)點數(shù)目為9,邊數(shù)減去結(jié)點數(shù)后為2,將該數(shù)字再加上2即可得到該控制流圖的復雜性為4。

        圖2 實例的控制流圖

        第三步,根據(jù)程序控制流圖的復雜性,確定程序的獨立路徑數(shù)目,導出相應的獨立路徑,得出程序的基本路徑集。通過第二步可知程序控制流圖的環(huán)形復雜性為4,找出控制流圖的獨立路徑數(shù)目為4,下面給出本例的具體獨立路徑:

        路徑1:1-8->9->17

        路徑2:1-8->9->10->11->15->16->9>17

        路徑3:1-8->9->10->12->15->16->9->17

        路徑4:1-8->9->10>12->13-14->15->16->9->17

        第四步,上面的4條獨立路徑構(gòu)成的基本路基集,依據(jù)這個基本路基集可設計4個相應的測試用例數(shù)據(jù),如表1所示。用這些數(shù)據(jù)作為測試輸入數(shù)據(jù),可以確保這4條獨立路徑的執(zhí)行,使程序能夠達到基本路徑覆蓋的標準。對于源程序中的循環(huán)體,設計的測試數(shù)據(jù)遵循簡化的Z路徑覆蓋,也就是說測試的輸入數(shù)據(jù)使程序的循環(huán)體執(zhí)行零次或1次。

        4 結(jié)束語

        軟件測試是軟件質(zhì)量保證的最有效手段,軟件測試的技術(shù)主要分為黑盒測試和白盒測試,在白盒測試中,基本路徑測試是白盒測試技術(shù)中覆蓋較強的測試技術(shù)。本文結(jié)合軟件測試課程的教學內(nèi)容,介紹了白盒測試之基本路徑測試技術(shù)的相關(guān)概念,分析了基本路徑測試技術(shù)設計測試用例的過程,最后結(jié)合實例給出了基本路徑測試技術(shù)的應用,希望對學習基本路徑測試技術(shù)的學者有所幫助和啟發(fā)。

        [1]劉竹林.軟件測試技術(shù)與案例實踐[M].北京:北京師范大學出版社,2011

        [2]柳純錄.軟件評測師教程[M].北京:清華大學出版社,2005年

        [3]王冠.基本路徑測試中的McCabe算法改進及應用[J].哈爾濱理工大學學報,2010,15(1):48

        [4]仝春靈.基本路徑法測試_典型排序程度的測試用例設計[J].山西師范大學學報:自然科學版,2004,19(1):92

        [5]高春艷.基本路徑測試法的應用[J].開封大學學報,2012,26(2):81

        [6]賈曉強.基于白盒測試的基本路徑測試[J].渭南師范學院學報,2008,23(2):72-73

        [7]張永剛.淺析軟件測試技術(shù)及用例構(gòu)造方法[J].科技信息,2012(36):561

        [8]杜慶峰.基本路徑測試技術(shù)研究[J].信息與電腦,2010(6):129

        Analysis of Basic Path Testing Technique Based on White Box Test

        TONG Hai-yan1,LU Hong-shan2,JIA Shuang1
        (1.Department of Physics and Chemistry,Bozhou Teachers College,Anhui Bozhou 236800,China;2.Department of Electronics and Electric Engineering,Vocational and Technical College,Anhui Bozhou 236800,China)

        By combining the contents in teaching,this paper analyzes the related concepts of the basic test method,the test technology with relatively strong covering rate in white box test technique,elaborates the process for the design of test examples by using basic path tests,and finally illustrates the application of the basic path test method by practical examples.

        software test;software quality guarantee;white box test;basic path test

        TP374

        A

        1672-058X(2014)01-0065-05

        責任編輯:代小紅

        2013-08-01;

        2013-09-12.

        仝海燕(1979-),女,安徽碭山人,講師,碩士,從事軟件測試、辦公自動化等課程教學研究、模式識別與智能系統(tǒng)研究.

        猜你喜歡
        白盒控制流測試用例
        面向未來網(wǎng)絡的白盒交換機體系綜述
        抵御控制流分析的Python 程序混淆算法
        DWB-AES:基于AES 的動態(tài)白盒實現(xiàn)方法
        通信學報(2021年2期)2021-03-09 08:55:32
        工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
        電子科技(2021年2期)2021-01-08 02:25:58
        抵御控制流分析的程序混淆算法
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        網(wǎng)絡“黑”“白”之爭
        通信世界(2018年29期)2018-11-21 06:34:44
        基于混合遺傳算法的回歸測試用例集最小化研究
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        基于控制流隱藏的代碼迷惑
        日本一区二区在线播放视频 | 久草视频在线视频手机在线观看 | 亚洲av高清一区三区三区| 蜜桃视频在线观看网址| 丰满少妇弄高潮了www| 免费观看性欧美大片无片| 亚洲精品美女久久久久久久| 久久高潮少妇视频免费| 日韩精品免费视频久久| 国产精品日日做人人爱| 大肉大捧一进一出视频| 国产成人av一区二区三区无码| 免费无码黄网站在线观看| 亚洲第一女优在线观看| 久久精品免费一区二区喷潮| 久久久久亚洲av无码专区首jn| 少妇人妻偷人精品无码视频| 日产乱码一区二区国产内射| 成av人大片免费看的网站| 无码h黄肉3d动漫在线观看| 国产人妻人伦精品1国产盗摄| 欧美性一区| 国产精品天堂在线观看| 日韩熟女系列中文字幕| 亚洲av无码精品蜜桃| 国产无码swag专区| 色婷婷久久99综合精品jk白丝 | 后入内射国产一区二区| 亚洲av日韩专区在线观看| 91精品久久久久含羞草| 人妻乱交手机在线播放| 日韩无码专区| 国产成人综合久久亚洲精品| 亚洲精品中文字幕不卡在线| 一区二区三区观看在线视频| 中文字幕人成人乱码亚洲av| 国产熟妇按摩3p高潮大叫| 最新精品国偷自产在线婷婷| 91国内偷拍一区二区三区| 免费国产自拍在线观看 | 午夜一区二区三区观看|