前言
某系统要求压测修改密码功能。我们不讨论这个场景是否有必要压测,只从技术角度,讨论如何实现。
乍一听觉得这个场景很简单,没有复杂的业务逻辑,也不需要前后关联,就一个接口的事儿。
然而真正做起来,却还是费了点时间的,记录一下。
业务规则
1、新密码不能与旧密码相同,好在,不校验历史密码。
知道了这一点,我就立刻想到用两个密码交替使用呗,所以密码的长度、复杂度等要求,我就直接忽略了,在原密码的基础上,变更一个字符生成一个新密码好了。
2、修改成功后,用户被登出。
接口逻辑
1、用户发送登录请求,需提供用户名和密码。
2、用户发送修改密码请求,需提供用户Id(可从登录请求的响应中获取)、新密码、旧密码,修改成功后被登出。
3、用户需使用新密码再次发送登录请求,才可继续修改密码,此时新旧密码已经互换了。
4、以上循环往复。
思路梳理
本文为简化,两个密码分别定义为a和b,且初始密码为a。
密码准备好了,可是,如何实现执行中二者交替互换?按照最笨的方法,在脑海中走了几遍流程:
1、第一次登录,使用原始密码a,但是下一次登录的密码要变成b,所以密码要定义一个变量,初始值为a,可以使用User Defined Variables实现:pwd=a。
2、修改密码,其中新旧密码两个参数的值一直在互换,所以都要使用变量,旧密码就是pwd,再定义一个新密码
压测修改密码功能实战
订阅专栏 解锁全文
945

被折叠的 条评论
为什么被折叠?



