所谓接口测试,是测试系统组件间的交互,以验证接口间数据传递的正确性与性能是否符合用户需求的测试过程。
根据交互类型不同,分为系统内部接口、系统外部接口等两个方面。
系统内部接口,即系统内部各个组件间的数据交互,如用户通过浏览器发送注册信息到服务器,服务器进行验证,以便完成注册过程,这就是一个典型的系统内部接口处理过程。
接口测试也属于功能测试,但与传统的功能测试不同,接口测试更关注数据的传递,而不关注UI层面的设计。
目前大部分Web系统分为前端与后台两种结构,用户通过前端展示的UI界面,输入数据,然后通过后台逻辑处理,从而实现用户期望的价值。
传统功能测试通常需要已经设计完成的UI界面才能进行,但在敏捷开发模型中,很多时候并不能相对全面的实现UI设计,而接口测试更关注于底层数据的交互,相比传统功能测试,成本更低,受UI设计变更的影响较小,也更利于回归测试自动化的集成。
Web系统开发过程中,大多数以HTTP协议为主,用户通过Get或Post方法发送数据请求,服务器接收请求后进行逻辑处理,并给出结果。
以ECShop注册功能为例,用户通过发送注册信息,服务器进行验证,如合法则返回注册结果,如不合法,则给予相关提示。
利用Fillder抓包分析出普通用户注册时通过Post方式向服务器传递了用户名、email及密码信息,如图所示。
用户注册传递接口数据
传递数据内容如下:
传统功能测试时,测试工程师需在用户注册界面中输入用户名、email、密码与确认密码进行测试手工测试,如果进行接口测试,则可利用接口测试工具实现,接口测试用例的设计方法与传统手工测试用例设计一样。
接口测试工具目前业内较多,如PostMan、SoapUI、Jmeter等,据笔者了解,测试工程师多用Jmeter,因为Jmeter工具除了能做接口测试外,还可进行性能测试,降低了学习、应用的难度。因此本教程接口测试及性能测试均采用Jmeter实施。
用户注册过程涉及用户名、email、密码、确认密码、用户协议五个参数信息,与手工测试设计一样,先设计测试用例,如表所示。
如果有规范的接口文档设计,测试工程师可直接利用Jmeter进行脚本设计,如果没有,可利用BadBoy创建用户注册脚本,笔者认为Jmeter录制脚本较为麻烦,所以一般使用BadBoy录制,然后生成Jmeter文件,具体过程如下。
(1) 启动BadBoy,输入
“http://192.168.0.105/ecshop”,点击按钮,进行录制。
BadBoy录制用户注册脚本
(2) 执行用户注册过程,BadBoy将每一个操作步骤生成一个Step,如图所示。
BadBoy自动生成操作步骤
(3) 录制完成后,点击“File”-“Export to JMeter”导出Jmeter文件。
(4) 导出完成后,启动Jmeter,打开BadBoy录制的脚本,如图所示。
Jmeter加载BadBoy脚本
从图5- 81中可以看到,BadBoy将注册请求参数全部抓取出来,如图所示。
普通用户注册请求参数列表
测试工程师可对这些参数进行设计,以便于读取测试用例中的数据。下面是将测试数据参数化,读取测试用例的步骤。
(5) 利用Excel设计测试用例,如表5- 11所示,保存为csv文本格式(以逗号分隔)即可。
用户注册测试用例
测试用例共有5列,分别是用例编号、用户名、email、密码、确认密码、用例说明,在设计测试用例数据文件时,用例标题不写。用例设计方法可采用等价类、边界值等,与手工测试一样。
测试用例文件格式除了可保存为csv格式外,还可以保存txt格式,如果用例列数不多的话,建议保存为txt,比较好操作。
(6) 测试用例文件设计好,设置Jmeter中的“CSV Data Set Config”,点击“Thread Group”,右键,“添加”-“配置元件”-“CSV Data Set Config”,如图所示。
Jmeter参数配置界面
名称:建议改为容易识别的信息,如“用户注册用例数据读取”。
注释:默认为空,可根据实际情况填写。
Filename:设置测试用例文件访问路径,如“c:userregister.csv”。
File encoding:数据文件格式,默认不做设置。
Variable Names:设置测试用例数据在Jmeter中可引用的变量名称,根据实际应用设计,本次测试数据文件共有5列,分别是:用例编号、用户名、email、密码、确认密码、用例说明,建议改为字母类型,如:caseid, username,email,pwd,copwd,comment。
需注意,即使脚本中不用的用例数据,也需在此设置列名,因为Jmeter根据数据分隔符判断列数据。比如此处的“caseid”、“comment”,在脚本中不会被引用,但必须给出列名。
Delimiter:数据分隔符,默认以逗号分割,可根据具体情况调整,建议用逗号。
其他选项默认,不做处理,设置完成后的参数配置界面如图5- 84所示。
设置完成后的参数配置
Tips:本干货资料由【汇智动力IT学院】汇编整理而成,有对软件测试及开发培训感兴趣的小伙伴,欢迎多多关注了解哦~
我是汇智妹,一枚程序员萌妹纸,每天除分享IT技术干货之外,也会聊聊IT圈热议的那些事儿;
公号【汇智动力学院】——职场技能提升、就业加薪升职,记得关注一波哟~比心❤