第二节 为什么做接口测试
我们为什么要做接口测试呢?
我们现在处于移动互联网时代,接触过移动客户端测试的人都知道,我们的移动端的功能是需要大量的后台服务来支撑。这里说的移动端包括IOS,Android,WP 原生应用以及混合应用。
为什么移动端的应用需要大量的后端服务来支撑呢?
最主要是两个原因,我们的手机计算能力有限,另外移动应用必须省电,因此大量的计算,数据存储,业务处理等活动需要放到服务端由大型服务器来完成。在服务器端完成计算后,通过REST接口来获取到想要的计算接口,然后展示。所以说服务端的接口的测试就尤其重要,随时移动互联网的普及,接口测试会越来越重要。
另外一个需要做接口测试的原因是在互联网时代,软件系统的开发不在遵循传统软件的开发模式,我们需要的是快速上线,快速发布。由于测试在整个软件开发流程的最后阶段,能不能快速上线,快速发布,测试能不能在保证一定质量的前提下快速完成就成为了很重要的一环。
测试的工作量是固定的,要想保证一定的质量,测试的过程大幅缩短的可能是并不高。但是我们知道在移动端产品中,大部分的业务计算是放在服务端的来做的。因此,我们想到了提前测试,也就是不等到客户端开发完成,提前测试服务端接口,也就是我们说的测试前置。
测试前置除了能够节省测试时间之外,还能够节省测试成本,由于接口测试阶段更接近底层,发现底层的问题的直接性更高,难度相对UI测试要低很多。所以节省测试成本,减少测试时间,也是我们做接口测试的一个重要原因。
可能看到这里会有疑问,为什么接口可以被提前测试呢?
这是由接口的开发过程,以及接口的使用方式所决定的。
先说接口的开发过程,开发人员在开发接口的过程中基本是按照一个依赖树的结构来进行的。接口在使用的过程中其实是有依赖的,接口A可能要依赖接口B的输出参数作为输入参数。那么开发在开发过程中,要想能够调试接口A,那就有可能需要先把B接口开发完。以此类推,开发最先开发出来的接口肯定是最基础,最底层,最没有依赖的接口。
再来说使用方式,我们使用接口都是每次调用一个接口,复杂些的情况无非就是输入参数是其他接口的输出参数而已。所以当开发人员开发完成一个接口后,你就可以立即开始测试,而不用等到所有接口都完成才开始测试。
基于上述原因,我们基本可以做到完成接口开发的同时,完成接口的测试工作。