SOAtest 的 API 覆盖率提供了关于您的测试如何覆盖相关资源和操作的可见性。这有助于评估您现有测试套件的有效性,并确定需要在何处添加额外测试。
SOAtest 的报告详述了每个可用资源和操作实现的覆盖率级别,以及该覆盖率测试通过或测试失败的状态。报告还准确描述了哪些 .tst 和测试覆盖了哪些操作(在这个级别也有一个通过/失败细项)。
了解“可覆盖资源”
SOAtest 计算并报告您的测试覆盖与“可覆盖资源”相关资源和操作的情况。如果任何(受限制或未受限制的)SOAP 客户端、REST 客户端或消息传送客户端工具触及可覆盖资源,覆盖信息将与合适的资源或操作相关联。
如果使用测试配置执行的测试,该配置中执行> API 覆盖率> 被测试引用选项已启用,则 SOAtest 将在受约束的 SOAP 客户端或 REST 客户端工具中配置的服务定义(OpenAPI/Swagger、RAML、WADL、WSDL)编译可覆盖资源列表。
如果您希望 SOAtest 计算用户定义的可覆盖资源列表的覆盖率,而不是自动计算的可覆盖资源,您可以在测试配置的执行 > API 覆盖率 > 这里定义表格中指定该列表。
与任何已知可覆盖资源不匹配的服务的覆盖率都会被计算,并在“未知服务”下报告。目前还没有计算查询参数、有效负载或响应代码的覆盖率信息。
示例 1:计算测试引用的服务定义的覆盖率
例如,假定您有一个包含两个测试客户端的测试套件:
- REST 客户端受到“Petstore”服务定义的约束,并执行关联的 Petstore 服务。
- 消息传送客户端未受约束,但执行与上相同的 Petstore 服务。
也假定测试配置的执行> API 覆盖率> 被测试引用选项已启用。SOAtest 将“Petstore”服务定义作为“可覆盖资源”来识别,因为它有在受约束的 REST 客户端中配置。由于 REST 客户端和消息传送客户端都触及 Petstore 服务,所以 SOAtest 将报告 Petstore 资源和操作下工具的覆盖率。
如果添加一个执行 Petstore 以外服务(例如,Grocerystore)的新消息传送客户端,则此覆盖率将在“未知服务”下报告。
示例 2:关注指定的服务定义
现在,假定您有一个拥有成百上千个测试客户端(其中,许多受到不同服务定义的约束)的测试套件,然而您希望专注于查看与 http://machine:8080/api/v2/def 上定义的 API 相关的覆盖率。为了实现这一点,您将禁用测试配置的执行> API 覆盖率> 被测试引用选项并如下设置表: