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