【问题标题】:How to Test an Undocumented Web Service?如何测试未记录的 Web 服务?
【发布时间】:2010-01-13 13:32:26
【问题描述】:

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

假设,有一个 web 服务的功能已经改变,但没有可用的文档。你的测试方法是什么?

更新:如果数据库功能发生变化并且没有文档,那么同样的答案是否成立。

【问题讨论】:

    标签: testing software-quality


    【解决方案1】:

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

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

    2) 如何发现来自网络服务的正确和错误响应。
    为此,您需要需求、文档或正确的客户。在这种情况下,最有可能存在的可能是客户。或者,Web 服务可能正在实现某些功能,其结果可以在外部确认。

    【讨论】:

      【解决方案2】:

      您无法在没有文档的情况下进行测试。您怎么知道会发生什么结果?


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

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

      【讨论】:

      • 你能猜到吗?!?为什么不直接说“是的,没关系,发货”?这将为您省去实际测试任何东西的麻烦。或者你可以说“不,除非你提供文件,否则我们不能通过这个。”作为客户,我知道我更希望您这样做。
      • 这是我的错...所以删除了早期的评论...由于功能改变了一点,所以我认为我们至少可以点击网络服务并检查早期的功能是否正常工作,如果不是,那么我们现有的测试用例将失败,我们需要调试代码。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        一般而言,Web 服务在提供服务和调用者之间提供一致的合同。它指定虽然后端实现可能会发生变化,但服务的接口将保持一致。

        如果您有兴趣了解该服务的可用功能,它可能会提供记录其可用功能和消息类型的元数据。通常,可以通过将“?wsdl”附加到 Web 服务 URL 来访问,尽管存在其他方案。

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

        【讨论】:

        • 我敢打赌,他通常的测试过程会说,“如果我通过了'一',它应该返回'二'”。看来他连服务的变化都不太了解。
        猜你喜欢
        • 1970-01-01
        • 2015-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多