12.缺陷跟踪系统Mantis的问题生命周期和工作流

来源:互联网 发布:手机淘宝还用装旺信吗 编辑:程序博客网 时间:2024/05/16 18:53

载*请注明原始出处:http://blog.csdn.net/a464057216/article/details/50344587

问题的生命周期从问题被创建开始,问题的创建有如下几种方式:
1.MantisBT的Web界面。
2.通过调用SOAP API接口向Mantis提交Bug。
3.安装插件后,可以向特定的邮箱发送特定的邮件提交问题,系统会自己监听这个邮箱、收集并提交问题。
4.使用PHP通过调用Mantis的Core API向Mantis提交Bug。

问题跟踪的一个重要环节就是跟踪问题状态的变化,Mantis系统认为问题处于三大的状态:打开、解决和关闭。这三大状态又被细分为new、feedback、acknowledged、confirmed、assigned、resolved和closed。下面解释各个状态的意义:
new:问题新建。下一个状态通常是acknowledged、confirmed、assigned或resolved。
acknowledged:收到问题,开发团队认可这是一个问题但是可能并没有尝试复现问题。下一个状态通常是assigned或confirmed。
confirmed:确认问题,开发团队认可并复现了测试提交的问题。下一个状态通常是assigned。
assigned:问题已分派,开发团队的同事正在解决这个问题。下一个状态通常是resolved。
resolved:问题已解决。下一个状态通常是closed,如果问题被重启了,则是feedback。
closed:问题被彻底关闭,在工作流中不会在有下一个状态。通常用来表示测试回归完毕确认没有问题,或者bug解决、产品已经发布后关闭bug。

工作流
工作流即为问题的状态的迁移路线以及什么样的用户角色可以操作这些状态的迁移。
默认状态下,Mantis系统未定义任何工作流,即任何状态可以被任何人迁移到任何状态。以管理员的身份登录系统,依次访问”Manage>Manage Configuration>Workflow Transitions”可以进行如下定制:
1.某个状态的下一个合法状态。
2.某个状态的下一个默认状态。
3.可以迁移到某个状态的所需要的最低角色。
4.定义新创建问题的默认状态。
5.被认为问题已经解决的最低状态,高于此状态的问题都会被认为是已解决。
6.定义被重启的问题被分配的状态。
7.定义可以修改工作流的角色级别。

工作流设置

注意这里的配置是针对某一个项目的,如果在右上角这里选择了“All Projects”,则是针对所有项目的默认设置。后续某个特定的项目又可以自己做一些变化。
针对”All Projects”的工作流设置也可以写入config_inc.php文件中(每一行的第一个状态是默认状态):

$g_status_enum_workflow[NEW_] =’30:acknowledged,20:feedback,40:confirmed,50:assigned,80:resolved’;$g_status_enum_workflow[FEEDBACK] =’30:acknowledged,40:confirmed,50:assigned,80:resolved’;$g_status_enum_workflow[ACKNOWLEDGED] =’40:confirmed,20:feedback,50:assigned,80:resolved’;$g_status_enum_workflow[CONFIRMED] =’50:assigned,20:feedback,30:acknowledged,80:resolved’;$g_status_enum_workflow[ASSIGNED] =’80:resolved,20:feedback,30:acknowledged,40:confirmed’;$g_status_enum_workflow[RESOLVED] =’90:closed,20:feedback,50:assigned’;$g_status_enum_workflow[CLOSED] =’20:feedback,50:assigned’;

工作流阈值
“管理>配置管理>工作流阈值”可以设置问题状态迁移过程中,每个角色可以做哪些操作,比如:

工作流阈值1

工作流阈值2

Report an issue:提交问题的权限。
Update an issue:修改问题头信息。
Allow issue to be closed on resolved:允许直接关闭解决状态的问题。
Allow reporter to close issue:允许测试人员关闭问题。
Monitor an issue:监视问题,一旦监视问题,问题状态一发生改动就会收到邮件提醒。
Handle an issue:管理问题,用户是否有权限出现在管理问题的用户列表中。
Assign an issue:修改问题的处理人的权限。
Move an issue :从一个项目中将问题移动到另一个项目中的权限。
Delete an issue :删除问题的权限。
Reopen an issue:重启问题的权限。
Allow Reporter to re-open Issue:允许测试人员重启问题。
Status to which a reopened issue is set:重新打开的问题状态设置为。
Resolution to which a reopen issue is set :重新打开的问题的处理策略设置为。
Status where an issue is considered resolved:问题在何种状态下被认为是已解决的状态。
Status where an issue becomes readonly:问题从何种状态开始变为只读。
Update readonly issues:修改只读问题的权限。
Update issue status:修改问题状态的权限。
View private issues:查看私有问题的权限。
Set view status (public vs. private) :提交问题时设置问题查看权限(公开 vs 私有)。
Update view status (public vs private):更新查看权限(公开 vs 私有)。
Show list of users monitoring issue:查看正在监视问题的用户列表。
Set status on assignment of handler:更改问题状态时重新指定处理人。
Status to set auto-assigned issues to:将自动分派的问题状态设置为。
Limit reporter’s access to their own issues:限制测试人员对所报告的问题的权限为只读。
Add notes:添加注释的权限。
Update notes:修改注释的权限。
Allow user to edit their own issue notes:修改自己添加的注释的权限。
Delete note:删除注释的权限。
View private notes:查看私人注释的权限。
View Change Log:查看问题变更日志。
View Assigned To:查看所有有权限处理该问题的人。
View Issue History:查看问题历史。
Send reminders:发送提醒给问题相关人员。

如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!

1 0