软件问题的分类与管理

简介:
一、软件问题的定义与分类
  1. 软件问题的分类
  软件错误(software error)
  软件缺陷(software defect)
  软件故障(software faut)
  软件失效(software faiure)
  定义:
  (1)软件错误:指在软件生存周期内的不希望或不可接受的人为错误,其结果将导致软件缺陷的产生。
  关注点:属于人为错误
  (2)软件缺陷:存在于软件(程序、数据、文档)之中的那些不希望或不可接受的偏差。
  关注点:欠缺或不完备的地方
  一般情况下,满足以下五种情况中的一种,即可存在软件缺陷。
  ①   软件未达到产品说明书中标明的功能。
  ②   软件出现了产品说明书中指明的不会出现的错误。
  ③   软件功能超出了产品说明书指明的范围。
  ④   软件未达到产品说明书虽未指出但应达到的目标。
  ⑤    软件测试人员认为软件难以理解、不易使用、运行速度慢,和最终用户认为不好使用。
  (3)软件故障:指在软件运行过程中出现的不希望或不可接受的内部状态,若此时无适当的措施(容错或异常处理机制)加以及时处理,便产生软件失效。
  关注点:内部状态
  (4)软件失效:指在软件运行时产生的一种不希望或不可接受的外部行为结果。
  关注点:外部行为结果
   2. 软件失效机理
  软件错误——>软件缺陷——>软件故障——>软件失效
  软件错误是一种人为的错误,一个软件错误必定产生一个或多个软件缺陷
  当一个软件缺陷被激活时,便产生一个软件故障。
  同一个软件缺陷在不同的条件下被激活,可能产生不同的软件故障。
  软件故障若没被及时的使用容错加以处理,便不可避免的导致软件失效。
  同一个软件故障在不同条件下可能产生不同的软件失效。
   3. 产生软件错误、缺陷的原因
  主要原因是开发的软件与需求说明书、软件设计说明书的不一致,以及在软件的实现中,未能达到用户潜在用户需求的目标。
   二、软件错误的跟踪与管理
  1.缺陷与错误严重与优先级
  (1)   严重级别
  严重:系统崩溃、数据丢失、数据破坏。
  较严重:操作性错误、错误结果、遗漏功能。
  一般:小问题、错别字。
  建议:不影响使用的瑕疵或更好的实现。
  (2)   优先级
  最高优先级:立即修复,停止进一步测试。
  次高优先级:在产品发布之前必须修复。
  中等优先级:在产品发布之前应该修复。
  最低等优先级:可能会修复,但是也能发布。
  2.软件错误的跟踪管理
  (1)错误(bug)信息的描述
  ①Bug记录信息
  测试软件名称
  测试版本号
  测试人名称
  测试事件
  测试软件和硬件配置环境
  发现软件错误的类型
  错误的严重等级
  详细步骤
  必要的附图
  测试注释
  ②Bug的处理信息
  处理者姓名
  处理时间
  处理步骤
  错误记录的当前状态
   3.软件错误状态的描述
  ①   新信息(New):测试中新报告的软件错误(Bug)。
  ②   打开(Open):错误已经被确认并已经分配给相关开发人员处理。
  ③   修正(Fixed):错误已经由开发人员修正完成,等待测试人员验证。
  ④   拒绝(Decined):高级测试人员或开发人员认为不是错误,拒绝修改Bug。
  ⑤   延期(Deferred):此错误不在当前版本中修复,而要到下一版本中修复。
  ⑥   关闭(Cosed):错误已经修复,并已经过验证。
   4.错误管理流程
  步骤:
  第一步:测试人员提交新的错误信息,并输入到错误跟踪管理系统错误信息数据库中(如TD),错误状态置为初始状态“New”。
  第二步:高级测试人员验证错误并做相应处理。
  ①   如果确认是错误,分配给相应的开发人员,把错误状态置为“Open”。
  ②   如果高级测试人员认为这个“New”状态的“错误”不是错误,则拒绝修改,把错误状态设置为“Decined”。
  第三步:开发人员查询状态为“Open”的所有错误,并对错误做如下处理:
  ①   如果开发人员认为这个“Open”状态的错误不是错误,则拒绝修改,把错误状态设置为“Decined”。
  ②   如果是错误,则修复并把错误状态设置为“Fixed”。
  ③   如果是不能解决的错误,要留下文字说明并保持错误状态为“Open”。
  ④   如果需要延期解决的错误,要留下文字说明,把错误状态设置为“Deferred”。
  注意:对于不能解决的和延期解决的错误,不能由开发人员自己决定,一般需要某种会议(评审会)通过才能认可。
  第四步:测试人员查询状态为“Fixed”的所有错误,验证这些错误是否已经解决,并做如下处理:
  ①   如问题解决了,把错误状态设置为“Cosed”。
  ②   如问题还没解决,重新把错误状态设置为“Open”。
   5.错误流程管理原则
  ①为了保证错误处理的正确性,需要有测试经验丰富的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
  ②每次对错误的处理都要保留处理信息,包括处理姓名、时间、处理方法、处理意见、Bug状态等。
  ③拒绝或延期处理错误不能由程序员单方面决定,应由项目经理、测试经理和设计经理共同决定。
  ④错误修复后必须由报告错误的测试人员验证,确认已经修复后,才能关闭错误。
  ⑤加强测试人员与程序员之间的交流,对于“Deferred”状态的错误,需要互相交流意见,避免真正的错误被遗漏。对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例。


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
新零售 人工智能 Cloud Native
【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!
淘系技术将2020一整年的精华内容梳理合并,重磅推出【淘系技术2020技术年货】。在这本书中,你将看到:各技术栈下时新前沿的技术讲解与方法技巧、淘系技术大牛的职场成长经验&学习问答实录、年度精选技术人员必读书单、淘系经典开源项目介绍、2020淘系顶会 paper 全文。
47538 0
【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!
|
机器学习/深度学习 人工智能 开发工具
Clone-voice:开源的声音克隆工具,支持文本转语音或改变声音风格,支持16种语言
Clone-voice是一款开源的声音克隆工具,支持16种语言,能够将文本转换为语音或将一种声音风格转换为另一种。该工具基于深度学习技术,界面友好,操作简单,适用于多种应用场景,如视频制作、语言学习和广告配音等。
2468 9
Clone-voice:开源的声音克隆工具,支持文本转语音或改变声音风格,支持16种语言
|
机器学习/深度学习 人工智能 物联网
探索软件测试的前沿技术与未来趋势
在数字化时代的浪潮中,软件测试作为保障软件质量的重要环节,正经历着前所未有的变革。本文将深入探讨当前软件测试领域的最新技术进展,包括自动化测试、人工智能在测试中的应用、以及云测试平台的发展等。同时,文章也将对软件测试的未来发展趋势进行预测,为读者揭示一个更加智能化、高效化的软件测试新时代。
|
项目管理
「软件项目管理」一文浅谈软件项目风险计划
该文章深入探讨了软件项目风险计划的制定,包括风险识别、评估、应对策略等内容,并提供了风险条目检查表、风险概率及影响分析矩阵等工具,帮助项目管理者有效地管理和减轻项目中的潜在风险。
「软件项目管理」一文浅谈软件项目风险计划
|
人工智能 自然语言处理 安全
claude国内怎么用?教你两种claude国内使用方法!
Claude AI 是由 Anthropic 公司开发的一款新一代 AI 助手,旨在成为更安全、更友好、更可靠的 AI 系统。它基于 Anthropic 对 AI 安全性的深入研究,并采用 “Constitutional AI” (宪法式 AI) 的训练方法,使其行为更符合人类价值观,并减少有害输出的可能性。 🛡️
|
域名解析 运维 监控
网络故障排查的常用工具与方法:技术深度解析
【8月更文挑战第20天】网络故障排查是一项复杂而重要的工作,需要网络管理员具备扎实的网络知识、丰富的实践经验和灵活的问题解决能力。通过掌握常用工具和方法,遵循科学的排查流程,可以显著提高故障排查的效率和准确性。希望本文能为读者在网络故障排查方面提供有益的参考和启示。
1925 2
|
资源调度 JavaScript 前端开发
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
|
机器学习/深度学习 存储 人工智能
自主AI代理:未来的生产力引擎
自主AI代理:未来的生产力引擎
727 0