接口测试基础讲义.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 接口测试基础 分层的自动化测试 传统自动化测试 基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。 在目前的大多数研发组织当中,都存在开发与测试团队割裂(部门墙)、质量职责错配(测试主要对质量负责)的问题,在这种状态下,测试团队的一个“正常”反应就是试图在测试团队能够掌控的黑盒测试环节进行尽可能全面的覆盖,甚至是尽可能全面的UI自动化测试。 这导致,一方面测试团队规模急剧膨胀;另一方面,因为UI是非常易变的,所以UI自动化测试维护成本相对较高。 测试金字塔 由敏捷大师Mike Cohn在他的Succeeding with Agile一书中首次提出。他的基本观点是:我们应该有更多低级别的单元测试,而不仅仅是通过用户界面运行高层端到端的测试。 分层自动化测试 Martin Fowler在测试金字塔模型的基础上提出分层自动化测试的概念。在自动化测试之前加了一个“分层”的修饰,用来区别于“传统的”自动化测试。 分层自动化测试倡导的是从黑盒(UI)单层到黑白盒多层的自动化测试体系,从全面黑盒自动化测试到对系统的不同层次进行自动化测试。 接口测试基础知识 接口的含义 接口也叫API(Application Programming Interface,应用程序编程接口) 是一组定义、程序及协议的集合 它提供访问一组例程的能力,无需访问源码或理解内部工作机制的细节。 接口的分类 第一种是代码内部的接口或称程序接口 是程序模块间的接口,代码A与代码B在组合的时候,必然需要定义一些名称以及参数、类型。 对于程序接口的测试,一般需要使用与开发程序接口相同的编程语言,通过对类、方法和函数的调用,验证其返回结果是否正确来进行测试。 这种测试一般划分在白盒测试中,也算是集成测试阶段,既可以由开发人员自己完成,也可以由有良好编程能力的测试人员来做。 第二种接口是协议接口 是系统与系统之间,通过网络数据的传递进行交互,这种类型的接口对底层代码做了封装,系统通过不同的协议提供接口对外提供调用。 此类测试一般不涉及底层程序,也看不到代码,属于黑盒层面,可以通过各种手段将网络数据发送到接口从而得到接口的响应信息,达到测试的目标。 这一类测试工作多数情况下由测试人员完成。通常所说的的接口测试主要是对协议接口的测试。 接口测试 3.1 接口测试的含义 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系等。 3.2 接口测试的意义 3.2.1 为什么测试接口 接口其实就是前端页面或APP等调用与后端做交互用的,但是功能测试都测了,为什么还要测接口呢? 如测试用户注册功能,规定用户名为6~18个字符,包含字母(区分大小写)、数字、下划线。 功能测试 对用户名规则进行测试,比如输入20个字符、输入特殊字符等 但这些可能只是在前端做了校验,后端可能没做校验,如果用户名和密码未在后端做校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过SQL注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖? 3.2.2 接口测试的意义 更早地发现问题 测试工作应该更早地介入到项目开发中,因为越早发现bug,修复的成本越低。 功能测试必须要等到系统提供可测试的界面后才能进行。 单元测试和接口测试是更早介入测试的两个方面。 接口测试可以在功能界面未开发出来之前对系统的接口进行测试,从而可以更早地发现问题并以更低的成本修复问题。 在一些实际项目开发过程中,开发人员并没有充足的时间去编写单元测试,并且他们往往对自己编写的代码有足够的信心,不愿意将时间“浪费”在单元测试的编写上。这个时候接口测试就会变得更加重要。 缩短产品研发周期 接口测试的介入可以更早地发现并解决bug,使得留到功能测试阶段被修复的bug减少,从而缩短整个项目的上线时间。 发现更底层的问题 系统中的有些bug如果想通过UI层功能测试会比较困难,或者构造测试条件非常复杂。通过接口测试可以更简单更全面地覆盖到底层的代码逻辑,从而可以发现一些隐藏的bug。 通常把UI层的验证称为弱验证,这是因为它很容易被绕过。如果只针对UI层的功能进行测试,就很难发现后端系统对一些异常情况的处理能力,而接口测试可以很容易地验证这些异常情况。 前端随便变,接口测好了,后端不用变 前端与后端的分离,是近年来Web应用开发的一个发展趋势。 这种模式的优势 前端的专业性越来越高,通过调用Web接口获取数据,从而专注于数据展示和页面交互的设计。 后端不必精通前端技术(HTML5/JavaScript/CSS),只专注于数据的处理并提供Web接口即可。 由后端开发的接口既可以提

文档评论(0)

seachild + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档