既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
目录:导读
前言
我们的实际工作中,需要先登录,然后才能做某些操作的现象非常常见。
但是,对于一个刚刚学会用jmeter做性能测试的人来说,这可能是自己的性能测试之路的第一个坎。
需要先登录的接口如何做性能测试?
首先,从这个诉求中,我们至少能提取出两个重要信息。
需要登录;登录后才能做。
以为着登录之后的接口,都有登录认证,判断是否登录,登录认证未通过,那么接口请求就会失败。
那么好了,问题来了。我做性能测试,是需要用多个虚拟用户来实现并发的。
场景一:
是用把所有虚拟用户使用同一个用户账户,每次都是先调登录接口,再调登录之后接口请求吗?
如果你的系统,业务上允许一个用户在不退出情况下,反复登录,且没有登录次数限制,这种最理想的情况,你完全可以这么做。
做完了,你可能会想,我不用一个账户,100个并发用户数,我就用100个独立账户。
场景二:
每个虚拟用户都试用一个独立账户,还是先调登录,再调登录之后接口请求,这样可以吗,要怎么做?
当然可以,做法也非常简单,就是在你的线程组里面用上“csv数据文件设置”读取出用户账户信息,或者用JDBCrequest从数据库获取出用户信息,然后再在登录接口中用取出的用户信息来登录。
这样,在性能测试时,就会循环使用你用户总量中的用户来发送请求,这样,理论上是行的通的,但是,现实有些骨干,因为我们做性能测试,使用的是高并发,可能存在竞争关系,就可能出现后续接口,使用的关联参数可能取不到值,从而导致请求报错,而这种错误,不是性能测试服务器响应报错,而是脚本问题导致报错,影响我们对性能结果的判断。
那么,我们就会问,还有没有其他办法呢?
场景三:
用一定量的用户登录一次,登录之后,再去调其他接口,是不是也可以呢?下面,我就重点讲讲这种做法。
是不是,看了上面的动画,还是没有明白?
解释一下:
我们在一个普通的线程组下面,新增一个逻辑控制器中的‘仅一次控制器’,在这个控制器下面,新增一个 login登录接口的请求;
再在仅一次逻辑控制器平级的位置添加如 ‘重置密码’‘修改密码’等接口(模拟你的需要登录之后才能调用的接口),因为接口需要关联,所以,在登录接口下添加一个后置处理器(json提取器),提取出参数,最为后续接口的输入参数,实现接口关联。
从上面,是不是发现,线程数设置5,登录接口总共调用5次,而其他接口,在整个测试运行过程中,一直运行。
从最后的这个聚合报告,我们也可以看出,login接口,总共调用5次,重置密码接口分别对5个用户进行了并发请求(从后缀可以看出),只是需要明确,并发请求,并不代表整个过程每个用户的并发总次数相等(从样本总数不同可以看出)。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!