性能测试怎么入门?一文7个知识点带你成功入门

一、相关概念

1、性能测试相关:负载测试,性能测试,压力测试,稳定性测试,全链路测试等

2、性能指标:吞吐率,tps,并发用户数,吞吐量,响应时间等

二、性能测试

1、概念解析:通过工具,找出或者获得系统在不同工况下的性能指标值。主要使用性能测试工具(jmeter,loadrunner等)或者代码

1.1 找出:产品在第一次做性能测试的时候,找出性能指标值(有多个值)

1.1.1 找出后:这些指标值如果不满足预期,预期某个性能指标值大于我们实际测试出来的指标值,这个时候,需要定位,分析,调优

1.2 获得:产品非第一次做性能测试,再已有性能指标的基础上,再次进行性能测试,对比两次测试结果。

1.2.1 利用性能测试工具,使用不同的方式模拟多用户并发。

1.2.1.1 性能测试(服务器端的性能测试),要多用户调用服务的接口来进行性能测试

  (1)多用户:性能测试,不能用单用户请求(并发用户不能是一个)

  (2)用户信息可以是一个也可以是多个,但是一般情况下,我们用多个不同的用户信息。

注意:性能测试结果是性能指标值,指标值满足要求,可以写性能测试报告,性能测试可以结束,不满足,通过这些指标值进行定位,分析与调优

2、广义与狭义

2.1 广义性能测试:只要与性能测试相关的测试

2.2 狭义性能测试:只是找出或验证性能测试指标(现在做的性能测试都是狭义性能测试)

2.3 广义并发:同一时间发起请求(现在的性能测试一般都是广义并发)

2.4 狭义并发:同一时间发起相同的请求

三、负载测试

1、概念:通过逐步增加并发用户数,看服务器最大可承受的并发用户区间

1.1 并发用户数:性能测试的原动力,模拟多人发送请求

1.2 通过开始区间,慢慢缩小这个区间,得出最大可接受的并发用户数

难点:怎么看出超出了最大处理能力(后面会分析)

1.3 二八原则:80%的请求,发生在20%的时间里

例:假设你们产品 日均访问量 500w次 -----一天内访问网站的次数 500w / 24 / 3600 ====得出1秒钟访问的次数 每秒钟 访问58次

(500w*0.8 )/ (24*0.2 *3600) 二八原则 80%的请求,发生在20%的时间里

400w / 17280 == 232 每秒钟访问了232次---服务器每秒要处理232次请求----TPS 假设人是1秒钟发1次,----232个人

1.4 预估并发用户的思路

  (1)生产环境的日均访问量进行换算
  (2)看生产环境监控,监控中,最大请求那段时间段的并发数

四、压力测试

1、概念:在一定量的并发请求下,持续运行一个比较长的时间,来看服务器的稳定性。

1.1 时间:一般以小时为单位

1.2 一旦服务器有宕机的问题,要做压力测试,一般,先用比较小的并发用户数,然 后再用比较大的并发用户数(相对最大可接受的并发用户数)

注意:企业一般所说的压测是负载加性能测试,不是压力测试

五、压测

1、概念:压测并不是我们所说的压力测试,也不是我们概念中的性能测试,在企业中一般是负载测试与性能测试的结合。

2、操作:压测的真是意思是需要去做一个完整的性能测试

2.1 先做负载测试,再做性能测试,通过负载测试得到最大可接受的并发用户数,然后用这个最大并发用户数进行性能测试,得到我们的指标值,即压测=负载测试+性能测试

六、稳定性测试

1、概念:通过一定量的并发用户数,向服务器发起请求,查看一段时间后,服务器是否还稳定运行。

2、稳定性测试与压力测试的区别

2.1 区别点:并发用户的多少,稳定性测试可能只需要用到最大并发用户数的20%,但是压力测试需要用到20%,40%,80%逐级递增

2.2 稳定性:主要是因为在一定量的并发用户数,持续运行一个比较长的时间段内,服务器会占用比较多的资源,如果在这段时间内,我占用的资源能够及时回收,那么服务器就不会有宕机的风险,如果不能及时的回收资源,那么资源就会越占用越多,最后超出服务器可承受的极限,会导致资源不足,服务宕机。

  2.2.1 任何一个软件或者服务启动,都会占用一定量的资源(内存),这个量在启动时,已经确定,那么这个软件,在它的生命周期内,都是使用这个一定量的资源。如果这个时候软件因为内存不够而异常,则称为内存溢出

  2.2.2 一台服务器,它的资源是有限的,你现在开启的服务非常多,每一个服务都要占用一定量的资源,可能导致,整个机器资源不足,导致机器宕机。

七、容量测试

1、概念:在一定软,硬件条件下,在数据库不同数量级数据量的情况下,对系统中,读写比较多的业务进行测试,从而获得不同数据量级下的性能指标值。

  1.1 不同数据量级:数据库表中的数据总量

  1.2 数据量级:a.我们可以根据生产数据库的数据量级来确定 b.根据产品未来的一个发展趋势来预估

2、前面讲的性能测试,使用最大用户并发数进行性能测试,其实隐藏了一个默认的条件,数据库表的容量,在你预估的一个数据量内

八、总结

企业中性能测试,一般,先做负载测试,得到最大可接受的并发用户数,再通过这个最 大可接受的并发用户数,进行性能测试,得到性能测试指标值,再根据这个指标值,判断是否符合预期,符合,则测试结束,如果不符合,则需要进行问题定位、分析与调优。一般最后再做压力测试,来测试服务器的稳定性

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

你可能感兴趣的:(软件测试,软件测试工程师,自动化测试,java,开发语言,软件测试,自动化测试,功能测试,程序人生,职场和发展)