先来一段小视频,不然怎么叫不务正业的测试狗呢
涟漪钢琴片段
-----------------------内容分割线-----------------------
性能测试,上网一搜,多数都是告诉你,什么是负载测试、稳定测试、压力测试,并发测试等等。测试的工具基本都是JM和LR,原理都是大同小异。要学会工具的使用,只要你愿意都能学会,当然啦,做性能测试,会用这些工具是必要的,可是会用工具不代表你会性能测试,为什么呢?
对于我们测试来说,最关心的东西,一个是RT(相应时间),另一个是TPS(吞吐量),RT小,TPS高,那性能就很屌了。对吗?
不完全对,RT小,怎么才算小,小于1s?小于0.5s?还是多少,每个公司的要求都不一样,具体还得看需求。TPS也一样,看需求。
定义RT、TPS的值,这里大概分两种情况,一种是新接口,一种是旧接口。
新接口:没有任何参考指标,理想情况下,可以向运营的同事了解,涉及到这个新接口的业务,最高PV、UV大概是多少,你就可以大概估算出TPS了。
旧接口:测试旧接口,简直不要太舒服,参考生产环境的数据就可以了,然后再根据运营给出相关业务预算增长率去换算,就可以得出需要的TPS了。
到这里,你已经可以好清楚你需要测试这些接口的指标了。BUT
对于开发来说,这远远不够,没有意义,是完全没有意义!
要是接口RT够小,TPS够高还好,万一不够呢,比如响应时间长,就代表这个接口响应时间慢,我这样说,一定会有人刚,这不是废话吗,对,就是废话。同样,对于开发来讲,也是废话,没有任何优化指导的意义。要说慢,慢在哪里?这是重点!
讲到这个份上,应该开始有点头绪了吧?我们做这个性能测试把RT、TPS测试出来了,这仅仅是第一步,接着就要看对应压测时间段内相关服务器的监控情况,要监控什么东西,就要看这个接口的设计了。比如,A接口是一个查询返回结果的接口,需要查询数据库,那么你就要看一下sql服务器的监控,同理,如果是查询redis的,那就看redis服务器的监控。
到这里,你们觉得ok了吗?No,你还需要看一下对应时间段内的监控日志是否有报错,有的时候接口功能测试通过不代表在流量高峰的时候就不会报错。
最后,就是报告的输出,包括测试的软硬件环境,接口的设计、改动,性能测试脚本的设计,测试的方法、时长以及结果。
上述这些做好了,才是一个比较完整的性能测试工作。
从头到尾,捋一捋性能测试的过程,了解性能指标->了解项目架构(一般可以找运维的同事提供相关拓扑图)->了解接口的设计->准备测试脚本->执行性能测试->输出测试报告
done,希望对大家有用吧~