[翻译] API测试最佳实践 - 组织你的测试

组织你的测试

适用级别:初学者

在最底层,一个测试步骤(Test Step)用来验证一个单独的操作。组合若干测试步骤到测试用例,允许你验证那些被分隔出来的一个一个的功能,这些功能是应用程序所需要的。接下来,若干个测试用例可以组成一个测试套件(Test Suite),验证其中一个交付物的完整功能,这是用户想要的。最后,组合若干测试套件到一个测试工程(Test
Project),就能验证一个完整产品的功能了。

词语工程(Project)和套件(Suite)某些情况下可以互换使用,但是意思都差不多,包含各种范围的多重测试级别。这句话怎么理解?不能理解成传统的测试级别,传统的测试级别为组件测试,集成测试,系统测试,验收测试等。这里要结合上一段的内容,级别指的是测试步骤,测试用例,测试套件,测试工程,这个等级是这么来的,范围就是测试步骤的范围,测试用例的范围,测试套件的范围,测试工程的范围。

小的构建块

从小父母教育我们做事要从小做起,一口气吃不成一个胖子,贪得无厌没啥好下场。所以,API测试最好也从一个单独的测试步骤调用开始,然后再把他们组合进大的用户场景里,好处就是能够帮助你快速准确的定位缺陷。同时也可以让你逐层递进的了解被测程序的细枝末节、功能逻辑。被测即AUT,Application Under Test。

API通常没啥正儿八经的文档,有文档的也缺乏维护,没文档的真就没有。所以你要组织构建的测试用例就应该像堆积木,从非常小的部分开始,然后用你学到的知识在堆积其他大的部分。

当你运行测试用例并找到了一个缺陷后,开发人员通常会想办法快速识别出最小范围的受损部分。所以,如果对于你测试的单一功能的问题描述过长,那就要花费很多时间从里面找出问题乃至蛛丝马迹,不管这个过程是如何被自动化的

另外,合理有效组织你的测试用例到可管理的逻辑块,将会让你的测试用例变的更加灵活,可维护性更强。

你很可能会选择一小片功能进行测试。如果你有一个成百上千的测试用例集(Test Suite),但是你的应用程序的一个功能仅有一个(严重的)缺陷被修复,你很可能需要快速选取跟开功能或问题相关的测试用例。几乎所有的现代测试框架都允许你创建一组测试用例或一组测试用例集,然后从该创建的组中选择一个或多个测试用例运行。

这个功能片(块)该有多小,依赖于你的被测产品。如果是你个盖房子的人,这个最小的部门可能是门、窗户、墙等等。下一个再大一点东西,你可能考虑盖一个卧室出来,一个厨房或者一个走廊等等。一个测试工程或项目就好比盖一个平房,二层小楼一样,没啥区别。(真的?)

如果你是盖房子的人的供应商,最小的部件可能就是一个门的转轴、手柄、浴室的水池、厨房洗碗的水槽、水龙头等等。再大点部件就可能是外门、内门、厨房柜子等等。一个测试工程或项目也可以类比为完整的厨房或者一个完整的浴室。

(未完待续。。。)

时间: 2024-10-12 03:04:34

[翻译] API测试最佳实践 - 组织你的测试的相关文章

[翻译] API测试最佳实践 - 身份验证(Authentication)

API测试最佳实践 - 身份验证 适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源或API. 验证(Authentication)- 指的是对API最终使用者的确认的活动. 授权(Authorization)- 指对那些验证通过的用户能所能够访问的资源进行确认的活动. 2. 身份验证的标准(Authentication Standars) 身份验

RESTful API 设计最佳实践(转)

摘要:目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息? 背景 目前互联网上充斥着大量的关于RESTful API(为了方便,以后API和RESTful API 一个意思)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完

RESTful API 设计最佳实践

1. 背景 REST(英文:Representational State Transfer,表述性状态转移)描述了一个架构样式的网络系统,比如 web 应用程序. 目前互联网上充斥着大量的关于RESTful API(为方便,下文中"RESTful API "简写为"API")如何设计的文章,然而却没有一个"万能"的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你

RESTful API 设计最佳实践(转)

背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分.因为一旦发布,对外发布的API将会很难改变. 在给SupportedFu设计API的时候,我试图以实用的角度来解决上面提到的问题.我希望可以设计

API测试最佳实践 - 身份验证

适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源或API. 验证(Authentication)- 指的是对API最终使用者的确认的活动. 授权(Authorization)- 指对那些验证通过的用户能所能够访问的资源进行确认的活动. 2. 身份验证的标准(Authentication Standars) 身份验证的标准和技术太多了,比如, 2.

【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库Sysbench测试最佳实践

引言 作为一名DBA,时常需要对某些数据库进行一些基准测试,进而掌握数据库的性能情况.本文就针对sysbench展开介绍,帮助大家了解sysbench的一般使用方法. ? sysbench简介 什么是基准线测试 所谓基准测试,就是通过对数据库的性能指标进行定量的.可重复的和可对比的测试.基准线测试可以理解为一种针对系统的压力测试.但该测试并不关心业务逻辑,因此测试相对简单和直接.通过测试可分析在当前配置下(包括硬件配置,OS,及数据库参数设置等)应用的性能表现,实现不同应用之间的比较. 具体而言

介绍 slf4的api和最佳实践

在pom文件中加入下面的依赖   <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId

编写 Node.js Rest API 的 10 个最佳实践

Node.js 除了用来编写 WEB 应用之外,还可以用来编写 API 服务,我们在本文中会介绍编写 Node.js Rest API 的最佳实践,包括如何命名路由.进行认证和测试等话题,内容摘要如下: 正确使用 HTTP Method 和路由 正确的使用 HTTP 状态码 使用 HTTP Header 来发送元数据 为 REST API 挑选合适的框架 要对 API 进行黑盒测试 使用基于 JWT 的无状态的认证机制 学会使用条件请求机制 拥抱接口调用频率限制(Rate-Limiting) 编

[转]10个有关RESTful API良好设计的最佳实践

Web API已经在最近几年变成重要的话题,一个干净的API设计对于后端系统是非常重要的. 通常我们为Web API使用RESTful设计,REST概念分离了API结构和逻辑资源,通过Http方法GET, DELETE, POST 和 PUT来操作资源. 下面是进行RESTful Web API十个最佳实践,能为你提供一个良好的API设计风格. 1.使用名词而不是动词 Resource资源 GET读 POST创建 PUT修改 DELETE /cars 返回 cars集合 创建新的资源 批量更新c