Page 57 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 57

Software Testing and Quality Assurance



                          Now, let us discuss  the three strategies of integration testing.
                           1.   Bottom Up Testing:  The bottom up testing is conducted from the sub module  to the main
                               module. In the absence of the main module (when the module is not developed), a temporary
                               program known as ‘Drivers’ (Drivers are the written code that are used to execute the modules
                               that are being tested. These drivers act as real modules by sending test-case data to the modules,
                               reading the results and verifying their correctness) to simulate the main module. This approach
                               helps in creating easy test conditions and easy observation of test results.
                           2.   Top Down Testing: The top down testing is conducted from the main module to the sub module.
                               In the absence of the sub module (when the module is  not developed), a temporary  module
                               known as ‘Stub’ (Stubs are small pieces of code which act as interface modules by feeding “fake”
                               data) is used to simulate the sub module. This type of testing boosts the morale of the program
                               by eliminating the flaws. The top down method of testing relates to testing all the higher-level
                               modules by using stubs as low-level interface modules. This type of testing is found to be very
                               useful, as we can quickly run through the numerous test values and also validate the operations
                               of a module.
                           3.   Umbrella Approach Testing: The umbrella approach testing is a combination of both, the bottom
                               up and top down testing approaches. This method focuses on testing the modules which have
                               high degree of user interaction. The input modules are integrated in the bottom up approach and
                               the output modules are integrated in the top down approach. It is considered to be a beneficial
                               approach for the early release of GUI (Graphical User Interface) based  applications used for
                               enhancing the functionality.
                                      The umbrella approach of testing ensures:
                               (a)  Early release of limited functionality.

                               (b)  Reduction in the need for stubs and drivers.

                                      The only disadvantage of umbrella approach is that it leads to more regression testing
                                      as it follows a systematic approach of testing.


                          4.2.3   Data Coverage

                          Data coverage focuses on data which is tracked completely through the software. It can relate to the
                          values stored in variables, constants, arrays, and data structures. It includes the keyboard and mouse
                          input, files, screen input and output and those that are sent to modems, networks, and so on.

                          In the data coverage method, the code is divided into data and states, relating to program flow which is
                          similar to black box testing. Hence, it becomes easier to map the white and the black box test cases.
                          Data coverage deals with the aspect of generating test data sets which cover all the required tests before
                          the software component is certified as reliable and shipped to the customer.

                                      The statement coverage testing was found to be the cheapest method of testing as it
                                      produced the maximal effect for the smallest number of tests applied, but this was an
                                      ineffective technique as the number of errors uncovered were very less.

                          The types of data coverage testing are:
                           1.   Data Flow: Data flow involves tracking the data through the software. During the unit testing
                               phase, tracking is done only in the small modules, as  tracking all  the  modules  in a system
                               becomes a tedious process. When a function is tested at the low level, a debugger along with a
                               watch variable is used to view the program during execution. However, in the white box testing,
                               one cannot view the program  execution,  but can only view the value of the variable at the
                               beginning and at the end. The dynamic white box testing gives the provision of checking the





                          50                      LOVELY PROFESSIONAL UNIVERSITY
   52   53   54   55   56   57   58   59   60   61   62