没有性能指标,无法开展性能测试吗?
刚才我的知识星球里,一位同学问了我这样一个问题:
问题:没有性能指标,是不是就不能开展性能测试?
背景:开项目会议,产品和研发提出要对系统进行性能验证,但又无法提供明确的性能技术指标。
如果你是该项目的测试同学,你会如何解决这个问题呢?
下面的内容我不会透露直接的答案,我会谈谈和性能测试有关的一些理解误区,以及作为一个技术博主的想法。
我写技术文章超过八年了,全网也有几百万的阅读量,特别是性能测试四相关的文章,应该是写的最多的类型。
上面提问的这位同学,也算我的老读者了,他看了我不少性能测试相关的文章。在他的认知里,性能是一个相对概念,没有参考系的性能测试数据是不可靠的。
他的理解有错吗?没有。性能确实是一个相对概念,如果没有性能度量评估指标,对系统稳定性来说,确实很不靠谱。
但从我的角度来理解,我更认为指标是一个滞后的参考值,它只有在有测试结果之后才能发挥真正的作用。要有性能测试结果,那前提条件一定是有对应的测试场景,否则测试结果在逻辑上就站不住脚。
至于性能测试的结果和性能指标之间的关系,我更认为性能指标是一个参考值。与之相比更重要的是,最终的性能测试结构是否能被团队或项目中其他角色认可和接受。
在性能测试开展之前要确定性能测试指标,这句话没错。网上很多文章或者专业的性能测试书籍是这么写的,我自己的性能测试文章中也是这么描述的。
但我这样写的初衷是:文章要通俗易懂,更要考虑技术水平和实践经验没那么多的同学看了之后能对性能测试有更全面的理解。
简单来说,在性能测试开展之前要确定性能测试指标,这是按照比较标准的模版或者套路往下走,更适合初学者或者没太多实践的同学。
但对于技术能力强有丰富实践经验的同学来说,遇到问题解决问题从来都是因地制宜的,而不是纯粹的参考或者遵循模版或套路。
理论正确和实践正确,是两码事。
理论正确指导实践,但最终的实践结果,绝不是照本宣科。
接着聊聊如何面对需求不明确或者一句话需求的性能测试问题。
作为测试同学特别是专职的性能测试同学,有责任也有义务在面对需求不明确时,去牵头搞定需求不明确的问题。
需求不明确,那就找相关干系人(产品/研发/运维)沟通确认,帮他们捋清思路,确认需求。作为专业的性能测试人员,你要自信在性能测试领域,绝大多数业务开发和运维,是不如你专业的,术业有专攻。
很多时候,并不存在明确的需求。作为专业领域的人,你的岗位职责中有一项潜在的职责就是抹除不确定性,通过不断的沟通交流和实践,最终得到确定的具体的结果。
性能测试中,最核心的就是三大模型:业务模型+流量模型+数据模型。再加上较为完善的监控分析工具辅助,做好性能测试其实并不难。
消除需求的不确定性,这个过程也是个人成长最快的过程。
技术能力和经验的提升,从来没有捷径可走,不要因噎废食。