软件测试用例设计方法研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 1 软件测试用例设计方法研究   摘要:软件测试是软件开发过程的重要阶段,而测试用例的设计是软件测试中的重要组成部分。本文主要介绍了测试用例的白盒测试和黑盒测试技术,针对两种不同的测试方法,分别研究了测试用例的设计技术,并通过实例介绍了具体的测试用例设计过程。   关键词:软件测试;白盒测试;黑盒测试;测试用例   中图分类号:TP311.53文献标识码:A文章编号:1007-9599(2012)21-0000-02   软件测试在软件开发过程起着十分重要的作用,它对软件可靠性有着重大的影响。一般情况下,软件开发周期都比较长,人的主观认识不可能完全符合客观现实,因此在软件生命周期的每个阶段都可能或多或少的出现错误。而为了尽可能在软件投入运行之后少出错误,就必须在运行之前就发现并改变软件中的错误,这是软件测试的主要目的。而设计测试方案是软件测试阶段的关键技术,而软件测试中最大的困难就是设计测试用例,本文将重点讨论软件测试中测试用例的设计方法[1]。   1软件测试的相关概念   测试方案是指具体的测试目的,应该输入的测试数据和预期的输出结果。其中测试数据和预期的输出结果称为测试用例,软件测试中如何确定测试用例中输入数据的选择方案是最大的困难。   设计测试用例的基本目标是要确定一组最可能发现某个错误或某类错误的测试数据。目前已经研究出许多的测试数据的技术,典型的软件测试技术有白盒测试技术和黑盒测试技术。   白盒测试技术是把程序看成一个透明的盒子,根据程序内部的逻辑测试结构,检测程序中的关键通路能否按要求正常的工作。白盒测试也称为逻辑驱动测试和结构测试。白盒测试根据在不同程序执行点点检查程序的状态来确定运行结果与预期的状态是否一致,所设计的测试用例要尽可能测试到程序所有的逻辑路径。   黑盒测试技术则把程序看成一个不透明的黑盒子,不考虑程序的处理过程和内部结构,只检查程序的功能是否能够正常使用。黑盒测试也称为数据驱动测试和功能测试。   2白盒测试技术中测试用例的设计方法研究   白盒测试方法的主要作用有:   (1)至少测试一次程序子模块的所有独立执行路径;(2)针对所有可能的逻辑判定,至少一次取“真”或“假”两种情况;(3)在运行界限内和循环边界处执行循环体;(4)测试程序内部的数据结构的有效性。   在实际的数据测试中,如果程序具有多种循环嵌套的情况,不同的执行路径数目可能是天文数字,例如一个有5条路径的嵌套20次循环的小程序,包含不同执行路径条数为520次方,如果每一条路径测试1ms,全年无休时要测试完所有路径需要约3170年的时间。因此,我们必须采用一些替代办法,典型的方法是有选择的执行程序中某些最有代表性的通路。白盒测试的主要技术有:   2.1根据程序内部的逻辑结构设计测试用例的技术—逻辑覆盖[2]   (1)语句覆盖,选择足够多的测试数据以使被测程序中每条语句都至少执行一次。语句覆盖不考虑对程序的逻辑覆盖,它主要关心表达式的结果,却对每个条件取不同值的情况不做测试。因此,语句覆盖是比较弱的逻辑覆盖标准。在图论中和语句覆盖对应的是点覆盖。(2)判定覆盖,又叫分支覆盖,它首先满足语句覆盖的条件,同时对每个判定的每种可能的结果都至少执行一次,即对每个分支都至少执行一次每个判定,判定覆盖对程序的逻辑覆盖程度也不高。在图论中和判定覆盖相对应的是边覆盖。(3)条件覆盖,指的是不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果,条件覆盖中可能不包含判定覆盖。(4)判定/条件覆盖,指选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,每个判定表达式也取到各种可能的结果。(5)条件组合覆盖,要求选择足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。条件组合覆盖是逻辑覆盖标准中最强的。(6)路径覆盖,指的是选取足够多的测试数据,使程序的每条可能路径都至少执行一次。   测试用例设计举例1:如下图1所示程序段流程,实现语句覆盖需要设计的测试数据有:X=0,Y=3和X=-1,Y=2;实现条件覆盖至少采用的测试数据有:X=0,Y=3和X=3,Y=1;实现判定覆盖至少应用的2.2测试程序的控制结构,主要包括条件测试,循环测试和基本路径测试。其中基本路径测试是由TomMcCabe提出的一种白盒测试技术,这种技术在设计测试用例时需要首先计算程序的环形复杂度,并用该复杂度为指南定义执行路径的基本集合。在实际测试中,仅靠基本路径测试还不能满足要求,还需要结合条件测试技术来检查程序模块中包含的逻辑条件,还有循环测试来专门测试循环结构的有效性。   3黑盒测试技术中的测试用例设计方法研究   黑盒测试主要用来测试软件的功能特点,通过黑盒测试可以发现:   (1)是

文档评论(0)

gmomo-lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档