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

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

禅道是一款国产的开源研发项目管理软件,基于敏捷和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回复
自动化集成详解,实用指导!

推荐阅读

如何做有效的Bug管理?

有效的Bug管理,就是让团队形成一种“对质量负责”的共识
🌻
陈哥聊测试
08-25

测试开发之前端篇-HTML超文本标记语言

前面的文章中,给大家介绍了一个标准HTML页面的组成部分。为更好地掌握这些内容,建议大家阅读HTML标签参考手册,并使用其中的”动手试一试“的功能,直观地体验下这些元素所展示的内容。 HTML是Web自动化测试和网页设计的一个基础,上述教程已经做的很完善,大家阅读一遍,有个基本的了解即可。后续学习中如遇到不明白的地方,可当做手册来查询。Q: 什么是禅道? A: 禅道是一款开源的项目管理软件,...
aaronchen2k 2021-09-03

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

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

测试开发之系统篇-按需创建测试虚拟机

首先,我们来了解一下KVM虚拟机有关的几个概念和工具。 kvm:基于内核的虚拟机(引擎) qemu:用于模拟虚拟机IO设备 qemu-img:虚拟机磁盘管理工具 libvirt:虚拟化服务的API接口 virsh:基于libvirt实现的命令行工具 qemu-manager:图形化管理工具 新建KVM虚拟机时,可以指定另一磁盘文件作为BackingFi...
aaronchen2k 2021-06-21
返回顶部
客服头像
高丽亚
高级客户经理
客服微信
17667930330
3645260865
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。