第一章接口测试基础一、分层的自动化测试1传统自动化测试基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。在目前的大多数研发组织当中,都存在开发与测试团队割裂(部门墙)、质量职责错配(测试主要对质量负责)的问题,在这种状态下,测试团队的一个“正常”反应就是试图在测试团队能够掌控的黑盒测试环节进行尽可能全面的覆盖,甚至是尽可能全面的UI自动化测试。这导致,一方面测试团队规模急剧膨胀;另一方面,因为UI是非常易变的,所以UI自动化测试维护成本相对较高。2测试金字塔由敏捷大师MikeCohn在他的SucceedingwithAgile一书中首次提出。他的基本观点是:我们应该有更多低级别的单元测试,而不仅仅是通过用户界面运行高层端到端的测试。3分层自动化测试MartinFowler在测试金字塔模型的基础上提出分层自动化测试的概念。在自动化测试之前加了一个“分层”的修饰,用来区别于“传统的”自动化测试。分层自动化测试倡导的是从黑盒(UI)单层到黑白盒多层的自动化测试体系,从全面黑盒自动化测试到对系统的不同层次进行自动化测试。二、接口测试基础知识1接口的含义接口也叫API(ApplicationProgrammingInterface,应用程序编程接口)是一组定义、程序及协议的集合它提供访问一组例程的能力,无需访问源码或理解内部工作机制的细节。2接口的分类第一种是代码内部的接口或称程序接口是程序模块间的接口,代码A与代码B在组合的时候,必然需要定义一些名称以及参数、类型。对于程序接口的测试,一般需要使用与开发程序接口相同的编程语言,通过对类、方法和函数的调用,验证其返回结果是否正确来进行测试。这种测试一般划分在白盒测试中,也算是集成测试阶段,既可以由开发人员自己完成,也可以由有良好编程能力的测试人员来做。第二种接口是协议接口是系统与系统之间,通过网络数据的传递进行交互,这种类型的接口对底层代码做了封装,系统通过不同的协议提供接口对外提供调用。此类测试一般不涉及底层程序,也看不到代码,属于黑盒层面,可以通过各种手段将网络数据发送到接口从而得到接口的响应信息,达到测试的目标。这一类测试工作多数情况下由测试人员完成。通常所说的的接口测试主要是对协议接口的测试。3接口测试3.1接口测试的含义接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过...