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

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

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

推荐阅读

测试开发之网络篇-网络路由

本文展示了一个简化的办公网络,帮助你简单了解交换网络和路由网络不同的工作方式。
aaronchen2k 2021-05-25

测试开发之源码篇-代码分支策略

本文介绍了常见的代码分支策略,包括主干开发、Git Flow、Github Flow和Gitlab Flow。每种策略都有其适用场景和优势,可以根据项目需求选择合适的代码分支策略。
💍
陈琦
2023-05-31

如何做有效的Bug管理?

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

测试开发之网络篇-OSI七层协议

今天,我们来了解一下OSI(Open System Interconnect)开放式系统互连。它是ISO组织在1985年发布的网络互连模型,该标准定义了网络互连的七层框架。
陈琦 2021-05-20
返回顶部
客服头像
刘斌
高级客户经理
客服微信
17685869372
526288068
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。