测试人员通常是做为软件质量控制的一个角色,不仅仅是找bug,需要对整个软件的质量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面:
1、测试人员需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。
2、测试人员在做性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等。
性能测试流程
(1)业务学习:通过查看文档,手工操作系统了解系统功能
(2)需求分析:分析系统非功能需求,性能测试的范围,了解系统性能指标
(3)工作评估:工作量分解,评估工作量,计划资源投入(人,工作日)
(4)设计模型:把业务模型映射成测试模型 ,当需要交互的另一方系统不存在时,自己开发挡板程序(mock程序)进行替代所需功能测试,保证性能测试工作正常进展,这个过程叫设计测试模型
(5)计划编写:在文档中明确列出测试范围,人力投入,持续时间,工作内容,风险评估,风险应对策略等
(6)脚本开发:录制或者编写性能测试脚本
(7)测试环境准备:服务器和负载机两部分,服务器是被测系统的运行平台,负载机是我们用来产生负载的机器,用来安装负载工具,运行测试脚本。
(8)测试数据准备:根据数据模型来准备被测系统的主数据(保证业务能够运行通常的基础)和业务数据,准备存量/历史数据(数据量变引起性能变化)
(9)测试执行:性能测试成败关键,同样脚本不同测试人员测出结果差异大(体现在场景设计与测试执行上)
(10)性能调优:测试人员和开发人员一起解决性能问题
(11)测试报告:性能指标说明(TPS,RT,CPU ,Using),发现的问题
性能测试主要交付件:测试计划,测试脚本,测试程序,测试报告或阶段性报告(项目周期长)
性能测试类型
基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考
负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 。
压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
稳定性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,
网友评论