接口的含义
目前公司招聘软件测试人员时,对接口测试的要求越来越高。会接口测试将是一项基本技能,今天就来讲一讲什么时接口。
1、接口也叫API(应用程序编程接口,application programming interface),本质是程序员所编写的函数、方法、类、窗口、子系统等(可以不专业的称为不能单独使用的小程序)
2、接口测试和UI功能测试的区别
1)UI: User Interface,用户界面
2)UI功能测试:简称功能测试,一般所说的黑盒测试或功能测试是指界面中的功能测试,在测试时会打开界面(网页、窗口等),然后通过点鼠标,从键盘输入数据的方式,测试一个软件,通过界面中判断测试结果的正确性
3)接口测试:也可以称为API测试,大多数情况下不从界面进行操作,也不从界面上的显示来判断测试的正确性,接口测试的做法是,拿到接口的名称(相当于程序的名称)、参数(给接口发送的数据,参数也有名字)、返回值(接口应该返回的数据),通过给接口发送不同的参数,判断各种不同参数的返回值是否都是正确的。
4)用户界面很多时候会调用接口,只是我们看不到,用户界面正确不饿能保证背后隐藏的接口也正确(至少有一些数据并不完全地呈现在界面中, 接口的返回的数据被处理以后才会显示到界面中)
5)接口测试也可以细分为接口功能测试,接口性能测试,接口安全性测试等,一般直接说功能测试指的是界面中功能测试
6)web接口:基于web协议(http/https)的接口,目前站接口的绝大多数,但不要与网页划等号
3、为什么使用接口
1)公司中编程都是分工写作的,不可能让一个人编写出所有的代码
2)web00000编程的三层架构MVC
M层:modle,模型层,用于实现业务逻辑和数据处理,比如编写出查询商品的代码并从数据库存查询数据(这是一个接口),下订单的代码并将数据写到数据库中(这是另一个接口),业务逻辑就是根据业务条件实现一定功能或业务的代码;模型层是由程序员编码实现,程序员会提供很多接口(按照功能或业务编写好的程序《函数、方法、类等》)给其他程序员或前端工程师使用
V层:view,视图层,用于呈现结果的界面,目前大多由前端工程师(美工)实现
C层:controller,控制层,用于链接视图层和模型层,通过视图层用户的操作发起对模型层某个接口的调用和调度
举例:登录某个商城后,页面显示本后的程序属于视图层/表示层,点击某个链接如商品图片后控制层开始调度,嗲用模型层的查询商品接口,接口程序从数据库中查询数据,将结果返回给视图层,最终页面显示出商品具体信息
4、接口的组成要素
1)请求地址 协议://域名或服务器IP地址:端口号/应用名/接口名
2)请求方法 GET POST PUT DELETE
3)请求参数
4)返回值
5、请求和响应
1)客户端需要接口去完成一定的功能或业务,将参数发送给服务器上的接口去处理的过程叫做请求
2)服务器上的接口收到请求后,一般会判断接口请求的合法性(比如key,还有很多其他方式),如果请求合法,则服务器上的接口程序开始处理客户端发来的参数
3)服务器将最终的处理结果反送给客户端,这个过程叫做响应
6、结果测试的过程/步骤/思路,如何做接口测试(根据功能测试思路编写)
1)收集接口文档(一般从开发那里获得),阅读文档,理解接口需求
2)编写测试用例(与手工测试用例稍有区别,一啊不能重点写参数)
3)使用工具发送请求(使用用例中的参数),获得响应,判断响应结果(返回值)的正确性,判断数据库数据的正确性,可以适当编写测试代码,提高自动化程度
4)编写测试报告或由工具自动生成测试报告