Intro Models Documentation Design Scripting Tools Execution Defects Reporting  

Popular Software Development Methodologies

The Waterfall Model

The classic approach is known as the Waterfall Model. In this methodology development is sequential and is seen as a flow from conception, analysis, design and implementation through to testing, deployment and support. Testing in this context is performed by a separate, independent test team writing scripts following release of requirements and then testing the software once the developed code has been delivered.

The Waterfall Methodology, modelled on industrial process, which was the only similar activity in the early days of software development, places the emphasis on getting each step correct before moving onto the next. Conventional wisdom is that the earlier a mistake is corrected the cheaper it is to fix. This is especially true for Waterfall since if a bug is found in production there is a good chance there will be many steps in the development cycle that will have to be repeated. Testing in a Waterfall project often means that delays during development result in compression of the time scheduled for test.

The V Model

The V Model is a variation on the Waterfall method and also consists of a set of sequential processes. The model is based on verification and validation. Against each phase of project development there is a corresponding test phase which verifies the software meets the associated requirements. Graphically the left side of the V Model, from top to bottom, is the set of requirements and specifications each becoming less abstract until implementation is completed. The right side of the V is the corresponding testing process.

                  Business Requirements<----------------------------------------------------------->User Acceptance Testing
                           System Requirements<------------------------------------------>System Testing
                                      nbsp;  Design Documents<--------------------------->Integration Testing
      nbsp;                                        Detailed Design <-----------------> Component Testing
                                                               Source Code<--> Module Testing

Testing in the V Model means there are distinct test teams for each phase of development and each tester will specialise at their level of testing.

Agile Development

Agile development, sometimes known as Agile with Scrum, is based on the notion that there is no single solution to all software projects and that a rapid feedback mechanism during development allows the process to self adapt and achieve optimum progress. The project is composed of scrum teams containing a scrum master, product owner or business analyst, developers and testers. The requirements are effectively user stories which together form what is know as a product backlog where each user story is ranked for complexity. The project schedule is broken into periods of 2 or 3 weeks, known as sprints, and at the beginning of each sprint the scrum team agree a set of user stories to complete in the upcoming sprint. As sprints are completed the scrum team become more aware of what they achieve in a sprint and the best ways to do this. It is this acquired skill that agile advocates say makes this a good development methodology. Testing in an Agile environment involves the tester being embedded in the scrum team. Typically there is less test documentation published on Agile projects.


Home      |      Testing      |      Telecoms      |      Resources      |      Clients      |      Contact     |     Care Database
 Copyright © 2016 Chic Computer Consultants. All rights reserved