软件性能测试:
用一定的技术工具,找出或者验证某些性能指标值的测试,并且得出测试报告
模拟多个人使用软件 对服务器发送请求,看服务器在可以接受的时间范围内是否正常响应
可接受的时间范围 = 性能指标
功能/自动化测试 VS性能测试
-功能/性能测试:预期结果和实际结果是否相同,相同则通过,不相同则是Bug
-性能测试:在可接受的时间范围内,得到一个结果,结果并不要求准确无误,
如果返回结果大部分准确,部分出现错误,则性能指标不能满足要求,不是bug
-性能测试的时间会比功能测试,自动化测试时间长
找出:
在项目,某个接口从来没做过性能测试时,要获取性能指标值作为基准
验证:
跟第一次获取到的性能指标值作对比,观察数据的变化
负载测试:
逐步增加并发用户数,发起请求,找到系统的拐点区间
关键字:逐步加压
压力测试(稳定性测试):
通过一定并发用户数,持续比较长的时间请求,查看服务器的稳定性
关键字:比较大的压力+比较长的时间(*24)
公司领导要求做压测其实是负载测试得出系统的瓶颈,并不只是做压力测试,不是看服务器稳定性
还要通过性能测试得到性能指标值和性能测试报告
性能测试的前提
-性能测试的必要性研究--关键项评估
-可测性 --可以量化为性能指标值
性能测试的基本原则
首先,单接口,再多接口
然后,多接口构成业务/模块
然后,多业务混合
然后,整个系统
最后,全链路
性能测试必备条件
-独立服务器
-独立网络
性能测试的主要指标
并发:
-狭义:同一时间做相同的事
广义:同一时间做不同的事,混合场景
并发数:单位时间内向服务器发起请求的用户数--virtual user
并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问过系统的用户,可能含一次性访问用户
在线用户:当前正访问系统的用户,不一定有压力,比如挂机
响应时间 t1+t2+t3+t4--重要
从发起请求到收到请求的时间
网络传输时间t1 t4
服务器处理时间t2 t3
TPS--最主要的性能指标
服务器每秒通过事务数--服务器每秒处理事务数
服务器综合能力的体现
吞吐量/吞吐率(事务/s kb/s)--衡量网络的重要指标
吞吐量--事务数
吞吐率--数据量
资源利用率
资源监控:cpu 内存 磁盘 i/o