Page 17 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 17
Software Testing and Quality Assurance
The RAD model consists of the following four phases:
1. Requirements Planning: During this phase, the project requirements are gathered and the project
outline is planned.
2. Design Phase: The RAD team prepares a design or model (prototype) of the system required.
While developing the design or model, all the requirements as well as the changes in the
previous phase are listed.
3. Construction Phase: This is the phase where the various RAD tools are used to develop the first
prototype of the model. The prototype developed is based on the design phase of RAD model.
The prototype is checked to make sure that it meets the customer requirements. In case, the
customer is not satisfied, then changes are made in the model and one more prototype is built.
This modification process is carried out until the customer is completely satisfied with the
product.
4. Testing and Handover Phase: The testing and implementation phase relies heavily on the re-use
of software components. Since the software components would have been already tested while
being developed for other projects, the time spent on testing the software is very less. Once the
testing has been completed the software product can be implemented and used by the customer.
Disadvantages of RAD model
1. It has to be made sure that no reusable component is missing, since it can lead to
failure of the entire project.
2. This method is suitable for small projects only and cannot be applied for complex
projects.
1.3.5 Agile Model
The Agile software development model is the most popular model used today. The traditional software
development models follow either sequential waterfall model or iterative spiral model. Such software
models cannot be efficiently adapted to complex software development projects that have continuous
and multiple changes. Therefore, the Agile software development model was developed, which
responds to changes quickly and smoothly. The control mechanism used in Agile is the feedback from
people. The feedback helps to break work into small pieces which is tested and further refined with user
input.
Did you Know? The disadvantages that the developers faced in sequential models were overcome by
iterative methodologies. However, iterative methodologies still follow traditional
waterfall approach.
The Agile development model follows incremental method of software development rather than
sequential, i.e., software is developed in incremental rapid cycles which results in small incremental
releases. Every release is built on the functionalities of the previous release. Each release is thoroughly
tested to ensure that all the bugs are detected and resolved before the product is released.
Another important aspect of the Agile model is that customers, developers, and testers constantly
interact with each other during the entire development process. The tester is aware of the requirements
being developed and can easily find out any gaps that exist between the developed software and
requirements. This is carried out for every release that is made during the software development life
cycle.
Many approaches are used to achieve agile methodology, such as Dynamic Systems Development
Method (DSDM), SCRUM, and Extreme Programming (XP). Among all these approaches, Extreme
Programming (XP) is the most popular and widely used approach.
10 LOVELY PROFESSIONAL UNIVERSITY