API自动化测试总结

说实话,第一次接触这类测试,刚开始有些摸不到头脑,确切的说是摸不到重点,无论是测试还是TC,都让我很头疼,后来慢慢的,我就领悟到了这类测试的方法以及技巧,后来觉得真的很简单,并不像当初想的那么不容易。
  首先明确哪些是需要测试的API
  研发的代码中可能实现了很多API,首先必须明确哪些需要测,哪些不必要测;哪些整个迭代不测,下一个迭代再测;有一些接口是可能就直接调用另外一个接口,这些接口有没有必要测等。这些没有确定清楚直接导致漏测或者做无用功。
  明确每个API实现的功能和设计TC
  在确定了哪些接口需要测试之后,就必须明确每个接口实现的功能以及接口的参数、返回值的意义等。理解这些接口参数的含义,这些参数僵尸设计TC的维度,简单的说,这些参数可以看成一个一个输入框,李四网页手工测试一样,将准备数据输入即可。用黑盒的方法来为API设计TC和网页手工测试很类似,无非就是把参数看成输入框而已。但是API测试在设计TC的时候还可以'偏白'一点,就是直接去看接口的实现的代码,特别是一些异常情况的处理,一般程序在异常处理上总是相对于正常情况要脆弱一些,然后对前面用黑盒的方法设计好的TC进行一些补充。
  值得注意的是,1)TC设计的时候尽量详细,粒度尽量的小,测试代码都是类似的,可能仅仅是传入的参数不一样,而测试校验的工作是计算机做的,所以一般情况下针对某个接口,10个TC和20个TC跑的花费是差不多的,但是测试粒度方面和代码覆盖率方面可能就增加了不少。2)TC也是要进行维护的,在测试执行阶段,如果发现需要补充TC,最好不要在现有的测试代码上改,要新加代码,同时在TC文档中也同步更新。如果是TC的缺陷,才去修改对应的代码,并在TC文档中做更新。3)在设计TC文档的时候,测试步骤的粒度最好能够细到每一步需要调用哪个函数或接口,有点类似伪代码的风格,这样在写代码的时候就不用怎么思考,仅仅去实现它。
  我们做这类测试,是直接拿应用程序在本地开启service,首先你在启动service之前,要配置好web.config文件,这个很重要,包括你测试所需要的数据库名字以及相应API测试所需要的特殊配置。我们这里主要配置和外部有交互的一些service地址,以及一些数字电视产品的ID等信息。
  API测试除了要测试功能以外还要测试接口。一个API或者函数可以作为一个单元,对这个单元进行单元测试,可以用黑盒也可以用白盒方法。黑盒方法就是不去看这个单元的实现代码,只根据中广核单元的功能说明来设计测试用例并进行测试。测试的时候可能需要写一些简单的代码来做数据准备,然胡去调用需要测试的接口,一般也需要写一些代码来接受或者验证被测单元的输出是否正确;白盒测试方法就是同构分心被测单元的实现代码,根据不同的测试策略来设计测试用例并作相应的测试。平台产品的需求很多事来自网站,简而言之,平台产品提供API给网站研发使用。我们需要测的就是那些暴漏出来的API,确保这些API在功能上没有缺陷。
  我在做API测试的时候,主要采用的是黑盒测试方法,用Fiddler工具去调接口,这个方便又明了,很容易看出被测单元的输出是否正确。不过事先你需要明确的了解需求,以及整个系统的架构,需要了解都和哪些service有交互,都做哪些交互等。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 13:35:16

API自动化测试总结的相关文章

Api自动化框架分享

前言 今天把我最近的一点小小的收获分享给到大家,希望能给大家一点帮助和启发-当然最需要的还是大家的意见!  今天给大家分享的是最近开发的一个API自动化框架: 框架定位 1,数据驱动  2,简单流程覆盖,快速迭代  3,组合Case不需要Coding 总而言之只要是代码能够实现的,能方便API测试的都是框架定位的方向~! 框架介绍 边画的很不专业,随便画的应该是还有一个 数据层,所有的都是以数据配置的方式来驱动整个运转的!~ 所需环境 Jenkins + Svn + Maven+TestNG+R

API如何开启IT基础设施的未来

本文讲的是API如何开启IT基础设施的未来[IT168评论]企业一直在寻找新的方法来提高效率,降低成本的同时保持其产品和服务的质量.云计算的重要组成部分API被IT部门和服务供应商越来越看好(应用程序编程接口),其使工作自动化,进而推动效率,一致性和成本节约. 提高运营效率 通过API实现自动化的一个重要成果是一致性.通过自动化,工作避免了操作流程人为错误(和人力的费用).如果面临重复的任务,相较于API而言,人为执行很可能会有意想不到的结局(失误)来收场.另一方面,如果不是重复性的任务,API

利用Python绑定编写OpenStack自动脚本

OpenStack 是一个越来越流行的.用于部署基础架构即服务 (IaaS) 云的开源解决方案.OpenStack 附带了一个仪表板 Web 应用程序,非常适合执行 手动任务,比如启动单个虚拟机 (VM) 实例, 但是,如果希望自动化基于云的任务,则需要编写可操作 OpenStack 的脚本. 许多用户直接为 OpenStack 具象状态传输 (REST) 应用编程接口 (API) 编写自动化脚本,或者编写调用命令行工具(比如 keystone 或 nova)的 shell 脚本.但 Pytho

数据迁移类测试策略

前言 前段时间做了一次数据迁移,针对数据迁移类型的测试方法进行了一些了解和总结,以下工具愚公移山和精卫为淘宝开发的工具,已使用于多个产品.项目中,质量有保障. 一.工具介绍 1.愚公移山 概述: 数据的动态迁移,可完成数据全量.增量迁移,进行数据比对,保证数据的正确:目前较多运用在数据迁移中,已经被很多团队使用,是很成熟可靠的数据迁移工具 适用范围: 可支持:支持oracle和mysql,分库分表,实时同步,数据比对 不支持:涉及到外部依赖,迁移规则非常复杂的数据 性能情况: 没有对愚公进行压测

品友互动上云实践:云端的数字广告管理系统

本文正在参加"最佳上云实践"评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号9) 品友互动创立于2008年,是全球领先的数字广告技术公司,通过集成大数据技术和人工智能算法的数字广告云端管理系统,为亚洲.欧洲和北美客户提供企业级数字广告管理和优化服务.品友总部位于北京,并在上海.广州.西雅图和硅谷设有分部. 2011年,品友率先发布中国首个实时竞价广告DSP系统,并占有中国品牌程序化市场59.8%的市场份额.2016年,品友推出首个全透明的

capybara4--安装cucumber

capybara是一个简单的API,它提供了抽象层在你真实自动化库之上.如果它帮助,认为capybara是你的翻译,你告诉它做一些事情,它将优雅的将命令转换为你应用驱动的API. 所以当我们使用capybara进行翻译时,我们需要告诉capybara做什么并且需要一个API自动化库去进行翻译. capybara是一个非常灵活的库, 通过这本书我们将看到它在各种场景中应用.然而.目前为止最常见的情景是应用cucumber作为capybara测试驱动,去驱动selenium webdriver 开展

迎接网络虚拟化的春天

中国服务器虚拟化技术的第一个春天是2007年,今年迎来了第七个年头.我们欣喜地看到服务器虚拟化极大地推动了中国服务器市场的颠覆性再造,PC服务器越来越强大的计算能力再也不愁找不到用武之地,CPU.内存都通过虚拟化驱动而高负载运行,传统数据中心服务器的数量的增长速度随着虚拟化的普及而应声降低,大量节约了人力.电力.空间等资源,为构建更为绿色的数据中心立下汗马功劳.但另外一个幽灵一直在阻滞数据中心前行的脚步,这就是传统网络.直到今天,网络和应用安全策略的部署仍然是艰难地通过手工配置,自动化程度很低.

申万宏源证券选择青云专注核心业务开发

申万宏源证券有限公司(简称"申万宏源"),是由新中国第一家股份制证券公司--申银万国证券股份有限公司与国内资本市场第一家上市证券公司--宏源证券股份有限公司,于2015年1月16日合并组建而成.公司目前是国内规模最大.经营业务最齐全.营业网点分布最广泛的大型综合类证券公司之一,注册资本330亿元,拥有员工近8000名,在全国设有18家分公司和309家营业部(含西部证券),并设有香港.东京.新加坡.首尔等海外分支机构. 关于业务压力 伴随申万宏源证劵互联网业务的发展,比如线上互联网平台(

从云消费者的角度谈云安全架构

简介 云应用开发者以及DevOps人员已经针对IaaS(Amazon AWS.Rackspace等)和PaaS(Azure.Google App Engine.Cloud Foundry等)平台成功开发了数以万计的应用.这些平台提供了基本的安全机制,诸如认证.DoS攻击防御.防火墙策略管理.日志.基本用户与帐户管理等,但是安全顾虑依然是企业级云实施的首要障碍.对云的安全顾虑,从安全配置部署于IaaS平台之上的虚拟机到在PaaS云上管理用户权限,不可谓不广泛. 鉴于云服务能够以多种方式进行提供,例