第八章软件BUG和管理
第八章 软件BUG和管理
[本章要点 1.软件Bug对软件质量的影响; 2.常见的软件Bug类型,重现软件Bug的分析技术; 3.软件Bug的描述和管理
[本章要点] 1.软件Bug对软件质量的影响; 2.常见的软件Bug类型,重现软件Bug的分析技术; 3.软件Bug的描述和管理
[本章目标] 了解软件BUG的影响和产生; 掌握软件开发过程中产生的BUG种类; 掌握使BUG重现的技术; 了解软件BUG报告单应该包括的主要内容以及 软件BUG的管理流程
[ 本章目标 ] • 了解软件BUG的影响和产生; • 掌握软件开发过程中产生的BUG种类; • 掌握使BUG重现的技术; • 了解软件BUG报告单应该包括的主要内容以及 软件BUG的管理流程
8.1软件BUG概述 在IEEE1983 of ieee standard729中对软 件缺陷下了一个标准的定义 (1)从产品内部看,软件缺陷是软件产品开发或 维护过程中所存在的错误、毛病等各种问题; (2)从外部看,软件缺陷是系统所需要实现的某 种功能的失效或违背。 软件缺陷有很多种,其中主要软件缺陷类 型有
8.1软件BUG概述 在IEEE 1983 of IEEE Standard 729中对软 件缺陷下了一个标准的定义: (1)从产品内部看,软件缺陷是软件产品开发或 维护过程中所存在的错误、毛病等各种问题; (2)从外部看,软件缺陷是系统所需要实现的某 种功能的失效或违背。 软件缺陷有很多种,其中主要软件缺陷类 型有:
1.一些功能、特性没有实现或只实现了一部分 2.软件设计不合理,存在缺陷。实际运行结果和预期 结果不一致; 3.运行出错,包括运行中断、系统崩溃、界面混乱 4.数据结果不正确、精度不够; 5用户不能接受的其他问题,如存取时间过长、界面 不美观。 8.1.1BUG的影响 Bug会给用户或使用者带来相当大的麻烦,会 给集体或者国家带来很大的经济损失。如:千年虫 问题
1.一些功能、特性没有实现或只实现了一部分; 2.软件设计不合理,存在缺陷。实际运行结果和预期 结果不一致; 3.运行出错,包括运行中断、系统崩溃、界面混乱 4.数据结果不正确、精度不够; 5.用户不能接受的其他问题,如存取时间过长、界面 不美观。 8.1.1 BUG的影响 Bug会给用户或使用者带来相当大的麻烦,会 给集体或者国家带来很大的经济损失。如:千年虫 问题
812BUG的产生 BUG的由来。 对于软件而言,BUG是程序编写错误而导致软 件产生问题的缺陷。 软件测试的目的就是找到软件程序代码内的BU G,纠正它,叫做 DEBUG。 BUG产生的原因很多,具体有以下几点 1.程序编写错误 Bug的难以避免性。 2.需求变更过于频繁
8.1.2 BUG的产生 BUG的由来。 对于软件而言,BUG是程序编写错误而导致软 件产生问题的缺陷。 软件测试的目的就是找到软件程序代码内的BU G,纠正它,叫做DEBUG。 BUG产生的原因很多,具体有以下几点。 1.程序编写错误 Bug的难以避免性。 2.需求变更过于频繁
需求变更所造成的结果就是变更程序代码,程序 代码只要稍做变更就必须经过测试来确保运行正常, 所以这个影响是一个连锁反应或称为依存问题。 3.软件的复杂度 图形用户界面(GUI)、B\S结构、面向对象设计 分布式运算、底层通信协议、超大型关系型数据库 以及庞大的系统规模,都体现了软件复杂度大大高 于以前,Bug出现可能性就更高。 4.交流不充分或者沟通出问题 大部分项目人员在同客户进行交流时常常存在着各 种各样的问题,究其原因,还是因为项目人员、参 与人员和客户之间没有详细、充分、谨慎地进行交 流
需求变更所造成的结果就是变更程序代码,程序 代码只要稍做变更就必须经过测试来确保运行正常, 所以这个影响是一个连锁反应或称为依存问题。 3.软件的复杂度 图形用户界面(GUI)、B\S 结构、面向对象设计、 分布式运算、底层通信协议、超大型关系型数据库 以及庞大的系统规模,都体现了软件复杂度大大高 于以前,Bug出现可能性就更高。 4.交流不充分或者沟通出问题 大部分项目人员在同客户进行交流时常常存在着各 种各样的问题,究其原因,还是因为项目人员、参 与人员和客户之间没有详细、充分、谨慎地进行交 流
5,测试人员的经验与技巧不足 6.时间过于紧迫 7.缺乏文档:贫乏或者差劲的文档使得代码维护 和修改变得非常困难,结果会导致其他开发人员 或客户有许多错误的理解。 8.管理上的缺陷 82BUG的种类 BUG是软件“与生俱来”的特征,不同的软 件开发阶段会产生不同的BUG,而不同的BUG又 会产生不同的后果,因此BUG的属性也并非相同
5.测试人员的经验与技巧不足 6.时间过于紧迫 7.缺乏文档:贫乏或者差劲的文档使得代码维护 和修改变得非常困难,结果会导致其他开发人员 或客户有许多错误的理解。 8.管理上的缺陷 8.2 BUG的种类 BUG是软件“与生俱来”的特征,不同的软 件开发阶段会产生不同的BUG,而不同的BUG又 会产生不同的后果,因此BUG的属性也并非相同
82.1需求阶段的BUG 这个阶段的BUG是最难发现、最难修复的,而 且值得注意的是需求阶段的BUG如果没有及时发现 等到实现阶段发现时,那么修复它的费用要比当初 修复它要高15~75倍。 主要的原因如下 1、模糊、不清晰的需求; 2、被忽略的需求; 3、相互冲突的需求;
8.2.1需求阶段的BUG 这个阶段的BUG是最难发现、最难修复的,而 且值得注意的是需求阶段的BUG如果没有及时发现 等到实现阶段发现时,那么修复它的费用要比当初 修复它要高15~75倍。 主要的原因如下: 1、模糊、不清晰的需求; 2、被忽略的需求; 3、相互冲突的需求;
82.2分析设计阶段的BUG 设计中的BUG比需求阶段产生的BUG特征明显 易于捕获,但是其维修代价很高,原因是设计BUG 已经作为一个整体影响着整个系统的实现。 原因主要有3种途径。 忽略设计 2、混乱的设计 3、模糊的设计
8.2.2分析设计阶段的BUG 设计中的BUG比需求阶段产生的BUG特征明显 易于捕获,但是其维修代价很高,原因是设计BUG 已经作为一个整体影响着整个系统的实现。 原因主要有3种途径。 1 、忽略设计; 2、混乱的设计; 3、模糊的设计;