• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試中測試數據的自動生成方法淺析

    發布: 2010-10-19 08:50 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 116次 | 進入軟件測試論壇討論

    領測軟件測試網 一、引言

      軟件質量是制約計算機應用領域進一步發展的關鍵要素之一,保證軟件質量、提高軟件可靠性的重要手段是軟件測試。軟件測試中最關鍵的問題是測試數據的設計,它主要涉及兩個方面,一是測試 數據生成,是測試數據覆蓋全面。對于前者,早期程序評價系統都是通過人工方法設計測試數據的,近年來,有更多研究者為實現更高程度的自動化而采用相關技術來實現測試數據的自動牛成。下面簡述測試數據生成技術的分類及其中一些典型的方法。

      二、測試數據自動生成法分類

      相關文獻對測試數據自動生成存在不同的分類。Ferguson等1將這些方法所使用的技術劃分為隨機法、面向目標法和面向路徑法三類。這是最恰當的一種分類,但每一類都涉及路徑選擇問題,且會對測試數據生成全過程產生極大影響,而每一類技術又有多種具體實現方法。近年來出現更多面向日標和面向路徑類技術不斷發展演變的相關研究,還產生了基于搜索的測試數據自動生成方法。

      1.隨機法

      該法是指在輸入空間中隨機選擇輸入來生成測試數據,可完全自動化,優點是生成測試數據的開銷小且簡便。但其生成盲目且缺乏典型性,理論上可根據預先定義的輸入隨機分布牛成測試數據,但卻難以先驗的獲知該分布函數,缺乏實用性。

      2.面向目標法

      該法是針對程序中~條選定分支求取輸入數據,該數據要使該分支被執行。初始時,使用任意的輸入來執行程序,再將檢測程序的執行流程,而搜索過程將決定程序是否按當前的分支執行還是另選一條分支。若觀察到當前分支有不期望的流程,則使用函數最小化搜索算法來自動產牛能夠改變分支執行流程的輸入。其主要思想是僅關注那些影響到目標節點執行的分支。

      3.面向路徑法

      該法是給定一程序和其中一路徑,求某一輸入數據,使得程序以該數據為輸入時將執行該路徑。其中用于尋找該執行路徑輸入數據的方法有,一是對程序進行靜態分析轉換,不涉及程序的實際運行,包括符號執行和區間算術法等。二是面向程序實際執行的方法,因其整個過程完全基于程序實際執行,數組索引和指針取值在執行時可知,可以克服符號執行的限制。

      4.基于搜索法

      近期研究者對應用超啟發式搜索技術于測試數據自動生成的關注目益升溫。前期測試數據自動生成的嘗試受到軟件規模和復雜度的限制,而測試數據生成是個不確定問題。該技術為此帶來了希望。

      它屬高層次框架,利用其在合理的計算成本前提尋求解決組合犁問題的解。該方法需運行程序,但其生成測試數據的過程不確定,它采用概率論思想,例如遺傳和模擬退火算法。

      三、兩類方法比較

      1.面向目標法

      其優勢是能預先偵測到不可行路徑以精簡由到達給定分支所有路徑構成的搜索空間。對只含指針變暈的程序,該法比面向路徑法易擴展。其局限性是處理動態分配能力弱。隨著近年來的不斷發展,面向路徑法有關文獻提出一些處理指針數據的措施,文獻中提出一種基于約束的方法,它探索了節點內程序式指向分析的研究成果,提供了兩種約束連接符用于測試數據生成。

      2.面向路徑法

      其優勢是基于程序執行的方法可以有效的處理數組和引用指針,因為數組索引和指針地址在執行的每一步是已知的。其中指針關系以有關輸入值的約束形式來處理,且指針混淆問題僅僅出現在輸入數據結構中。其主要挑戰之一是在選擇路徑時,無法確認是否是可行路徑。因此比較適合于只有幾條路徑的簡單程序。另有文獻對以上的問題有了進一一步的研究。有Gupta等提出一種迭代張弛法。它基于函數求根等式近似求解數值分析中的張弛技術,在給定值域中任意選擇一個輸入數據,通過一或多次迭代提取歷經給定路徑的輸入數據。且后期相關文獻研究對其進行了有效改進。

      四、結語

      在自動測試系統的實際研發中需要根據實際需求和特點決定方法的選擇,還可將各類方法進行有效整合與優勢互補。相關研究近年來雖已取得可喜進展,但離全面有效的自動生成測試數據還有一定差距。但我們相信,隨著研究的不斷深入,真正實用的方法及工具必將出現。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 淺析 軟件測試 數據 自動


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>