APi接口
定义:接口就是APi,对外提供的接口,别人只要调用这接口,而内部如何实现,不需要关心。你只要按照要求进行接口调用
外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口、内部接口
作用:对于软件提供商来说,留出APi,让别的应用程序来调用,软件才能发挥最大的价值,才能更有生命力
对于应用开发者来说,有了开发的APi,就可以直接调用多家公司做好的功能来做自己的应用,不需要所有的事情都自己操刀,节省精力
GUI
GUI是图形用户接口,主要提供可视化界面方面的接口
是指采用图形方式显示的计算机操作用户界面。GUi的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用,可以通过窗口、菜单、按键等方式来方便地进行操作
接口的表现形式
客户端要先操作服务端资源,首先要找到服务端提供的接口,然后才能想服务端发送资源请求
采用的协议(http):这里的http就是个协议,https是http的安全版本,https在http的基础对传输的数据进行了加密和签名,以保证数据传输的安全性
服务器地址(//www.qubaobei.com )
以”双斜杠“//开头,后面跟的就是这个服务器的地址,专业术语叫域名
请求资源路径(/ios/cf/dish_list.php )
表示你要请求的资源在该服务器下/ios/cf/dish_list.php 的路径下
参数(?stage_id=1&limit=20&page=1 )
参数可以找到具体内容,和路径之间使用?隔开,参数之间使用&隔开,参数是以键值对的形式表现出来的
接口传递数据的方式
get方法
get方式是从服务器上获取数据,在做数据查询时,建议用get方式
post方法
post方式是向服务器传送数据 ,在做数据添加、修改或删除时,建议用post方式
put方法
put这个方法比较少见,html表单也不支持这个,put和post极为相似,都是向服务器发送数据,但它们之间由一个重要区别,put通常指定了资源的存放位置,而post没有,post的数据存放位置由服务器决定
delete方法
delete删除某个资源,基本上这个也很少见
接口传递数据的差异性
get后退按钮/刷新无害,post数据会被重新提交
get书签可收藏,post不能缓存
get历史参数保留在浏览器历史中,post参数不会保存在浏览器历史中 get对数据长度有限制,当发送数据时,get方法向url添加数据 url的长度时受限制的 (url的最大长度时2048)post无限制
get的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝 不要使用 GET !
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。、
接口测试
概念
测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
接口测试本质和目的
本质就是检验数据的传输和接受是否正常,传输的是接口地址中的参数,接受的是文本字符串/文件,然后对比内容是否和预期的一样。
目的:测试接口的正确性和稳定性
接口测试的原理
接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。
接口测试流程
需求讨论—>需求评审—>场景设计—>用例设计—>数据准备—>执行—>测试报告
接口测试内容
功能逻辑
通过查数据库或缓存等验证数据是否处理正确
通过其他辅助途径进行验证
异常测试
接口测试中主要测试接口正常逻辑,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性
路径测试
当被测试接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试
结构检查
检查返回值的结构是否正确,如是json类型还是xml类型的数据
字段名称是否正确等
xml和json都使用结构化方法来标记数据
其他异常场景
研发的项目,有些项目时底层使用的系统,根据项目特点,可能会存在特殊的异常场景。
典型商业工具
LoadRunner(LR):一款商业性能测试工具,用来做接口测试
SoapUI:开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试;该工具既可作为一个单独的接口测试工具使用,也可利用插件集成到Eclipse, maven2.X,Netbeans 和intellij中使用。
典型开源工具
Jmeter :一款开源的接口测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试
Postman:Postman 是一款restful api的测试工具,既有google浏览器插件,也有软件
扩展插件
postman:谷歌浏览器的扩展工具,主要用来做接口测试,谷歌商店中选中安装,界面同poster差别不大,界面简洁