估算技术 - 测试



测试工作不基于任何确定的时间范围。无论测试是否完成,只要设定了预先确定的时间线,工作就会持续进行。

这主要是因为传统上,测试工作量估算开发估算的一部分。只有在使用工作分解结构(WBS)的估算技术(例如宽带德尔菲法、三点估算、PERT 和 WBS)的情况下,才能获得测试活动估算值。

如果您已获得功能点 (FP) 作为估算结果,那么根据 Caper Jones,

测试用例数量 = (功能点数量)× 1.2

获得测试用例数量后,您可以从组织数据库获取生产力数据,并得出测试所需的工作量。

开发工作量百分比方法

所需的测试工作量与开发工作量成正比或占开发工作量的百分比。开发工作量可以使用代码行数 (LOC) 或功能点 (FP) 进行估算。然后,从组织数据库获取测试工作量的百分比。获得的百分比用于得出测试工作量的估算值。

测试项目估算

现在,一些组织为其客户提供独立的验证和确认服务,这意味着项目活动将完全是测试活动。

测试项目的估算需要在软件测试生命周期中积累各种项目的经验。在估算测试项目时,请考虑以下因素:

  • 团队技能
  • 领域知识
  • 应用程序的复杂性
  • 历史数据
  • 项目的缺陷周期
  • 资源可用性
  • 生产力变化
  • 系统环境和停机时间

测试估算技术

以下测试估算技术已被证明是准确的,并且被广泛使用:

  • PERT 软件测试估算技术
  • UCP 方法
  • 工作分解结构 (WBS)
  • 宽带德尔菲法
  • 功能点/测试点分析
  • 百分比分配
  • 基于经验的测试估算技术

PERT 软件测试估算技术

PERT 软件测试估算技术基于统计方法,其中每个测试任务被分解成子任务,然后对每个子任务进行三种类型的估算。

该技术使用的公式为:

测试估算 = (O + (4 × M) + E)/6

其中,

O = 乐观估计(最佳情况,没有出现任何问题并且所有条件都最佳)。

M = 最可能估计(最可能的持续时间,可能存在一些问题,但大多数事情都会顺利进行)。

L = 悲观估计(最坏情况,所有事情都出错)。

该技术的标准差计算如下:

标准差 (SD) = (E − O)/6

用例点方法

UCP 方法基于用例,我们计算未调整的参与者权重和未调整的用例权重以确定软件测试估算。

用例是一个文档,它指定了与相关应用程序交互的不同用户、系统或其他利益相关者。它们被称为“参与者”。交互实现了一些定义的目标,通过称为场景的不同行为或流程来保护所有利益相关者的利益。

步骤 1 - 统计参与者数量。参与者包括正向、负向和异常参与者。

步骤 2 - 计算未调整的参与者权重,如下所示:

未调整的参与者权重 = 参与者总数

步骤 3 - 统计用例数量。

步骤 4 - 计算未调整的用例权重,如下所示:

未调整的用例权重 = 用例总数

步骤 5 - 计算未调整的用例点数,如下所示:

未调整的用例点数 = (未调整的参与者权重 + 未调整的用例权重)

步骤 6 - 确定技术/环境因素 (TEF)。如果不可用,则取值为 0.50。

步骤 7 - 计算调整后的用例点数,如下所示:

调整后的用例点数 = 未调整的用例点数 × [0.65 + (0.01 × TEF]

步骤 8 - 计算总工作量,如下所示:

总工作量 = 调整后的用例点数 × 2

工作分解结构

步骤 1 - 通过将测试项目分解成小块来创建 WBS。

步骤 2 - 将模块划分为子模块。

步骤 3 - 将子模块进一步划分为功能。

步骤 4 - 将功能划分为子功能。

步骤 5 - 审查所有测试需求,以确保它们已添加到 WBS 中。

步骤 6 - 确定您的团队需要完成的任务数量。

步骤 7 - 估算每个任务的工作量。

步骤 8 - 估算每个任务的持续时间。

宽带德尔菲法

在宽带德尔菲法中,WBS 分发给一个由 3-7 名成员组成的团队,以重新估算任务。最终估算结果是基于团队共识的汇总估算结果。

此方法更侧重于经验,而不是任何统计公式。这种方法由 Barry Boehm 推广,强调团队迭代以达成共识,团队在估算测试工作量时能够从不同方面看待问题。

功能点/测试点分析

FP 表示从用户角度来看软件应用程序的功能,并用作估算软件项目规模的技术。

在测试中,估算基于需求规格说明书或应用程序先前创建的原型。要计算项目的 FP,需要一些主要组件。它们是:

  • 未调整的数据功能点 - i) 内部文件,ii) 外部接口

  • 未调整的事务功能点 - i) 用户输入,ii) 用户输出和 iii) 用户查询

  • Capers Jones 基本公式 -

    测试用例数量 = (功能点数量)× 1.2

  • 总实际工作量 (TAE) -

    (测试用例数量)×(开发工作量百分比/100)

百分比分配

在这种技术中,软件开发生命周期 (SDLC) 的所有阶段都分配了 % 的工作量。这可以基于类似项目的过去数据。例如:

阶段 工作量 %
项目管理 7%
需求 9%
设计 16%
编码 26%
测试(所有测试阶段) 27%
文档 9%
安装和培训 6%

接下来,将测试(所有测试阶段)的工作量 % 进一步分配给所有测试阶段:

所有测试阶段 工作量 %
组件测试 16
独立测试 84
总计 100
独立测试 工作量 %
集成测试 24
系统测试 52
验收测试 24
总计 100
系统测试 工作量 %
功能系统测试 65
非功能系统测试 35
总计 100
测试计划和设计架构 50%
审查阶段 50%

基于经验的测试估算技术

此技术基于类比和专家。该技术假设您已经在以前的项目中测试了类似的应用程序,并从这些项目中收集了指标。您还从以前的测试中收集了指标。从非常了解应用程序(以及测试)的主题专家那里获取输入,并使用您收集的指标得出测试工作量。

广告