测试计划提出“做什么”,测试方案明确“如何做”,测试方案需要在测试计划的指导下进行。

测试计划

是对测试全过程的组织、资源、原则等进行规定和约束,并制定测试全过程各个阶段的任务以及时间进度安排,并提出对各项任务的评估、风险分析和管理需求。简言之,测试计划是从管理角度对整个测试活动进行规划和控制。

内容

背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析

1.概述
项目背景、测试范围(所需测试的特性)、参考文档(需求文档、会议记录、同类项目的参考说明)
2.组织形式
测试涉及人员及其职责的划分
3.测试范围
确定被测特性有哪些,然后按照功能性、非功能性的分类,对系统模块&子模块进行划分,重要级别的设置
4.测试通过与否的标准
根据对测试系统的预判,与项目经理协商并由其确认来定义项目通过&不通过的准则(如:测试覆盖率、缺陷修复率…)
5.测试挂起&恢复条件
1)测试挂起:考虑测试过程中发生一些内外部问题致使测试受阻,用例无法执行的情形,由项目经理确认
2)测试恢复:导致阻塞的问题确认已被修复后,由项目经理确认恢复测试
6.测试进度人力分布计划
计划编制原则:
1)尽量准确预估整个测试活动所需的人力和持续时间
2)讲一个阶段分成若干个能进行有效监控的小阶段
3)计划结构和进度须清晰明了,便于阅览、检查
4)结构包括:任务、负责人、检查人、时间进度条

制定项目测试过程中的测试重点,各个阶段的任务分配以及时间进度安排,并提出对各项任务的评估,风险分析,可以包括测试策略。

测试方案

是描述被测对象需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。简言之,测试方案是从技术角度对整个测试活动进行规划和控制。

内容

1.概述
描述软件项目的背景(如:项目名称、项目时间、项目目的)、测试范围、参考文档
2.测试环境
1)软硬件环境
硬件设备:电脑配置、无线路由器、手机…
软件设备:应用服务器、数据库服务器-型号&版本
2)网络构成
测试环境的网络结构、拓扑图
3)环境搭建
测试所需的环境搭建步骤、要求、注意事项
4)测试工具
所需的测试工具,如:LR、Jmeter、Postman、AppScan、AWVS…
3.测试策略
说明此项目将要采取哪些测试手段与方法
结构包括:功能性/非功能性-系统模块&子模块、测试要点、测试要点说明、测试数据描述、优先级、测试方法、用例设计方法
4.测试风险评估与预防
评估项目测试过程中可能存在的风险,设置不同的风险等级,并提前分析相应的预防措施
结构包括:风险描述、风险等级、风险来源、产生阶段、预防措施、对策责任人

侧重测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计方法,测试代码的设计方案。

测试策略

如何用尽量少的资源来尽量好的完成测试,给测试活动提供技术上的明确指导,以便测试活动的实施者能够很快的开展自己的工作。

侧重需求分析,评估风险,定义测试范围,确定测试方法,制定测试启动、停止、完成标准和条件。

宏观角度:在不同的项目背景下,根据产品需求和指标,分析产品的功能项和业务逻辑,并判断测试的重点和方向,在当前有限的条件下,统筹各方资源、采取合理有效的方法来推动项目的测试活动开展,以最少的软硬件、人力资源投入得到最佳的测试效果,达到符合当前环境的最优决策。

微观角度:可以归属到测试方案中的一个重要组成项,通过采用有效的测试手段与方法,对产品模块&子模块进行划分,明确测试要点,然后按照功能性与非功能性(易用性、兼容性、性能、安全性…)的分类,明确所采用的测试方法(黑盒/白盒/单元/集成/系统/回归/验收…)、用例设计方法(等价类、边界值、流程分析法、),并设置不同的测试优先级,从而指导后面编写测试用例等工作的开展。

测试用例

根据测试计划,制定完成测试任务的具体测试步骤。

测试用例设计的原则

代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等.

可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果.

可再现性:即对同样的测试用例,系统的执行结果应当是相同的。