在很多人的概念中,性能测试就是使用Loadrunner、Jmeter等工具进行压测,然后得到测试结果即可,但仔细想想,对谁进行测试?测试目的是什么?监测指标有哪些?得到的结果如何分析(怎样的结果算通过)等等。
所以使用工具压测只是性能测试最基础的一个步骤,下面先来看看性能测试的一般流程:
原因有两个:
a、有些数据是支撑系统运行的基础(比如我们要对登录进行压测,首先需要准备一些注册好的账号);
b、不同量级数据影响性能结果(比如从不同量级的数据库查询结果,时间肯定不一样),至于准备什么量级的数据则需要跟项目实际情况来设计;
测试计划
测试脚本
测试程序
测试报告
性能测试上手较难,是一门融合测试、开发、运维、需求调研、架构、协调管理等综合技能的学科,掌握一个测试工具只是最基础的一步。
性能测试有几大难点:
需求分析
场景设计
性能诊断调优
环境搭建和模拟
(1)负载:模拟用户操作对服务器造成压力的过程,比如模拟100个用户同时登录;
(2)性能测试(Performance Test):在指定的负载情况下,系统性能指标(响应时间、吞吐量等)是否满足要求;
(3)负载测试(Loading Test):
在一定的硬件环境前提下,通过不断的增加负载(不同的虚拟用户数)来确定满足性能指标情况下所能够承受的最大并发用户数。简单来说,就是帮我们对系统进行定容定量,找出系统性能拐点,给予生成环境规划建议。
这里说的性能指标包括:
TPS(每秒事务数)
RT(事务平均响应时间)
CPU Using(CPU利用率)
Memory Using(内存利用率)等
(4)压力/强度测试:
在一定的软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行十分稳定,确定是否稳定的指标包括TPS、RT、CPU利用率、内存利用率等;
(5)稳定性测试:
在一定软硬件环境下,长时间运行一定的负载,确定系统在满足性能指标的前提下是否运行稳定。与上面的压力/强度测试区别在于负载并不强调在极限状态下,一般使用目标负载的1.5~2倍的负载数量进行测试;
(6)TPS:每秒完成事务数
事务是指一个操作集合,不同场景中事务所包含的操作不同,这个概念我们后续结合实例介绍
(7)RT:响应时间
指一个事务花费多长时间完成,为了使这个值更具代表性,会统计平均值,也就是ART,不过一般说RT就是指平均响应时间。
(8)PV(Page View):每秒用户访问页面的次数
此参数可以帮助我们分析平均每秒有多少个用户访问页面
(9)Vuser(Virtual User):虚拟用户
用来模仿真实用户进行操作;
(10)Concurrency(并发):
狭义并发多适用于单一测试场景,广义并发多适用于混合测试场景、稳定性测试场景;
(11)场景(Scenario):模拟真实用户某个操作的过程,这个过程就可以称为一个场景,我们举个论坛系统的例子:
(12)思考时间(Think Time):因为用户在进行操作时,每个操作是有时间间隔的,对应到脚本中,就是两个请求脚本之间的时间间隔
最后: 可以加入群号:914172719 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…