QC缺陷管理
一般组需要:管理组、开发组、测试组、客服组、管理小组、Viewer
1、管理组:权限较大,有分配任务,修改字段的权限,通常为组长、项目经理等。
2、开发组的缺陷权限:Checking-Fixed,Checking-Postpone
3、测试组的缺陷权限:New,Checking-Reopen,Checking-Closed
4、客服组:通常为普通客服人员
5、管理小组:权限比管理组小,如果项目人员不多,可以忽略,权限:新建→打开 审核→验证 审核→重新打开
6、Viewer:访客、只允许浏览。
7、TDAdmin:TD管理员,最大权限。可以增加人员、组、自定义字段等。
8、项目经理:将New状态切为Open状态,即发邮件通知开发组(在设置为自动发送邮件)
二、关于权限控制
1、如果是客服组,开放的权限如下:
If not User.IsInGroup("客服组")then
Bug_Fields("BG_USER_10").IsReadOnly = false 测试责任人
Bug_Fields("BG_USER_14").IsReadOnly = false 引入版本
end if
2、如果是开发组和客服组,开发的权限如下:
if (User.IsInGroup("开发组"))or (User.IsInGroup("客服组")) then
Bug_Fields("BG_USER_17").IsReadOnly = false 跟踪人
end if
3、测试组,处理未关闭缺陷
if user.IsInGroup("测试组")and (Bug_Fields("BG_USER_07").value <> "关闭") then
Bug_Fields("BG_SEVERITY").IsReadOnly = False 严重级别
Bug_Fields("BG_SEVERITY").IsRequired = True
end if
4、缺陷录入人处理自己提交未关闭的缺陷
If(Bug_Fields("BG_DETECTED_BY").Value=User.UserName)And(Bug_Fields("BG_USER_07").Value<>"关闭") Then
'标题
Bug_Fields("BG_SUMMARY").IsReadOnly = False 问题描述
Bug_Fields("BG_SUMMARY").IsRequired = True
'所属模块
Bug_Fields("BG_USER_08").IsReadOnly= False
Bug_Fields("BG_USER_08").IsRequired = True
'严重级别
Bug_Fields("BG_SEVERITY").IsReadOnly = False
Bug_Fields("BG_SEVERITY").IsRequired = True
'重现标志
Bug_Fields("BG_USER_02").IsReadOnly= False
Bug_Fields("BG_USER_02").IsRequired = True
'遗留标志
Bug_Fields("BG_USER_09").IsReadOnly = False
Bug_Fields("BG_USER_09").IsRequired = True
Bug_Fields("BG_USER_18").IsReadOnly = False
Bug_Fields("BG_USER_19").IsReadOnly= False
'发现难度
Bug_Fields("BG_USER_13").IsReadOnly = False
Bug_Fields("BG_USER_13").IsRequired = True
'发现版本
Bug_Fields("BG_DETECTION_VERSION").IsReadOnly = False
Bug_Fields("BG_DETECTION_VERSION").IsRequired = True
'程序员
Bug_Fields("BG_USER_15").IsReadOnly = False
'责任人
Bug_Fields("BG_RESPONSIBLE").IsReadOnly = False
'计划完成日期
Bug_Fields("BG_USER_05").IsReadOnly = False
'状态
Bug_Fields("BG_USER_07").IsReadOnly= False
Bug_Fields("BG_USER_07").IsRequired = True
'测试人员
Bug_Fields("BG_DETECTED_BY").IsReadOnly = False
Bug_Fields("BG_DETECTED_BY").IsRequired = True
'客户名称
Bug_Fields("BG_USER_04").IsReadOnly= False
'详细描述
Bug_Fields("BG_DESCRIPTION").IsReadOnly = False
'备注
Bug_Fields("BG_DEV_COMMENTS").IsReadOnly = False
End If
5、测试组,处理状态为“已处理”的缺陷
If User.IsInGroup("测试组")and Bug_Fields("BG_USER_07").Value = "已处理"Then
'状态
Bug_Fields("BG_USER_07").IsReadOnly = False
Bug_Fields("BG_USER_07").IsRequired = True
'实际关闭版本
Bug_Fields("BG_CLOSING_VERSION").IsReadOnly = false
'关闭日期
Bug_Fields("BG_CLOSING_DATE").IsReadOnly= false
'备注
Bug_Fields("BG_DEV_COMMENTS").IsReadOnly = False
end if
6、'开发组处理“程序员”为自己,状态不为“关闭”的缺陷
If User.IsInGroup("开发组")andBug_Fields("BG_USER_15").Value = User.UserName _
and Bug_Fields("BG_USER_07").Value<> "关闭" Then
'责任人
Bug_Fields("BG_RESPONSIBLE").IsReadOnly = True
Bug_Fields("BG_USER_07").IsRequired = True
'处理结果
Bug_Fields("BG_USER_01").IsReadOnly = False
'状态
Bug_Fields("BG_USER_07").IsReadOnly= False
Bug_Fields("BG_USER_07").IsRequired = True
'缺陷来源
Bug_Fields("BG_USER_12").IsReadOnly = False
'缺陷来源明细
Bug_Fields("BG_USER_03").IsReadOnly = False
'预计修复时间
Bug_Fields("BG_ESTIMATED_FIX_TIME").IsReadOnly= False
'实际完成日期
Bug_Fields("BG_USER_06").IsReadOnly = False
'备注
Bug_Fields("BG_DEV_COMMENTS").IsReadOnly = False
end if
7、'管理小组处理未关闭的缺陷
If User.IsInGroup("管理小组")and Bug_Fields("BG_USER_07").Value <> "关闭" Then
'程序员
Bug_Fields("BG_USER_15").IsReadOnly = False
'责任人
Bug_Fields("BG_RESPONSIBLE").IsReadOnly = False
'计划完成日期
Bug_Fields("BG_USER_05").IsReadOnly = False
'处理结果
Bug_Fields("BG_USER_01").IsReadOnly= False
'状态
Bug_Fields("BG_USER_07").IsReadOnly = False
Bug_Fields("BG_USER_07").IsRequired = True
'缺陷来源
Bug_Fields("BG_USER_12").IsReadOnly = False
'缺陷来源明细
Bug_Fields("BG_USER_03").IsReadOnly= False
'预计修复时间
Bug_Fields("BG_ESTIMATED_FIX_TIME").IsReadOnly = False
'实际完成日期
Bug_Fields("BG_USER_06").IsReadOnly = False
'备注
Bug_Fields("BG_DEV_COMMENTS").IsReadOnly = False
end if
8、'管理组的权限
If User.IsInGroup("管理组")Then
'标题
Bug_Fields("BG_SUMMARY").IsReadOnly = false
'所属模块
Bug_Fields("BG_USER_08").IsReadOnly = false
'严重级别
'Bug_Fields("BG_SEVERITY").IsReadOnly = false
'重现标志
Bug_Fields("BG_USER_02").IsReadOnly= false
'遗留标志
Bug_Fields("BG_USER_09").IsReadOnly = false
Bug_Fields("BG_USER_18").IsReadOnly = False
Bug_Fields("BG_USER_19").IsReadOnly = False
'发现难度
Bug_Fields("BG_USER_13").IsReadOnly= false
'发现版本
Bug_Fields("BG_DETECTION_VERSION").IsReadOnly = false
'引入版本
Bug_Fields("BG_USER_14").IsReadOnly = false
'程序员
Bug_Fields("BG_USER_15").IsReadOnly = false
'责任人
Bug_Fields("BG_RESPONSIBLE").IsReadOnly= false
'计划完成日期
Bug_Fields("BG_USER_05").IsReadOnly = false
'处理结果
Bug_Fields("BG_USER_01").IsReadOnly = false
'状态
Bug_Fields("BG_USER_07").IsReadOnly = false
'缺陷来源
Bug_Fields("BG_USER_12").IsReadOnly= false
'缺陷来源明细
Bug_Fields("BG_USER_03").IsReadOnly = false
'实际完成日期
Bug_Fields("BG_USER_06").IsReadOnly = false
'测试员
Bug_Fields("BG_DETECTED_BY").IsReadOnly = false
'提交日期 'Bug_Fields("BG_DETECTION_DATE").IsReadOnly= true
'客户名称
Bug_Fields("BG_USER_04").IsReadOnly = false
'最新修改时间'Bug_Fields("BG_VTS").IsReadOnly = true
'计划关闭版本
Bug_Fields("BG_PLANNED_CLOSING_VER").IsReadOnly = false
'预计修复时间
Bug_Fields("BG_ESTIMATED_FIX_TIME").IsReadOnly = false
'实际关闭版本
Bug_Fields("BG_CLOSING_VERSION").IsReadOnly = false
'实际修复时间
Bug_Fields("BG_ACTUAL_FIX_TIME").IsReadOnly = false
'关闭日期
Bug_Fields("BG_CLOSING_DATE").IsReadOnly= false
'详细描述
Bug_Fields("BG_DESCRIPTION").IsReadOnly = false
'备注
Bug_Fields("BG_DEV_COMMENTS").IsReadOnly = false
'打开次数
Bug_Fields("BG_USER_11").IsReadOnly = false
Bug_Fields("BG_USER_17").IsReadOnly= false
end if
'客服组不能指定程序员,责任人和计划完成日期
If User.IsInGroup("客服组")then
ifBug_Fields("BG_USER_07").Value <> "关闭" Then
Bug_Fields("BG_USER_15").IsReadOnly = true
Bug_Fields("BG_RESPONSIBLE").IsReadOnly = true
Bug_Fields("BG_USER_05").IsReadOnly = true
end if
end if
'进入修改界面,必填字段设置
ifBug_Fields("BG_SUMMARY").IsReadOnly = false then
'标题
Bug_Fields("BG_SUMMARY").IsRequired = True
end if
if Bug_Fields("BG_USER_08").IsReadOnly= false then
'所属模块
Bug_Fields("BG_USER_08").IsRequired = True
end if
ifBug_Fields("BG_SEVERITY").IsReadOnly = false then
'严重级别
Bug_Fields("BG_SEVERITY").IsRequired = True
end if
ifBug_Fields("BG_USER_02").IsReadOnly = false then
'重现标志
Bug_Fields("BG_USER_02").IsRequired = True
end if
ifBug_Fields("BG_USER_09").IsReadOnly = false then
'遗留标志
SetFieldApp "BG_USER_09", True,False, 0, 5
Bug_Fields("BG_USER_09").IsRequired = True
end if
if Bug_Fields("BG_USER_13").IsReadOnly= false then
'发现难度
SetFieldApp "BG_USER_13", True,False, 0, 6
Bug_Fields("BG_USER_13").IsRequired = True
end if
ifBug_Fields("BG_DETECTION_VERSION").IsReadOnly = false then
'发现版本
Bug_Fields("BG_DETECTION_VERSION").IsRequired= true
end if
ifBug_Fields("BG_USER_07").IsReadOnly = false then
'状态
Bug_Fields("BG_USER_07").IsRequired = True
end if
ifBug_Fields("BG_DETECTED_BY").IsReadOnly = false then
'测试员
Bug_Fields("BG_DETECTED_BY").IsRequired= True
end if
If(Bug_Fields("BG_USER_07").Value = "已处理")Then
'处理结果
ifBug_Fields("BG_USER_01").isreadonly = false then
Bug_Fields("BG_USER_01").IsRequired = True
end if
end if
if Bug_Fields("BG_USER_01").Value ="已经修复" or Bug_Fields("BG_USER_01").Value = "无法解决"_
or Bug_Fields("BG_USER_01").Value= "延期处理" then
'缺陷来源
ifBug_Fields("BG_USER_12").isreadonly = false then
Bug_Fields("BG_USER_12").IsRequired = True
end if
end if