Web性能测试案例分析
一、架构设计阶段的性能测试
案例重点关注如下三个方面:
如何根据项目需要来设计与开发测试程序。
测试工具在性能测试中的作用与地位。
针对数据库本神进行性能测试的地位。
二、项目背景
三、性能测试策略、目标、范围、环境
四、性能测试分析与设计
(1)系统架构组对数据库提测试出了如下要求:
测试数据库对复杂SQL语句的支持,尤其是一些长SQL语句的支持。
测试数据库对二进制等格式类型存储的支持。
测试系统在数据量较大时的多用户并发查询的响应时间--查询响应时间为Web服务器对数据库响应时间,不包含应用系统响应时间。
(2)根据上面的测试要求的分析,设计出如下性能测试方案:
测试体系采用B/S架构方式,对数据库的查询操作封存在Servlet中,Servlet运行于tomcat5.0上,前端采用JSP页面调用Servlet并输出执行结果(数据库执行查询的时间)和查询结果(数据库返回的查询结果)。
利用原型系统后台数据库的数据作为测试数据,保证测试结果更加真实。
测试采用的查询语句用原型系统的业务语句,保证测试兼顾实际应用。
通过测试工具LoadRunner来创建虚拟用户,实现用户并发查询。
通过测试结果来综合分析各家数据库的性能。
五、性能测试实施
测试脚本的开发与修改
数据库系统调优前的测试
数据库系统调优后的测试
六、测试结果分析
各家国产数据库调优前的测试结果及分析
数据库调优策略
各家国产数据库调优后的测试结果及分析
稳定性测试场景分析
测试结果
七、案例点评
体现了模型剪裁与具体化原则
节约了一定的开发成本
仅仅有测试工具是不够的:很多人认为有了性能测试工具,就可以完成性能测试任务,根本不需要自己去开发脚本。实际上,性能测试最重要的是设计与规划,如何去执行测试用例,则是相对容易的事情。执行测试用例主要通过测试工具,但有时还要靠自己开发的脚本来辅助测试,案例中的测试项目就是很好的证明。
调优不能解决一切问题:性能测试的基本思路“测试--发现问题--调优--再测试”的反复过程。因此,解决性能问题应该从设计阶段着手。