- 为类生成测试。
使用基于方案的测试模式来为类生成简单的测试用例。例如,可以调用用来表示该类的最常见流的构造函数和一系列方法。生成测试之后,为构造函数的参数添加初始化点和定义一些缺省测试数据值。在此简单方案中,可以添加初始化点以将对象值设置为 NULL。这就允许垃圾收集器破坏该对象,从而使用新类中的析构函数代码。
- 运行测试。
运行测试以确保一切工作正常。在此情况下,应该第一次通过测试,这是因为您尚未对构造函数定义任何期望值。如果您不了解结果,可使用调试器。保持重新运行测试,直到它成功为止。
- 增强测试,使它包含实际用例。
当测试类时,测试用例充当该类的一个使用者。务必从测试行为脚本中调用一系列方法,与该类的任何其它使用者一样。
使用数据分区技术来定义适当的测试数据。
在整个流中,务必定义几个验证操作。每个验证操作都应该检查自从上一个验证以来所执行的操作是否以适当方式修改了被测组件。
- 重新运行测试。
每当需要时就运行测试,直到测试成功为止。
- 定义用例变化形式。
通过定义不同的测试方案来定义用例的几种变化形式。使用基于状态的路径覆盖范围分析来帮助您考虑可能存在的不同用例。要定义测试变化形式,可以复制现有测试或者创建新的测试。
- 混合使用不同方案来检查对象的完整性。
您迄今为止已定义的方案很可能反映了类的用户某一天将使用的流。还应考虑异常流。此处的目标是检查类是否可以处理异常的方法序列并确保对象从未被毁坏。
要测试不太常见的方案,可定义一些属性,这些属性在对象的整个生存期内都应该为 true。(这些属性被称为不变量。)随机定义一序列方法调用,在测试结束时定义一个验证操作来检查不变量是否满足您的期望。
- 确定测试覆盖率。
要确定测试覆盖率,转至“概要分析”透视图中的“覆盖率”视图,然后观察您所测试的方法的覆盖率。如果没有包括所有行,则应添加一些新方案。可以在联机帮助中找到有关监视代码覆盖的详细信息。
要决定添加哪些数据集,应标识未包括的代码行。这些行通常与代码中的判定(例如,if 语句)相关。因为条件始终都被求值为 false,所以,通常都不包括跟在判定后面的代码块。要包括此代码块,需要了解判定语句打算包括的用例,并创建一个用来表示该用例的测试。