产品性能测试通常粗的分,我会将性能测试分为两类:可靠性测试(压力测试、负载测试等)和性能测试。这两种测试有很多的不同点:
1)可靠性测试往往模拟的用户的使用情况,强调的为时间的延续性,要求产品没有不可接受的失败。
2)性能测试往往需要和硬件条件联系在一起,寻找性能的最好发挥以及最优的方案
通常性能测试需要在产品设计时就要进行简单性能测试,以对产品进行性能初期评估和调优,早于可靠性测试。同时在系统稳定时,常常还需要做详细的性能测试,以给应用方以数据参考。
那如何做性能测试那?
1) 性能测试应该早期就积极介入。介入代码审查和分析性能目标,多提出疑问,早期发现潜在的性能问题
2) 性能测试考虑全局,他是一个系统的测试。需要在产品的每个部件都做了一个测试,并全部成功后才开始系统测试执行。需要考虑多种因素:环境的、硬件的、软件的等等。
3) 测试前一定要检查确认配置。参数一定要配置对,否则测试无效。最好对于每个测试都有一个checklist,每次检查前都一一检查。这一步骤一定不可以省略,并需要被开发review。
4) 数据预热和数据准备很关键。一开始系统并不是一个干净的环境。我们需要在性能测试开始前预存一定的数据,并且让其有个增量。而且也要考虑到哪些方面数据多少(要更具实际情况)。
5) 准备测试脚本和工具要考虑实际情况。比如人的思考时间,场景的设计,不同操作的比例,数据的随机性等都要仔细设计,最和可以开发以及应用方进行讨论和确认。
6) 测试执行前一定要确保服务器独占,执行中如果是5-7天的测试,最好拿出一天先跑一个一天压力不高的测试,潜在一天发现可发现的问题。
7) 多种测试结果的分析发现问题。
a) Log日志的分析
b) 系统状态的分析
c) 数据一致性的分析
性能测试需要长时间的经验积累,我知道的只是些皮毛,后面还会继续探索,喜欢性能测试并将会在实践中不断积累和成长。