2010-01-13 73 views
0

最近我遇到了这个问题,谁能帮我一下,作为一个测试人员我应该怎么做。如何测试无证Web服务?

假设有一个web服务,其功能已被更改,并且没有相同的文档可用。你将如何测试相同的方法?

更新:如果数据库功能发生更改并且没有文档,是否保留相同的答案。

回答

2

你不能测试没有文档的东西。你怎么知道期望的结果?


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

得到这些,并用它们来弄清楚发生了什么变化。使用该信息来决定如何更改测试。

+2

你可以猜测?!?为什么不直接说“是的,没关系,运送它”?这将为您节省实际测试任何事情的麻烦。或者你可以说“不,我们不能通过这个,除非你提供文件。”作为一名客户,我知道你更喜欢哪种方式。 – kdgregory 2010-01-13 13:40:49

+0

这是我的坏...如此删除早期评论...由于功能改变了一点,因此我认为我们至少可以访问Web服务并检查早期的功能是否正常工作,如果不是,那么我们现有的测试用例将失败,我们需要调试代码。 – 2010-01-13 13:44:37

0

一般来说,网络服务提供服务和呼叫者之间的一致性契约。它规定,虽然后端实施可能会改变,但服务的接口将保持一致。

如果您有兴趣发现可用于该服务的功能,它可能会提供元数据来记录它的可用功能和消息类型。通常情况下,通过在Web服务URL中添加“?wsdl”即可访问,尽管存在其他方案。

一旦您对可用函数有了一个好的概念,您就可以开始通过您的测试框架调用它们,并按照您通常的测试过程评估响应。

+0

我敢打赌,他平时的测试过程就是这样说的,“如果我把它传递给'one',它应该返回'two'”。看起来他甚至都不了解这项服务的变化。 – 2010-01-13 13:40:59

1

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

2

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

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

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