接口测试
为什么接口测试很重要?
做过接口测试,说明你从黑盒测试转向了灰盒测试。
通过接口测试,你能发现很多通过黑盒测试发现不了的bug。
多做接口测试,你知道系统的接口设计中有哪些问题,有哪些潜在的坑,在后续的版本更新中可以让团队避免踩坑。
未来的WEB系统演化,都会朝着微服务、前后端分离、使用中间件、使用第三方服务方向发展,这些服务间的调用、前端对后端的调用全是接口,保证了接口功能没问题,也就保证了系统的绝大部分功能没问题。(如果你对微服务、前后端分离等概念不了解,请自己问度娘)。
如何切入接口测试?
了解接口;
掌握协议,特别是HTTP协议;
掌握WEB原理;
掌握抓包工具的使用,如Wireshark、Tcpdump、Fiddler等;
找一些工具来做接口测试,如Fiddler、SOAPUI、PostMan等。
如何切入接口测试自动化?
接口自动化测试远比UI自动化测试的价值高,因为运行非常快,全量测试花的时间非常短,并且一般而言,接口很少修改,偶尔修改,修改自动化脚本也非常容易。下面是做接口自动化的一些方法或工具:
Fiddler、SOAPUI、PostMan等可以做半自动的接口自动化测试;
使用Robot Framework做全自动化的接口自动化测试;
自己用代码做全自动的接口自动化测试,如Java+testNG;
找其他第三方平台做全自动的接口自动化测试。
http://bbs.51testing.com/thread-1133002-1-1.html
本文主要分为两个部分:
第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?
第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。
常见的接口测试工具
postman:基本功能免费。最简单的基于http接口的调试和测试工具。
jmeter:后置处理去配合断言基本上可以满足接口测试需求,就是测试报告要做二次开发。
insomnia:postman的弱化版,基本功能免费,工具代码开源
paw:mac上最强
接口测试用例怎么写?
3A原则
A:arrange 初始化测试数据,就是造数据,这里的数据有我们输入的数据,也有目标接口所涉及的资源
A:act 调用接口,传入输入数据
A:assert 断言,对返回的资源信息进行断言,比如获取用户信息的接口返回了用户信息之后,我们要判断返回的用户是不是我们想要的那个用户。
接口测试是测试系统组件间接口的测试方法,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。