大家好,我是阿萨。今天给大家讲解一下常见性能测试指标。
开始性能测试之前,需要明确成功标准来评估测试过程。当计划和设计性能测试案例时,目标指标成为关键的流程之一。
指标是性能测试的一个基线。监测正确的参数将帮助我们发现需要加强关注的领域,并找到改善的方法。现在,让我们来了解一下到底要跟踪和监测什么。
一:什么是性能指标?
指标是在质量保证过程中收集的参数和测量。性能测试数据帮助大家了解性能测试的有效性。换句话说,这些指标显示了软件对用户场景的反应和实时处理用户流量的情况。
有两种类型的数据:
1. 测量是测试过程中记录的数据--例如,响应请求需要多少秒。
2. 度量是在应用于测量的特定公式的帮助下进行的计算,如不同种类的百分比、平均指标等。
在实践中,QA工程师把两者都称为度量,因为每种类型的数据都是用于相同的目的。
二:为什么性能指标很重要?
我们进行性能测试是为了确保一个应用程序能够顺利运行。指标是那些有助于确定 "顺利 "的确切含义的指标。
为了估计性能是否令人满意,需要首先定义里程碑。然后,必须测量属于这些里程碑的参数,并估计结果,比较实际和预期的表现。
1. 指标是测试的一个基线。
2. 它们有助于跟踪项目的进展。
3. 使用指标,一个QA团队能够定义一个问题并测量它以找到解决方案。
4. 随着时间的推移,跟踪指标可以比较测试的结果,估计代码变化的影响。
总的来说,跟踪性能指标对于确定哪些领域和功能需要增加关注和提高质量至关重要。
三:常见性能的关键性能指标
一个QA团队需要跟踪哪些指标?这主要取决于被测软件的类型,其核心功能,以及产品所有者的商业目标。因此,我们将从每个产品可以和应该跟踪的常见参数开始列出性能指标。
响应时间
从请求到服务器的那一刻起,直到从服务器接收到最后一个字节的时间被称为响应时间。这个指标是以千字节/秒(KB/sec)为单位的。
每秒请求数
客户端应用程序形成一个HTTP请求并将其发送给服务器。服务器软件处理这个请求,产生一个响应,并把它送回给客户端。每秒一致请求的总数就是我们感兴趣的指标--每秒请求数(RPS)。这些可以是对任何数据源的请求--HTML页面、多媒体文件、JavaScript库、XML文档等。
用户事务
用户事务是用户通过软件界面进行的一系列操作。通过比较实际交易时间和预期时间(或每秒交易数),你可以得出系统成功通过负载测试的结论。
每单位时间的虚拟用户
这个指标也有助于发现一个软件产品的性能是否符合既定的要求。它帮助QA团队估计平均负载以及软件在不同负载条件下的行为。
错误率
这个指标的计算方法是在一段时间内无效答案与有效答案的比率。其结果以百分比计算。错误通常发生在软件负载超过其能力的时候。
实际工作中,性能指标比上面提到的指标要多得多,也更多样化。下面是一些可能需要跟踪的其他参数。
四:性能测试中的其他指标
等待时间
等待时间也被称为平均延迟,它告诉你从一个请求被发送到服务器的那一刻起,到收到第一个字节为止需要多少时间。它的单位也是KB/秒。不要把它与响应时间混淆,它们考虑的是不同的时间框架。
平均加载时间
它是传递一个请求所需的平均时间。平均加载时间是一个软件产品的最终用户操作的主要参数之一,以估计这个软件的质量。
峰值响应时间
这个指标与平均负载时间有点类似。不同的是,峰值响应时间显示的是一个应用程序满足一个请求可能需要的最大时间。
如果这个参数比平均加载时间高得多,它表明至少有一个软件组件有问题。例如,这可能是由一个大的图像或一个沉重的数据库引起的。
并发用户
也被称为负载大小,这个指标显示了任何时候的活跃用户的数量。它是最广泛使用的指标之一,用于研究在一些虚拟用户下的软件行为。
它提醒了每秒的请求,但在并发用户的情况下,一个QA团队不会产生一致的请求。由于 "思考时间",所有的请求不会同时进入服务器,而是以序列的形式出现,中间有短暂的停顿。
通过/失败的事务
这是一个相当简单的指标,用测试总数的百分比或通过或失败来表示。与加载时间类似,它对用户至关重要,是终端客户最明显的指标之一。
吞吐量
吞吐量显示测试期间使用的带宽。换句话说,它表示在一定时间内流经特定网络连接的最大数据量。
我们用KB/秒来衡量吞吐量。这个指标通常取决于并发用户的数量。
CPU利用率
正如你从它的名字中很容易猜到的那样,这个指标显示了一个中央处理单元用于处理某个请求的时间。
内存利用率
类似地,内存利用率显示处理一个请求需要多少资源,但以QA工程师用于测试的特定设备(或用户安装了这个软件)上的物理内存为准。
用户会话总数
这个指标显示了某一时期的流量强度。例如,它可以是每周或每月的用户会话数,这取决于产品所有者关注的时间范围。总的用户会话数据可以以页面浏览量和传输字节数为特征。
五:如何正确地跟踪指标?
为了追踪指标而追踪指标并不是最好的主意--这更像是在浪费时间。指标并不是写在报告中的漂亮数字。
就像质量保证过程中的一切,它们应该回答具体的问题,并测试基于业务目标的假设。只有在这种情况下,指标才能推动积极的变化。
如果你想利用度量衡来获得好处,有几个原则需要牢记。
明确客户的业务目标,得出最终的性能要求清单。
每一个功能都应该有一个特定的成功指标--一个单一的参数或一个狭窄的参数范围,分配给它。
指标应该与交付给软件用户的价值相关--高速、软件的稳定性、所有功能的运作等等。
运行多个性能测试,以便随着时间的推移跟踪指标。只有通过分析动态或缺乏动态,你才能确定平均指标并获得一致的结论。
分别测试各个软件单元。在你把数据库、服务等加入到一个单一的应用程序之前,对它们进行检查。不要等到发布前的最后阶段。
再一次:记住,当你专注于某一特定功能或领域时,指标可以提供有价值的见解和优化漏洞的想法。不要因为你有时间或愿望就去测量所有你能测量的东西。