我有一朋友想从APP测试转到接口测试,虽然给了很多脚本,但是学起来依旧困难。我稍微整理了下日常工作中,我所接触到的接口测试主要测什么,怎么测。
首先什么是接口测试?接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。这是百度上的详细介绍,用白一点的话来说,接口就是client和server数据交互的传递工具,client通过接口向server端发起请求,然后server通过接口返回参数给client传递server的执行结果。那么对于接口我们要做什么?
在拿到接口的时候,首先查看接口URL和参数,是POST还是GET方法,然后写好最基础的接口请求(代码用Python来写),调试查看接口能正常有数值返回。
接着我们来检验接口返回值里的节点,第一个就是code=0,表示接口已经正常进入到server里面,并且完成了操作,说明接口是正确的。然后对data里面的每一个参数进行校验,一是返回值是否符合接口定义,二是返回节点对应的数值是否正确。
接下来,我们要检查下接口的功能是否实现了,那么怎么检验功能是否实现了?最直接的是数据库校验。检查数据库中对应的表是否增加了对应的数据?增加的数值是否正确?在数据库校验时,被人问过一个问题,你如何证明你校验的数据就是接口产生的数据?当时第一个反应是数据库里最新一条数据不就是吗?其实后面才发现,这个说法不一定准确,因为很多时候我们在进行接口调试的时候,参数基本上是保持不变的,如果本次接口让server没执行,那取最后一条数据依旧可以校验通过。在这种情况下我们可以先检验数据库的数据是否新增一行,如果执行前和执行后数据库新增了一行数据,且数据数值和传入参数一一对应,那么就可以认为是接口产生的。
到上面为止,可以说接口的基本测试已经完成,但是任何接口测试都还有个很重要的步骤,那就是必不可少的错误流测试。错误流最基础的就是参数为空或者不存在的情况,还有一些边界值等校验。
上诉是api接口的接口测试,有些接口可能还会涉及到并发测试,并发可以从单用户并发和多用户并发角度出发,校验极端情况下代码的处理是否正确。到此为止接口功能测试算是完成了,在测试过程中最重要的功能实现的校验,要根据不同的业务来判断难易,测试要的是校验的全面性,不能漏验。
另外附加一个WEB页面的接口测试方法,通过session可以直接进行WEB页面的接口测试。希望大家在学习自动化上相互帮助,共同进步。
网友评论