缺陷描述与跟踪(Jira/禅道)
作者:瞿丹丹
浏览 2435
发布时间:
更新时间:
一、Jira缺陷描述
1、基本信息填写:
- 缺陷标题:简洁概括缺陷本质,如 “计算器 1+1 无结果显示”,让相关人员一眼了解问题核心。
- 详细描述:包括预置条件、重现步骤、实际结果和预期结果。例如,对于计算器的缺陷,可描述为 “预置条件是计算器有电;重现步骤为依次按数字键 1、加号键、数字键 1、等号键;实际结果是无结果内容显示;预期结果是输出正确结果 2”。还可补充缺陷出现的频率、首次发现时间等信息。
- 缺陷类型:明确是代码错误、设计缺陷、性能问题还是安全相关等类型,有助于开发人员定位问题根源。
- 严重程度:分为致命(如软件崩溃、无法打开或闪退)、严重(软件主要功能无法使用)、一般(常见小问题)、建议(软件优化等)四级,让团队重视程度与问题严重程度相匹配。
- 优先级:由开发经理或组长最终确定,测试人员给出建议。需综合考虑严重程度、修复难度、对其他任务的影响等因素,如严重程度不高但影响其他人员开发进度的问题,优先级需调高。
2、添加附件和自定义字段:
- 附件:可添加屏幕截图、日志文件、测试用例等附件。如界面显示异常的缺陷,附上截图能直观展示问题;系统报错的缺陷,提供日志文件有助于开发人员分析错误信息。
- 自定义字段:根据团队需求创建,如缺陷的影响范围、与其他模块的关联、问题发现环境(操作系统版本、浏览器类型等),为缺陷分析和解决提供更多信息。
二、Jira缺陷跟踪
1、明确工作流状态:
- Jira 默认工作流有 TO DO(待办)、IN PROGRESS(处理中)、IN REVIEW(待评审)、DONE(关闭)等状态。团队可根据实际情况定制,如增加 “已验证” 状态,用于测试人员确认开发人员修复的缺陷通过验证后,将其从 “待评审” 状态转移到 “已验证” 状态,再到 “关闭” 状态。
2、实时通知与协作:
- 通知配置:可配置在缺陷状态变化(如被分配、修复、打回等)时自动通知相关人员,通过邮件、站内信等方式,确保成员及时了解缺陷动态,如开发人员修复缺陷后,测试人员能及时收到通知进行验证。
- 评论与讨论:团队成员可在缺陷详情页添加评论,就问题解决方案、遇到的困难等进行交流,测试人员可反馈缺陷验证情况,开发人员可说明修复思路和过程,促进信息共享和协作。
3、搜索与报告功能:
- 搜索缺陷:能通过多种条件组合搜索,如按项目、状态、优先级、负责人、缺陷类型等,快速定位所需缺陷信息,如查找当前项目中所有严重程度为 “严重” 且未关闭的缺陷。
- 生成报告:提供丰富的报告类型,如缺陷趋势图(展示不同时间段缺陷数量的变化)、状态分布图(显示各状态下缺陷的占比)、责任人分布图(查看每个成员负责的缺陷数量),帮助团队分析缺陷分布和变化趋势,为决策提供依据,如根据缺陷趋势图判断项目测试阶段缺陷是否得到有效控制。
三、Jira的缺陷跟踪流程
- 新缺陷(New):测试人员在测试过程中发现缺陷后,将其在 Jira 中记录为新缺陷。需详细填写缺陷的相关信息,如标题、详细描述(包括预置条件、重现步骤、实际结果、预期结果等)、严重程度、优先级等,还可添加附件(如截图、日志文件)辅助说明。
- 打开 / 分配(Open/Assigned):Jira 管理员或项目负责人根据缺陷的性质和所属模块,将缺陷分配给具体的开发人员,此时缺陷状态变为 “打开” 或 “分配”,开发人员收到通知后开始处理。
- 处理中(Work in Progress):开发人员将缺陷状态更新为 “处理中”,表示正在对缺陷进行分析和修复。开发过程中可在缺陷记录中添加评论,说明修复思路、遇到的问题等。
- 延迟 / 拒绝(Deferred/Rejected):对于不符合当前需求或优先级较低的缺陷,开发人员可根据项目需要将其标记为 “延迟”,待后续处理;若认为缺陷不属于真正的问题(如超出项目范围、不是软件本身问题等),可将其标记为 “拒绝”,并说明原因。
- 已修复(Fixed):开发人员完成缺陷修复后,将缺陷状态设置为 “已修复”,通知测试人员进行回归测试。
- 重新测试(Retest):测试人员按照重现步骤对修复后的缺陷进行再次测试,检查缺陷是否真正被解决。
- 已验证(Verified):如果测试人员验证修复成功,将缺陷状态更新为 “已验证”,表示该缺陷已通过测试,可以关闭。
- 关闭(Closed):缺陷经过验证后,确认已无问题,将其状态最终设置为 “关闭”,从活跃的跟踪列表中移除。
四、禅道的缺陷描述
1、总体要求
- 缺陷描述应保持简洁、准确,让开发人员能够快速理解问题的本质。避免使用模糊不清的词语、情绪化的语言、幽默的表述或过分具体的测试细节,也不要使用强调的标点符号。
2、具体内容
- 缺陷标题:应简短且能准确反映缺陷的核心问题,尽量以缺陷发生的原因与结果相结合的方式书写。例如,“点击删除按钮后,数据库报错,数据未删除”,而不要写成 “功能有问题” 这种模糊的表述。
- 基本环境:描述问题出现的环境,包括操作系统、硬件环境、网络环境、被测试软件的运行环境等。例如,“Windows 10 操作系统,Intel i5 处理器,8GB 内存,Chrome 浏览器版本 90,被测软件版本 1.0.0”。
- 重现步骤:详细列出重现缺陷的操作步骤,要求完整、简洁、准确、可复现。例如,“1. 打开应用程序;2. 登录账号;3. 进入订单管理页面;4. 点击‘查询’按钮,输入查询条件‘订单状态 = 已完成’;5. 点击‘导出’按钮,此时系统崩溃”。
- 期望结果:说明按照正常情况,软件应该达到的功能或效果。例如,“点击‘导出’按钮后,应弹出文件保存对话框,用户可以选择保存路径并成功导出订单数据为 Excel 文件”。
- 实际结果:描述实际操作中软件出现的异常情况,如报错信息、界面显示错误、功能未执行等。例如,“点击‘导出’按钮后,系统直接崩溃,弹出错误提示框‘应用程序发生异常,未知软件异常(0xc0000409),位置为 0x004015de’”。
- 缺陷原因分析:分析可能导致缺陷产生的原因,如不支持字符集导致乱码、程序逻辑错误、数据范围边界考虑不周等。如果不确定原因,也可暂不填写,但尽量提供一些线索或相关信息,帮助开发人员定位问题。
- 重现次数:记录重复操作了多少次该缺陷依然出现,以说明问题的稳定性。例如,“经过 5 次重复操作,每次都出现了相同的问题”。
- 附件:可以添加与缺陷相关的附件,如缺陷的截图、测试使用的数据、日志文件等,对缺陷进行补充说明,帮助开发人员更好地了解问题。
五、禅道的缺陷跟踪
1、缺陷跟踪流程
- 提交:测试人员或其他发现缺陷的人员在禅道系统中创建缺陷报告,详细填写缺陷的相关信息,如所属产品、项目、模块、影响版本、缺陷类型、操作系统、浏览器、缺陷标题、严重程度、优先级、缺陷内容(包括操作步骤、实际结果、期望结果)等,也可添加附件(如截图、日志文件等)辅助说明。
- 指派:缺陷创建后,通常会指派给相关的负责人,一般是开发人员或开发组长,由他们对缺陷进行确认和处理。
- 确认:被指派的人员对缺陷进行分析和确认,判断是否为真正的缺陷。如果是重复缺陷,则将其标记为重复,并关联到已存在的缺陷;如果是无法重现的缺陷,需记录相关情况并跟踪几个版本看是否再次出现;如果确认是有效缺陷,则根据情况进行处理。
- 解决:开发人员对确认后的缺陷进行修复,修复完成后将缺陷状态设置为 “已解决”,并填写解决方案和解决版本,然后将其指派给测试人员进行验证。
- 验证:测试人员对状态为 “已解决” 的缺陷进行回归测试,检查缺陷是否真正被修复。如果缺陷已修复,则将其状态设置为 “已关闭”;如果缺陷仍然存在,则将其激活,重新指派给开发人员进行修复。
2、跟踪功能与优势
- 详细的记录功能:禅道支持丰富的字段类型,用户可以方便地添加附件、截图,并且可以对缺陷进行分类和标记,全面记录缺陷的各种信息。
- 灵活的查询功能:用户可以通过多种条件组合查询缺陷,如模块、版本、状态等。查询结果可以以列表、看板等形式展示,并且支持导出为 Excel 等格式,方便用户快速定位和分析缺陷。
- 全面的统计功能:用户可以生成多种图表,如缺陷趋势图、模块缺陷分布图等,统计结果可以导出为 Excel 等格式,并且支持自定义报表,有助于团队直观地了解缺陷情况,为决策提供数据支持。
3、缺陷跟踪的目标
- 保证信息的一致性:确保在缺陷跟踪过程中,所有相关人员获取到的缺陷信息是准确、一致的,避免因信息不一致导致的沟通成本增加和问题处理延误。
- 保证缺陷得到有效的跟踪:通过明确的流程和责任分工,使每个缺陷都能得到及时处理,缩短沟通时间,提高解决问题的效率。
- 收集缺陷数据并进行数据分析:作为缺陷度量的依据,帮助团队了解软件质量状况,发现潜在的问题和风险,为改进软件开发过程提供参考。
六、禅道缺陷确认步骤注意事项
- 及时处理:相关人员收到新提交的缺陷后,应尽快进行确认,避免因处理不及时导致问题遗忘或延误项目进度。对于严重影响项目进度或系统功能的缺陷,需优先处理。
- 仔细核实信息:认真查看缺陷报告中的各个字段,包括缺陷描述、重现步骤、实际结果、期望结果等,确保信息准确、完整。若发现信息不清晰或缺少关键内容,应及时与提交者沟通确认。例如,若重现步骤不明确,导致无法重现问题,就需要向提交者进一步了解详细情况。
- 准确判断缺陷:依据产品需求文档、设计文档等相关资料,判断所提交的问题是否真的属于缺陷。有些情况下,可能是测试环境配置问题、用户操作不当等原因导致的假象,并非真正的软件缺陷。例如,测试人员误将浏览器缓存未清理导致的页面显示异常当作软件缺陷提交,此时就需要确认人员仔细分析,排除此类非缺陷情况。
- 合理评估严重程度和优先级:根据缺陷对产品功能、性能、用户体验等方面的影响程度,合理评估缺陷的严重程度和优先级。严重程度高的缺陷可能导致系统崩溃、数据丢失等严重后果,应优先处理;优先级高的缺陷可能对项目的关键路径或重要功能产生影响,也需要尽快解决。例如,支付功能出现的缺陷,可能导致交易无法完成,严重影响用户体验和业务流程,应将其严重程度和优先级都设定为较高等级。
- 明确责任归属:根据缺陷所属的模块、功能等信息,准确将缺陷指派给相应的开发人员或团队。确保责任明确,避免出现推诿扯皮的情况。如果缺陷涉及多个模块或团队,需要协调确定主要负责人员和协助人员。
- 记录确认过程和结果:在确认缺陷的过程中,应详细记录相关的分析过程、判断依据、与相关人员的沟通情况等信息。对于确认后的缺陷,要明确记录其状态(如已确认、非缺陷等)、指派人员等信息,以便后续跟踪和查询。这些记录不仅有助于追溯缺陷的处理过程,还能为类似问题的处理提供参考。
七、禅道处理缺陷的优先级和严重程度
1、定义优先级和严重程度
- 优先级:指缺陷需要被解决的紧急程度,通常由项目的业务需求、开发资源的分配以及缺陷对项目进度的影响等因素决定。一般可分为高、中、低三个等级。例如,影响核心业务流程且导致项目无法继续推进的缺陷,优先级为高;对部分功能有影响但不阻碍整体流程,优先级为中;对非关键功能有轻微影响,优先级为低。
- 严重程度:描述的是缺陷对软件系统功能、性能、数据等方面的破坏程度。可分为严重、较严重、一般、轻微四个等级。比如,导致系统崩溃、数据丢失的缺陷属于严重级别;影响部分重要功能正常使用,为较严重级别;功能存在小错误但不影响正常使用,是一般级别;界面上的一些小瑕疵,如文字排版不整齐等,属于轻微级别。
2、评估与设定
- 初步评估:测试人员在发现并提交缺陷时,需根据对软件功能的影响以及用户场景,初步判断缺陷的严重程度和优先级,并在禅道系统中准确填写相关信息。例如,在一个电商系统中,支付功能出现故障,测试人员应将其严重程度设为 “严重”,优先级设为 “高”。
- 审核与调整:缺陷提交后,通常由项目负责人、开发经理或测试经理等相关人员对缺陷的严重程度和优先级进行审核。他们会从项目整体角度出发,结合业务需求、开发难度、修复成本等因素,对初步设定的等级进行调整。例如,某个缺陷虽然严重程度高,但修复难度极大且对当前业务影响较小,可能会将其优先级适当降低。
3、跟踪与管理
- 根据优先级分配资源:开发团队根据缺陷的优先级来安排修复工作。对于优先级高的缺陷,应优先分配开发资源,尽快解决;而优先级低的缺陷,可以在开发资源较为充裕时再进行处理。例如,在项目上线前,优先处理高优先级缺陷,确保核心功能稳定运行。
- 动态调整:在缺陷跟踪过程中,随着项目的推进和对缺陷的进一步分析,可能需要对缺陷的优先级和严重程度进行动态调整。例如,原本认为是一般严重程度的缺陷,在深入分析后发现可能会引发数据安全问题,此时就需要将其严重程度和优先级都提高,并重新安排修复计划。
- 记录与沟通:在禅道系统中,详细记录缺陷优先级和严重程度的设定、调整过程及原因,以便团队成员随时查看和了解。同时,加强团队成员之间的沟通,确保大家对缺陷的等级有一致的认识,避免因理解不一致而导致工作混乱。
八、禅道确保缺陷得到及时修复的方法
1、明确责任和时间
- 明确责任人:在缺陷提交后,根据缺陷所属的模块和类型,迅速将其指派给具体的开发人员或开发团队,确保责任明确,避免出现推诿现象。
- 设定修复时间:为不同严重程度和优先级的缺陷设定合理的修复时间期限。例如,严重级别且优先级高的缺陷,要求在 24 小时内给出解决方案并开始修复,一般在 1 - 3 个工作日内完成修复;对于一般严重程度和优先级的缺陷,可以设定在 3 - 7 个工作日内完成修复等。这些时间期限应根据项目的实际情况和团队的开发能力来确定,并在团队内部达成共识。
2、加强沟通协作
- 建立沟通机制:建立顺畅的沟通渠道,方便测试人员、开发人员和其他相关人员就缺陷问题进行及时交流。例如,利用禅道系统的内部消息功能、评论功能,或者通过即时通讯工具、邮件等方式进行沟通。当测试人员发现缺陷后,能迅速与开发人员取得联系,详细说明缺陷的情况和发现的场景;开发人员在修复过程中遇到疑问,也能及时向测试人员或其他相关人员询问。
- 组织会议讨论:对于一些复杂的、影响范围广的缺陷,或者涉及多个部门、多个模块的缺陷,组织专门的会议进行讨论。会议邀请相关的开发人员、测试人员、产品经理等参加,共同分析缺陷产生的原因,探讨解决方案,明确各自的职责和任务,确保缺陷能够得到全面、有效的修复。
3、监控与管理
- 定期检查进度:项目负责人或相关的管理人员定期检查缺陷的修复进度,对比实际进度与设定的时间期限是否相符。可以每天或每周查看禅道系统中缺陷的状态更新情况,对于未按时完成修复的缺陷,及时了解原因,并督促开发人员加快进度。
- 设置提醒功能:利用禅道系统的提醒功能,为缺陷的相关责任人设置提醒。例如,当缺陷接近修复期限还未完成时,系统自动发送提醒消息给开发人员,提醒其尽快完成修复;同时也可以给项目负责人和测试人员发送提醒,以便他们及时关注缺陷的处理情况。
- 解决阻碍问题:如果在缺陷修复过程中遇到技术难题、资源不足或其他阻碍因素,项目负责人要及时协调解决。例如,为开发人员提供技术支持,协调资源分配,或者调整项目计划,确保缺陷修复工作能够顺利进行。
4、建立激励与考核机制
- 激励措施:对能够及时、高质量完成缺陷修复任务的开发人员或团队给予一定的奖励和表扬。奖励可以是物质上的,如奖金、奖品等,也可以是精神上的,如公开表扬、颁发荣誉证书等,以提高开发人员的积极性和主动性。
- 考核机制:将缺陷修复的及时性和质量纳入开发人员的绩效考核体系。对于未能按时完成修复任务,或者修复质量不高,导致缺陷反复出现的开发人员,在绩效考核中给予相应的扣分或惩罚,从而促使开发人员重视缺陷修复工作,确保缺陷得到及时、有效的修复。