在软件测试过程中,性能测试和功能测试区别很大,测试过程和方法都不一样,对测试工程师专业技能要求也是不一样,通常性能测试对人员要求高于功能测试,功能测试用例设计方法有等价类与边界值、场景法、正交排列驱动法、因果图、判定表……,那么性能测试用例如何设计和编写。
性能测试目的:
为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。
性能测试指标:
用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求+经验)
主要的性能指标:
服务器的各项指标CPU占用率、内存占用率、后台数据库的各项指标、网络流量、响应时间。
1、性能测试像一个人在无风情况下跑步(正常情况下的性能指标);
2、压力测试像一个人在微风中跑步(在正常的基础上加大多少百分比压力的性能指标);
3、负载测试像一个人在强风中跑步(不断加压,直到系统崩溃)。
HTTP协议观点:
1、 负载测试是正常情况下持续的加压;
2、 压力测试是直接加压达到一个极限值,所称峰值测试和极限测试;
大家统一的观点:
性能测试、压力测试、负载测试、峰值测试密不可分,可统称为性能测试。
性能测试要点:
1、 性能测试是在功能测试完成之后进行。
2、 性能测试计划、方案一般与测试用例统一在一个文档里。
3、 测试环境应必须与用户环境保持一致,否则测试结果偏差很大,不具有参考价值;
4、 性能测试一般使用测试工具和测试人员编制测试脚本来完成,性能测试的环境应单独运行尽量避免与其他软件同时使用。
5、 性能测试的重点在于前期数据的设计与后期数据的分析。
6、 性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。(说明:当系统中出现的某个功能点需要修改,它一般只会影响到功能测试的设计用例,而对于性能测试,很少影响到性能测试的设计用例。但是如果某个功能有较大的修改,性能测试也应该进行重新测试。
上面我们是以HTTP协议为例详细讲解,除了HTTP协议,还有几种常见协议,https、websocket、tcp/ip、MQ等等协议、设计测试用例大家参考HTTP协议,设计思路基本上都是大同小异。
推荐阅读: