2.1 接口
2.1.1 API接口
定义:接口就是API,是一个软件或服务器对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。你只按照要求进行接口调用即可。
外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口和内部接口。
2.1.2 GUI
GUI 是图形用户接口,主要提供可视化界面方面的接口。
2.1.3 接口的表现形式
客户要先操作服务端资源,首先要找到服务器端提供的接口,然后才能向服务端发送资源请求,那么何为服务端接口呢?其实就是一个地址(URL),比如
http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1
2.2 接口专递数据的方式
2.2.1 get方法
Get方式是从服务器上获取的数据:在做数据查询时,建议使用Get方式;如:公共服务五大服务接口,查询接口,搜索接口,博客访客接口等。
2.2.2 post方法
post方式是向服务器传送数据;在做数据添加、修改或者删除时,建议使用post方式;如 微博图片上传图片 接口 、picself API 接口等。
2.2.3 put方法
put这个方法比较少见。HTML表单也不支持这个。本质来讲,put和post极为相似,都是向服务器发送数据,但他们之间有一个重要区别,put通常制定了资源存放位置,而post则没有,post的数据存放位置由 服务器自己决定。
2.2.4 delete方法
Delete:删除某一个资源。基本上这个也很少见。
2.3接口传递数据的差异性
1.GET后退按钮/刷新无害,post数据会被重新提交。
2.GET书签可收藏,POST书签不可收藏
3.GET能被缓存,POST 不能被缓存
4.GET历史参数保留在浏览器的历史中。post参数不会保存在浏览器历史中,get对数据长度有限制当发送数据时,get方法向URL添加数据;URL长度是受限制的,(URL的最大长度是2048个字符)。post无限制。
5.与post相比,get的安全性较差,因为所发送的数据是URL的一部分。在发送密码或其他敏感信息时绝不要使用GET
6.post 比 GET 更安全,因为参数不会被保存在浏览器历史或web服务器日志中
7.GET的数据在URL中对所有人都是可见的。post的数据不会显示在URL中。
2.4接口测试
2.4.1概念
测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统与系统之间以及内部各个子系统之间的交互点。
2.4.2 接口测试本质和目的
实质就是检验数据的传输和接受是否正确,传输的是接口地址中的参数,接受的是文本字符串/文件,然后对比内容是否和预期的一样。
目的:测试接口的正确性和稳定性。
2.4.3接口测试的原理
接口测试的原理是通过测试程序模拟客户端服务器发送请求报文,服务器接受请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接受应答报文这一过程。
2.4.4接口测试流程**
2.5接口测试内容
2.5.1功能逻辑
通过查数据或缓存等验证数据是否处理正确
通过其他辅助途径进行验证
2.5.2异常测试
接口测试中主要测试接口正常逻辑,但仅逻辑测试不能够保证数据的安全及程序接口在异常情况下的逻辑处理的正确性。
2.5.3路径测试
当测试接口实现方法中,判断逻辑复杂分支多,且判断中又调用了其他接口,此时必须要进行路径覆盖测试。
2.5.4结构检查
1.检查返回值的结构是否正确,如是json类型还是xml类型的数据
2.字段名称是否正确等
xml和json都是使用结构方法来标记数据
2.5.5其他异常的场景
研发项目,有些项目是底层使用系统,根据项目特点,可能会存在特殊的异常场景。
例如:支付异常操作,支付消息重试等