一、测试计划的内容
》测试目的:
指"测试计划文档"要达到的目的
》制定测试目标要从以下方面着手:
- 理解系统
- 及早介入
- 理解企业文化和过程
- 测试期望
- 吸取教训
- 工作量大小
- 解决方案的类型
- 技术选择
- 预算
- 时间表
- 分阶段的解决方案
》测试项目简介
- 产品规格
产品名称、制造商和产品版本号的说明 - 产品信息
产品的用户、开发该产品的背景 - 技术结构
介绍产品的主要功能,可以借助图表的格式表述
- 测试参考文档
测试计划中引用的文档或书籍 - 测试提交文档
↓ ↓ ↓ ↓ ↓
- 测试用例
1 提供测试用例模板
2 确定测试用例编号规则- 测试日志
提供测试日志模板- 测试报告
1 提供缺陷报告模板(包含哪些内容)
2 缺陷跟踪系统还是电子文档
3 确定严重程度和优先级别如何划分- 测试总结
提供测试总结模板
》术语定义
定义了开发产品或测试过程中常用术语的含义
》测试策略
- 测试策略描述测试小组用于测试整体和每个阶段的方法。确定测试策略要从模块、功能、整体、系统、版本、压力、性能、配置和安装等各个方面来考虑
- 举例
》测试阶段进入退出标准
- 进入标准:允许系统进入一个特定的测试阶段时所必须具备的条件
- 退出标准:规定测试何时结束的条件
确定测试的内容
- 功能的测试
理论上测试要覆盖所有的功能项- 设计的测试
对一些用户界面、菜单的结构还有窗体的设计是否合理等的测试- 整体考虑
要考虑到数据流从软件中的一个模块流到另一个模块的过程中的正确性- 确定功能项优先级
风险
复杂度
客户需求
- 资源
1 人力资源
2 系统资源:软/硬件
- 测试进度
1 安排测试进度的重要性
2 里程碑事件的设置
3 计划测试进度和人员安排需要考虑
- 记录当前项目每项任务实际花费的人员和时间
- 考虑测试组织的测试成熟度
- 测试需求范围
- 测试工程师的技术水平
- 使用测试工具的熟练程度
- 商业知识
- 测试程序的范围
- 测试工作的启动
- 软件计划升级的版本个数
- 高风险的应用程序
- 测试人员的任务分配
- 风险和问题
1 市场的压力
2 测试时间不够,主要是功能冻结后的系统测试时间可能不够
3 测试资源是否能及时到位(设备、人员)
4 测试人员的培训
5 开发进度的变化,需求或设计的变更
6 测试人员的基础培训
7 开发组的版本控制
二、测试计划的内容小结
- 测试目的
- 测试项目简介
- 测试参考文档
- 术语和定义
- 测试策略
- 确定测试内容
- 资源
- 测试进度
- 测试人员的任务分配
- 风险和问题
三、测试策略的概念
- 在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试原则、方式、方法的集合
- 测试策略通常是描述测试工程的总体方式和目标。描述目前在进行哪一阶段的测试,以及每个阶段内进行的测试种类,以确定合理的测试方案使得测试更有效
- 任何实际测试,都不能够保证被测试系统中不存在遗漏缺陷
- 为了减少这种情况,在测试实施前,必须确定将要确定采用的测试策略和测试方法
- 好的测试策略和测试方法,能充分利用有限的人力、物理资源,高质量的完成测试
》影响测试策略的因素
1 测试周期的变化(时间)
2 资源状况(人力/软硬件)
3 软件类型(C/S结构、B/S结构、应用软件、系统软件等)
四、不同测试阶段的测试策略
1.单元测试的测试策略:
-
自顶向下的单元测试策略:先对最顶层单元进行测试,然后再把顶层所调用的单元做成桩单元;再对第二次测试,将上面已经测试的单元做成驱动单元。知道测试完所有的单元。
优势:节省了桩单元的开发工作量,测试效率较高
劣势:随着单元的逐个加入,测试过程变得越来越复杂,增加了开发的维护和成本 -
自底向上的单元测试策略:先对最底层单元进行测试,模拟调用该单元的单元作为驱动单元;然后再对上面一层做单元测试,并用下面已经测过的单元做桩单元,直到结束。节省了桩单元的开发工作量,测试效率较高。
-
孤立单元测试策略:最简单的,最容易操作的方法,是单纯的单元测试。不考虑每个单元与其他单元之间的关系,单独的为每一个单元来设计桩单元和驱动单元,能够达到较高的覆盖率。但是需要大量的开发单元桩和驱动单元,所以测试的效率较低。
2.集成测试的测试策略:
- 大爆炸集成、一次性集成:适应于一个维护型项目或被测试系统较小。
- 自顶向下集成:适应于产品控制结构比较清晰和文档;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。
- 自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
- 基于进度的集成
优点:具有较高的并行度;能够有效缩短项目的开发进度。
缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
3.系统测试的测试策略:
(以下策略并非一定会使用到)
数据和数据库的完整性测试、
功能测试、
用户界面测试、
性能评测、
负载测试、
强度测试、
容量测试、
安全性和访问控制测试、
故障转移和恢复测试、
配置测试、
安装测试、
加密测试、
可用性测试、
版本验证测试、
文档测试、
兼容性测试
五、如何确定测试策略
》确定测试类型
-
通常都是根据软件的市场定位、用户群、发布期限等条件来选择一部分适合当前需要的测试类型
-
确定测试方法后以解决以下问题:
1 只测用户界面,还是需要测试代码
2 是否考虑使用自动化测试工具来改善测试工作的效率
3 如果要使用自动化测试工具,其中哪些测试工作仍需手工来进行
4 如何判断测试工作执行完毕
5 测试的目标是什么
6 有哪些问题可能会影响你的测试执行工作