目录
前言:
1.什么是性能测试
1.1生活中遇到的软件问题
1.2性能测试的定义
1.3性能测试和功能测试有什么区别
1.4性能的好坏的区分
1.5影响一个软件性能的因素
2.为什么要进行性能测试
3.性能测试常见的术语以及衡量指标
3.1并发
3.2用户数
3.3响应时间
3.3.1用户响应时间
3.3.2请求响应时间
3.3.3影响软件响应时间的因素
3.4事务响应时间
3.5每秒事务通过数量
3.6点击量
3.7点击率
3.8吞吐量
3.9吞吐率
3.10思考时间
3.11资源利用率
4.性能测试分类
4.1基准性能测试定义
4.2负载性能测试
4.3压力性能测试
4.4可靠性测试
5.性能测试执行流程
结束语:
前言:
在上一节中小编主要是基于我们之前写过的一篇博客以及在测试阶段所学习的Junit5对博客系统的前端页面进行了一些基础的自动化测试,帮助我们熟悉了如何使用Junit进行自动化测试。接下来小编将与大家分享一下有关于性能测试一些基础知识。
1.什么是性能测试
1.1生活中遇到的软件问题
在生活中我们也会经常遇到软件的性能问题,比如在双十一的时候,淘宝会由于用户访问的次数和数量太大,从而导致奔溃,还有在春运的时候,12306也会经常出现各种各样的问题,在某个消息突然爆火的时候微博也经常会出现奔溃。这些都是我们经常在生活中遇到的问题。
1.2性能测试的定义
性能测试就是测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期。
1.3性能测试和功能测试有什么区别
在测试方式上:
- 功能测试:依靠人工执行。
- 性能测试:依靠工具执行。
在场景方面:
- 功能测试:不管在什么场景下,只要能够正常运行即可。
- 性能测试:软件子啊一些极端的情况下,是不是可以正常运行。
1.4性能的好坏的区分
究竟什么样的软件属于软件性能好的表现,什么样的软件属于软件性能不好的表现呢?
比如现在有两个软件,软件1的登录时间是3s,而软件2的登录时间是3ms,自然从时间层面上来看当然是软件2了。在比如下面这张图中通过DAU(日活跃用户数)的比对我们可以看到活跃数越大的性能自然也就越好。
1.5影响一个软件性能的因素
影响一个软件的性能因素有哪些呢?主要有以下几点:
- 硬件:服务器CPU的利用率,内存,磁盘操作频率,CPU核心数。
- 软件:算法,编程语言。
- 用户:用户数量,用户使用时长,用户访问频率。
2.为什么要进行性能测试
①获取系统性能指标,作为性能指标的基准。
②验证系统的性能指标是否达到要求(性能需求):
- 应用程序是否能够满足系统要求的各种性能指标。
- 应用程序是否能处理预期的用户负载并有盈余能力。
- 引用程序是否能处理业务所需的事务数量。
- 在预期和非预期的用户负载下,应用程序是否稳定。
- 是否能确保用户在真正使用软件时获取得舒服的体验。
③发现系统的性能瓶颈,内存泄漏等问题。
④系统正常工作的情况下的最大容量。
⑤帮助系统运维部门能更好的规划硬件配置。
3.性能测试常见的术语以及衡量指标
下面我们来谈一下性能测试中常见的术语,以及性能测试衡量指标。
3.1并发
比如下面的一个场景中:一个用户使用CSND,100万个用户每隔10s访问CSDN和100万个用户同时访问CSDN。此时以上的场景中显然最后一个是并发的情况。
并发也是分场景的:
- 业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。
- 后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量。
3.2用户数
①系统用户数:系统注册的用户。
②在线用户数:成功登录系统用户数。
③并发用户数:大量的用户访问系统,此时访问的用户数,就是并发用户数量。
这里并发量的大小顺序是① < ② < ③。
3.3响应时间
在响应时间里面有分为用户响应时间,请求响应时间。接下来我们分别来看一下。
3.3.1用户响应时间
如上图所示用户的响应时间应该就是:N1 + A1 + N2 + A2 + N3 + A3 + N4
3.3.2请求响应时间
如上图所示请求响应的时间应该就是:A1 + N2 + A2 + N3 + A3
3.3.3影响软件响应时间的因素
响应一个软件响应时间的因素有以下几点:
- 数据库性能。
- 网络带宽。
- 服务器处理性能。
- 软件算法,逻辑。
- 用户的设备。
3.4事务响应时间
比如当你点开一个浏览器页面搜索东西的时候,从你点击搜索到页面返回一个响应的时间就是事务的响应时间。
3.5每秒事务通过数量
每秒事务通过的数量=处理的事务数量 / 事务花费的时间。
每秒事务通过的数量越多自然而然说明软件性能越好。
3.6点击量
点击量就是指用户点击的数量。
3.7点击率
点击率 = 点击量 / 时间。
3.8吞吐量
吞吐量就是指用户一次请求和服务器之间的数据交互量。
3.9吞吐率
通途率 = 吞吐量 / 时间
吞吐率越高说明性能越高,反之则越低。
3.10思考时间
思考时间是指用户在对软件进行操作的时候,每一个操作中间间隔时间。
3.11资源利用率
资源利用率是指不同系统资源的使用情况。包含CPU,内存,硬盘,网络。
4.性能测试分类
4.1基准性能测试定义
基准性能就是让系统在正常情况下,观察软件性能指标。它的使用场景是在软件刚上线的时候进行摸底性能测试。
4.2负载性能测试
负载性能测试是验证软件在一定的压力情况下运行,观察性能指标是否出现了拐点。
4.3压力性能测试
压力性能测试是指系统处于饱和情况下,来观察系统性能指标。
4.4可靠性测试
可靠性测试是验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项性能指标是否正常。比如持续一天->持续运行一周->持续运行一个月->持续运行一个季度->持续运行一年。
5.性能测试执行流程
功能测试的执行流程:需求分析->测试计划->测试设计->测试执行->测试评估(测试报告)->上线。
性能测试的执行流程:需求分析->测试计划->选择一款性能测试工具->性能测试脚本编写->执行性能测试脚本->产出一个性能测试报告。
在性能测试中出现了不符合预期的情况,我们不把他叫做bug而是叫做性能瓶颈。在性能测试中,如果出现了性能瓶颈,开发修复的过程,叫做优化。
结束语:
好了这节小编就给大分享到这里啦,希望这节对大家有关于性能测试有一个大概的了解,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)