Testing 估计测试工作量占开发时间的百分比

Testing 估计测试工作量占开发时间的百分比,testing,estimation,Testing,Estimation,是否有人使用经验法则来估计测试所需的工作量占开发所需工作量的百分比?如果是这样的话,你使用的百分比是多少?谷歌测试博客: 所以,一个天真的答案是,写作考试要缴纳10%的税。但是,我们纳税是为了得到回报 (剪报) 这些好处转化为今天和明天的真正价值。我编写测试,因为我得到的额外好处超过了10%的额外成本。即使我不包括长期利益,我今天从测试中得到的价值也是值得的。我使用测试开发代码的速度更快。多少取决于代码的复杂性。您试图构建的东西越复杂(ifs/loops/dependency越多),测试的好处就

是否有人使用经验法则来估计测试所需的工作量占开发所需工作量的百分比?如果是这样的话,你使用的百分比是多少?

谷歌测试博客:

所以,一个天真的答案是,写作考试要缴纳10%的税。但是,我们纳税是为了得到回报

(剪报)

这些好处转化为今天和明天的真正价值。我编写测试,因为我得到的额外好处超过了10%的额外成本。即使我不包括长期利益,我今天从测试中得到的价值也是值得的。我使用测试开发代码的速度更快。多少取决于代码的复杂性。您试图构建的东西越复杂(ifs/loops/dependency越多),测试的好处就越大


几年前,在一个安全关键领域,我听到过类似“一天”的说法,用于单元测试十行代码


我还观察到50%的开发工作和50%的测试工作(不仅仅是单元测试)。

你说的是自动单元/集成测试还是手动测试


对于前者,我的经验法则(基于度量)是在开发时间上增加40-50%,即,如果开发用例需要10天(在QA和严重错误修复发生之前),编写好的测试还需要4到5天——尽管这最好在开发之前和开发期间进行,之后就不会了。

测试时间与功能范围的关系可能比开发时间更密切。我还认为(可能有争议)测试时间与开发团队的技能相关


对于6到9个月的开发工作,我要求绝对最少2周的测试时间,由精通他们将要测试的软件的实际测试人员(而不是开发团队)执行(即,2周不包括启动时间)。这是针对一个拥有~5名开发人员的项目

我在额外测试时间中考虑的唯一时间是如果我不熟悉将要使用的测试技术(例如,第一次使用Selenium测试)。然后,我考虑了10-20%的因素,以加快工具的开发速度并使测试基础设施到位

否则,测试只是开发的固有部分,不需要额外的评估。事实上,我可能会增加对未经测试的代码的估计


编辑:注意,我通常先编写代码测试。如果我不得不事后介入,为现有代码编写测试,这会让事情变得缓慢。我没有发现测试优先开发会让我慢下来,除了非常探索性的(阅读:一次性)编码。

当你提到测试时,你可能指的是瀑布式或敏捷测试开发。在敏捷环境中,开发人员应该花费50%的时间开发和维护测试


但当重新分解和手动验证时间到来时,这50%的额外费用将为您节省时间。

根据昨天的天气判断。上次花了多长时间?你倾向于更长还是更短?每家商店都不一样

由于TDD,大多数敏捷商店需要更少的时间、更少的缺陷和更快的时间来解决它们。即便如此,大多数敏捷商店在测试/质量控制上花费了一些可测量的时间

如果这是该应用程序的第一次测试运行,那么答案是“让我们看看”,然后是一次尝试。这取决于你回答问题的速度, -它是多么可测试, -有多少功能 -发现了多少缺陷, -问题解决得多快,, -代码循环了多少次 通过测试,以及 -有多少次测试被阻止 漏洞。 没有办法说。你可以称之为50%或175%或更高,而且没有错。为什么不做一个粗略的猜测并乘以π?这不会比你能想出的任何其他答案更糟糕


你应该(必须)知道现在需要多长时间,是快还是慢,覆盖率是增加还是减少。有了这三点信息,你应该能够猜得很好。

Gartner在2006年10月指出,测试通常会消耗系统集成项目10%到35%的工作量。我假设它适用于瀑布方法。这是一个相当广泛的范围-但有许多依赖于对标准产品的定制数量和要集成的系统数量

在评估测试时,您需要确定测试的范围-我们是在讨论单元测试、功能测试、UAT测试、接口测试、安全测试、性能压力测试和容量测试吗

如果你在瀑布式项目中,你可能会有一些相当固定的开销任务。留出时间准备任何规划文件、时间表和报告

对于功能测试阶段(我是“系统测试人员”,所以这是我的主要参考点),不要忘记包括计划!从需求/规范/用户故事中提取测试用例通常至少需要与执行测试用例同样多的努力。此外,您需要为缺陷提出/重新测试留出一些时间。对于一个更大的团队,您需要考虑测试管理——日程安排、报告、会议

通常,我的估计是基于所交付功能的复杂性,而不是开发人员工作的百分比。但是,这至少需要访问一组高级指令。经过多年的测试,我发现一个特殊复杂的测试需要花费x小时的准备和执行时间。有些测试可能需要额外的数据设置工作。一些测试可能涉及与外部系统协商,并且持续时间远远超过所需的工作量

不过,最后,您需要在整个项目的上下文中对其进行审查。如果您的估计远远高于BA或