第19章报告发现的问题
1. 无法修复的软件缺陷
1) 没有足够的时间
2) 不算真正的软件缺陷
3) 修复的风险太大
4) 不值得修复
5) 无效的软件缺陷修复报告
报告软件缺陷的基本原则
1) 尽快报告软件缺陷
2) 有效描述软件缺陷
A短小
B单一
C明显并通用
D可再现
3) 在报告软件缺陷时候不要评价
4) 对软件缺陷报告跟踪到底
2. 分离和再现软件缺陷
分离软件的建议:
1) 不要想当然接受任何假设,记下所做的每一件事情-每一个步骤,每一次停顿,每一件工作.
2) 查找时间依赖和竞争条件的问题.
3) 边界条件软件缺陷,内存泄漏和数据益处等白盒问题可能会慢慢自己显露出来.
4) 状态缺陷仅在特定软件状态中显露出来.
5) 考虑资源依赖性和内存,网络,硬件共享的相互作用.
6) 不要忽视硬件
3.并非所有软件缺陷生来就是平等的
4.软件缺陷的生命周期
5.软件缺陷跟踪系统
1)标准:测试事件报告
测试事件报告(Test Incident Report):记录在需要调查的测试过程期间发生的任何事件.
1) 手工软件缺陷报告和跟踪
2) 自动化软件缺陷报告和跟踪
第20章成效评价
1. 使用软件缺陷跟踪数据库中的信息
2. 在日常测试总使用的度量
3. 常用项目级度量
第21章软件质量保证
1. 质量是免费的
质量费用分为两类:一致性费用(costs of conformance)和非一致性费用(costs of nonconformance).一致性费用是指与一次性计划和执行测试相关的全部费用,用于保证软件按照预期方式运行.如果发现了软件缺陷,必须花时间分离,报告和回归测试以保证其得以修复,那么非一致性费用就会上涨.
2. 工作现场的测试和质量保证
软件质量保证人员的主要职责是检查和评价当前软件开发的过程,找出改进过程的方法,以达到防止软件缺陷出现的目标.
3. 测试的管理和组织结构
4. 能力成熟度模型(CMM)
5. ISO9000
ISO9000是关于质量管理和质量保证的一系列标准,定义了一套基本达标的实践,帮助公司不断的交付给客户质量要求的产品.
1) 目标在于开发过程,而不是产品
2) ISO9000只决定过程的要求什么,而不管如何到达.