接口的分类:
- 接口测试分为程序对外的和程序内部的
- 按照请求的协议分为:http、webservices等
- 接口的本质:传递数据的通道,面向对象,就是将写好的代码通过类来进行封装,再通过实例化类,调用类里面的方法,接口的本质就是测试类里面的函数(即里面写好的方法),
例如:计算类里面写好了一个加法,我们就要用功能测试的用例设计方法来设计用例,比如:两个正数相加、两个负数相加、一正一负、一个0一个正数相加等,执行已经设计好的测试用例,看返回的结果是否正常
http的请求方式有:get、post
系统对外的接口、程序内部的接口:
系统对外的接口:比如需要从别的公司获取数据,这家公司肯定不会将自己的数据库都共享给你,所以这个时候,这家公司会给你提供一个接口,这个接口已经有写好的方法,让你去调用数据,特别需要注意的是:系统对外接口回来的数据,是否正确,会不会在传输的过程出现漏传等。举个常见的例子:QQ的天气预报:这个就是通过接口从国家天气网,获取到天气的数据,做显示,并不是QQ自己的。
程序内部的接口:同一个类:方法与方法之间;不同的类:模块与模块之间的交互、程度抛出的接口。比如:tb购物,购物模块和登录模块,当你没有登录,点击立即付款时,会抛出一个请登录的提示,然后需要进行登录,后再进行付款,这个就是登录模块和购物模块之间的交互,它会抛出一个接口,供系统内部使用。
Http 、Webservice接口:
webservices接口:走的是soap协议通过http传输,请求报文和返回报文是xml格式,可以通过工具soapUI、jmeter进行测试
http api 接口:走http协议,通过路径来区分调用的方法,请求报文是key-value形式,一般返回的是json,有get\post等方法,可以使用postman\jmeter\loadrunner等
加上关于http请求方法 post 、get的区别:
- get请求会将请求的参数放到url地址,且长度有限制
- post比get安全,因为传输的参数放在body
- 一般get用来获取数据,post用来发送数据
发送http请求后,会有返回的状态码:
- 200:发送成功,返回成功
- 30X:代表重定向,302把请求重定向到别的地方
- 40X:代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
- 50X:代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果
什么是前端和后端?
前端:对于web端来说,就是我们平常使用的网页所看到的页面(一般是使用html、css来写的),同时还会做一些简单的校验,非空检验、特殊字符处理、以及跳转地址;
后端:在页面上的操作,涉及到业务逻辑、功能、计算啊,这些都是后端实现的。比如一个注册功能,输入用户名、密码,点击注册,后端就会去做一个用户唯一性的校验,以及在用户表中新增这个注册用户,这些都是在后端进行的。前端和后端怎么交互?这就需要通过接口。
一个常见的问题:在页面点击一个按钮无响应了,这个是前端的错,还是后端的错?
借助谷歌浏览器开发者工具,切换到控制台,点击按钮,查看控制台输出的是什么错,如果控制台直接输出一个500,这就是服务器的错了,也就是后端的 问题;如果提示的3几开头的,就是网页重定向了,极大可能是由于前端地址写错了,或者是后端地址改了。