• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用组合改进软件测试用例的生成

发布: 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 }

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

63/6<123456>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网