前言
什么是自动化测试
把人对软件的测试行为转化为由机器执行测试行为的一种实践。
例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。
本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还有额外的维护成本。
自动化测试有哪些分类
按测试目的分类:
· 功能自动化测试
· 性能自动化测试
按测试对象分类:
· Web应用测试
· APP测试
· 接口测试
· 单元测试
为什么需要自动化测试
可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在用例设计和新功能的测试上:
· 可以大幅度提升回归测试的效率,非常适合敏捷开发过程。
· 可以更好地利用无人值守时间,去更频繁地执行测试。
· 可以高效实现某些手工测试无法完成或代价巨大的测试类型,例如:7*24小时持续运行的系统稳定性测试和高并发场景的压力测试
· 可以保证每次执行的操作具有一致性和可重复性,不会受人的感情因素影响。
Postman自动化测试演示
postman大家都用得挺多的,使用方法就不介绍了,详情可以查看官方文档。
1.新建集合
就是为了给待测试接口统一分类一下用:
2.新建接口
下面是我添加的:
3.填写自动化测试脚本
例如,我需要测试几点:
· http状态码200
· 返回的json的code码是0
接口返回时间不小于1000毫秒,脚本如下:
//查看httpCode码 tests["接口状态码200"] = responseCode.code === 200; //判断请求时间 tests["返回时间小于1000毫秒"] = responseTime < 1000; //返回body转json var data = JSON.parse(responseBody); //检查json数据 tests['code码必须为0']= data.code==0
测试结果结果如下:
4.录入所有接口
然后接下我要对所有的接口进行这样的测试,把这些接口都录入,如下:
5.执行自动化测试
点击集合的Run按钮:
弹出如下界面,可以填写相应的参数,这里我用默认的:
点击Run,执行结果如下:
可以看到,我们测试了32个接口,其中25个通过,7个失败,有的是时间不满足要求,有的是状态码不对。
针对这个结果,我们可以自己去优化接口,就是这么简单!
此外,Postman还推出了命令行版本Newman,可以配合Jenkins做接口自动化测试和持续集成。
作者:雪山飞猪