前几天在某个测试交流群,听了一个测试老司机分享接口自动化测试的内容,对接口自动化有了更深的一些认识,也为接下来公司的接口自动化实施,提供了更多的思路。
这篇博文,就说说接口测试到接口自动化进阶的一些事。
一、自动化测试趋势
随着敏捷开发在软件行业的推广与发展,自动化测试在软件测试行业的地位也在逐渐上升。
根据51testing发布的测试人员对测试领域工作前途态度的统计结果显示,大于60%的从业人员对软件测试行业的发展前景感到迷茫,10%以上的不清楚甚至感觉前途无望。
由此可见,自动化测试的职业发展对于自动化从业者择业与从业具有现实意义。
二、接口测试的必要性和意义
接口测试天生是为高复杂性的平台带来高效的缺陷检测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显。
总的来说,接口测试是保证高复杂性系统的质量和低成本的经济利益的最佳方案,它主要体现在如下三个方面:
1、节省了测试成本
2、接口测试是站在用户的角度对系统接口进行全面高效持续的检测。 3、当系统复杂度和体积越大,接口测试的成本就越低,相对应的,效益产出就越高。
三、接口测试需要哪些技能
做接口测试,需要的技能,基本就是以下几点:
业务流:了解系统及内部各个组件之间的业务逻辑交互;
数据流:了解接口的I/O(input/output:输入输出);
协议:包括http协议,TCP/IP协议族
接口工具:工具可以辅助我们更好更高效的完成工作,常用的接口测试工具有:jmeter、soapui、postman等;
数据库知识:无论是从数据库获取知识,还是确认数据落地,抑或接口对数据执行了哪些操作,都需要确认,因此数据库知识(其实就是增删改查)就很有必要;
补充:接口文档的几个必要点:完整性、一致性、容错性;
四、接口自动化测试
1、如何开展 首先,调试单个接口,保证单个接口的正确和通畅(类似于性能测试中的基准测试);
其次,明确数据流,业务流; 最后,将N个接口测试脚本串起来,执行即可; 最重要的一点,别想太多太复杂,行动起来就行,想太多不如行动起来,让接口自动化测试落地,才是我们首先需要考虑的!
五、接口自动化测试框架 什么是接口自动化测试框架?你可以理解为一个完整的环,也可以理解为让接口测试脚本运行的一整套环境,平台,随便什么都可以;
接口自动化测试框架主要包括:requests二次封装,yaml文件分析,log日志监控,公共封装,接口关联封装,热加载,conftest前后置函数,CSV数据驱动,YAML格式测试用例,Pytest,Allure测试报告,以及企业中的报告定制等。
上面说了这么多,实际上它的意义就是:数据与脚本分离,测试结果自动提交通知,提高测试脚本和测试数据的维护便利等等。