一、软件测试
(一)定义
- 动态验证计算机程序对有限的测试用例集是否可产生期望的结果的过程。
- 测试计划是描述了要进行的测试活动的范围、方法、资源和进度的文档。
- 编写测试计划目的:使测试工作顺利进行、使项目参与人员沟通更舒畅、使测试工作更加系统化。
- 软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。
(二)对象
- 软件(包括程序、数据、文档、代码)
- 不包括软件开发人员
(三)目的
- 保证、提高软件质量
- 检验软件系统是否满足需求
(四)验证与确认
1、验证 verification
- 为了看程序是否满足需求规格说明书中的要求
- 找相关客观证据来证实规定的需求在程序中已经得到满足
2、确认 validation
- 提供客观证据证明针对某一功能或某一特定应用需求得到满足
- 检查程序是否有效,能否满足用户预期的用途
- 软件测试中的确认是保证软件满足用户需求的一系列活动和过程。其目的是证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标,也就是开发的软件是否与用户需求相符。
3、区别
- 验证针对需求进行测试
- 确认针对某一具体功能或某一特定应用需求进行测试
- 软件测试的验证是保证软件正确实现特定功能的一系列活动和过程,其目的是保证软件生命周期中,每一阶段的成果满足上一阶段所设定的目标。
(五)软件缺陷
1、软件开发阶段
- 需求分析阶段:40%
- 设计阶段:30%
- 编码阶段:30%
2、修复代价
3、缺陷分类属性
4、缺陷优先级
5、缺陷严重性
二、测试与质量保证
(一)软件质量
- 在规定条件下使用时,软件产品满足明确或隐含的要求的能力。
(二)质量保证
- 管理性活动
- 软件质量保证就是保证软件产品充分满足消费者要求的质量而进行的有计划、有组织的活动。
- 它主要的目标包括
通过预防、检查与改进来保证软件质量
保证开发出来的软件和软件开发过程符合相应标准与规程
确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要等。
(三)软件测试
- 技术性活动
三、测试用例
(一)测试用例
1、概念
测试用例是 为某个特定目的而开发的 一个 输入、执行条件、预期结果的一个集合。
2、要点
- 目的性强
- 包含具体场景
- 提供判定准则
3、作用
- 测试实施的依据
- 体现了测试的方案、方法、技术和策略
- 保证测试的规范性,提高测试效率
- 保证测试质量,避免随意性和盲目性
- 作为软件企业的一类资产
4、内容
GB/T 15532-2008《计算机软件测试规范》
- 用例标识、说明、环境配置、操作过程、各种条件、评价准则以及建立用例的人员和时间
附加:测试执行过程
测试执行过程阶段
1、初测期
- 测试主要功能和关键的执行路径,排除主要障碍。
2、细测期
- 依据测试计划和测试用例,逐一测试大大小小的功能、方方面面的特性、性能、用户界面、兼容性、可用性等等;预期可发现大量不同性质、不同严重程度的错误和问题。
3、回归测试期
- 系统已达到稳定,在一轮测试中发现的错误已十分有限;复查已知错误的纠正情况,未引发任何新的错误,终结回归测试