对于模块的单元跟踪调试最好能够做到:每次修改被测模块后,都将所有测试用例跟踪执行一遍以排除所有可能出现或引进的错误。在时间有限的情况下也必须调用驱动模块对所有的测试用例执行一次,并对出现错误或异常的测试用例跟踪执行一次,以发现问题的根源。
排 错过程往往是一个艰苦的过程,特别是那种算法复杂、调用子模块较多的模块,对于错误的定位来说并不是件容易的事情。尽管排错不是一门好学的技术(有时人们 更愿意称之为艺术),但还是有若干行之有效的方法和策略,下面介绍几种排错时应该采用的方法策略:(1)、断点设置,设置断点对源程序实行断点跟踪将能够 大大提高排错的效率。通常断点的设置除了根据经验与错误信息来设置外,还应重点考虑以下几种类行的语句:A、函数调用语句。子函数的调用语句是测试的重 点,一方面由于在调用子函数时可能引起接口引用错误,另一方面可能是子函数本身的错误;B、判定转移/循环语句。判定语句常常会由于边界值与比较优先级等 问题引起错误或失效而作出错误的转移。因此,对于判定转移/循环语句也是一个重要的测试点;C、SQL语句。对于数据库的应用程序来说,SQL语句常常会 在模块中占比较重要的业务逻辑,而且比较复杂。因此,它也属于比较容易出现错误的语句;D、复杂算法段。出错的概率常与算法的复杂度成正比。所以越复杂的 算法越需要作重点跟踪,如递归、回朔等算法。(2)、可疑变量查看,在跟踪执行状态下当程序停止在某条语句时可查看变量的当前值和对象的当前属性。通过对 比这些变量当前值与预期值可以轻松的定位程序问题根源;(3)、SQL语句执行检查,在跟踪执行或运行状态下将疑似错误的SQL语句打印出来,重新在数据 库SQL查询分析器(如:Oracle SQL Plus)中跟踪执行可以较高效的检查纠正SQL语句错误;(4)、注意群集现象,经验表明测试后程序中残存的错误数目与该程序中已发现的错误数目或检错 率成正比。根据这个规律,应当对错误群集的程序段进行重点测试,以提高测试投资的效益。如果发现某一代码段似乎比其他程序模块更多的错误倾向时,则应当花 费较多的时间和代价测试这个程序模块。
6. 测试用例设计的基本原则:(1)、一个好的测试用例在于能够发现至今没有发现的错误;(2)、测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;(3)、在测试用例设计时,应当包含合理的输入条件和不合理的输入条件。
7. 测试用例的具体做法:
(1)、测试用例文档:编写测试用例文档应有文档模板,须符合内部的规范要求。
(2)、测试用例的设置:按功能设置用例、按路径设置用例、按功能、路径混合模式设置用例;
(3)、设计测试用例:测试用例可以分为基本事件、备选事件和异常事件。
四. 白盒测试
1. 白盒测试一般包括以下几项:
(1)、目的:保证程序创建的类与接口的完整与正确,以及程序模块单独正常运行。保证局部模块功能完备性,运行正确性与稳定性。
(2)、测试项:所要测试的类。
(3)、测试依据:A、需求规格说明书、用例描述清单;B、设计文档;C、编码规范;D、开发命名标准。
(4)、通过的准则:创建的类、接口、方法、属性应与《设计文档》保持一致;程序的各种命名、注释、代码行的格式等应符合《程序开发命名标准》和《编码规范》;程序模块能独立稳定运行。
(5)、测试环境配置:A、测试工具;B、软件环境。
2. 测试步骤:
(1)、配置好测试环境;
(2)、编写测试用例;
(3)、静态测试、走查代码;
(4)、动态测试;
(5)、确定问题属性:分为四类,错误、缺陷、失效、故障。
错误是指计算值、观测值、测量值之间,或条件与真值之间,不符合规定的或理论上的正确值或条件。
缺陷是指与期望值或特征值的偏差。
故障是指功能部件不能执行所要求的功能。故障可能由错误、缺陷或失效引起。
失效是指功能部件执行其功能的能力丧失,系统或系统部件丧失了在规定限度内执行所要求功能的能力。
(6)、确定问题类别;
(7)、填写测试报告。