views:

563

answers:

3

Just attended a presentation where a testing company stated that V-model testing can be used in an Agile development team developing with java and c#.

I would prefer testdriven development and automation of acceptance testing before V-model testing.
Not sure if V-model testing and Agile testing can be considered the same.

Looking for your testing experience or opinions about using v-model testing in Agile teams.
If you are using V-model testing in agile, how do you do it (or is it not making sense)?

Update: Thoughtworks presentation (Agile vs v model)

+3  A: 

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.

mouviciel
Heck, should learn how to summarize thoughts like that. Exactly my point.
Bruno Brant
@mouviciel: Short and sweet +1 ;))
Kb
It's easy: I am not fluent enough in english, so I don't know how to develop arguments as in your excellent answer.
mouviciel
+1  A: 

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.

jheppinstall
+3  A: 

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.

Bruno Brant
@Bruno Brant: Thanks, for your good answer. (+1)
Kb