本主题解释如何配置回归测试的功能测试套件,它帮助确定功能是否随着时间而意外更改。本章包含:
回归测试的目的在于检测意外故障,尤其是那些由于开发人员在修改或扩展以前正常运行的代码时没有完全了解内部代码关联而导致的错误。回归测试是确保更改没有在代码中引入新错误或检查更改是否成功解决现有错误的唯一可靠方法。
回归测试期间,SOAtest 运行指定的测试用例,比较当前输出与之前记录的输出,然后在当前响应和控制响应之间存在差异时发出警告。后续的回归测试运行将提示此差异,直到应用程序返回预期结果。我们建议您执行功能测试以验证您的服务功能是否正确,然后开始回归测试以确保系统变更不会引入错误或意外更改。
可以自动为整个测试套件创建回归控制,也可以为单个测试用例录制回归控制。如果希望在所有或大多数测试用例上运行回归测试,则我们建议您自动添加回归控制到完整的测试套件中,然后删除不希望使用的控件。如果只希望在限制数量的测试用例上执行回归测试,则单独添加控件会更有效。
若要让 SOAtest 自动为整个测试套件或特定测试套件创建回归控制:
SOAtest 运行一个带有 Diff 控件的测试用例的所有后续时间,它都将把实际结果与 Diff 控件中指定的结果进行比较。
如果创建了单个回归控制,则将单个文件保存在与当前项目文件相同的目录下。该文件将包含回归内容。
如果创建了多个回归控制,则将每个数据源关联的响应保存在单个文件中。还将创建一个具有随机名称的目录,其中包含多个类似 DS_Row_001.xml 名称的文件。该文件中的数量与行数相关联。例如,如果数据源有五行,则在创建回归控制时,测试会运行五次,并生成五个文件。
如果希望在测试用例上执行回归测试,但又不希望使用当前结果作为比较值,那么我们推荐您为该测试用例定义您自己的 Diff 控件。
若要为测试用例定义自己的 Diff 工具:
SOAtest 运行一个带有 Diff 控件的测试用例的所有后续时间,它都将把实际结果与 Diff 控件中指定的结果进行比较。
若要自动更新回归控制:
若要手动更新回归控制:
若要在测试套件中对所有用于回归控制的逻辑和数据源使用进行自定义: