博主:海底淤泥
1.1软件缺陷
1.1.2术语
错误(Error):人们在开发软件过程中发生的错误
缺陷(Defect):错误在程序中的表象
故障(Fault):软件运行过程中出现的一种不希望或不可接受的内部状态
失效(Failure):软件运行时产生的一种不希望或不可接受的外部行为结果
1.1.3软件缺陷产生的原因
1.需求规格说明书问题
2.团队协作问题
3.未考虑复杂应用场景
4.技术方面问题
1.1.4技术缺陷分类
1.规格说明书 2.设计 3.编码
程序缺陷分类:
1.输入缺陷
2.输出缺陷
3.计算缺陷
4.接口缺陷
5.数据缺陷
6.逻辑缺陷
1.2软件质量和质量保证
1.2.1软件质量
软件质量定义:软件产品中能满足规定的和隐含的与需求有关的全部特征和特性
质量五个维度:1.功能性 2.易用性 3.可靠性 4.性能 5.可支持性
1.2.2软件质量模型
1.McCall质量模型
2.ISO/IEC质量模型
1.2.3软件质量保证
软件质量保证定义:软件质量保证是设计用来评价开发或制造产品过程的一组活动,这组活动贯穿软件软件生成的全生命周期
软件质量保证目标:
1.保证软件及其维护符合功能与技术需求
2.保证软件及其维护符合管理需求,即时间和费用都在预算内
3.为实现前两个目标,组织一些活动来改进软件开发效率和维护效率,并进一步优化SQA活动
软件质量保证活动:
1.项目前的质量活动
2.软件生命周期中的质量活动
3.基础设施方面的质量活动
4.管理方面的质量活动
5.软件质量标准
6.SQA自身的考虑
1.3软件测试概念
软件测试:软件开发过程中的所有评审、确认、检验等活动
目的:1.发现软件中的缺陷 2.对软件质量进行量化评估
1.4软件测试模型
1.4.1 V模型
快速应用开发模型(RAD模型)又称 V模型 :
用户需求---------------------------------------------------------------->验收测试
需求分析与系统设计--------------------------------------->系统测试
概要设计------------------------------------>集成测试
详细设计--------------------->单元测试
编码
缺点:理论上还是一个瀑布模型,只是将测试活动过程进行细化。
1.4.2 W模型
W又称为双V模型,它将开发过程细化为一个普通V模型,将测试过程细化为和开发过程并行的V模型
用户需求------------>验收测试准备
需求设计与系统分析------------>系统测试准备
概要设计------------>集成设计准备
详细设计------------>单元测试准备
编码------------>单元测试
集成------------>集成测试
实施------------>系统测试
交付------------>验收测试