首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能测试:当UI/API测试的运行时间增加x%时的标志(Selenium C#)

性能测试:当UI/API测试的运行时间增加x%时的标志(Selenium C#)
EN

Stack Overflow用户
提问于 2020-07-23 10:50:07
回答 2查看 51关注 0票数 0

我们的团队目前使用Selenium和C# (以及NUnit)来运行UI自动化测试。所有测试都是手动编程的,这意味着没有使用记录器。

问题

:我们现在要求这些测试跟踪自己的性能(以及过去的性能),并在其运行时间增加x% (5%或10%等)时发出警告。

问题

:实现这一目标的最佳方法是什么?我们是否应该创建工具来从头开始分析这些UI和API测试的性能(性能历史记录),或者有其他工具可以利用吗?

讨论负载/性能测试的博客或stackExchange问题通常涉及C#的三个主要工具(NeoLoad、SilkPerformer、LoadRunnerProfessional)。然而,我不确定我被要求做的事情是否被认为是最纯粹意义上的性能测试(负载测试),因此,我不确定上面提到的工具是否有助于实现总体目标。它们通常还将性能/负载测试与UI/API测试分开。

摘要

:寻找有关此类测试的方向和/或阅读内容的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-23 13:37:37

这个请求在太多层次上有太多错误的东西。

这些测试跟踪自己的性能(以及过去的性能),并在其运行时间增加x% (5%或10%等)时发出警告。

功能UI/API测试的性能指标到底证明了什么!?

然而,如果仍然需要实现这一点,我建议使用一种简单的方法--使用

StopWatch

在每个C#之前/之后,Selenium测试并将其存储在一个中央DB中,您可以在以后查询并标记该数据库,以防增加。

代码语言:javascript
复制
// generate test case id for later use
// create and start the instance of Stopwatch in your [SetUp] method
Stopwatch stopwatch = Stopwatch.StartNew(); 
// your test code here
// in your [TearDown] method
stopwatch.Stop();
// store this in the DB alongside TestCaseId
Console.WriteLine(stopwatch.ElapsedMilliseconds);
票数 1
EN

Stack Overflow用户

发布于 2021-02-28 23:44:08

首先,对跟踪单用户性能的赞誉。高达80%的性能问题可以通过确保每个请求都满足性能目标来解决。

其次,有一些数据点,您应该选择,但很可能不会让您的工作变得更容易: HTTP访问日志中的w3c时间,以及来自RUM (真实用户监视器) Javascript插件的w3c导航计时统计数据。您可以将数据推送到开源解决方案,如ElasticStack,以管理数据。

假设您知道函数运行的时间,您只需要比较这两个函数的统计数据,例如

运行时间=最大日志条目时间-最小日志条目时间(针对给定测试主机集的测试集)。如果您的开发人员可以在每个顶级请求上包含一个版本标志,作为参数集的一部分,在“?”签名更好,因为您可以使用版本信息作为分组项进行查询。

然后,您可以查看日志中每个请求的数据,以查看哪些请求正在按构建进行改进或降低

您还可以查看RUM统计数据,例如domInteractive & domComplete,以检查终端用户响应时间,以及它们是在改善还是在下降。

这完全是被动的,不需要修改脚本,只需更改日志模型,添加RUM代理,然后将数据收集到您可以更改仪表板的位置

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

https://stackoverflow.com/questions/63046111

复制
相关文章

相似问题

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