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
   12   13   14   15   16   17   18   19   20   21   22