常见的接口测试
1 接口
[if !supportLists]1. [endif]API接口
定义:接口就是API(application programming interface,应用程序接口),是一个软件或服务对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。 你只要按照要求进行接口调用即可。 内部系统与系统之间以及内部各子系统之间的交互点。包括外部接口,内部接口。
[if !supportLists]2. [endif]GUI
GUI是Graphic User Interface,是图形用户接口,主要提供可视化界面方面的接口
图形用户界面(Graphic User Interface,简称GUI 又称图形用户接口)是指采用图形方式显示的计算机操作用户界面
2 接口的表现形式
1采用的协议(http:):一般来讲网址中第一个“:”前面的就是该网址所采用的协议。这里的HTTP就是个协议 。HTTPS是HTTP的安全版本,HTTPS在HTTP的基础对传输的数据进行了加密和签名,以保证数据传输的安全性。我们平常打开两页的时候会看到网址前面都有一个HTTP或HTTPS,这就是告诉你,你在向服务器发送此请求的过程中要遵循的协议是HTTP或HTTPS (也就是规则)。
2服务器地址(//www.qubaobei.com)):以双斜杠“//”开头,后面跟的就是这个服务器的地址,专业术语叫域名
3 请求资源路径(/ios/cf/dish_list.php) :表示你要请求的资源在该服务器下/ios/cf/dish_list.php的路径下
4 参数(?stage_id=1&limit=20&page=1):参数可以找到具体内容,和路径之间使用“?”隔开,参数之间使用“&”隔开。参数是以键值对的形式表现出来的。
2接口传递数据的方式
get方法 get方式是从服务器上获取数据;在做数据查询时,建议用Get方式;如:公共服务部五大服务接口、查询接 口,搜索接口、博客访客系统接口等
Post方法 Post方式是向服务器传送数据 ;在做数据添加、修改或删除时,建议用Post方式 ;如:微博图片上传图片 接口、Picself API接口等
Put方法 put这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数 据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由 服务器自己决定
Delect方法 删除某一个资源。基本上这个也很少见
接口传递数据的差异性
Get后退按钮/刷新按钮无害,post数据会被重新提交(浏览器应该告知用户数据会被重新提交)
GET书签可收藏,POST为书签不可收藏。
GET能被缓存,POST不能缓存
GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中 GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大 长度是 2048 个字符)。POST无限制
与POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝 不要使用 GET
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中
接口测试
概念测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
接口测试本质和目的
实质就是检验数据的传输和接受是否正常,传输的是接口地址中的参数,接受的是文本字符串/文件,然后对比内容是否和预期的一样。
目的:测试接口的正确性和稳定性。
接口测试流程
需求讨论→需求评审→场景设计→用例设计→数据准备→执行→测试报告
接口测试内容四要素
功能逻辑:通过查数据库或缓存等验证数据是否处理正确。通过其他辅助途径进行验证
异常测试;接口测试中主要测试接口正常逻辑,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性
路径测试:当被测接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试
结构检查:1检查返回值的结构是否正确,如是json类型还是xml类型的数据2字段名称是否正确等
其他异常场景:研发的项目,有些项目是底层使用的系统,根据项目特点,可能会存在特殊的异常场景。
常用接口测试工具
LoadRunner
SoapUI
Jmeter
Postman