禅道是一款国产的开源研发项目管理软件,基于麻利和 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 做了实现,具体可参考这里。