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

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

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

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

    遺傳算法在黑盒測試中的應用[1]

    發布: 2010-3-29 11:11 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 50次 | 進入軟件測試論壇討論

    領測軟件測試網

      遺傳算法在黑盒測試中的應用[1]  軟件測試

      摘 要:提出了一種利用遺傳算法幫助測試人員在較短時間內完成軟件模塊的黑盒測試,并給出測試結果和好的測試用例的方法。

      關鍵詞: 遺傳算法 測試用例 耦合度

      在軟件測試中,黑盒測試主要是針對模塊進行的功能測試。最普遍的方法是以軟件的功能說明書為基礎將軟件的輸入劃分為若干個等價類,多次運行該軟件來檢驗軟件對于不同的等價類是否能滿足要求。但是在實際應用中,有的模塊太大或輸入參數太多,等價類劃分后需要進行的測試工作可能是一個極大的任務。這時,如何選擇最優的測試用例就成為測試人員的一個重要任務。

      遺傳算法是模仿生物遺傳和進化機制的一種最優化方法,它把類似于遺傳基因的一些行為,如交叉重組、變異、選擇和淘汰等引入到算法求解的改進過程中。遺傳算法的特點之一是,它同時保留著若干局部最優解,通過交叉重組或者解的變異來尋求更好的解。與貪婪算法相比,遺傳算法更可能找到全局最優解,而貪婪算法則容易限于局部最優而達不到全局最優。

      如果能夠將遺傳算法有效地運用于黑盒測試中,幫助測試人員選擇最優的測試用例,那么將給測試工作帶來極大的幫助。

      1 應用方法

      在設計具體的算法之前,我們先介紹遺傳算法的基本算法,其算法框架如下1:

      第一步,初始化:選取p個候選解作為初始解,把其中最好的解作為暫定(最優)解。

      第二步,解的改進:若滿足終止條件,輸出暫定解,算法終止。否則,進行以下的運算:

      (1)解的交叉重組:從p個解中選出兩個或兩個以上的解進行交叉重組,得到新解,重復該運算若干次。

      (2)解的變異:在候選解中隨機加進一些變異,產生新解。

      (3)局部搜索:對新產生的解用局部搜索法進行改良。若能得到比候選解更好的解,更新候選解。

      (4)從全部解中按一定的準則選出p個解作為下一代的候選解,更新暫定解。

      轉第二步。

      了解了遺傳算法的算法框架后,進一步要做的就是在軟件的黑盒測試中,如何將不同的等價類轉變為遺傳算法的候選解, 如何設定解的優劣標準,如何設置合適的終止條件。

      我們假定一個軟件模塊的輸入參數有5個:A、B、C、D、E,經過合理的等價類劃分后,每個參數又有5個不同的等價類:A1~A5,......,E1~E5。我們采用一個廣義的遺傳算法候選解概念,一般的遺傳算法往往將候選解形式定為二進制的數據串,比如:111010、010001等等,而在不同等價類輸入作為候選解時我們將候選解形式定為(按照上面假定為基礎):A3B1C2D4E5、A2B2C4D1E3等等。這樣我們解決了候選解的問題,在解的優劣標準以及終止條件的設定問題上,我們需要借助工具作為標準。

      軟件測試的目的是提高軟件的可靠性,終止條件當然是軟件達到了測試的目的及要求。而解的優劣標準正好與軟件質量相反,即軟件失效幾率越大,這個測試用例(一個輸入的解)越優。文獻2中結合北大的青鳥黑盒測試環境提出了一種基于測試執行的失效數據模型JBFDM(Jade Bird failure data model)。利用該模型我們可以做到2:

      (1)提供一致的失效數據建模、收集及管理的可靠性度量過程,從而支持可靠性度量;

      (2)利用測試及軟件現場收集的數據來評價測試計劃、操作概圖及測試方法的有效性。

      軟件測試的目的是發現錯誤,在黑盒測試中,錯誤表現的形式是軟件失效。但是由于軟件錯誤并不是軟件失效的充分條件,換句話說,并不是所有錯誤都會在測試或運行時暴露,所以黑盒測試的目的就是盡可能的通過運行測試用例使軟件失效而發現錯誤。在我們對測試用例的評價時,用以下的數據表示測試用例的優劣:

      A=P+λ/M+μ×F

    延伸閱讀

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

    TAG: 算法 遺傳 應用


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