软件测试生命周期简介

来源:网络发布时间:2010-03-12

  软件测试整个生命周期是

  测试需求分析→ 测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估,测试计划就是定义一个测试项目的过程,以便能够正确的度量和控制测试。

  第一部分:测试计划

  测试计划的问题:

  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的硬件和软件环境

  数据库服务器

  该服务器必须专用于 测试工作,能够重置某些初始值,包括系统日期和时间等。