51Testing软件测试论坛

标题: 接口测试的技术你知道多少? [打印本页]

作者: lsekfe    时间: 2022-11-24 13:06
标题: 接口测试的技术你知道多少?
 一、接口测试定义
  接口测试是测试系统组件间接口的一种测试。
  接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
  测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  二、为什么做接口测试
  系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降。
  单一产品之间的测试已不能满足质量需求,产品与产品之间的互动也要保障,跨产品的联调必不可少,之间的桥梁更多是接口。
  系统前后端分析是很普遍的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求, 后端同样需要进行控制,这种情况下更多是接口验证。
  接口测试相对简单且容易实现自动化持续集成,相对UI自动化更加稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持快速迭代发版的需求。
  三、接口的分类
  [url=]web[/url] service接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。
  http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求,其它PUT/DELETER/HEAD等。
  四、GET请求和POST请求的区别
  GET使用URL或Cookie传参,以?分割URL和传输数据,用&符号连接多个参数。而POST将数据放在Body中。
  GET的URL会有长度上的限制,一般不能大于2KB(具体看浏览器和服务器的限制),POST的数据则可以非常大。
  POST比GET安全,因为数据在地址栏上不可见,GET更容易受到Sql注入。
  一般get请求用来获取数据,post请求用来发送数据。
  五、接口测试相关工具
  接口测试工具:SoapUI/Jmeter/Postman/等。
  接口管理工具:RAP/Postman/swagger等。
  抓包工具:fiddler/Httpwatch/wireshark/Charles等。
  接口自动化框架:python+requests+unittest+HTMLTestRunner/Jmeter+Ant+Jenkin等。
  六、接口测试过程
  需求评审->接口定义->用例设计->测试执行->结果分析
  七、接口测试用例
  接口测试用例包含三部分:
  纯接口的校验(主要包含每个参数合法性校验、输入输出是否合法等,基本对照API文档即可)。
  基于业务场景的(正常场景、异常场景,一般包含多接口调用)。
  接口性能、安全等方面。
  八、接口文档规范
  通常比较规范的接口文档都应该包含: 接口名,接口地址,请求方式,参数名,参数含义说明,取值限制,返回数据示例,返回码解释,返回参数说明等。
  九、接口测试注意点
  接口不关注内部具体实现---过程,而是关注功能实现---结果。
  检查传参的合法性以及返回数据的正确性。
  十、接口测试质量评估
  1. 业务功能是否完整。
  2. 参数验证是否达到要求(边界、类型、长度、格式等)。
  3. 接口异常场景覆盖是否完整。 
  4. 性能指标是否满足要求。   
  5. 安全指标是否满足要求。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2