2.1 SOFTWARE DEVELOPMENT MODELS (2.1.1 V-model (A common type of V-model…
2.1 SOFTWARE DEVELOPMENT MODELS
The V-model was developed to address some of the problems experienced using the traditional waterfall approach
The V-model provides guidance that testing needs to begin as early as possible in the life cycle, which is one of the fundamental principles of structured testing
A common type of V-model uses four test levels. The four test levels used, each with their own objectives
a V-model may have more, fewer or different levels of development and testing, depending on the project and the software product.
2.1.2 Iterative life cycles
A common feature of iterative approaches is thatthe delivery is divided into increments or builds with each increment adding new functionality
Examples of iterative or incremental development models are prototyping, Rapid Application Development (RAD), Rational Unified Process (RUP) and agile development
Rapid Application Development(RAD)
formally a parallel development of functions and subsequent integration.
Dynamic System Development Methodology [DSDM] is a refined RAD process that allows controls to be put in place in order to stop the process from getting out of control
The RAD development process encourages active customer feedback.
Extreme Programming (XP) is currently one of the most well-known agile development life cycle models.
Some characteristics of XP are
It promotes the generation of business stories to define the functionality
It demands an on-site customer for continual feedback and to define and carry out functional acceptance testing.
It promotes pair programming and shared code ownership among the developers.
It states that component test scripts shall be written before the code is written and that those tests should be automated.
It states that integration and testing of the code shall happen several times a day.
It states that we always implement the simplest solution to meet today's problems.
2.1.3 Testing within a life cycle model
In summary, whichever life cycle model is being used, there are several characteristics of good testing
For every development activity there is a corresponding testing activity
Each test level has test objectives specific to that level
the analysis and design of tests for a given test level should begin during the corresponding development activity
testers should be involved in reviewing documents as soon as drafts are available in the development cycle