1.为什么要进行性能测试
需要查看:应用程序是否能够很快的响应用户的要求
应用程序是否能处理预期的用户负载并有盈余能力
应用程序是否能处理业务所需要的事务数量
在预期和非预期的用户负载下,应用程序是否稳定
是否能确保用户在真正使用软件时获得舒服的体验
2.关注的指标
并发用户数/吞吐量
平均响应时间
服务器资源占用情况
可靠性、可扩展性
发现引起系统问题的原因,关注采用何种技术提高系统性能
软、硬件配置是否合适(容量规划/硬件选型)
性能测试在功能测试中后期。
3.术语
性能测试是通过一系列条件来对系统的各项性能指标进行测试。性能测试主要用来保证产品上线或发布后系统的性能满足用户需求,性能测试在软件质量保证中起重要作用。
并发数:系统用户数,简单地说就是该系统的注册用户数
在线用户数:即登录系统的用户
响应时间,又叫请求响应时间:TTLB
事务响应时间:事务:一组密切相关的操作集合
每秒事务通过数:TPS 是指每秒系统能够处理的事务数。
点击率:每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。
吞吐量:单位时间内系统处理的客户请求的数量
4.性能测试模型
曲线拐点模型
地铁模型
5.性能测试分类
1.基准测试
可以在制定的标准下通过基准测试建立一个性能指标,作为后续性能测试的基准。
2.负载测试
负载测试是在被测系统上不断增加负载,这种测试方法可以找到系统的处理极限,看系统最大的用户负载是多少,是否达到了需求所需要的性能测试指标,为系统调优提供数据。
3.压力测试
压力测试是测试系统在一定饱和状态下,并且运行一段时间,系统能够处理的会话能力,以及系统能否会出现错误、系统资源是否分配合理等。
4.并发测试
并发测试是通过模拟用户的并发访问,测试多用户并发访问同一个应用,同一个模块或者数据记录时是否存在死锁或者其他性能问题。
5.配置测试
配置测试方法是通过被测系统的软/硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到各项资源的最优分配原则。
6.可靠性测试
可靠性测试是通过给系统加载一定的业务压力(例如资源在70%-90%的使用率)的情况下,让应用系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行。
7.失效恢复测试
是针对有备份和负载均衡的系统设计的,这种测试方法可以用来检验如果系统局部发生故障,用户能否继续使用系统以及如果这种情况发生,用户将受到多大程度的影响。这种业务系统一般要求有一台或几台服务器出现问题,应用系统仍然可以正常执行业务。该方法就是在测试中模拟设备故障,验证预期的恢复技术是否可以正常发挥作用。