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

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

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

推荐阅读

测试开发之自动化篇——自动化测试框架设计

今天,给大家介绍如何进行自动化测试框架的设计。
🍪
陈琦
2022-09-01

测试开发之前端篇-JavaScript脚本语言

由于是测试有关的文章,我们不会详细介绍JavaScript开发技术的方方面面,而是从软件测试的角度,给大家分享一下JavaScript(下称JS)的相关内容。 不同于PHP、JSP等传统Web技术,会在服务器端生成网页,现今流行的前后端分离架构下,大家浏览网站时看到的页面,是由下载到浏览器里的JS代码(包括脚本和编译成了JS形式的模板),在客户端的电脑中渲染而成的。以上是一个简化了的示意图,...
aaronchen2k 2021-10-19

测试开发之系统篇-Docker容器安装

前面文章我们讲到,容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机上的操作系统内核。此处以Ubuntu20.04系统为例,介绍Docker容器引擎的安装过程。 安装 安装依赖。 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent softwar...
aaronchen2k 2021-07-20

测试开发之网络篇-常用服务协议

介绍常用的网络服务协议。
陈琦 2021-05-25
返回顶部
客服头像
刘斌
高级客户经理
客服微信
17685869372
526288068
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。