软件测试整个生命周期是
测试需求分析→ 测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估,测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。
第一部分:测试计划
测试计划的问题:
1、测试计划经常是等到开发周期后期才开始实行,使得没有时间有效的执行计划;
2、测试计划的组织者可能缺乏Client/Server测试经验;
3、测试的量度和复杂性可能太大,没有自动化工具,很难计划和控制。
测试策略:
测试策略描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、压力测试等)。
测试策略包括
1、要使用的测试技术和工具;
2、测试完成标准;
3、影响资源分配的特殊考虑例如测试与外部接口或者模拟物理损坏、安全性威胁。
测试计划最关键的一步就是将软件分解成单元,写成测试需求。
测试需求有很多分类方法,最普通的一种就是按照商业功能分类。把软件分解成单元元件有几个好处:
1、测试需求是测试设计和开发测试用例的基础,分成单元可以更好地进行设计;
2、详细的测试需求是用来衡量测试覆盖率的重要指标;
3、测试需求包括各种测试实际和开发以及所需资源。
怎样估计测试工作量:
1、效率假设:即测试队伍的工作效率。对于功能测试,这主要依赖于应用的复杂度,窗口的个数,每个窗口中的动作数目。对容量测试,主要依赖于建立测试所需数据的工作量大小。
2、测试假设:为了验证一个测试需求所需测试动作数目。
3、应用的维数:应用的复杂度指标。例如要加入一个记录,测试需求的维数就是这个记录中域的数目。
4、所处测试周期的阶段:有些阶段主要工作都在设计,有些阶段主要是测试执行。
测试资源:
1、人力资源
测试经理
为测试项目提供总体方向。开发测试计划、征集并监督测试人员、申请系统资源、监视并汇报工作进程、测试评估、测试需求的分解。
测试工程师 ---- 设计和开发
设计:对被测软件的详细了解、分解测试需求的技能、选择在C/S环境下用来验证测试需求的技术。
开发:熟悉SQA、VB、和脚本语言。
测试工程师 ---- 执行
负责测试执行和记录结果。需要能够安装系统,网络知识,初始化数据库和其他初始条件。重要的是诊断能力。
测试系统管理者
每个测试项目必须指定一个专人负责管理SQA Suite。包括在服务器上安装存储库,安装打印机连接,执行备份,以及其他维护工作。管理者必须高度熟悉SQA,网络工作经验。
2、系统资源
安装SQA Suite的硬件和软件环境
数据库服务器
该服务器必须专用于 测试工作,能够重置某些初始值,包括系统日期和时间等。