为什么要做性能测试?
- 应用程序是否能够很快的响应用户的要求?
- 应用程序是否能处理预期的用户负载并有盈余能力?
- 应用程序是否能处理业务所需要的事务数量?
- 在预期和非预期的用户负载下,应用程序是否稳定?
- 是否能确保用户在真正使用软件时获得舒服的体验?
什么时候进行性能测试?
在功能测试完成,所有的功能都比较稳定的时候,才可以做功能测试,一般在测试的中后期执行
性能测试术语
1.并发数:
广义并发数:同一时刻向服务器发送Http请求的用户数量;(有可能不是同一个功能) 在线用户数:同一时刻正对系统的同一功能向服务器发送请求的用户数; 系统用户数:注册了这个系统的用户数量; 在线用户数:登陆了这个系统的用户数量
2.响应时间
(用户发送请求到看到期待的信息所花费的时间)
响应时间=用户反应时间+网络传送时间+服务器处理(包含数据库处理)
事务响应时间:事务是指一组密切相关的操作组合。例如一次登录可能包含了多次HTTP请求,如:判断用户是否存在?密码是否正确?是否已登录?登录?等多个HTTP请求 YPS:每秒能处理多少事务 点击率:每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。 吞吐量:单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力,一般来说用请求数/秒或是页面数/秒来衡量,从业务的角度,也可以用访问人数/天或是处理的业务数/小时来衡量,从网络的角度来说,也可以用字节数/天来衡量。 思考时间:思考时间就是用户进行操作时,每个请求或者操作之间的间隔时间,是为了更加真实地模拟用户的操作场景。 资源利用率:不同系统资源的使用情况。CPU,Memory,磁盘,网络。
性能测试类型
1.负载测试:
(运行15min左右) 并发测试:在一定的软硬件环境下,系统的其他指标不变,测试系统在不同用户量访问级别下,系统性能的表现 容量测试:在一定的软硬件环境下,系统的其他指标不变,测试系统数据库数据量在不同的级别下,系统性能的表现
2.压力测试:
高于系统的最高负载,去运行系统,查看系统的表现
3.可靠性测试(疲劳测试):
低于系统的最高负载,去运行系统,查看系统的表现
4.配置测试:
配置测试方法是通过被测系统的软/硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到各项资源的最优分配原则 例如在测试执行时更换、扩充硬件设备,调整网络环境、调整应用服务器和数据库服务器的参数设置,比较每次测试结果,从而确定各个因素对系统性能的影响。