是否值得为功能和性能测试进行一组测试?

软件测试 自动化测试 仪表
2022-01-11 14:13:26

我一直在使用 Jersey 客户端编写 RESTful 服务测试。虽然测试是功能性的,但我发现我可以从 JMeter 执行相同的测试并提高性能(当然需要进行一些调整,例如记录以仅通过某些操作来捕获所需的时间响应)。

如果不是这种方法,那么我将使用 http 采样器在 JMeter 中编写 RESTful 服务测试,并复制我在功能测试中涵盖的几乎所有操作。

我在这里看到的优势是能够对功能和性能测试进行一组测试。

我很想知道是否有任何其他小组尝试过这个并且对做什么和不做什么有一些建议

2个回答

我已经尝试过,有时会从中得到一些用处,我在这样做时发现的问题是,我想用于功能测试的场景通常没有充分利用系统来真正给我任何有意义的性能指标. 我的功能工具也不允许这样做,因为它是为了它的目的而选择的,而我的负载测试工具是为了它的目的而选择的;如果你的两者都可以处理,那就太好了!

当我编写功能测试时,我只是试图反复练习系统的一个方面,以确保它通过要求,这很好,有时我会发挥创造力并在一些额外的测试中工作,以使其他领域作为额外的检查进行测试。这有时有效。虽然当我进行性能分析时,我经常希望锻炼我产品的其他方面,因为我们知道或怀疑存在负载、性能负载或仅性能方面的问题,并且充分锻炼那些我需要的不仅仅是功能测试。

这并不是说您不能重用场景或功能测试,而且我不知道 Jersey 工具,但我认为您必须考虑的是您是否可以以有意义的方式组合测试以正确地运行您的系统,以便您获取有用的措施来确定您的表现。如果您可以并行执行您的测试,而我的功能工具不能,那么您可能也可以在您的工具中使用它,以便能够通过执行兼容性测试和运行测试您的其他领域的测试来获得一些额外的性能检查产品与您关注的领域平行。

性能测试和压力测试是不同的。我经常重复使用 Web 服务测试来添加到我的压力测试中,从而为被测系统增加额外的负载,但通常有一组不同的性能测试来衡量特定操作的性能。

通常这些是串联运行的,因为我想知道API在空载、中等负载、高负载、可变负载等情况下的表现如何。至于你应该使用jmeter还是jersey客户端,哪个更便宜,添加一个计时器球衣测试或创建新的 jmeter 测试?还要记住,任何额外的开销都会影响您创建负载的能力,即使是像将调试语句写入文件这样简单的事情,如果您尝试创建大量负载,也会大大减慢测试的执行速度。因此,如果 jersey 客户端测试的占用空间最小,则无关紧要,但您可能需要进行一些测试来进行比较。