自动化测试指南5成本与收益(CBA&ROI)

2021-10-10  本文已影响0人  python测试开发

概述

测试自动化对软件测试的许多领域有各种影响。它可以节省成本和资源,同时也可以解决许多与测试有关的问题。但也有不少失败案例,大量的投资引起客户的不满,最终叫停了自动化测试。了解测试自动化的成本与收益以及计算投资回报率将有助于领导团队决定投资于测试的自动化工具。CBA是进行ROI计算的常见方法。

成本-效益分析(CBA Cost-benefit analysis)

CBA 是一种相对简单且广泛使用的技术,用于决定是否对测试自动化进行投资。顾名思义,只需将效益的价值加起来,然后减去相关的成本。成本可以是一次性的,也可以是持续的。效益最常见的是随着时间的推移而得到。选择测试自动化而不是人工测试的标准理由是,在产品或项目的生命周期内,收益超过成本。对收益和成本做实际分析,可以鼓励更好的决策,并确保有效地分配资源来支持测试自动化。

CBA应该在任何项目的规划阶段(实施之前)开始。随着需求的发展,我们应该能够确定测试方法或技术,并开始制定测试计划和策略。这个早期的纲要将有助于定义和计算自动化策略和CBA。测试领导层负责确保CBA在自动化中的执行。领导应该在CBA所需的所有领域拥有自动化测试开发的专业知识。

在计划软件测试自动化和分析成本和效益时,有许多因素需要考虑。自动化改变了从设计到实施、测试执行和测试结果分析的测试的复杂性。自动化测试的开发、维护和执行与手工测试有很大不同。在实行自动化时,技能、测试方法以及测试本身都会发生变化。这些影响有积极和消极的成分,在执行CBA之前必须考虑。

测试自动化的CBA应该考虑的主要因素有以下几点。

CBA框架

执行CBA的第一步是定义你正在测试的内容和你计划自动化的内容。这必然来自于产品或项目计划和测试计划,以及以前的自动化工作。

效益是根据有形和无形的因素来估计的,它们可能会受到风险和假设的影响。测试可以手工进行,也可以通过自动化进行,或者两者混合进行。工作分解结构一般用于进一步明确潜在的结构。必须为每个潜在结构收集详细的数据,以估计成本和效益。一些可能的数据来源是产品知识、过去的项目、领域知识、当前的自动化成本和在线白皮书。

高级别的CBA框架的步骤

识别潜在的结构 选择一种水平的测试而不是另一种水平的标准理由是,在项目的生命周期内,收益超过成本。对使用各种测试结构的收益和成本进行分析,可以鼓励更好地做出决策。在进行CBA时,应该考虑三种不同的结构,所选择的结构应该是在预算和时间表考虑范围内最具成本效益的。这些结构是。

在比较结构时,应确保所有结构都考虑了相同的测试覆盖水平。在这一点上,一些结构可以被拒绝,因为它们是不可行的。

确定假设和风险:由于我们在分析这些结构时,会有很多的假设,而且会有风险。重要的是要确定假设,并在事实或先前经验的基础上对其进行验证。例如,我们可以假设这个版本的SUT将有一个操作系统和三个服务或安全包。根据我们的跟踪记录和数据,我们将决定可行性和可维护性是否会成为一个问题。这也提供了一个平台来解释为什么一些结构在分析中被放弃。如果我们确实在早期考虑并取消了一些结构,因为结论是不可行的,那么这个结论背后的假设应该被清楚地解释和证明。

估计效益 任何自动化的效益都可以是有形的或无形的。它们通常是混合的,有时很难衡量。评估有形和无形的好处并给它们一个价值或权重是很重要的。这可以是积极的,如降低成本和快速测试。可能的有形和无形的好处列举如下。

有形的好处。

无形的好处。

无形的好处很难评估,但却是CBA的一个关键因素,通常与有形的好处交织在一起。

估算成本:与自动化测试相关的财务成本一般可以描述为固定成本或可变成本。自动化的固定成本是设备、工具、培训等方面的支出。可变成本根据开发的测试数量或运行测试的次数而增加或减少。以下因素对解决成本问题有帮助。

在某些情况下,可能没有数据来提供足够的成本估算。在这种情况下,最好的选择是利用团队成员的判断和以前的经验来估计成本。

将成本和效益转换为可比较的价值:在对每个结构选择的成本和效益进行估算后,你将得到有形的(货币)价值和主观的效益水平的混合。一般来说,给效益分配一个财务数额是比较困难的。如果没有现实的方法将无形效益的价值与有形效益联系起来,就不能认为它们对成本分析有意义。在这种情况下,如果结构的比较没有显示出一种结构是明显的赢家,它们可以被用作决策制定者。努力应该被转换为努力水平(LOE),并为其分配一个货币价值。

比较替代方案:在这一点上,可以通过比较每个结构的净收益(收益减去成本)来进行分析,以确定哪种结构最适合当前项目。应该选择净收益最大的方案。

投资回报的计算

一般来说,自动化测试涉及的前期成本比人工测试高。对测试自动化进行投资回报率分析,有助于预先确定什么类型的自动化是项目的理想选择,需要什么工具,测试需要什么水平的技能。投资回报率不仅可以作为努力的理由,而且也是项目规划过程中的一个必要部分。那些没有预先进行投资回报率计算的项目并不完全了解他们的自动化工作的成本,他们可以做什么类型的自动化与他们正在做的相比,以及应该采取什么策略来最大化他们的回报。投资回报率也许是赢得决策者兴趣的唯一最有效的方法。如果你有令人信服的数字,并有可靠的事实支持,如果你能证明在测试自动化上花的每一英镑都会有两英镑的回报,例如,那么你几乎可以保证获得资金。

投资回报率是净收入和投资之间的比率。投资回报率被广泛用于选择投资方案。投资回报率衡量的是某项投资的回报量。

当涉及到测试过程自动化时,成本是有形的。但净现值也包括许多无形的因素(正如我们在 CBA 中已经讨论过的)。CBA中的发现可以用于投资回报率的计算。最好的方法是尽可能精确地确定收益,然后将其与自动化测试工作的成本进行比较。

计算投资回报率的几个不同的公式是。

上一篇 下一篇

猜你喜欢

热点阅读