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

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

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

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

    模糊測試學習

    發布: 2009-2-26 10:17 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 183次 | 進入軟件測試論壇討論

    領測軟件測試網
    先看如下這段代碼
     
     1int func1(int a,char b, char c)
     2
     3{
     4
     5         if(a>0&&a<100&& b==0 && c==255)
     6
     7         {
     8
     9                   printf(\"trig a bug\");
    10
    11                   return 0;
    12         }
    13
    14         return 1;
    15}
    16

        這段代碼的意思就是在參數
        如何通過測試找到這些bug呢?這是一個問題,如何在一堆API的參數中找到這樣的bug,這是一個大問題。嗯我們現在就討論這個問題。


        從我們便于理解的角度上看這個問題。其實我們希望我們的測試用例能夠在一定概率的情況下在整個參數空間中觸及到這個bug的觸發參數區域。
        最笨的辦法就是枚舉測試空間,這個實際上并不是一個可行的方法。參數空間會隨著參數的個數增加產生參數空間爆炸。
        那到底該怎么辦呢?在有限的資源下最大可能的找到這樣的有問題的參數樣本,可行的辦法就是一堆隨機的參數來然后通過合適的組合來盡可能的覆蓋整個參數空間,F在問題就是如何產生合適的隨機數了。下面我們就討論一下如何或者比較好的隨機數和如何比較好的組合在一起。
        隨機數:
        隨機數在軟件開發中應用很廣泛,在通信,加密,游戲中都需要隨機數發生器。那什么是隨機數呢?
        隨機數至少應該具備兩個條件:
    1. 數字序列在統計上是隨機的。
    2. 不能通過已知序列來推算后面未知的序列。
        只有實際物理過程才是真正隨機的。而一般來說,計算機是很確定的,它很難得到真正的隨機數。所以計算機利用設計好的一套算法,再由用戶提供一個種子值,得出被稱為“偽隨機數”的數字序列,這就是我們平時所使用的隨機數。
     
        這種偽隨機數字足以滿足一般的應用,但它不適用于加密等領域,因為它具有弱點:
     
    1. 偽隨機數是周期性的,當它們足夠多時,會重復數字序列。
    2. 如果提供相同的算法和相同的種子值,將會得出完全一樣的隨機數序列。
    3. 可以使用逆向工程,猜測算法與種子值,以便推算后面所有的隨機數列。 
     

    延伸閱讀

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

    TAG: 學習

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>