测试用例的设计sqh讲解.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 四。测试过程中的调试策略与技术 测试的目的是尽可能发现错误。但是,发现错误的最终目的还是为了纠正错误。纠正错误的过程就是通常所说的调试。调试过程要完成两方面的工作。即①确定错误的性质与位置;②改正错误。其中前一项工作的工作量,约占整个纠错的95%。譬如治病,错误定位可以看成把症状与病因连接起来的一个过程。找出了病根,下药就不难了。 调试是软件开发实现过程中最艰巨的脑力劳动。调试包括确定错误在程序中的确切位置和性质,并改正它。而最困难的是确定错误的位置。借鉴好的调试策略对调试工作会起到事半功倍的作用。无论进行哪一级测试,随后都要进行纠错。事实上,测试与纠错总是交替进行的。 1、调试与纠错的方法 在长期的实践中,人们积累了丰富的纠错经验,归纳了一组“分析为主、强调思考”的纠错方法。现分述如下: (1)跟踪法 跟踪执行可疑的程序段,是小型程序常用的纠错方法。 其中一种称为反向跟踪。例如程序在某处发生了数据溢出错 * * 误。经初步检查,知道溢出是在表达式中两数相除之后产生的。显然,如果以前曾给表达式的分母赋过零值,就会在相除时发生溢出。所谓反向跟踪,就是从发现有错的地方(本例为发生溢出处)开始,逐步向后回溯,直至找到出错的根源(本例为给分母赋零值的语句)。当程序不大时,回溯纠错常能较快找到错误的根源,是相当有效的。但这里有两条限制。第一,必须事先知道产生错误结果的语句位置,将它作为回溯的起点。第二,程序的分支及嵌套不能太多。否则会造成回溯的路径过多,变得不易执行。 与回溯相反的跟踪方法是正向跟踪。即查错时沿着程序的控制流,向前跟踪每条语句的执行情况,找到最先出现错误或异常的地方,进行分析、调试、纠错。 (2)演绎法 演绎法纠错的过程是,首先根据错误症状列举出所有的可能原因。通过仔细的分析,将其中根据不足或不会发生(例如包含一些相互矛盾的因素)的病因排除掉。然后对余下的病因作更细的分析(必要时可补充一些数据),进而确定它们确系要找的病根,还是应继续排除。如果第一批列举的原因全部排除了,可通 * 过新的测试收集补充数据,再举出下一批可能的原因,并重复以 上的过程,直至得出结果。 演绎纠错法又称为病因排除法(cause elimination), 图5.12显示了它的纠错过程。 (3)归纳法 从特殊到一般,从个别到全体的推理过程,就叫做归纳法。 * 所谓归纳法纠错,实际上是一个由错误征兆指出错误根源的过程。任何错误都会显示出某些征兆。每一个征兆都代表纠错的一个线索。把它们收集起来,分析它们相互间的关系,找出其中的规律,就有可能提出关于错误原因(即病根)的假设。用这个假设来解释所有的测试结果,如果都能得到圆满的解释,则假设成立,病根就找到了。否则应继续提出新的假设,重复上述的过程。图5.13总结了归纳法纠错的基本过程。 * (4)测试法 上述的演绎法与归纳法都是以分析为主的纠错方法,不需要在计算机上进行。但当原有的测试结果不够充分,需要收集更多的线索和数据时,就须提出新的测试用例,在机器上作补充测试。这种为纠错而进行的测试,可称为测试纠错(debugging by testing).它常与演绎法或归纳法结合使用,也可以单独使用。 测试纠错与测试不同。后者是为了发现错误,着眼点是“面”,要求用较少的测试用例覆盖尽量多的路径;前者是为了找出病根,着眼点是“点”,每一测试用例一般仅覆盖测试者感兴趣的少数条件或路径。 (5)试凑法 对结构比较简单的程序,可以根据对错误征兆的分析,设定一个可疑区。然后采用一些简单的纠错手段(如插入打印语句),进一步获取可疑区的有关信息,借以肯定或修改原来的设想。这种试一步、看一步的方法,很象“碰运气”。纠错的效率一般较低。 需要强调指出,纠错是一个需要高度智慧、用脑思考的过程。实验表明,使用纠错辅助手段并不总能加速纠错的进程。在许多 * 情况下,爱用脑子的人往往比爱用“工具”的人有更好的成绩。但这并不是说,调试及纠错手段不起作用。在鼓励“多思”的前提下,采用适当的调试及纠错手段作为补充,常常有较好的效果。这就是下面要讲的内容。 2、调试与纠错的辅助手段 (1)打印语句 在源程序的适当位置插入打印语句,可以显示程序的执行动态和变量变化。例如在输入语句后插入打印语句,可核对装入的数据是否正确(称为回声打印);

文档评论(0)

w447750 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档