Testing 瀑布模型测试和敏捷有什么优势吗?

Testing 瀑布模型测试和敏捷有什么优势吗?,testing,agile,waterfall,Testing,Agile,Waterfall,我已经阅读了很多关于敏捷和瀑布的信息,我想不出今天有人为什么要做瀑布。我特别关心测试过程。 我是否错过了一些东西,是否有一些明显的优势被我忽略了?瀑布式开发模型的主要优点之一是它已经被使用了很多年来进行开发。它起作用了。尽管敏捷有很大的转变和重点,但瀑布式开发是一个非常清晰的过程,每个开发部分都有起点和终点 随着敏捷编程的引入,我们很容易看到瀑布式开发的衰落,以及它如何不适应当今编程的需求 只要你小心,提前计划,充分测试,我想说敏捷测试可以和瀑布测试一样有效,甚至比瀑布测试更有效——当测试抛出一

我已经阅读了很多关于敏捷和瀑布的信息,我想不出今天有人为什么要做瀑布。我特别关心测试过程。
我是否错过了一些东西,是否有一些明显的优势被我忽略了?

瀑布式开发模型的主要优点之一是它已经被使用了很多年来进行开发。它起作用了。尽管敏捷有很大的转变和重点,但瀑布式开发是一个非常清晰的过程,每个开发部分都有起点和终点

随着敏捷编程的引入,我们很容易看到瀑布式开发的衰落,以及它如何不适应当今编程的需求

只要你小心,提前计划,充分测试,我想说敏捷测试可以和瀑布测试一样有效,甚至比瀑布测试更有效——当测试抛出一些可能导致设计变更的错误时,使用敏捷当然更容易


另一件需要考虑的事情是开发使用,测试驱动开发。p> 仍有一些情况下瀑布法是合适的。典型的例子包括军事、航天、医疗和安全关键系统,如飞行控制软件,在这些系统中,您绝对需要首先确定规范的确切细节,开发规范,然后彻底测试整个产品

敏捷适用于大多数业务和产品软件(即大多数构建的软件),因为它允许用户从一个粗略的想法开始,并在进行过程中对其进行完善。如果他们的网站或内部业务线应用程序在几次迭代中都不太正确(或有bug),那么它通常会被工作的BIT快速交付的业务价值所抵消。你不想一开始就对核电站控制器系统有一个粗略的想法,然后在进行过程中对其进行改进

使用纯瀑布的代价是,在这些场景中开发软件的成本要高出几个数量级。然而,成本效益仍然是有利的,因为你负担不起(比如)你的航天器在进入轨道的中途撞到空指针异常

中间当然有灰色的阴影。在瀑布式框架中使用敏捷技术是可能的(参见RUP),并且可以在纯瀑布式和纯敏捷之间进行上下平衡。


我看到许多公司坚持瀑布式外包项目。大多数供应商在报价时都会非常明确。瀑布非常适合这种模式——你把你想要的东西交给他们,他们就会生产出来。我不喜欢这样,但我能理解这样执行的理由。我认为大多数外包公司最终都会找到一种方法,随着它越来越成为行业标准,变得更加敏捷。

这个问题的答案取决于您在项目中使用的开发方法。it是敏捷的/it是瀑布式的/等等。在过去的三到四年中,我一直是只涉及敏捷或瀑布式的项目的一部分,因此将使用它们作为我的参考点。 如果项目的需求不断变化,我们就不应该采用瀑布式设计,因为瀑布式方法论假设设计/分析/等已经完成,而如果我们采用敏捷,它是基于一种增量方法,我们将项目划分为增量故事,并在进行过程中构建/测试,因此,如果需求发生变化,那么开发人员和测试人员都不会进行大量的重新工作。
例如,假设我们必须创建四个新网页作为我们项目的一部分,然后瀑布假设他们的设计等已经完成,测试将在所有四个网页开发完成后开始,而在敏捷的情况下,我们首先开发一个网页并将其交给QA进行测试[手动/自动],等等。因此,我们可以看到,敏捷为我们的项目增加了价值,除了在开发时发现功能缺陷/bug外,它不易受到需求变化的影响。

作为一名测试人员,在医疗领域工作,我不同意这样的想法,即您可以事先编写详细的规范,并在不更改规范的情况下进行开发测试应该在开发之后进行。也许有些测试只有在整个事情完成后才能进行,但为了获得最佳结果,与敏捷开发相关的概念同样适用,并且也适用于受监管的领域。