ISBN0-13-146913-4Prentice-Hall,2006Chapter8测试程序Copyright2006Pearson/PrenticeHall.Allrightsreserved.PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.2©2006Pearson/PrenticeHall目录8.1软件故障和失效8.2测试的相关问题8.3单元测试8.4集成测试8.5面向对象的系统测试8.6测试计划8.7自动测试工具8.8什么时候停止测试8.9信息系统的例子8.10实施系统的例子8.11本章对单个开发人员的意义PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.3©2006Pearson/PrenticeHall本章内容•故障的类型以及如何对其进行分类•测试的目的•单元测试•集成测试策略•测试计划•什么时候停止测试PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.4©2006Pearson/PrenticeHall8.1软件故障和失效软件为什么会失效?•错误的需求:不是客户想要的•遗漏了需求•需求不可能实现•错误的系统设计•编码故障•程序代码是错误的PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.5©2006Pearson/PrenticeHall8.1软件故障和失效测试目标•测试目标:发现错误•只有当发现了错误时,测试才被认为是成功的–故障识别是确定由哪一个故障或哪些故障引起失效的过程–故障改正是修改系统使得故障得以去除过程PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.6©2006Pearson/PrenticeHall8.1软件故障和失效故障类型•算法故障•计算故障和精度故障–一个公式的实现是错误的•文档故障–文档与程序实际做的不一致•能力或边界错误–系统活动达到极限时,系统性能会变得不可接受•计时故障或协调故障•性能故障–系统不能以需求规格的速度执行•标准和过程故障PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.7©2006Pearson/PrenticeHall8.1软件故障和失效典型的算法故障•由于处理步骤的中的某些错误,使得对于给定的输入,构件的算法或逻辑没有产生适当的输出–分支太早–分支太晚–对错误的条件进行了测试–忘记了初始化的变量或设置循环不变量–忘记针对特定的条件进行测试–对不合适的数据类型变量进行比较•语法错误PfleegerandAtlee,SoftwareEngineering:TheoryandPracticePage8.8©2006Pearson/PrenticeHall8.1软件故障和失效正交缺陷分类错误类型含义功能对能力、终端用户接口、产品接口、与硬件体系结构的接口、或全局数据结构的造成影响故障接口通过使用调用、宏、控制块或参数列表...