第一章 软件质量和测试背景
应从以下几个方面考虑软件质量:
- 软件结构
- 功能与性能
- 开发标准与文档
IEEE关于软件质量的定义:
- 系统,部件,过程满足规定需求的程度
- 系统,部件,过程满足顾客或者用户需要的期望程度
软件的六个主要特征:
功能性:软件功能满足客户需求以及设计规范
可靠性:软件可以在一定条件下维持性能
易使用性:学习成本低
效率:软件功能与占用资源相匹配
可维护性:易于维护
可移植性:易于移植
软件测试定义:
使用人工手段或自动手段来运行或测定某个系统的工程,检验他是否满足需求或者弄清预期结果与实际结果之前的差别
《软件测试的艺术》对于软件测试的定义:
- 测试是程序的执行过程,目的在于发现错误
- 一个好的测试用例可以发现至今尚未发现的错误
第一章小结
第二章 软件质量工程体系
软件质量控制:
软件质量控制是一组由开发组织使用的程序和方法,使用它可在规定的资金投入和时间限制条件下,提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,来提高将来生产高质量软件产品的能力。
风险控制方法:
风险避免:变更计划消除风险
风险弱化:降低风险发生概率,如简化流程,更多测试
风险承担:指定应急方案
风险转移:转移分享和应对权力给第三方
软件质量保证体系
软件质量保证是建立一套有计划,由系统的方法,向管理层保证标准,步骤,实践和方法能够正确的被所有项目采用。软件质量保证的目的是让软件过程对于管理人员来说是可见的
第二章小结
第三章 软件质量度量和配置管理
软件的度量
软件质量度量的根本目的是为了管理。
软件工程的方法论主要提升可见度方面。
软件度量的作用:
通过软件度量增加理解
管理软件项目,主要是计划和估算,跟踪和确认
指导软件过程改善,主要是理解,评估和包装
cmm定义的软件质量:
一个系统,组件或过程符合特定需求的程度
一个系统,组件或过程符合客户或用户要求或期望的程度
软件过程度量包括:
选择和定义度量
制定度量计划
收集数据
执行度量分析
评估过程性能
根据评估结果采取相应措施
小结
第四章 软件可靠性度量和测试
软件可靠性
在规定条件下,在规定时间内,软件不引起系统失效的概率。
软件差错
需求分析定义错误:用户需求不完整,需求变更未即时消化,开发者与用户对需求的理解不同
设计错误:算法和结构错误,缺乏对特殊情况的考虑
编码错误:语法错误,资源错误
测试错误:数据准备错误,测试用例错误
文档错误:文档不全,文档内容不一致
可靠性模型以及评价标准
软件可靠性模型是为了预计和估算软件的可靠性所建立的可靠性框图和数学模型
模型分类
软件可靠性测试的实施过程 :
小结
第五章 软件质量标准
能力成熟度模型CMM
能力成熟度模型本质是软件管理工程的一部分,是对于软件组织在定义,实现,度量,控制和改善其软件过程中各个发展阶段的描述
PSP和TSP
个体软件的过程:
PSP是一种可用于控制,管理,和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格,指南,和规程的结构化框架
团队软件过程:
TSP指导项目组中成员如何有效的规划和管理所面临的项目开发任务,并告诉管理人员如何指导软件开发队伍。
CMM/CMMI为满足软件质量保证的要求需要满足四个目标
第六章 软件评审
软件评审的意义
- 提高项目的生产率
- 标志软件开发的阶段完成
- 生产出更容易维护的软件
管理评审
管理评审就是最高管理者为评价管理体系的适应性,充分性和有效性所进行的活动
技术评审的输入
小结
第七章 软件全面质量管理
全面质量管理的含义:
强烈关注顾客,精确度量,坚持不断改进,向员工授权,改进组织中每项工作的质量
管理法简介
DMAIC简介
他的业务流程改进遵循五步循环改进法:定义,评估,分析,改进,控制
DFSS简介
第九章 软件测试
软件测试的目
软件测试是软件在投入使用前,对软件的需求分析,设计,实现编码进行最终审查。
软件测试是为了发现缺陷而运行程序的过程
一个好的测试用例在于能发现至今未发现的错误
软件测试的原则
软件测试过程
软件测试过程
单元测试,集成测试,系统测试,验收测试
单元测试
集成测试
系统测试
敏捷测试
v模型
十章 黑盒测试
黑盒测试可以发现以下错误:
等价类划分
等价划分法是一种黑盒测试技术,不考虑程序的内部结构,把所有可能的输入数据划分为若干个子集,选取少数具有代表性的测试用例。
等价类划分有两种情况:有效等价类,无效等价类
边界值分析法
因果图法
功能图设计方法
比较与选择
十一章 白盒测试
使用目的:
对于程序模块所有的独立执行路径至少测试一次
对所有的逻辑判定,取真或取假两种情况至少都测试一次
控制流测试
语句覆盖
判定覆盖
条件覆盖
判定条件覆盖
路径覆盖
十二章 基于缺陷模式的软件测试
相关定义
缺陷管理与CMM的关系
软件缺陷管理
对各个阶段测试发现的缺陷进行跟踪管理,以保证各级缺陷的修复率达到标准,
十三章 集成测试
定义:
主要任务
集成测试策略
十四章 软件系统测试
定义:
系统测试的主要方法
性能测试
强度测试
安全测试
兼容性测试
恢复测试
图形界面测试
其他测试类型:
安装测试,可靠性测试,配置测试,可用性测试,文档资料测试,网站测试