1.什么是接口测试
顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。
分层测试策略
分层测试策略中各层工作有明确的测试重心,测试工作通过逐层开展螺旋上升。这样一方面促使开发测试一体化,直接提高了测试效率;另一方面也可以尽早发现程序缺陷,降低缺陷修复成本。
在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴,介于单元测试和界面测试之间,是一种灰盒测试方法,主要测试内部接口功能的完成性。相较于UI层(主要是WEB或APP)自动化测试,接口自动化测试它具有自动化成本低和测试效率高的特点,收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。
接口测试的工作原理
接口测试的工作原理是接口测试工具模拟客户端向服务器发送报文请求,服务器接受请求并做出响应。然后向客户端返回应答信息,接口测试工具对应答信息进行解析的一个过程。
常用的接口测试工具
1、ApacheJMeter:是一款基于Java的开源测试工具,主要应用于WEB应用程序的负载测试,同时也支持单元测试和接口测试;
2、Postman:是一款功能强大的网页测试工具,支持WEBAPI和HTTP请求,能够发送任何类型的HTTP请求(GET、HEAD、POST、PUT等)。Postwomen与其近似的一款免费开源、轻量级测试工具;
3、SoapUI,是一款用于SOAP和REST的开源API测试自动化框架,可以集成到Eclipse等开发工具中,支持用户二次开发;
4、RobotFramework,是一款基于Python3的开源自动化测试框架,具有良好的可扩展性,支持关键字驱动,运行用户二次开发。
基于这些接口测试工具,测试人员可以根据自身业务需要开发适合自己的接口自动化测试工具。有了接口自动化测试工具,我们就可以开展自动化测试工作。
2.接口自动化测试的基本流程
基本的接口功能自动化测试流程如下:需求分析-用例设计-脚本开发-测试执行-结果分析
1、在测试工具中登记待测交易的接口报文格式;
2、编写测试案例,向案例中添加交易接口并进行配置关联;
3、准备测试数据并对测试数据进行参数化;
4、测试工具自动执行自动化测试案例;
5、测试工具比对预期结果和返回结果,验证案例是否执行成功。