在上次的自动化测试系列(一)中为大家大体介绍了自动化测试的概念,本文主要针对API测试的概念及API测试在Choerodon猪齿鱼中的实践展开。
API(应用程序编程接口)测试是一种软件测试,可以直接在API级别执行验证。它是集成测试的一部分,它确定API是否满足测试人员对功能,可靠性,性能和安全性的期望。与UI测试不同,API测试是在没有GUI的消息层执行的。
什么是API测试
接口(API)是各种系统功能的基础,一旦接口出现问题可能会引起许多系统功能的问题并且不容易定位。而接口测试则帮助节省了测试成本,促进了测试前移。如图所示,在软件的自动化测试金字塔中,越是底层的测试,越是能够提前发现Bug,而在底层发现的这些Bug造成的影响往往也会更大。所以,我们倡导测试前移,也就是说,在金字塔中层级越低,占的比重应该更大。(但是在实际工作中,单元测试对技术专业性要求更高,很多情况下都是由开发来实施,因此我们可以先选择接口测试来更早地介入测试。)
其次,接口测试相较于传统的功能测试,接口测试能够更好地解决系统测试的复杂度问题,同时避免了UI层可能不稳定的问题,以此来提高测试人员的工作效率。
通过将API测试任务集成至应用流水线,Choerodon平台实现了接口测试的自动化。
怎样使用Choerodon API测试功能?
本次旨在为大家介绍在Choerodon猪齿鱼 V0.24.0商业版中API测试相关的功能。
API测试用例管理
Choerodon中的接口测试模块通过集成Jmeter,实现了API用例的添加、归集、管理与执行的功能。其中支持基于接口URL或Swagger文档快速编排接口测试用例,而导入或添加API测试用例的整个过程免代码编写,技术门槛低,适合敏捷团队中各个角色使用。
- 创建API测试用例
API测试用例主要由4个部分组成,分别是:用例的基础信息、前置步骤、请求脚本以及断言。
- 前置步骤用于为执行用例请求做前置准备,分为:前置请求、生成随机数据、前置等待3种类型。
- 请求脚本中包含了:选择请求方式、维护URL、维护请求头、请求参数或请求体,同时还能从对应的响应结果中提取出变量供后续的用例引用。
- 断言用于对用例执行后的响应结果做判断,判断请求执行后的响应结果是否满足我们的预期。若满足,则称之为:通过断言;不满足,则为:不满足断言;
- 导入API测试用例
导入用例
的功能支持将已有的接口及其相关信息批量快速地导入到用例库中,并自动生成符合规范的API测试用例。目前支持Swagger导入用例
与cURL导入用例
方式。
-
Swagger导入用例
支持输入Swagger URL从Swagger中批量导入API测试文档中已经维护的接口信息。
-
cURL导入用例
支持从浏览器(如chrome、safari)中复制请求为cURL格式,并将其粘贴进图中的命令行中即可。
- 执行API测试用例
执行API测试用例时,需选择API测试用例,并支持选择API测试任务-任务配置
页面已经维护好的任务配置,同时支持在此基础上进行修改,或者直接输入各项配置。
执行配置中设置的参数支持用于此次执行的所有用例,避免重复多次的维护相同的用例信息。
API测试任务
API测试任务是某些特定用例的集合(这里可以是产品的某个版本中的API测试用例,或者是其中某个功能块的API测试用例的集合);从API测试用例库中选择用例创建API测试任务成功后,便能以API测试任务为整体来执行该任务。此外,应用流水线中也集成了API测试任务,从而实现了API测试的自动化执行。
- 创建API测试任务
创建API测试任务时,需选择API测试用例,作为API测试任务中执行的对象。支持选择API测试任务-任务配置
页面已经维护好的任务配置,同时支持在此基础上进行修改,或者直接输入各项配置作为此任务的通用配置。
任务配置中设置的参数支持用于API测试任务中执行的用例,避免重复多次的维护相同的用例信息。
- API测试任务记录
API测试任务
菜单下,可查看所有API测试任务
的执行记录,除此之外,还支持查看直接通过执行用例而产生的用例执行
的记录。
测试记录中包含了两部分,分别是:执行概览与执行结果详情;
1. 执行概览:其中包括记录的编号、执行结果、执行者、开始时间、执行耗时、用例通过率、执行成功的用例数、执行失败的用例数。
2. 执行结果详情:即每个用例的执行详情查看;其中包括:用例请求的基本信息(请求方式、URL)、用例执行状态、开始时间、执行耗时、断言的通过情况、请求头、请求体、状态码、响应头以及响应体。
- 任务配置管理
任务配置用于为执行用例或执行API测试任务提供基础的配置,其中包括:全局请求头配置、全局请求配置、授权管理配置以及用户变量配置,以此来避免在多个用例中频繁重复地配置这些参数。
- 流水线中集成API测试任务
流水线中API测试任务
目前仅支持Choerodon商业版能选择。当API测试任务触发后,会立刻执行选中的测试任务。
注意:该类型的CD任务仅Choerodon商业版可用。
- 选择添加此类型任务后,首先需要填写任务名称、配置触发分支;触发分支的匹配方式支持:分支类型匹配、正则匹配、精确匹配以及精确排除。
- 选择API测试任务:此处仅支持选择项目下已有的API测试任务。
总结
持续测试是DevOps流程中重要的一环,而API测试能帮助实现测试前移,从而帮助团队降低测试成本,更快地发现缺陷与问题。
关于猪齿鱼
Choerodon猪齿鱼作为开源全价值链多云敏捷协作平台,是基于开源技术的Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷,持续交付,容器环境,微服务,DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而转变,更替代地交付更稳定的软件。
更多内容
大家可以通过以下社区途径了解Choerodon猪齿鱼文档,最新动态,产品特性:
【Choerodon官网】
【汉得开放平台】
【汉得开放论坛】
https://openforum.hand-china.com/
也可以加入Choerodon猪齿鱼官方社区用户交流群,交流猪齿鱼使用心得,Docker,微服务,K8S,敏捷管理等相关理论实践心得,群同步更新版本更新等信息,大家可以加群讨论交流。
①-Choerodon猪齿鱼官方交流(已满);
②-Choerodon猪齿鱼官方交流(可加);【微信号发至客服邮箱choerodon@vip.hand-china.com,运营小伙伴拉您入官方交流群】
欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。