软件测试_相关概念
概念理解
什么是软件质量
是指满足用户需求的程序
- 明确定义的功能和性能需求
- 明确定义的开发标准和准则
- 隐含要求的其他特性
软件的组成
- 文档、数据和程序的集合。
测试
-
Testing
-
引申:度量、检测
什么是软件测试
- 是对数据、文档和程序的一种度量和检测
软件测试和软件质量的关系是什么?
- 软件测试是为了提高软件质量而服务的,是保证软件质量的手段
软件测试的目的是什么?
- 验证
- 确认
软件测试的对象
- 文档、数据和程序
- 文档 需求规格说明书、概要设计说明书、用户手册等等
- 数据 图片和视频等
- 程序 源码、模块、部件、视频
软件测试的原则是什么?
- 所有的测试活动都应以用户需求(软件需求规格说明书)为标准
- 应尽早地和不断地进行软件测试
- 完全测试是不可能的
- 应充分注意测试的集群现象
- 程序员应避免检查自己的陈旭
- 尽量避免测试的随意性
软件测试的衡量标准
多快好省
软件测试的基础
软件需求分析
需求是<mark>用户对系统提出的要求</mark>,这种要求可能是原始的、笼统的,也可能是抽象的太细节化
软件需求分析的主要目的是:在综合分析用户对系统提出的一组需求的基础上,构建一个从抽象到具体的逻辑模型表达软件将要实现的需求
并以<mark>软件需求规格说明书</mark>的形式作为本阶段工作的结果,为下一个阶段额软件设计提供设计的基础
概要设计
总体设计,既确定系统的具体<mark>实现方案</mark>、给出软件的<mark>模块结构</mark>、编写总体设计说明书
详细设计
过程设计,对系统的每个模块给出足够详细的过程性描述。这种描述不是程序的书写,而是用一些工具来表示每个模块,所以这种描述是不能够在计算机上运行的。
软件缺陷
- 软件产品开发或维护过程中存在的错误、误差等各种问题。
- 系统所需要实现的某种功能的失效或违背。
缺陷产生的原因
- 信息传递的错误
- 实际软件与用户想要的有偏差
修复缺陷的成本
需求设计 < 设计阶段 < 编码阶段 < 支付阶段
软件测试模型
是对测试工作的总结与归纳
单元测试
- 针对软件设计中最小的单位进行正确性校验
- 依据:详细设计,编码
- 方法:白盒测试
集成测试
- 在单元测试的基础上将程序模块进行有序的、递增的组装测试
验收测试
- 交付测试:单元测试、集成测试、系统测试完成后,依据<mark>软件需求规格说明书</mark>,对软件进行一次全面的测试,完成对软件质量的评估
-
有效性测试
- 模拟环境运用黑盒测试,验证软件是否满足需求规格说明说列出的需求
-
软件配置复查
- 保证软件配置的所有成分都齐全,各方面的质量都符合要求,文档内容和程序完全一致
α测试 :先内部测试
β测试:让用户与合作伙伴测试
软件测试的分类
按测试实施者
- 开发方测试
- 用户测试
- 第三方测试
按测试技术
- 白盒测试
- 通过对程序内部结构的分析、检测来寻找问题
- 黑盒测试
- 通过软件外部的表现来发现其缺陷和错误
- 灰盒测试
- 结合以上两种测试