什么是接口测试?
定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
范围:接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
优点:
- 能够提早发现 bug,符合质量控制前移的理念。
- 接口测试低成本高效益,因为接口测试可以自动化并且是持续集成的。
- 接口测试从用户的角度对系统接口进行全面检测。实际项目中,接口测试会覆盖一定程度的业务逻辑。
接口类型有哪些?
接口测试常用工具?
Postman、JMeter、SoapUI、Poster、RESTClient、WireMock
如何进行接口测试?
根据接口文档、需求分析书等文档选用合适的方法设计测试用例,用合适的工具执行测试用例。
设计测试用例的思想:
- 设计接口测试用例的出发点是要验证接口实现的功能与性能指标与接口设计文档的一致性,同时测试接口具有良好的容错机制,能在接收到各种异常输入数据时做到:返回对错误定位具有良好参考意义的错误码,屏蔽底层错误信息,同时接口测试用例需要暴露接口代码更多的代码缺陷,以这个出发点为导向。
- 接口测试要选择合适的测试对象。对一个系统做接口测试,识别出合理的测试对象才能保证接口测试达到预期效果,甚至能达到事半功倍的效果。一个系统可能有很多的层次结构,也就有了不同层级的许多接口,如果对每个接口分别进行测试,时间和人力消耗较大,且用例数量大,用例的维护成本很大。分析出系统的关键模块和核心接口,并对其进行完整的测试,能以最小的测试投入,达到最好的测试效果。
- 接口测试用例的内容应该包括:输入参数组合、预期结果、实际运行结果以及备注的其他相关信息,如:测试功能点说明,测试环境说明等。其中,预期结果包括接口返回值以及接口的输出参数的内容。输入参数的组合应遵循等价类法和边界值法等常用用例设计方法,以最少的用例数量覆盖所有典型参数组合,做到每条用例覆盖不同的测试点,且每条用例都不可被取代。
- 接口测试每一条用例都需要有完善的初始化操作和结束操作。(避免测试环境对用例执行的影响)
设计测试用例的方法:
因为接口测试的依据往往是需求规格说明书等软件设计文档,测试手段是把接口内的程序逻辑看作一个黑盒,只根据接口定义来编写测试代码,相当于把一个接口当作一个函数来进行测试,为了确保测试的覆盖率,可能会使用到单元测试的用例设计方法。
注意:一个很好的测试用例设计过程应该是建立在前期深入的需求分析和文档设计的基础之上。需求分析得越深入全面、文档描述越详细清晰,则设计的接口测试用例就会越全面,越能暴露出接口的缺陷,从而提供出高质量的服务接口。并且在后续接口维护过程中,有详尽的接口设计文档作为支撑,也可以降低维护成本。
参考:
https://my.oschina.net/hellotest/blog/662347
https://baike.baidu.com/item/%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95/1917757?fr=aladdin