15-11-2012, 01:01 PM
Agile Test Methodology Vs V Model
Agile Test Methodology.doc (Size: 89.5 KB / Downloads: 357)
The object of the article is to uncover the disadvantages of the traditional V model of testing over the Agile test methodology. In doing so we will cover the following points:
• What is V model? Advantages and disadvantages of V model.
• What is Agile Testing? Advantages and disadvantages of Agile Testing.
• Why Agile is preferred over V model?
V model
V-model is a software development model that is based on the relationships between each phase of the development life cycle as described in a typical Waterfall model of software development and its associated phase of testing
The V-model involves building a logical V shape sequence where the testing techniques associated with the design are reflected as descending and are applied for the “verification” and connected to the requirements or specifications parts are reflected as ascending and are applied for “validation”. Equal weight to coding and testing in the V-model gives software development process. The V-model ordains that the code testing documentation is written in tandem with the development phases that means, for instance, the integration tests should be documented as and when the high level design is finalized and the unit tests should be ready as and when the detailed specifications are laid down.
The idea of the V-model is to have a implementation plan for the software testing at each level namely component, interface, system, acceptance and release of the software project which need to be adhered to eliminate discrepancies in the software simultaneously rather than waiting for the software development process to complete before handling it to the software testing professionals.
The V-Model is a Software life cycle model.
It explains how you go from high level concept to released product.
• At the top of the left V line, are the High level concepts.
• At the bottom of the V is the coding phase.
• At the top right V line is the released product.
Advantages of V Model
• It is also called as verification and validation Model.
• This means the verification and validation will be done side by side.
• It emphasis the strict process flow to develop a quality product
• The errors occurred in any phase will be corrected in that phase itself.
Disadvantages of V Model
• The biggest disadvantage of V-model is that it’s very rigid and the least flexible. If any changes happen mid way, not only the requirements documents but also the test documentation needs to be updated.
• The V-Model addresses software development within a project rather than a whole organization.
• The organization and execution of operation, maintenance, repair and disposal of the system are not covered by the V-Model. However, planning and preparation of a concept for these tasks are regulated in the V-Model.
Agile Testing
Agile testing is a software testing practice that follows the rules of the agile manifesto, treating software development as the customer of testing. Agile testing involves testing from the customer perspective as early as possible, testing early and often as code becomes available and stable enough from module/unit level testing.
Agile methods were developed as a response to the issues that the traditional V-Model and waterfall methodologies had with defining requirements and delivering a product that turned out to be not what the end user actually wanted and needed.
Advantages of Agile Testing
• Agile methodology drastically reduces testing cycle time as the testing is done parallel to the development activities.
• The iterative nature of agile development means features are delivered incrementally, enabling some benefits to be realized early as the product continues to develop
• A key principle of agile development is that testing is integrated throughout the lifecycle, enabling regular inspection of the working product as it develops. This allows the product owner to make adjustments if necessary and gives the product team early sight of any quality issues.
• Small incremental releases made visible to the product owner and product team through its development help to identify any issues early and make it easier to respond to change.
Disadvantages of Agile Testing
• Requirements are clarified just in time for development and can be documented in much less detail due to the timeliness of conversations. However this can mean less information available to new starters in the team about features and how they should work. It can also create potential misunderstandings if the teamwork and communication aren't at their best and difficulties for team members (especially testers) that are used to everything being defined up front.
• Requirements emerge and evolve throughout the development. This creates the very meaning of agile - flexibility. Flexibility to change course as needed and to ensure delivery of the right product. There are two big flip sides to this principle though. One is the potential for scope creep, which we all know can create the risk of ever-lasting projects. The other is that there is much less predictability, at the start of the project and during, about what the project is actually going to deliver. This can make it harder to define a business case for the project, and harder to negotiate fixed price projects. Without the maturity of a strong and clear vision, and the discipline of fixing timescales and trading scope, this is potentially very dangerous.