国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

軟件內嵌探針測試方法的應用研究
  • 企業:控制網    
  • 點擊數:1671     發布時間:2011-02-24 14:48:45
  • 分享到:
軟件內嵌探針測試是在探針函數模板的框架內編寫被測對象,并對被測對象進行面向對象軟件的常規測試,在觀察預期結果與實際結果是否一致的同時,還要察看探針函數輸出的信息,以確定對象的狀態是否正確。本論文研究的重點在于探針函數的構成、探針函數的實現及內嵌探針測試方法的應用研究,意在構筑一個基本的應用框架,提供一種實用的測試方法。

    (大連醫科大學現代教育技術部,遼寧 大連 116044)郭欣,戴冶
                   
   
郭欣(1980-)女,遼寧大連人,實驗師,碩士研究生,主要研究方向為網絡工程。

    摘要:軟件內嵌探針測試是在探針函數模板的框架內編寫被測對象,并對被測對象進行面向對象軟件的常規測試,在觀察預期結果與實際結果是否一致的同時,還要察看探針函數輸出的信息,以確定對象的狀態是否正確。本論文研究的重點在于探針函數的構成、探針函數的實現及內嵌探針測試方法的應用研究,意在構筑一個基本的應用框架,提供一種實用的測試方法。

    關鍵詞:軟件內嵌探針;探針函數;測試

    Abstract: Built-in-self-probe-test in software (BISPT for software) compiles the object to be tested in the template of the probe function and conducts the regular
test for the OO testing. While observing the consistency between the expected results and the actual results, the output information of the probe function has to be checked in order to confirm the validity of the object to be tested.The keystone of this paper is to compose the probe function, to implement some kinds of probe functions and to make a research about the application of BISPT for software, which is intended to construct a fundamental application framework and provide a practical testing method.

    Key words: BISPT for Software; Probe Function; Testing

    1 引言

    軟件內建自測試是軟件測試和可測性設計研究領域中提出的一種新方法[1],將其改稱為軟件內嵌探針測試更為貼切。軟件內嵌探針測試是在被測對象內插入探針,在不破壞被測對象原有特性的基礎上輸出測試所需要的信息,便于測試人員確定被測對象的狀態和查找故障的原因,從而保證測試順利進行,主要應用于類測試、集成測試和異常測試[2]。

    軟件內嵌探針測試的基本構成是探針模板部分和常規測試部分。本文研究的重點在于探針模板部分的設計,主要體現在類內方法測試的探針設計和類測試的探針設計兩個過程。

    2 探針模板的設計

    2.1 類內方法測試的探針設計

    類內方法測試的探針設計流程如圖1所示。操作步驟如下:  

          
                     
                             圖1  類內方法測試的探針設計流程

    (1)分析流程圖,確定測試點的類型

測試點可根據其插入位置不同分為四類:檢查前置條件和后置條件的測試點、檢查分支語句的測試點、檢查循環不變式的測試點、檢查路徑的測試點。

    (2)插裝探針函數

    根據測試點類型的不同插入不同類型和數量的探針函數,見表1。

    用于檢查前置條件和后置條件的測試點通常使用斷言探針函數。探針函數的數量由類不變式決定,一般來說,一條斷言只對應一個探針函數。檢查前置條件的探針函數插在類內方法的入口,檢查后置條件的探針函數插在類內方法的出口。

    用于檢查分支語句的測試點分別使用兩種探針函數:若檢查分支被執行的次數,可以插入分支覆蓋探針函數;若判斷每次進入分支時相應的變量是否符合條件,則可以插入斷言探針函數。

    無論是哪種探針函數,都是在每一個分支末尾插入,因此,探針函數的插入數量與分支數相等。

    用于檢查循環不變式的測試點分別使用兩種探針函數:若對邊界進行檢查,可以使用斷言探針函數;若對循環次數進行檢查,則使用分支覆蓋探針函數。無論是哪種探針函數,其插入的位置均在循環體的末尾,數量均為一個。

      用于檢查路徑的測試點采用路徑探針函數,插入方法是在路徑的每一個連續執行塊中插入一個路徑探針函數的一個分探針,當程序被執行時,探針函數記錄測試用例所測試的路徑。 

              
   
    (3)生成測試用例

    最常用的方法是采用值域矩陣的形式,見表2。值域矩陣是變量、邊界條件、上點/離點及測試實例的一種表格表示。表格第一行記錄項目號、模塊號、測試者姓名和測試日期。表格第二行記錄測試號。表格的列的基本構成是:條件部分、動作部分和結果部分。條件部分記錄變量和邊界條件的上點/離點,動作部分記錄這些變量在不同條件下所引發的動作,結果部分記錄期望的測試結果和實際的測試結果。表格體內用“○”標示不同變量值的排列組合及對應的動作。

                                                    表2 測試用例
                   

    (4)運行測試用例

    根據值域矩陣運行測試用例。在測試結果一欄,若實際結果與期望結果一致,則在相應的單元格內以“√”標示,表示測試通過,否則以“╳”標示,表示測試沒有通過。

    (5)生成測試報告

    對于通過測試的被測對象可以進入下一階段的測試。對于沒有通過測試的被測對象需要返還給開發組進行修改,并重新生成測試用例,對修改后的被測對象進行測試。這一過程將一直循環執行,直至測試用例通過為止。

    2.2 類測試的探針設計

    類測試的探針設計流程如圖2所示。操作步驟如下:
          
             
                   
                                  圖2    類測試的探針設計流程 

    (1)繪制狀態轉換圖,確定狀態不變式

    狀態轉換圖類似于流程圖,將對象的狀態之間的轉換關系用圖的形式表示出來。狀態轉換圖包括狀態、觸發狀態轉變的事件,以及該事件引發的動作,如圖3所示。
       
                    
                                     圖3  狀態轉換圖

    (2)插裝探針函數

    由狀態圖分析得到轉換樹,如圖4所示。在觸發狀態轉變的事件的末尾插入檢查狀態不變式的斷言探針函數,每一條斷言只對應一條斷言探針語句。
         
                  
                                          圖4 轉換樹

    (3)繪制響應矩陣

    由轉換樹繪制響應矩陣。響應矩陣將所有的狀態和事件繪制到一個表里,見表3。每個受監視的事件均為一行,每個受監視事件對其監視的每個真值組合均有一列,且對其監視中的每個謂詞均有一個附加列。分別考慮矩陣中行與列交叉的單元格,若在某一狀態可以接受一個事件,在此單元格內以“√”標示,代表正確路徑。若不能接受,有兩種情況:其一,在此狀態不可能引發該事件,則在單元格內以“╳”標示,表示排除這種組合。除此以外,單元格內均填入數字“1”或“2”,表示應拒絕或應激發非正常終端服務并使過程停止,這些單元格表示可能的潛行路徑。

                                       表3 響應矩陣
                      
      
    (4)設計測試用例包

    由響應矩陣分析得到一致性測試包和潛行路徑測試包。由響應矩陣中標有“√”的元素組成一致性測試包,由有數字的元素組成潛行路徑測試包。

    (5)運行測試用例

    根據一致性測試包和潛行路徑測試包對被測對象進行測試,并將測試結果記入實際結果一欄。

    (6)生成測試報告

    通過測試的被測對象可以進入下一階段的測試。沒有通過測試的被測對象需要返還給開發組進行修改,再對修改后的被測對象重新測試,直至通過為止。

    3 結論

    軟件內嵌探針測試是面向對象軟件測試的有效方法。面向對象軟件的測試要求是基于狀態的測試,軟件內嵌探針測試方法恰是基于狀態的測試方法。它采用比較成熟的黑盒測試和白盒測試[3]對被測對象進行測試,同時,使用探針函數檢查被測對象,將測試相關信息輸出到指定的文件中。通過構建探針函數使測試人員對程序內部工作流程一目了然,而且既不會破壞面向對象軟件的封裝機制,也不會影響測試的進行。

    其他作者:戴冶(1982-),男,遼寧鐵嶺人,助理實驗師,學士,主要研究方向為網絡工程及一卡通技術。

    參考文獻:

    [1] 彭成寒, 徐拾義. 軟件內建自測試中模板內容的研究和實現[J]. 計算機應用研究, 2006, (10): 78-81.

    [2] 譚建勇, 徐拾義. 軟件內嵌探針測試及其面向對象模板的設計[J]. 計算機工程與應用, 2003, 39 (18): 124-126.

    [3] 賀平. 軟件測試教程[M]. 北京: 電子工業出版社, 2005.

    自《自動化博覽》2010年第十期 
 

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产成人精品曰本亚洲| 国产区精品| 国产精品久久久久久久久福利| 91久久国产成人免费观看资源| 特黄特色三级在线播放| 久久黄色精品视频| 亚洲精品综合欧美一区二区三区| 欧美les视频xxxx在线观看| 国产精选经典三级小泽玛利亚| 在线看毛片网站| 老师张开腿让我捅| 亚洲欧美视频在线播放| 久久精品国产欧美| 5388国产亚洲欧美在线观看| 日本女人www| 一级看片免费视频| 精品久久久久久免费影院 | 免费一级毛片在线播放放视频| 国产美女啪| 亚色网址| 国产高清三级| 免费毛片a线观看| 91成人国产福利| 精品一区二区三区视频| 手机在线观看精品国产片| 国产一级爱| 日韩在线观看视频网站| 中文字幕一区二区在线观看| 久久久久久综合七次郎| 中国三级网站| 国产二区精品| 久久国产精品歌舞团| 亚洲三级a| tom影院亚洲国产日本一区| 久久久久毛片成人精品| 亚洲欧美在线免费| 波多野结衣在线观看一区二区 | 在线久草视频| 成年女人免费观看| 精品国产一区在线观看| 深夜福利视频在线观看免费播放 |