先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
都导入、复制完成之后,一个整洁的项目接口页面如下,接下来就可以开始干活儿了。
使用mock功能造数据字段
对于测试数据中的常规数据,如姓名、电话号码、邮箱、地址等,Apifox已经内置了一批mock规则。
如下所示,Apifox的mock规则兼容mock.js的语法,并且可以通过正则表达式,灵活构造数据规则。可在项目设置-功能设置-mock设置
中查看所有内置规则、添加自定义规则。
使用的时候非常简单,选择测试数据对应的接口,在接口请求和响应的参数中选择变量所对应的造数规则,保存并发起请求,则每次都会生成对应的数据。 举例: 我们使用post接口来生成宠物数据。在请求参数mock规则框选择符合该字段要求的造数规则并保存、发起请求。
则接口保存并返回了对应的宠物数据:
生成专有业务数据
上面生成的常规测试数据是直接使用内置造数规则,构造出来的,我们做的操作基本就是做选择题。这确实符合我们之前所说的低成本、高效造测试数据
。
如果是一些垂直行业内专用的业务数据,像刚刚说的物流号,订单号,保单号之类的数据。
Apifox的内置mock规则里没有现成可用的,但它提供了自定义mock规则来满足这类需求。
这里不需要复杂的代码,通过一行正则表达式即可完成造数逻辑。至于写出来的这行正则表达式是否能准确概括数据规则,可以通过一些在线的正则表达式检验器去校验,校验成功后才填到mock规则里。
举例:假设项目涉及到物流行业顺丰的运单号,那么可以在项目设置-智能mock设置
里,新建一个自定义mock规则,填入一个正确的正则表达式,之后再在接口响应参数里使用该规则
发起包含该字段的接口请求,可得到符合业务要求的运单号数据:
批量造数据
如果需要生成多条测试数据,则可以在接口设计页面-请求参数
中设置动态值,动态值的设置同样遵循mock规则,动态值使得每次提交的数据都不同,则对应的能生成不同的新测试数据。
将该用例保存,导入自动化测试中循环执行10次,则会生成10条测试数据。
使用接口自动化造场景数据
有时候一个测试数据可能需要中间数据才能生成,这需要调用到多个接口,涉及到接口间的参数调用和接口关联的问题。 这里我一般是用apifox的接口自动化功能。 鉴于本文不是专门介绍接口自动化的,只稍微提一下用接口自动化来造测试数据的三个关键问题:
参数用例自动生成
单个接口的响应数据构造在上面已经提到,只需要将配置好的用例保存为参数,接着再自动化测试-新建测试用例-导入步骤
里绑定这条用例场景用例一键导入
根据执行一个业务场景所需要的接口按调用顺序进行拖曳排序,模拟实际操作场景
接口变量提取和接口关联
回到单个接口用例中,将供下游接口使用的参数提取到全局变量中,在需要使用上游接口变量的接口的请求参数中调用该变量。
最后再执行整条测试用例,完成最终测试数据的获取。
使用mock期望,自定义mock脚本完善测试数据
造出来的数据,在数据结构上是没问题了,但某些测试场景下可能存在业务约束,需要更加精确一点的测试数据,那可以用到数据约束
,自定义mock脚本
。
数据约束
在确定了响应数据的数据类型如string,boolean等基础之上,还可以在请求参数-高级设置
对数据范围进行进一步约束。 如,对body里的某个参数,数据类型为integer
,可以在高级设置里,缩小数据的变化范围。
测试数据的管理
用代码写的造数脚本,通常只有写它的人才知道具体的造数逻辑,这个小伙伴离职了就会比较难维护下来。
但是用这个工具的话,造数逻辑还是比较简单的,而且整个团队都能看到具体、详细的规则,不会因为团队里有人走了,脚本就废掉了。
然后因为是造数是通过接口请求去实现的,造数规则是附带在接口请求和响应参数里的,所以如果版本迭代了,接口变了,那造数规则要改的话,也直接在这个接口文档页面改就好, 也不必去改脚本。
尤其是接口增删改了参数,或者修改了数据类型和数据结构,基本上要改的就是一个正则表达式,接着对应参数页面选择新的造数规则。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
测试)**
[外链图片转存中…(img-jsOwtn1j-1713539687440)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!