什么是API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
Web Api
Web API是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。
Web Api 分类
web api是一种基于http的接口架构,大致可分为以下几个层次:
第0级,即RPC,一个URI支持一个HTTP方法,例如WCF服务,一个URI,只支持Post方法,协议在body中;
第1级,面向资源,很多URI,支持一个HTTP方法,比如/User/GetUsers,获取列表;/User/Delete,删除User;
第2级,Http谓词,很多URI,每个URI支持多个Http谓词方法,比如,/User,Post为增加,Put为修改,Delete为删除;
第3级,超媒体,资源描述自身功能及交互,主要包含“links”节点和“rel”节点。
什么是API测试
API测试是不同于UI级自动化测试,其主要关注在系统架构的业务逻辑层,所以其主要关注不在于UI操作或用户感观上,更重调用逻辑关系。
与UI级自动化测试通过控制键盘输入和鼠标等操作不同的是:API测试,我们是通过工具或代码方式去调用特定的API,获取输出,并记录系统的响应。
API测试需要与应用程序的API进行交互,为了测试这些API,我们可以:
使用测试工具来进行测试
自己写代码的方式进行测试
API主要测试的内容
API级测试至少应该覆盖以下测试要点:
验证API所暴露的资源是否恰当的列出、创建、修改、和删除
验证API是否功能可用以及用户友好,是否便于与其他平台集成
安全测试,验证API是否包含了必要的认证以及敏感数据是否做了脱敏处理,是否支持加密或明码的http访问
自动化测试,将API高度业务场景化,实现自动化测试
文档,形成足够的文档,确保API质量的可维护行
API测试的作用
在API测试时,一般会发现哪类型的bug呢?
无法正确处理错误的深入条件
缺少或重复功能
可靠性问题
安全问题
多线程问题
性能问题
响应数据结构不规范问题
有效参数值不能正确处理
测试工具
涉及主要工具:
Soap UI PRO,渗透测试流程的发起,通信报文的解析、集合payload之后通信报文的重新组装等,14天试用,可以做自动化测试。
SoapUI Free,手工测试
SOAPSonar,SOAP UI 的替代。
Burp Suite,代理拦截,跟踪通信过程和结果,对通信进行重放和二次处理等。
WSSAT
WS-Attacker
### 2.1.3 测试项目
Fuzzing
XSS /SQLi/ Malformed XML
File Upload
Xpath Injection
XML Bomb (DoS)
Authentication based attacks
Replay attacks
Session fixation
XML Signature wrapping
Session timeout
Host Cipher Support/ Valid Certificate/ Protocol Support
Hashing Algorithm Support
——————————————————————————————————
SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密通道。关于更多SSL证书的资讯,请关注数安时代(GDCA)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。
留言与评论(共有 0 条评论) |