2011年已经过去了,一直在想去年我的测试水平到底有没有提升,主要在哪些方面,而哪些方面提升不多,哪些事情做得不到位,这些都是需要思考的。
其实自己个人感觉做得比较多,但是很多事情也没有升华下去,接下来就说说自己做的几块大的事情吧,也说下自己的思考和不足。
预计会写如下几篇(争取一天一篇):
2011回顾之接口性能测试
2011回顾之持续集成最佳实践
2011回顾之持续测试设计最优化
2011回顾之探索式测试实践
2011回顾之公共组件的抽象
2011回顾之前端测试
接口性能测试
性能测试,这个领域我一直都不敢踏进,我怕我看不透,太表面了,而且一直有种畏惧的心理,很难说清楚。年初的时候,换了个新团队,事情不是太多,就选了个接口性能测试的任务。由于自己做过接口测试,对接口的功能测试方面还是有些了解,做性能测试还是有一定后怕的。经过痛苦的过程,总算完成了一些基本的任务,自己还是提升比较多的,也写了接口性能测试七步一杀的总结。
机器申请、环境搭建、性能测试方案设计、开发Client和数据准备、开发LoadRunner脚本、开发和运行测试场景、性能测试报告和线上跟踪。
(1)机器申请:前提准备:我们已经知道了所需要的机器数量;另外就是要知道被测应用的服务器的线上硬件配置信息;另外就是数据库的信息了。
(2)环境搭建:前提准备:拿到了性能测试机器后,根据性能测试的模型搭建环境,由于Client机器需要自己搭建,这里如果是使用接口性能测试模型,就需要自己安装个Jboss
(3)性能测试方案设计:采集原始数据:根据本项目确定需要进行性能测试的所有接口,每个接口的总PV和其最大能接受的响应时间,线上机器数量和配置;计算期望TPS:根据性能测试模型计算出来每台服务器每秒平均PV量和每台服务器每秒高峰PV量;场景开发:根据被测接口的业务关系,进行性能场景的开发,对于接口测试,一般分两种情况:一种是单场景的接口性能测试(就是每个场景测试一个接口),另外一种是混合场景的接口性能测试(每个场景可以测试多个相关的接口;确定性能测试类型:根据性能测试和稳定性测试分别列出性能测试场景和相关数据。
后面的一些步骤都是比较基础的,相信大家都容易比较理解。
性能测试团队的XDJM帮助了我很多,傻瓜式的教我怎么配置、怎么使用LR、怎么写性能报告。由于个人对性能测试实在了解不多,这里提出我个人的一些想法:
1. 性能测试最关键的调试环节,是我最痛苦的过程,需要不停的调我的vuser和时间来跑,是否有更好的思路和规则来引导呢
2. 性能测试环境的自动化部署,也许各个公司的不一样,负责环境的部署,确实需要一定实力,有时候甚至需要一点人品,我有时候就很痛苦,到底为啥呢
3. Client的发包框架可以更通用,由于测试的是Java接口,使用到了某个牛人开发的性能测试框架,和LR的结合还是比较不错的,后续可以考虑Client的开发更加容易
4. 有时候真的需要耐心,性能测试比功能测试更需要耐心。因为功能测试发现bug比性能测试容易多了,不容易被迷惑;性能测试很容易耐心去不断的调优和抓点,个人感觉需要一定的定力,我当时调试时就缺乏耐心了。
5. 性能测试的bug敏感度不亚于功能测试的bug敏感度,只是很难表现出来,因为性能测试向来需要较多时间,我就觉得自己这方面的敏感度不行,也许和经验有关,经验丰富的性能测试人员很容易找到可疑点,然后使用工具确认和定位。使用工具也是我的弱项,发挥不同工具的优缺点是性能测试人员的关键价值了。
由于自己在性能测试经验相当不多,纯属于乱弹琴了,请大家包涵。下一遍介绍大家感兴趣的持续集成最佳实践。
原文转自:http://blog.sina.com.cn/s/blog_6cf812be0100zuq3.html