测试开发之自动化篇-禅道自动化测试集成

原创
🍪
陈琦
2022-08-30 11:10:04
5360
摘要:本文给大家介绍如何将第三方的自动化测试工具同禅道进行集成,打造一个一站式的完整研发管理平台。

禅道是一款国产的开源研发项目管理软件,基于敏捷和CMMI管理理念进行设计,完整地覆盖了项目管理的核心流程。根据国内权威测试网站51Testing的《2021软件测试现状调查报告》显示,禅道已连续七年在"常用的测试管理工具”中排名第一。


在前面的专题文章中我们认为,随着持续集成和DevOPS的流行,自动化测试已经成为了研发活动中的不可或缺的一个重要环节。甚至可以说,没有成熟的自动化测试,持续集成和DevOps都不可谓之为成功。


本文给大家介绍如何将第三方的自动化测试工具同禅道进行集成,打造一个一站式的完整研发管理平台。内容基于禅道16.5版本,更早的版本请参照这里安装RestAPI插件后继续。


首先,您可以将公司现有的自动化测试脚本和禅道中的用例相关联,据此可以统计禅道测试用例的自动化率。通过调用禅道testcases接口,可以在禅道和自动化系统间,同步测试步骤和期待结果等信息。在禅道开源的自动化测试框架ZTF中,我们使用脚本顶部的注释,来支持ZTF自管理的测试脚本到禅道用例的映射和同步。


#!/usr/bin/env php
<?php
/**
title=the simple demo for ztf
cid=0
pid=0
1. step1 >> expect 1
2. step2 
3. step3 >> expect 3
*/
print("expect 1\n");
print("expect 3\n");


您可以使用禅道的持续集成特性,在流水线中执行单元或自动化测试。执行完成后,将输出的测试结果,使用ciresults接口提交到禅道,由禅道中集中地展示测试报告。在禅道开源的自动化测试框架ZTF中,我们支持把脚本执行结果、单元测试结果和第三方通用报表工具Allure Report的报告同步到禅道中去。如果ZTF脚本注释中设置了禅道用例的编号cid,或者在Allure通过标注(注释)或代码的方式设置了单元测试用例的编号,具体的测试结果在同步后会挂到指定的禅道用例上。


测试执行中发生用例失败时,可以使用bugs接口向禅道提交缺陷。缺陷的描述可以从ZTF脚本的执行步骤、期待结果、实际结果,或单元测试的输出信息中获取。具体可以参照ZTF开源项目的cb提交缺陷指令的实现。


借助您研发管理系统中所维系的需求、用例、脚本、执行、结果和缺陷等工作件之间的关系,您可以在项目管理层面,得到需求的用例设计覆盖率、用例的自动化覆盖率、某次迭代中的用例或需求的执行覆盖率等度量指标。


以下列出您可能需要使用到的禅道接口,供大家参考。

登录

POST
api.php/v1/tokens

列出所有产品

GET
api.php/v1/products

列出产品的用例模块

GET
api.php/v1/modules?type=case&id=<product_id>

列出产品测试套件

GET
api.php/v1/products/<product_id>/testsuites

列出产品测试套件

GET
api.php/v1/testtasks?product=<product_id>&limit=1000

根据模块获取用例

api.php/v1/products/%d/testcases?module=%d

根据套件获取用例

api.php/v1/testsuites/%d

根据任务获取用例

api.php/v1/testtasks/%d

获取用例详情

GET
api.php/v1/testcases/%d

更新用例内容

PUT
api.php/v1/testcases/%d

提交测试结果

POST
api.php/v1/ciresults

提交缺陷

POST
api.php/v1/products/<product_id>/bugs

上述接口,可以在禅道“文档->接口库”中找到其API的详细介绍,在ZTF开源测试框架项目中,我们已使用Golang做了实现,具体可参考这里


Q: 什么是禅道?

A: 禅道是一款国产开源的研发项目管理软件,基于敏捷和CMMI管理理念设计。


Q: 如何将自动化测试结果集成到禅道中?

A: 可以使用禅道的ciresults接口提交测试结果,使其在禅道中集中展示。


Q: 如何在禅道中提交测试执行中发现的缺陷?

A: 使用禅道bugs接口可以提交缺陷,描述信息可从ZTF脚本或单元测试输出中获取。

  • coffee-tablet-headphones-work-4f239ef256935610260e2a478f378541.jpg
评论列表
🙈
捣蛋的羽毛球2025-11-28 11:13:02回复
自动化集成详解,实用指导!

推荐阅读

测试开发之单元测试-实现Git增量代码的Jacoco覆盖率统计

与大家分享,如何使用Jacoco集合Git来做增量代码的覆盖率测试,以及它实现的基本原理。
📘
陈琦
2023-05-25

测试开发之接口篇-使用K6完成接口自动化测试

K6是一个优秀的开源性能测试工具,它提供了简洁又丰富的API,灵活和易用的描述性语法。
🍪
陈琦
2023-05-10

测试开发之网络篇-IP地址

这里介绍一下目前广泛使用的IPv4版本。 IP地址使用一种统一的格式,为互联网上的每一个网络、每一台设备分配一个逻辑上的地址。IP地址是一个32位的二进制数,为了方便查看,通常把他分为4组,每组的8位用一个十进制数来表达,形成一个形如192.168.0.10的地址。 IP地址由两部分组成,一个网络ID和一个主机ID,两个部分使用子网掩码来区分。也因此,一个完整的IP地址,必须包括主机地...
aaronchen2k 2021-05-25

测试开发之系统篇-安装KVM虚拟机

虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术。 虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用。容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机的操作系统内核。容器相对于虚拟机启动更快、占用资源更少,但隔离和安全性要弱于虚拟机。 测试人员为了准备不同的测试环境,往往使用可视化的VMW...
aaronchen2k 2021-06-09
返回顶部
客服头像
刘斌
高级客户经理
客服微信
17685869372
526288068
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。