软件测试的基本观点 ()测试是为了发现程序中的错误而执行程序的过程。 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测 试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 (④)测试并不仅仅是为了找出错误。通过分析错误产生的原因 和错误的发生趋势,以便及时改进。 19
软件测试的基本观点 (1)测试是为了发现程序中的错误而执行程序的过程。 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测 试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 (4)测试并不仅仅是为了找出错误。通过分析错误产生的原因 和错误的发生趋势,以便及时改进。 19
软件测试的基本观点 (⑤)这种分析也能帮助测试人员设计出有针对性的测试方法, 改善测试的效率和有效性。 (⑥)没有发现错误的测试也是有价值的,完整的测试是评定软 件质量的一种方法。 (T)根据测试目的的不同,还有回归测试、压力测试、性能测 试等,分别为了检验修改或优化过程是否引发新的问题、软 件所能达到处理能力和是否达到预期的处理能力等。 20
软件测试的基本观点 (5)这种分析也能帮助测试人员设计出有针对性的测试方法, 改善测试的效率和有效性。 (6)没有发现错误的测试也是有价值的,完整的测试是评定软 件质量的一种方法。 (7)根据测试目的的不同,还有回归测试、压力测试、性能测 试等,分别为了检验修改或优化过程是否引发新的问题、软 件所能达到处理能力和是否达到预期的处理能力等。 20
BUG按严重性级别划分 1.可能有灾难性后果 A Fatal) 2.故意留有程序后门 1.造成数据库不稳定 2.系统崩溃,无法继续操作 B (Critical) 3.列在说明中的需求,未在最终系统中实现 4.业务流程不正确 1.过程调用或其它脚本错误 2.系统刷新错误 3.计算错误或输出错误 C (Major) 4.功能的实现有问题,如控件点击后无作用,对数据库的操作实现不正确 5.编码时数据类型、长度定义错误的 6.对用户的使用有操作顺序上的限制 7.系统性能和响应时间受到影响 1.系统的提示语不明确,界面不够合理,如滚动条无效,鼠标(光标)定位错 D (Minor) 误,按钮、菜单无效时没有变灰,可编辑区和不可编辑区不明显 2.重复或多余的功能 1.按钮或标签上有拼写错误的单词、不正确的大小写 E (Trivial) 2.界面不一致 21
BUG按严重性级别划分 A( Fatal) 1. 可能有灾难性后果 2. 故意留有程序后门 B(Critical) 1. 造成数据库不稳定 2. 系统崩溃,无法继续操作 3. 列在说明中的需求,未在最终系统中实现 4. 业务流程不正确 C(Major) 1. 过程调用或其它脚本错误 2. 系统刷新错误 3. 计算错误或输出错误 4. 功能的实现有问题,如控件点击后无作用,对数据库的操作实现不正确 5. 编码时数据类型、长度定义错误的 6. 对用户的使用有操作顺序上的限制 7. 系统性能和响应时间受到影响 D(Minor) 1. 系统的提示语不明确,界面不够合理,如滚动条无效,鼠标(光标)定位错 误,按钮、菜单无效时没有变灰,可编辑区和不可编辑区不明显 2. 重复或多余的功能 E(Trivial) 1. 按钮或标签上有拼写错误的单词、不正确的大小写 2. 界面不一致 21
不同各阶段导致产生bug的权重 交付后的缺陷分布 口改错 口需求 ▣文档 10% 15% 5% ■编码 30% 口设计 40% 来源:Applied Software Measurement,Capers Jones 22
不同各阶段导致产生bug的权重 22
The Cost of Debugging 1000 消除一个缺陷 40~1000倍 的相对成本 100 30~70倍 15~40倍 10倍 10- 3~6倍 1倍 需求分析 设计 编码 开发测试系统测试实际运行 23
The Cost of Debugging 23