什么是API测试
什么是API
API是Application Programming Interface的简写。
实现了两个或多个独立系统或模块间的通信和数据交换能力。
什么是API测试
图片.png
API测试是不同于UI级自动化测试,其主要关注在系统架构的业务逻辑层,所以其主要关注不在于UI操作或用户感观上,更重调用逻辑关系。
与UI级自动化测试通过控制键盘输入和鼠标等操作不同的是:API测试,我们是通过工具或代码方式去调用特定的API,获取输出,并记录系统的响应。
API测试需要与应用程序的API进行交互,为了测试这些API,我们可以:
使用测试工具来进行测试
自己写代码的方式进行测试
API测试准备工作
首先你得获取目标测试系统的API相关文档,例如API对应的参数格式、期望返回结果等(一由开发提供文档,二自己抓包分析)
就我们所处国内的实际情况,在大部分情况下,开发都没有成型的文档。所以作为测试人员,你应该具备以下技能:
优先去推动开发生成一份合适的API说明文档
掌握抓包分析工具,能够自己去抓包分析形成API文档
至少把http协议掌握,了解其报文结构
对用户业务熟悉,能把API级业务逻辑和用户业务结合起来
API主要测试什么
API级测试至少应该覆盖以下测试要点:
验证API所暴露的资源是否恰当的列出、创建、修改、和删除
验证API是否功能可用以及用户友好,是否便于与其他平台集成
安全测试,验证API是否包含了必要的认证以及敏感数据是否做了脱敏处理,是否支持加密或明码的http访问
自动化测试,将API高度业务场景化,实现自动化测试
文档,形成足够的文档,确保API质量的可维护行
API测试要注意什么
在API测试过程中要重点关注什么呢?
API测试用例要进行分类分组
每个API测试用例都应该参数化
在测试执行时,优先执行API测试
测试用例应该尽可能做到可独立执行
为了确保覆盖率,应该为API的所有可能输入进行测试数据规划
API测试能发现什么bug
在API测试时,一般会发现哪类型的bug呢?
无法正确处理错误的深入条件
缺少或重复功能
可靠性问题
安全问题
多线程问题
性能问题
响应数据结构不规范问题
有效参数值不能正确处理
API测试有哪些工具
SoapUI
JMeter
PostMan
自己写代码
其他工具不推荐了,笔者首推SoapUI或自己写代码
API测试你可能遭遇哪些大坑
无效的测试数据规划,导致你的参数穷举组合
因为没有界面,开发又不提供文档的情况下,大部分人无从下手,会一脸懵逼
平时测试大都关注正常的情况,但要注意异常处理API必须进行测试,你懂的
起码你要会点代码,会点HTTP协议,不然没法沟通交流
总结
把日常接口测试工作进行了大概的总结,希望对入门接口测试的朋友们有点效果,没效果那也没办法了,只能这样了。
什么是API测试的更多相关文章
- API测试
API(Application Programming Interface)包含: 单元测试(Unit Testing).模块测试(Module Testing).组件测试(Component Tes ...
- 使用python+pychram进行API测试(接口测试)初级STEP 1
花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...
- Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载
[Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...
- 接口API测试和返回值JSON解析的插件
火狐插件1. HttpRequest作用:接口API测试例子:http://192.168.10.61:8080/ZHCS/user/loginApp.do?phone=admin&pwd ...
- asp.net web api 测试帮助页面建立并测试
asp.net web api 测试帮助页面建立并测试 现在使用WEB API来开发,越来越流行. 在开发过程中的测试调试,可以使用Fiddler等工具来帮助测试外,还有: 在asp.net 中有种方 ...
- Aliexpress API 测试工具
Aliexpress API 测试工具 上回简单说了 Aliexpress API 的认证流程, 这回在奉送一个小工具, API 测试工具. 点我下载 做这一行,和做程序员的生活完全不搭调, 格格不入 ...
- API测试自动化——基于CDIF的SOA基本功能(实例篇)
今天我们通过一些实例来体验一下API的自动化测试,感受一下基于CDIF的SOA的一些基本功能. 传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的 ...
- 开源API测试工具 Hitchhiker v0.4更新 - 没有做不到,只有想不到
Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍 ...
- 开源API测试工具 Hitchhiker v0.5更新 - 完善细节
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理Ap ...
- 开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试 ...
随机推荐
- fiddler抓包,搞定接口
上篇介绍的世纪佳缘登录是由已有cookie保持登录状态的.世纪佳缘登陆不需要填入验证码,可以很方便直接请求登录接口来达到登录状态的目的. 这篇介绍直接从登录接口进行登录,那么这就要求要找到登录接口ur ...
- try catch finally的执行顺序
1.将预见可能引发异常的代码包含在try语句块中. 2.如果发生了异常,则转入catch的执行.catch有几种写法: catch 这将捕获任何发生的异常. catch(Exception e) 这将 ...
- MVC源码
http://aspnetwebstack.codeplex.com/ MVC源码
- Access数据操作-02
数据库连接 MDB文件 :Provider=Microsoft.Jet.OLEDB.4.0;Data Source=*.mdb ;Persist Security Info=False; AccDB文 ...
- C++11新特性之七——final/override控制
重载和重写的区别参见: C++继承中重载.重写.重定义的区别: 在了解C++11中的final/override关键字之前,我们先回顾一下C++关于重载的概念.简单地说,一个类A中声明的虚函数fun在 ...
- iOS 录音功能的实现
这两天也调了一下ios的录音,原文链接:http://www.iphoneam.com/blog/index.php?title=using-the-iphone-to-record-audio-a- ...
- UITableView划动删除的实现
对于app应用来说,使用列表的形式展现数据非UITableView莫属.在熟练掌握了用UITableView展示数据以后,是不是也遇到了需要删除数据的需求?是不是觉得在一行数据上划动一下,然后出现一个 ...
- PHP自带方法验证邮箱、URL、IP是否合法
PHP验证邮箱.URL.IP是否合法 以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带 ...
- java基础---->多线程之Daemon(五)
在java线程中有两种线程,一种是用户线程,另一种是守护线程.守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁.今天我们通过实例来学习一下java中关于守护线程的知识.我是个平 ...
- BluePrint和ORM
一.蓝图创建 #引入库文件 from flask import Blueprint,request,jsonify user = Blueprint( "site", __name ...