3.1 生命周期测试的概念
生命周期测试的主要任务:
三维过程:一维概述测试要素,二维定义每个阶段要测试的事务,三维是测试计划
测试策略:描述测试工程的总体方法和目标。
测试要素:描述测试的主要目标
(1)正确性:数据输入、过程处理和输出的正确性
(2)文件完整性:文件被正确使用,恢复和存储的数据正确
(3)授权:特殊的授权可以执行特殊的操作
(4)进程追踪:在进程运行中,程序有能力证实进程在正常工作
(5)系统运行的连续性:当有非致命性问题发生后,系统有能力继续进行关键的任务
(6)服务水平:系统有紧急情况发生时,要求程序的输出结果不经或进行简单的处理后就可以直接使用
(7)权限控制:防止系统被误用(意外或有意的)
(8)一致性:确保最终设计和用户需求完全一致
(9)可靠性:在规定的时间内都可以正常运转
(10)易于使用:多数人均感觉易于使用
(11)可维护性:可以很容易地定位问题,并且进行修改
(12)可移植性:数据或程序易于移至其他系统中
(13)耦合性:系统中的组件可以容易的连接
(14)性能:系统资源占有率、响应时间、并发处理
(15)操作性:易于操作
风险:
-- 导致失败的条件
-- 不能消除,但可以减少发生率
-- 表现:
* 产生不正确的结果
* 接受未授权的事务
* 破坏计算机文件的完整性
* 不能重新构造处理
* 破坏处理的连续性
* 向用户提供的服务降低到不能接受的程度
* 危及系统的安全
* 结果不可靠
* 系统难于使用
* 程序难于维护
* 不能移植到其他计算机硬件环境
* 不可接受的性能级别
* 系统难以操作等
测试计划:
-- 描述要进行的测试活动的范围、方法、资源和进度的文档
-- 确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险
-- 有效预防计划的风险,保障计划的顺利进行
-- 确定测试计划需考虑:
* 要使用的测试技术和工具
* 测试完成标准
* 影响资源分配的因素(例如外部接口出现故障、物理设备损坏、安全受到威胁等)
-- 关键一步:将软件分解成单元,写成测试需求
测试种类和技术:
各类软件测试的定义和概念:
-- 质量控制:决定软件产品正确性的过程和动作;一组功能基线,保证产品符合标准/需求所做的工作
-- 缺陷:三种表现形式——遗漏、错误和多余
-- 验证:软件生命周期中的全部质量控制活动,确保交付的产品符合输入规格说明
-- 确认:测试阶段,保证产品符合规格说明
-- 静态测试:系统编码之前进行的验证
-- 动态测试:编码之后进行的验证和确认
-- 单元测试:对单一独立的模块或编码单元进行的测试
-- 集成测试:对一组模块进行测试,确保模块之间的数据和控制能正常传递
-- 系统测试:确认系统开发正确
-- 验收测试:保证系统符合用户要求
-- 回归测试:系统修改后进行的测试
-- 功能测试:系统应该做什么的业务需求测试
-- 结构测试:确认系统是如何实现的
-- 黑盒测试:数据驱动,无须了解系统是如何构造的
-- 百合测试:逻辑驱动、基于编码内部的机构和逻辑测试
测试准入准出
准入:
-- 有项目计划
-- 有测试所需的各种文档
-- 被测软件可控
-- 源代码以正常提交部署
准出:
-- 已按要求完成规定的测试任务
-- 遵循原定的软件测试计划和测试说明
-- 客观、详细记录了测试过程和发现的问题
-- 测试文档齐全、符合规范
-- 测试中发现的问题或异常有合理解释或得到有效处理