接口测试的一些感悟

发表于:2016-1-19 11:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chenhengjie123    来源:51Testing软件测试网采编

  不知不觉在公司做接口测试已经接近一个月了。由于之前没做过接口测试,所以上手时走了不少弯路,而且老实说现在还在走弯路中,所以只能说是感悟吧。
  接口测试的目的
  这个算是老生常谈了,但我觉得只要聊到接口这个还是绕不过的,没有目标就没有评判标准,所以测试的目的还是很重要的。
  先搬运一下维基百科上的英文解释(中文没找到,百度的就算了。。。):
  API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security.[1] Since APIs lack a GUI, API testing is performed at the message layer.[2] API testing is now considered critical for automating testing because APIs now serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development and DevOps).[3][4]
  翻译过来就是:
  API 测试是一种作为集成测试的一部分,通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。[1]由于 API 都没有 GUI 界面,API 测试都是在通讯层进行的。[2]现在 API 测试在自动化测试中有着很重要的地位,因为 API 一般是应用逻辑的主要接口,同时 GUI 测试在敏捷开发和 DevOps 的快速迭代和频繁变更中很难维护。[3][4]
  [1]:Testing APIs protects applications and reputations, by Amy Reichert, SearchSoftwareQuality March 2015
  [2]:All About API Testing: An Interview with Jonathan Cooper, by Cameron Philipp-Edmonds, Stickyminds August 19, 2014
  [3]:The Forrester Wave? Evaluation Of Functional Test Automation (FTA) Is Out And It's All About Going Beyond GUI Testing, by Diego Lo Giudice, Forrester April 23, 2015
  [4]:Produce Better Software by Using a Layered Testing Strategy, by Sean Kenefick, Gartner January 7, 2014
  然后我目前在工作中 Leader 对我的预期:
  发现尽可能多的问题。先说下背景,他是 app 端的主程,他对我做接口测试的期待是尽早发现接口的问题,减少他们 app 和服务端联调是发现的问题。他举了个例子,例如服务器返回一个 {"width":30, "url":"http://xxx/a.jpg"} ,那么有可能存在这个图片的实际宽度和 width 字段不一致。
  和大东等曾经做过 API 测试的人的交流:
  覆盖业务,包括业务正常/异常的情况
  我一开始的理解:
  发现问题,恩。那就是把文档里说的必须字段缺了试试,只有必须字段试试,必须字段用非法值试试。可选字段缺了试试,可选字段非法值试试。
  结果就是:一个接口至少6个用例,甚至更多。而且很多时候不一定测得到业务(如接口只返回成功失败,但有可能实际上失败了但返回的是成功,需要调用其他接口验证)
  目前的理解(估计还是有点走偏):
  结合业务设计用例。如有翻页参数,那就试试默认值、有效值、最后一页、最后一页+1、无效值。针对各个参数和业务场景去设计用例。
  接口测试的实现
  在这一点上我走了两条路:Jmeter 和纯 Java 代码。现在看来,两条都不是好路,所以就不分享了。这里主要说下 Testerhome 上最近出现的一些接口测试工具方面的帖子,简单汇总一下他们的实现方式:
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号