软件测试估计技术指南

在本文中,我们将了解软件测试估计、它为何重要、如何进行以及它的一些最佳实践。

什么是软件测试评估?

软件测试估计是一项管理活动,用于计算和估算在给定环境中完成测试执行所需的时间、工作量、费用和资源。

为什么重要?

估算对于计划项目、分配资源和优化产生高级软件质量的活动至关重要。它有助于避免超出时间限制和超出预算。一旦我们能够通过测试估计问题,那么我们就更容易提出理想的解决方案。此外,在开发过程中测试软件的成本总是低于在完成开发后测试软件的成本

估计什么?

时间- 它是任何项目中最宝贵的资源。每个项目都需要在截止日期内交付。管理人员计算每个部分所需的最佳时间,并相应地设置一个时间表,这反过来有助于及时和有组织地执行任务。时间估算有助于建立良好的声誉,从而吸引客户。

  • 资源- 要执行任何任务,需要足够数量的资源,例如基础设施、专家、时间和金钱。没有足够的资源,就无法有效地完成任务。有必要估计可用资源并添加所需资源。

  • 成本- 包括测试在内的所有任务都需要费用。应事先计算总体预算,以便客户可以放心,任务将保持在预算范围内,无需额外付款。

  • 人类技能- 人类技能是指将从事该项目的人员的专业技能知识和经验。它们是项目结果的决定性因素。

测试估计过程的基本先决条件

  • 来自过去经验的见解- 回顾与当前项目具有类似挑战的过去项目是一种很好的做法。

  • 可用文档- 测试管理存储库工具非常有用,可用于评估和定义项目范围。

  • 关于工作类型的假设- 过去的工作经验有助于对项目做出假设。

  • 潜在风险和威胁的计算- 项目团队需要弄清楚未来可能发生的潜在风险和威胁。

  • 职责分配- 应明确定义所有人员的角色和职责,谁将参与估算过程。

  • 估算记录的文档化和跟踪 - 有关估算过程的所有信息都应记录在案。

  • 在估算过程中要进行的活动-

    • 组织进行估算过程的团队

    • 将项目划分为不同的阶段

    • 根据之前的项目和专业经验计算估算值

    • 优先考虑可能的威胁和风险,并提出降低这些风险的解决方案

    • 审查和记录过程的相关部分

    • 将工作提交给相关利益相关者

怎么估计?

有各种软件测试估计技术,如下所示 -

  • 工作分解结构 (WBS)

  • 三点估计

  • 德尔福技术

  • 功能点分析 (FPA)

  • 敏捷估算

工作分解结构 (WBS)

在这种技术中,整个项目被分成小片段以获得以下层次结构——项目被分解为子模块;每个子模块被分解为功能,这些功能又被进一步划分为子功能。最终,我们得到了一个非常全面的结构。每个小任务分配给每个团队成员,并负责在给定的时间内完成。每个步骤都会检查项目。

WBS 是其中最强大和最有效的方法。它促进和加强团队合作和个人承诺。

三点估计

它是一种将主要任务划分为更小的任务(如 WBS)的统计技术。

然后为每个子任务估计三种可能的场景 -

  • 最好的情况 -

    这是一个乐观的场景,考虑到我们拥有所有必需的资源,不会出现问题,我们拥有一支专业且才华横溢的团队,可以在 100 人内完成任务hours(BC)。

  • 最有可能的情况 -

    这是一个正常的场景,假设我们有一个优秀的团队,几乎我们需要的一切,一切都在控制之中,如果有任何问题,它会得到有效处理,任务可以在 150 人内完成hours(MC)。

  • 最坏的情况 -

    这是一个悲观的场景,考虑到我们有一个新手团队,什么都不做,200人就能完成任务hours(WC)。

估计的平均值是

E = (BC + 4MC + WC) / 6

为了更准确,我们需要考虑标准偏差(SD),即

SD = (WC – BC) / 6

因此,团队需要 E +/- SD 人时来完成子任务。

当我们从过去的项目中体验和洞察时,3 点估计是软件测试最有效的方法之一。这种方法的精髓是找出团队的最佳和最差工作条件。

德尔福技术

它是一种广泛使用的测试方法,基于对参与测试过程的专家的调查。在经理的监督下的专家小组给出个人意见并提供他们意见的理由。第一轮结束后,由于回答的范围比较广,所以请专家们对自己的回答进行审核,并考虑其他成员的意见。进行几轮直到答案范围缩小并计算平均值。该过程在预定义的标准之后完成,例如有限的轮数或当结果稳定时。

功能点分析

这种方法从用户的角度展示了软件的功能。它将总工作量计算为时间、成本或规模的函数。就像在 WBS 中一样,项目被划分为模块。然后根据其复杂性将每个模块分配给一个功能点 (FP)。简单的任务得分较低,困难的任务得分较高。总工作量计算为 -

总工作量 (TE) = 总功能Point(FP)x 每个 FP 定义的估计

Estimate Defined per FP 是测试经理根据如何定义的值

经验丰富的团队是根据时间、成本或规模来计算的。

敏捷估算

上述方法使用自下而上的方法,在这种情况下,我们可以在计划项目、进度和预算之前分别估算所有子任务,并且所有细节和要求都已存在。因此,由于软件世界的变化速度很快,这些方法具有缺点。

现在越来越多的客户要求敏捷开发,因为它强调持续交付、流程以用户为中心并提供竞争优势。与传统方法不同,敏捷估算使用自上而下的方法。

最初,我们处理当前可用的数据并提供足够好的估算来启动项目。随着项目的进展,更多的信息和细节被披露出来。这个新信息被整合到估计中。这种方法使团队能够有效地估计新功能。

敏捷估算的原则

  • 协作- 所有团队成员都参与估算过程

  • 高水平的软件质量- 通过定期测试,可以在开发过程中检测和解决问题。

  • 客户满意度- 客户可以在开发过程中监控软件并更新他们的需求,从而允许团队轻松修改测试。

  • 测试驱动- 测试人员可以在开发项目时而不是在开发之后审查项目。

  • 持续测试- 团队在开发项目时定期测试项目,因此项目不断发展。

  • 持续反馈- 测试人员不断向团队提供反馈,使他们能够快速做出调整。