軟件測試中的隨機性 軟件測試
本頁內容

生成統一的隨機數字

分析模式隨機性

混排項目列表

生成正態/高斯數字

總結
創建和使用隨機測試用例數據是一項基本的軟件測試技能。盡管多數測試用例數據由所測試系統的特定輸入數據以及特定預期值/狀態組成,但您幾乎始終都想讓系統也受到隨機測試用例輸入數據的測試。通常,您這樣做是為了了解向應用程序發送大量不同的輸入數據是否會導致系統崩潰或引發異常。在本月的專欄中,我將闡述在 Microsoft? .NET Framework 環境中處理隨機測試用例數據時的四個常見任務:
生成偽隨機數字(Knuth 算法)
分析模式隨機性(Wald-Wolfowitz 檢驗)
混排項目列表(Fisher-Yates 算法)
生成高斯數字(Box-Muller 算法)
讓我們看一下圖 1 中的示例。輸出的第一部分顯示了使用 .NET Framework 的 Random 對象生成基本隨機數字的結果。盡管您可能很熟悉此方法,但我還是要指出如何避免常見缺陷。輸出的第二部分體現了一個非常實用但卻鮮為人知的方法,該方法用來分析由任意符號組成的模式是否具備隨機性。通常,該方法廣泛應用于軟件開發中,而不只是應用于測試方面。圖 1 的第三部分表明了混排項目列表的結果,該結果異常錯綜復雜。

圖 1 隨機方法演示
我將詳細說明為什么許多混排實現方法表面上似乎正確,而事實上卻完全錯誤。圖 1 中輸出的最后一部分表明了生成按正態鐘形曲線分布的一組數字的結果。除了是一種非常實用的方法之外,該算法的實現細節憑其自身的性能而得以關注,將成為您個人編碼工具箱的一個有價值的補充部分。
生成統一的隨機數字
文章來源于領測軟件測試網 http://www.kjueaiud.com/