Testing 如何测试未记录的Web服务?

Testing 如何测试未记录的Web服务?,testing,software-quality,Testing,Software Quality,我最近遇到了这个问题,谁能帮助我作为一名测试人员应该采取什么方法 假设有一个Web服务的功能已经更改,并且没有相同的文档可用。你的测试方法是什么 更新:如果数据库功能已更改且没有文档,则相同的答案是否成立。如果没有文档,则无法测试某些内容。您如何知道预期的结果 也许你在错误的地方寻找“文档”。有人做了这些改变。他们有一些信息告诉他们要对数据库和服务进行哪些更改。甚至可能有一个需求文档,但也可能有一些设计文档 获取这些,并使用它们来找出发生了什么变化。使用这些信息来决定如何更改测试。如果没有文档

我最近遇到了这个问题,谁能帮助我作为一名测试人员应该采取什么方法

假设有一个Web服务的功能已经更改,并且没有相同的文档可用。你的测试方法是什么


更新:如果数据库功能已更改且没有文档,则相同的答案是否成立。如果没有文档,则无法测试某些内容。您如何知道预期的结果


也许你在错误的地方寻找“文档”。有人做了这些改变。他们有一些信息告诉他们要对数据库和服务进行哪些更改。甚至可能有一个需求文档,但也可能有一些设计文档


获取这些,并使用它们来找出发生了什么变化。使用这些信息来决定如何更改测试。

如果没有文档,您无法测试某些内容。您如何知道预期的结果


也许你在错误的地方寻找“文档”。有人做了这些改变。他们有一些信息告诉他们要对数据库和服务进行哪些更改。甚至可能有一个需求文档,但也可能有一些设计文档


获取这些,并使用它们来找出发生了什么变化。使用这些信息来决定如何更改测试。

一般来说,web服务在提供服务和调用方之间提供一致的契约。它指定虽然后端实现可能会更改,但服务的接口将保持一致

如果您对发现服务可用的功能感兴趣,它很可能会提供元数据来记录可用的功能和消息类型。通常,这可以通过在web服务URL中附加“?wsdl”来访问,尽管存在其他方案


一旦您对可用的函数有了很好的了解,您就可以开始通过您的测试框架调用它们,并根据您通常的测试过程评估响应

一般来说,web服务在提供服务的服务和调用者之间提供一致的契约。它指定虽然后端实现可能会更改,但服务的接口将保持一致

如果您对发现服务可用的功能感兴趣,它很可能会提供元数据来记录可用的功能和消息类型。通常,这可以通过在web服务URL中附加“?wsdl”来访问,尽管存在其他方案


一旦您对可用的函数有了很好的了解,您就可以开始通过您的测试框架调用它们,并根据您通常的测试过程评估响应

如果您以一种有用的方式使用该服务,那么您可能会有一些调用返回一些已知的结果,即使这些结果可能没有记录在案。如果是这种情况,那么我将编写测试来验证我对当前服务的期望。然后,至少如果你做了改变,你会有更多的机会知道哪些部分已经改变,影响到你

如果您以一种有用的方式使用该服务,那么您可能会有一些调用返回一些已知的结果,即使这些结果可能没有记录在案。如果是这种情况,那么我将编写测试来验证我对当前服务的期望。然后,至少如果你做了改变,你会有更多的机会知道哪些部分已经改变,影响到你

您可能会问两个不同的问题中的一个:

1) 如何发现黑盒web服务的API。
在这种情况下,最好的源是web服务的源(文档存在失败),或者查看现有客户机,或者服务的wsdl

2) 如何从web服务中发现正确和错误的响应。

为此,您需要需求、文档或正确的客户机。在这种情况下,最可能存在的可能是客户机。或者,web服务可能正在实现某些功能,其结果可以从外部确认。

您可能会问两个不同的问题之一:

1) 如何发现黑盒web服务的API。
在这种情况下,最好的源是web服务的源(文档存在失败),或者查看现有客户机,或者服务的wsdl

2) 如何从web服务中发现正确和错误的响应。

为此,您需要需求、文档或正确的客户机。在这种情况下,最可能存在的可能是客户机。或者,web服务可能正在实现某些功能,其结果可以从外部确认。

您可以猜到吗?!?为什么不直接说“是的,很好,发货”?这样可以省去实际测试任何东西的麻烦。或者你可以说“不,除非你提供文档,否则我们无法通过。”作为一名客户,我知道我更希望你这样做。这是我的错误…所以删除了早期评论…因为功能有点变化,所以我想我们至少可以点击web服务,检查早期功能是否正常工作,如果没有,那么我们现有的测试用例将失败,我们需要调试代码。你能猜到吗?!?为什么不直接说“是的,很好,发货”?这样可以省去实际测试任何东西的麻烦。或者你可以说“不,除非你提供文档,否则我们无法通过。”作为一名客户,我知道我更希望你这样做。这是我的错误…所以删除了早期评论…因为功能有点变化,所以我想我们至少可以点击web服务,检查早期功能是否正常工作,否则,我们现有的测试用例将失败,我们需要调试代码