①做接口测试的原因:
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。接口一般采用RESTFUL风格的http调用,在业务测试之前验证接口的正确性,将使得我们在更早的阶段发现问题,提升效率。
②接口的分类
第一种是函数级别的,测试需要对接口的各个参数进行测试,如:
Int MathAdd(int a, int b)。
第二种是对象级别的,开发在使用API接口时,先引入包名,在使用之前声明一个对象,之后可以使用对象提供的方法,而测试时,需要测试的是API的功能及对数据输入的正确性。第二种和第一种的差别是,我们只需关注提供给用户使用的接口就可以了,不用关心接口调用其他函数情况,相对于第一种来说,测试的粒度要大一些,范围小一些。
第三种是http协议的接口,App客户端和后端服务连接,一般采用的都是http协议,客户端通过get和post的方法从后端服务获取数据。第三种相对于第二种来说,粒度更大,我们关注的接口更少,但是这些接口都是核心功能。
③接口测试的目的
验证服务端是否满足他声明提供的功能。
测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。
④接口测试的 方法
接口测试如何做呢?一般已经上线接口都会自动化掉,关于接口自动化,可以使用现成的接口框架;对于正在开发或还未达到上线条件的接口,就需要手工测试。
简单的接口,可以通过fiddler模拟请求,也可以在接口请求发送前或服务器结果返回前加入断点,更改请求内容或返回内容。
对于复杂的接口,或者需要多次定时运行,甚至接口间有先后调用顺序的接口,或者团队成员需要轮换测试不同的接口时,就用Postman。搞一下这个例子。
⑤设计接口测试用例
接口测试用例设计和测试用例设计一样,用例设计的内容应该包括:主要测试功能点、测试环境、测试数据、执行操作以及预期结果。
选择好测试对象。对于一个系统做接口测试选择好的测试对象是接口测试关键, 因为我们不可能测试所有接口。
可将这些最外层的接口分为两类:
1). 数据进入系统的接口;
进入系统的接口实际是我们用例的执行调用的接口。可通过变化参数对这些接口进行调用 ,模拟外部的使用;
2). 数据流出系统的接口。
流出的接口则是我们用例真正该验证的点。数据从哪里流出,流出时的状态如何 ,此时系统又是什么状态都是我们所应该验证的。
确认完整的测试对象的功能.确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要什么样的功能。此两个功能一定要准确详细,用例的设计要严格按照测试对象功能设计才是正确的用例。最后当出发点、对象、功能都确定了,就可以真正设计用例了。
⑥web端的接口测试,分类:
a:服务器接口测试:
是测试浏览器与服务器的接口用户输入的数据是输入到的前端页面上,通过http协议的get与post请求来实现前后端的数据传递。这也可认为是接口测试,调用的登录接口还是查询接口,传参的是用户密码还是搜索关键字。
b:外部接口测试:
这个很典型的例子就是第三方登录,比如你做的新系统免于新用户重新注册的麻烦会提供第三方登录,那用户在登录的时候调用的就是第三方登录的接口,由第三方验证用户名和密码并且返回给当前系统。
⑦web接口测试要点:
1、请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。
2、检查返回数据的正确性与格式;json是一种非常创建的格式。
3、接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比如鉴权或认证。
4、接口的性能,web接口同样注重性能,这直接影响用户的使用体验。