前言:性能测试是现如今测试人员都要有具备会的,至少目前内卷的来说,不会点性能测试、自动化测试,都不对不起自己的高薪,对吧,所以小白想要高薪,就必须要学会这些技能,因为你不会不代表别人不会,缺乏核心竞争力,只会点点点工程师的出路很窄,以下讲解的性能测试用到的工具Jmeter的基础知识,胎教级别教学,绝对看的懂,如果看不懂,当我没说,哈哈哈。
一、性能测试定义
性能测试(Performance Testing):在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。
区分用户的概念:
①在线用户:已三次握手但未四次挥手[接口知识]
②并发用户:对系统伤害大的用户集体访问状态(比如12306抢票、双11、京东618等)
③系统实际用户:系统额定的用户。
补充一点:性能指标和性能需求来源于客户。
二、性能测试类型
【1】负载测试(Load Testing):负载测试关注的是不同负载水平的系统的性能指标。为了得到压力数确定下的性能指数。例如我们可以找到系统的最大用户数和最佳用户数。
【2】压力/强度测试(Stress Testing):压力测试则关注在超高负载(超过系统最大用户数)的情况下,系统是否还能稳定处理,如果不能稳定处理,那么系统还能坚持多久。其重点是关注系统是如何失效的,以便于制定系统正式上线后的风险控制措施。
区别:
负载测试
①关注找指标,获取最大用户数指标
②获取指标方式:根据经验得基础指标,在基础指标上增加,一直到系统性能开始下降。在下降的周边范围测试取值。
压力测试
①关注超高负载,目的在于“压死”系统;基于负载测试。
②获取指标方式:根据往期经验值,加到系统崩溃,记录下此时用户数(从最大用户数到崩溃用户数)、时间(系统能撑多久,风险控制措施[含蓄报错,多开服务器]在此时间内上线)、并发等数据。
【3】配置测试(Configuration Testing):在不同的软件、硬件以及网络环境配置下,通过运行一种或多种业务在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。
【4】容量测试(Volume Testing):目的是通过测试预先分析出软件中某指标的极限值(如最大并发用户数、数据库记录数等),保证系统在其极限状态下没有出现问题并能正常运行。
区别: