• <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-12-17 09:42 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 70次 | 進入軟件測試論壇討論

    領測軟件測試網

      數學組合非常適宜用一個類來實現。你需要數據成員存儲 n 的值(條目總數),k(每個子集元素的條目個數)的值,以及一個數組來保存每個組合元素的“原子”。 Figure 3 是表述某個Combination(組合)對象的基本代碼和創建該組合對象第一個詞典元素的構造函數,以及將它表示為一個字符串的代碼。我決定使用C#,但你可以 輕松地將它改編為你所選的任意一種基于 .NET的編程語言。

      我將這個代碼放入類庫(Class Library)編譯后,我可以給它增加一個工程選項參數(Project Reference),并從 .NET 控制臺 程序調用它,就象我在此所做的這樣:

      Combination c = new Combination(5,3);

      Console.WriteLine("\nCombination c(5,3) is initially " + c.ToString());

      下面的輸出將顯示在屏幕上: Combination c(5,3) is initially { 0 1 2 }

      當組合類的構造函數進行如下調用時: Combination c = new Combination(5,3);

      我在內存中獲得一個對象,它表示五個條目中一次取三個的最初的詞典排序的數學組合元素。內存中的對象可以被表示為如 Figure 4 所示。

      Figure 4 內存中的對象

      構造函數代碼創建最初的組合元素時是相當簡單的。兩個代表條目總數和子集大小的參數被分別存儲在數據成員 n 和 k 中。因為我處理的數值可能會很大, 所以我決定使用 C# 的 long 類型代替int 類型。如果我愿意的話,我可以用 ulong 類型(無符號 long)獲得雙倍的數值范圍。我用子集的大小 k 來為一個 long 類型的命名數組分配空間,然后用 0 到 k-1 范圍的整數填充每個數據單元。

      計算組合元素的個數

      現在我已經確定了如何創建一個組合對象,讓我們看看組合的三個基本操作的第二個——根據某個給定的條目總數 n 及子集大小 k 來計算組合元素的總數。舉個例子,如果你處理一次從 n=5 條目中取 k=3,這里有10種可能的組合元素:

      { 0, 1, 2 } { 0, 3, 4 }

      { 0, 1, 3 } { 1, 2, 3 }

      { 0, 1, 4 } { 1, 2, 4 }

      { 0, 2, 3 } { 1, 3, 4 }

      { 0, 2, 4 } { 2, 3, 4 }

    延伸閱讀

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

    63/6<123456>

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