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

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

用组合提高软件测试用例的生成

发布: 2010-12-03 09:24 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 37次 | 进入软件测试论坛讨论

领测软件测试网

  用组合提高软件测试用例的生成   软件测试

  测试一直是软件开发过程中的一个重要过程,而三个因素使得它扮演了更重要的角色。首先,微软.Net的环境已经显著地提高了程序员编写自定义自动化测试的能力,以前需要两周时间创建的测试项目,现在在.Net Framework下只用几个小时便可完成。第二,程序和系统越趋于复杂,所需的测试就越精密。最后,软件安全性已不再是程序开发最后才考虑的问题,它是绝对必要的。在以前有可能存在一款软件没有经过完整的测试就已向外发布的情况,但如今这已不再可行。为了帮助你满足现今的测试挑战,我将在这个栏目里每隔几个月就向你展示软件测试的最佳方法、原则和技术。

  这个月我将从组合在软件测试中的角色开始说起。编程产生组合的能力,能够为你的测试用例输出提供强有力的方法。首先我谈谈我所说的组合的意思:如果你现在正在写一个扑克牌的程序,需要你手动输入5张牌牌型的所有可能情况,你一定不会乐意。但如果你用这个栏目里的代码来处理,你将能够在几分钟内做好这件事:

MILY: Courier New; BACKGROUND-COLOR: #dddddd" align=center>
string[] deck = new string[] { "Ac""Ad""Ah""As""Kc", (...) };
Combination c 
= new Combination(52,5); // 52 cards, 5 at a time
string[] pokerHand = new string[5];
        
while (c != null)
{
  pokerHand 
= c.ApplyTo(deck);
  PrintHand(pokerHand);
  c 
= c.Successor();
}

  在大量的自动化测试方案中,你一旦学习并认识了组合,你会发现它惊人的有用。再举一个例子,假如你正在测试某个系统,要用户从文本框接收用户传入的10个字符。用户可能会输入"ABCDEFGHIJ",或者是")(*&^%$#@!",你想知道共有多少种测试的用例。假定你要求输入字符的可选类型等于20种(这可能根据系统要求的不同而不同,比如从大写的'A'到'Z',或者是从0到9等等)。

  要特别强调的是,你必须从20个不同的字符中一次性选取10个,即Choose(20,10)——这个函数我会在稍后解释。请注意,这里我其实简化了问题。实际上,你可能还需要考虑每个边界条件和其他测试概念的排列组合。

  现在,我将会创建一个C#语言写的的组合类,并向你展示怎样用组合来提高测试的性能。我想你一定会认为理解并运用组合及其相关的理论是有价值的。

  图1 Combinations Demo

延伸阅读

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

TAG: 软件测试

21/212>

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

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