最后,用户接受,在 V 模型中,不应该完全自动化,因为这是最终用户查看系统并决定是否遵守要求或不是。当然,用户手上会有一个脚本,以便知道他/她应该测试什么,并且在批处理系统的情况下,将会提供数据,但脚本决不应该确定这一阶段的成功。
但让我们回到问题上来。我刚才说的是TDD和自动化可以作为V-Model中测试阶段的实现。因此,如果您可以将 V 模型测试与敏捷开发结合使用,正如您所看到的演示所肯定的那样,那么我也可以使用 TDD 和自动化技术。
不过,我不确定您是否愿意。我不知道如何将 V 模型应用于敏捷,或者它是否具有连贯性,因为 V 模型不是敏捷的。
V-Model is widely used at my company. I must add that, IMHO, there are better development models out there, but V-Model can still be effectively used when developing large-scale systems where you are NOT using iterative development.
Still, it's my idea that test-driven development can still be applied to V-Model, as part of the unit testing phase and even on integration testing phase, as long as you can automate that as part of the development cycle.
V-Model, however, sees system testing as a test that occurs after the development of the product is considered complete, so test-driven development doesn't apply. Sure you can automatize it through the use of tools, scripts or programs, but you are no longer developing your code. On System Tests you no longer care about the code, only about specifications. This happens so because your tests units could be incomplete.
Finally, user acceptance, in V-Model, shouldn't be completely automatized, because it's when the final user looks at the system and decides whether it adheres to the requirements or not. Of course the user will have a script on his hands in order to know what he/she should be testing, and in case of, let's say, batch systems, there will be an supply of data, but in no way should a script determine the success of this phase.
But let's get back to the question. What I just said is that TDD and automation can be used as the implementation of testing phases in V-Model. So, if you can use V-Model testing with Agile development, as presentation you saw affirmed, then I can also use TDD and automation techniques.
However, I'm not sure you would want to. I don't know how one could apply V-Model to Agile or if it would be coherent, since V-Model is not agile.
V model testing doesn't really fit in with the ethos of agile development. So in short, while it is feasible that it could be done, it would compromise the nature of the agile process.
One of the important features of agile is the ability to adapt to change. The V model doesn't really support it well.
发布评论
评论(3)
V型模型在我公司广泛使用。我必须补充一点,恕我直言,有更好的开发模型,但是在开发不使用迭代开发的大型系统时,V-Model 仍然可以有效地使用。
尽管如此,我的想法是,测试驱动开发仍然可以应用于 V-Model,作为单元测试阶段甚至集成测试阶段的一部分< /em>,只要您可以将其自动化作为开发周期的一部分。
然而,V-Model 将系统测试视为在产品开发被认为完成之后进行的测试,因此测试驱动开发不适用。当然,您可以通过使用工具、脚本或程序将其自动化,但您不再开发代码。在系统测试中,您不再关心代码,只关心规范。发生这种情况是因为您的测试单元可能不完整。
最后,用户接受,在 V 模型中,不应该完全自动化,因为这是最终用户查看系统并决定是否遵守要求或不是。当然,用户手上会有一个脚本,以便知道他/她应该测试什么,并且在批处理系统的情况下,将会提供数据,但脚本决不应该确定这一阶段的成功。
但让我们回到问题上来。我刚才说的是TDD和自动化可以作为V-Model中测试阶段的实现。因此,如果您可以将 V 模型测试与敏捷开发结合使用,正如您所看到的演示所肯定的那样,那么我也可以使用 TDD 和自动化技术。
不过,我不确定您是否愿意。我不知道如何将 V 模型应用于敏捷,或者它是否具有连贯性,因为 V 模型不是敏捷的。
V-Model is widely used at my company. I must add that, IMHO, there are better development models out there, but V-Model can still be effectively used when developing large-scale systems where you are NOT using iterative development.
Still, it's my idea that test-driven development can still be applied to V-Model, as part of the unit testing phase and even on integration testing phase, as long as you can automate that as part of the development cycle.
V-Model, however, sees system testing as a test that occurs after the development of the product is considered complete, so test-driven development doesn't apply. Sure you can automatize it through the use of tools, scripts or programs, but you are no longer developing your code. On System Tests you no longer care about the code, only about specifications. This happens so because your tests units could be incomplete.
Finally, user acceptance, in V-Model, shouldn't be completely automatized, because it's when the final user looks at the system and decides whether it adheres to the requirements or not. Of course the user will have a script on his hands in order to know what he/she should be testing, and in case of, let's say, batch systems, there will be an supply of data, but in no way should a script determine the success of this phase.
But let's get back to the question. What I just said is that TDD and automation can be used as the implementation of testing phases in V-Model. So, if you can use V-Model testing with Agile development, as presentation you saw affirmed, then I can also use TDD and automation techniques.
However, I'm not sure you would want to. I don't know how one could apply V-Model to Agile or if it would be coherent, since V-Model is not agile.
测试驱动开发是关于规范,而不是测试。这不是 V 形方法的对抗。
另一方面,V型意味着单一的长开发周期。这是敏捷方法的对手。
Test driven development is about specification, not test. This is not antagonist with a V approach.
On the other side, V-model implies a single long cycle of development. This is antagonist with an agile approach.
V 模型测试并不真正符合敏捷开发的精神。简而言之,虽然这是可行的,但它会损害敏捷过程的性质。
敏捷的重要特征之一是适应变化的能力。 V模型并不能很好地支持它。
V model testing doesn't really fit in with the ethos of agile development. So in short, while it is feasible that it could be done, it would compromise the nature of the agile process.
One of the important features of agile is the ability to adapt to change. The V model doesn't really support it well.