我正在对我们的网站进行性能测试。该站点公开了许多Web服务API。我们的产品有多个工作流程,每个完整的工作流程都由调用多个API组成。
我想知道下列哪种方法是合理的:
以独立方式对每个单个 API进行测试。
针对每个完整工作流程进行测试,其中包含多个 API。
我认为后者更有意义,因为它模仿真实场景。 我想听听你的意见。
感谢。
答案 0 :(得分:3)
每种方法都有(像往常一样)的优点和缺点。就个人而言,我会考虑从单一的API测试开始。
单个API可能是最容易构建的,它的好处是可以准确地确定您的性能问题。在开发过程中发现性能回归也很有用。如果有应用程序的单元测试,请考虑使用它们。当存在性能回归时,通常还会出现突然变慢的单元测试。
完成后,您仍然需要进行更复杂的测试。首先是因为您需要知道某个流的性能是否可以接受,还因为不同API之间可能存在意外的交互。根据您的应用程序,可能会出现令人讨厌的并发问题,吞吐量瓶颈等。确保您同时运行多个流,这就是真实存在的情况,这是查找与锁定数据库,I / O瓶颈等相关的问题的唯一方法。 / p>
但在开始之前,请确保您对性能应该是什么,将有多少并发用户以及硬件要求有一个实际的想法。提高性能没有限制,所以你必须决定什么是好的,否则你永远不会停止优化。