第13章缺陷查找技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9、介绍编译与测试缺陷的数据(探险究性学习)
10、讲解更新后的PSP项目计划总结表示例(案例)
11、介绍其他种类的代码复查(讨论)
教学方法:探究性学习、案例教学
课程整合:以程序设计语言为例进行学习
课后作业
第142页作业
教案(续页)第62页
第十三章 缺陷查找技术
一、发现缺陷的步骤
发现程序中缺陷的方法包括以下几个步骤:
四、发现和修复缺陷的费用
在典型的软件项目中,产品被分为许多小的程序元素或模块。在模块设计、实现、编译后,工程师做初始的测试或单元测试。在个人城测试之后,多个模块组成一些大组件并进行集成测试。在经过各种级别的组件测试之后,这些组件集成为产品进行产品测试。最后,将产品集成到系统中并进行系统测试。
开发过程每前进一步,发现和修复缺陷的平均代价就要增长10倍。
教案第60页
学科
个体软件过程
课题
第十三章缺陷查找技术
时数
2
授课班级
02软件1班、4班
教学目标及要求
学习几种主要的发现缺陷的方法,重点学习代码复查的方法。
教学重点
缺陷查找的方法,发现缺陷的步骤
教学难点
编译与测试缺陷的数据
实验仪器及教具
微机、投影仪、Office软件
教学方法
讲授、探究性学习、案例教学
教案第61页
教案(续页)第63页
利用代码复查发现缺陷
代码复查的第一步是了解自己引入的缺陷的种类。
代码复查的目标是在软件过程中尽可能早和尽可能多地发现缺陷。
当进行代码复查时,特别要注意的以下事项:
在第一次编译前进行代码复查。
在打印出的源程序清单上复查。
在缺陷记录日志上记录发现的每一个缺陷。
在代码复查进,根据以前在编译与测试阶段发现的缺陷类型进行检查。
编译前的复查
在编译之前进行代码复查的原因是:
不论在编译前还是在编译后,进行完整的代码复查的时间大约相同。
先做复查将节省大量编译时间。
一旦先编译了自己的程序后,代码复查一般都很难彻底的进行。
无论在代码复查之前或之后进行编译,对检查语法有效性的效果是一样的。
经验证明,当编译阶段程序中有大量的缺陷时,一般在测试阶段也有许多缺陷。
标示缺陷征兆。
从征兆推断出缺陷的位置。
缺点程序中的错误。
决定如何修复缺陷。
修复缺陷。
验证这个修复是否已经解决了这个问题。
二、发现和修复缺陷的方法
工程师最常用的发现和修复缺陷的工具是编译器。编译器最基本的任务是生成目标代码,编译器要扫描源代码看看能否生成目标码。若能,它不管源代码是否正确而生成目标码。
五、更新后的PSP项目计划总结表
详细示例见教材P137表13.2-13.6。
六、其它种类的代码复查
在软件组织中,一种常用的方法是让几个工程师彼此复查程序。这叫做同行评审或同行检查。组织良好的同行检查一般会发现程序中50%~70%的缺陷。
七、总结
在PSP中主要的缺陷排除方法是个人代码复查。先打印出程序清单,然后逐行进行复查,尽可能地修复发现的每一个缺陷。最有效的方法是,找出以前的程序中在编译和测试阶段引起最大问题的那些缺陷类型。因为人们往往容易犯同样的错误,所以缺陷数据有肋于在第一次编译和测试前找到全部或绝大部分程序的缺陷。经验表明,当工程师在第一次编译前仔细地复查了他们的代码时,就能减少编译时间,大约相当于10%的开发时间,并且可以节省更多的测试时间。
编译器经常为那些看起来很简单的缺陷提供很多错误信息。另外,编译器只提供了缺陷的征兆,你必须自己对问题定位,并确定是什么问题。
发现错误的的第二种方法是测试。测试可以用来验证程序几乎所有的功能。但它还有一些缺点,测试只能满足缺陷排除过程的第一个步骤。也就是说,你仍必须从缺陷征兆找出问题的根源,然后才能开始修复,另一个问题是每个测试只验证的了一组程序条件。事实上,除了最简单的程序,任何程序的完全测试都是不可能的。
教学过程
备注
引入问题:
发现缺陷有哪些方法?听说过代码复查吗?
教学内容:
1、说明个人对产品质量的承诺(讨论)
2、讲述发现缺陷的步骤
3、讲授发现和修复缺陷的方法(提问+讨论)
4、介绍什么是代码复查
5、说明为什么要尽早发现缺陷(探究性学习)
6、讲述发现和修复缺陷的费用
7、讲授利用代码复查发现缺陷的方法
8、说明代码编译前的复查
最后,最有效的发现和修复缺陷的方法是个人复查源程序清单,虽然这种方法似乎很难彻底清除程序中的缺陷,但事实证明,这是最快而且是最有效的方法。
三、代码复查
代码复查是一种能快速找Hale Waihona Puke Baidu缺陷的方法。
尽管代码复查非常费时间,但它比测试更有效率。代码复查更有效的原因是:在代码复查时看到的是问题本身而不是征兆。
复查两个主要的缺点是:代码复查非常耗时,而且很难恰当地进行。
八、作业
第142页习题
10、讲解更新后的PSP项目计划总结表示例(案例)
11、介绍其他种类的代码复查(讨论)
教学方法:探究性学习、案例教学
课程整合:以程序设计语言为例进行学习
课后作业
第142页作业
教案(续页)第62页
第十三章 缺陷查找技术
一、发现缺陷的步骤
发现程序中缺陷的方法包括以下几个步骤:
四、发现和修复缺陷的费用
在典型的软件项目中,产品被分为许多小的程序元素或模块。在模块设计、实现、编译后,工程师做初始的测试或单元测试。在个人城测试之后,多个模块组成一些大组件并进行集成测试。在经过各种级别的组件测试之后,这些组件集成为产品进行产品测试。最后,将产品集成到系统中并进行系统测试。
开发过程每前进一步,发现和修复缺陷的平均代价就要增长10倍。
教案第60页
学科
个体软件过程
课题
第十三章缺陷查找技术
时数
2
授课班级
02软件1班、4班
教学目标及要求
学习几种主要的发现缺陷的方法,重点学习代码复查的方法。
教学重点
缺陷查找的方法,发现缺陷的步骤
教学难点
编译与测试缺陷的数据
实验仪器及教具
微机、投影仪、Office软件
教学方法
讲授、探究性学习、案例教学
教案第61页
教案(续页)第63页
利用代码复查发现缺陷
代码复查的第一步是了解自己引入的缺陷的种类。
代码复查的目标是在软件过程中尽可能早和尽可能多地发现缺陷。
当进行代码复查时,特别要注意的以下事项:
在第一次编译前进行代码复查。
在打印出的源程序清单上复查。
在缺陷记录日志上记录发现的每一个缺陷。
在代码复查进,根据以前在编译与测试阶段发现的缺陷类型进行检查。
编译前的复查
在编译之前进行代码复查的原因是:
不论在编译前还是在编译后,进行完整的代码复查的时间大约相同。
先做复查将节省大量编译时间。
一旦先编译了自己的程序后,代码复查一般都很难彻底的进行。
无论在代码复查之前或之后进行编译,对检查语法有效性的效果是一样的。
经验证明,当编译阶段程序中有大量的缺陷时,一般在测试阶段也有许多缺陷。
标示缺陷征兆。
从征兆推断出缺陷的位置。
缺点程序中的错误。
决定如何修复缺陷。
修复缺陷。
验证这个修复是否已经解决了这个问题。
二、发现和修复缺陷的方法
工程师最常用的发现和修复缺陷的工具是编译器。编译器最基本的任务是生成目标代码,编译器要扫描源代码看看能否生成目标码。若能,它不管源代码是否正确而生成目标码。
五、更新后的PSP项目计划总结表
详细示例见教材P137表13.2-13.6。
六、其它种类的代码复查
在软件组织中,一种常用的方法是让几个工程师彼此复查程序。这叫做同行评审或同行检查。组织良好的同行检查一般会发现程序中50%~70%的缺陷。
七、总结
在PSP中主要的缺陷排除方法是个人代码复查。先打印出程序清单,然后逐行进行复查,尽可能地修复发现的每一个缺陷。最有效的方法是,找出以前的程序中在编译和测试阶段引起最大问题的那些缺陷类型。因为人们往往容易犯同样的错误,所以缺陷数据有肋于在第一次编译和测试前找到全部或绝大部分程序的缺陷。经验表明,当工程师在第一次编译前仔细地复查了他们的代码时,就能减少编译时间,大约相当于10%的开发时间,并且可以节省更多的测试时间。
编译器经常为那些看起来很简单的缺陷提供很多错误信息。另外,编译器只提供了缺陷的征兆,你必须自己对问题定位,并确定是什么问题。
发现错误的的第二种方法是测试。测试可以用来验证程序几乎所有的功能。但它还有一些缺点,测试只能满足缺陷排除过程的第一个步骤。也就是说,你仍必须从缺陷征兆找出问题的根源,然后才能开始修复,另一个问题是每个测试只验证的了一组程序条件。事实上,除了最简单的程序,任何程序的完全测试都是不可能的。
教学过程
备注
引入问题:
发现缺陷有哪些方法?听说过代码复查吗?
教学内容:
1、说明个人对产品质量的承诺(讨论)
2、讲述发现缺陷的步骤
3、讲授发现和修复缺陷的方法(提问+讨论)
4、介绍什么是代码复查
5、说明为什么要尽早发现缺陷(探究性学习)
6、讲述发现和修复缺陷的费用
7、讲授利用代码复查发现缺陷的方法
8、说明代码编译前的复查
最后,最有效的发现和修复缺陷的方法是个人复查源程序清单,虽然这种方法似乎很难彻底清除程序中的缺陷,但事实证明,这是最快而且是最有效的方法。
三、代码复查
代码复查是一种能快速找Hale Waihona Puke Baidu缺陷的方法。
尽管代码复查非常费时间,但它比测试更有效率。代码复查更有效的原因是:在代码复查时看到的是问题本身而不是征兆。
复查两个主要的缺点是:代码复查非常耗时,而且很难恰当地进行。
八、作业
第142页习题