首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能测试-方法

性能测试-方法
EN

Stack Overflow用户
提问于 2015-04-23 05:19:08
回答 4查看 418关注 0票数 0

我的应用程序中有User RegistrationFlight SearchBook Tickets模块。我已经创建了我的JMeter测试&对于测试中的每个模块,我有不同的线程组。我证实了&它运行得很好。

  • 线程组1: XX个用户数-访问站点-单击回归,输入详细信息&注册。(粗体->循环-一次又一次地发生)
  • 线程组2: XX个用户-访问站点-登录,-搜索航班-(粗体->循环-一次又一次发生)
  • 线程组3: XX个用户-访问站点-登录,图书票-(粗体->循环-一次又一次发生)

发行:

我的经理说,我们需要运行所有模块(所有线程组)和适当的用户,因为这就是它在生产中的方式。即使我可以将它们全部运行在一起--如果出现问题--我也不知道应用程序的哪个特性导致了问题。

我的目标是分别运行每个模块&查找其性能。我认为,按模块进行操作将是获得响应时间、资源利用率等的正确方法。

澄清:

  • 我在性能测试方面没有多少经验。什么是正确的方法/您如何为您的应用程序进行测试?
  • 如果我必须找到服务器的最佳负载(它的性能更好)--我的方法应该是什么?

故意将loadrunner标记为这个问题并不是JMeter特有的&它是通用的。

EN

回答 4

Stack Overflow用户

发布于 2015-04-23 13:15:35

如果您的目标是表示用于评估部署风险的人工行为,那么对每个业务流程进行原子测试将无法实现您的目标。

您似乎正在参与一个更恰当的称为性能单元测试的过程。这在开发人员(与性能测试人员不同)中非常常见,他们试图在一定数量的用户中对单个业务流程的性能进行限定。这些也通常被分类为非正常思考时间(通常完全消除),小数据集,小于有用的测试环境和极短的测试持续时间,如5-15分钟。

票数 1
EN

Stack Overflow用户

发布于 2015-04-30 19:04:22

您可以将此业务场景标记为事务--这意味着每个模块的HTTP请求将分组为一个组或事务中的前登录请求,搜索航班作为一个组或事务,以及类似于预订票等。通过这样做,您将以集成的方式测试它,并且它也将是一个类似于生产的场景。运行后,由于分组,您可以很容易地找出哪一组请求花费更多的时间,或者搜索,订票等。通过这种方式,您将获得准确的性能统计信息,并且您也将实现类似于场景的生产。

票数 1
EN

Stack Overflow用户

发布于 2015-04-23 06:32:43

这种方法实际上取决于测试练习的目标是什么。如果您希望优化或分析某个特定模块,那么隔离地测试它是有意义的。

然而,如果您试图检查您的服务器规模,或者您是否有足够的容量,您应该同时测试您的所有模块,在或高于您预期的负载级别。

与您的孤立方法相反的例子:

假设您必须使用模块A和B,它们都是CPU密集型的,在运行它们时占用了80%的CPU。你第一次测试了A,它使用了80%的CPU,你有20%的空闲时间,它运行得很好。现在你只测试B,同样的结果。

现在您进入生产阶段,用户尝试同时使用A和B模块,两者都试图使用80%的CPU,突然之间您没有足够的CPU,您的性能受到了影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29814324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档