为什么要做性能测试?
性能测试前几年被关注的较少,近几年备受重视,那为什么要做性能测试呢?有很多种说法,个人比较认可下面这个,分享给大家:
1、评估系统的能力
2、识别体系中的弱点
3、系统调优
4、验证稳定性(resilience)可靠性(reliability)
针对上面这几种目的,针对不同的结果,给出不同的应对方案和措施,这才是性能测试的终目标:
1、测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
2、受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3、重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
4、检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
5、在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的方法
如何提炼性能测试点?
没有接触过性能测试的同学会觉得性能测试很深奥,很神秘,提到性能测试让人无从下手的感觉,其实,性能测试没想象中那么复杂,简单的说,性能测试是功能测试量变达到质变的一个过程。简言之,哪些功能可能被大量用户访问的点,是性能测试的重点之一。
之前做过一些小项目的性能测试,经常容易出现问题的点做了一个分类,之后我们在提炼性能测试点的时候会关注这些方面:
● 前端页面上
1、页面上本身有计算内容的地方 减少运算次数 2、通过接口取其他系统数据的地方 3、页面展现内容较多时是否翻页 4、iframe 静态文件和缓存 5、页面上的静态文件,如JS,更新频率 6、读取排行榜如果不是从数据库读取可能会有性能问题
● 数据库上的
1、读取数据库 2、写入数据库 3、存储过程 4、数据库之间同步 5、数据库检索、查询 6、索引 7、sql语句 8、数据类型
● 程序本身上的
1、程序与其他系统交互的 2、代码效率
业务功能,数据库及程序本身涉及到上面这些内容的,都需要注意性能问题,可以结合业务和项目实际情况,考虑把这些点作为性能测试的一个关注点。当然,性能测试上手容易,做好难,想做好性能测试,还是需要慢慢不断深入和积累的