Page 62 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 62

Unit 4: White Box Testing



                          A test case was developed to check for an account transfer from an external account to the company’s
                          account anonymously. In addition, the account and the transaction went through successfully. This
                          indicated a critical software failure.
                          Thus, risk assessment identified a  weak authentication component in the payment component of the
                          system. Trust relationship boundaries and data-flow analysis were also conducted on the component.
                          After thorough testing, it was proved that a  hacker could easily gain access to the company’s
                          administrative accounts where the hacker could redirect transactions from Myway’s account to another.
                          We can conclude that by performing risk analysis and white box testing in specific areas can quickly aid
                          in revealing the design assumptions and implementation errors. Hence, it is necessary to collect
                          information about the various bugs in software and analyze them.
                          Conclusion:

                          White box testing for security is very necessary and must follow a risk-based approach to balance the
                          testing effort. Architectural and design-level risk analysis provides the right plan to perform white box
                          testing.
                          White box testing can be used with black box testing to improve overall effectiveness of the software
                          tested, by uncovering programming and implementation errors.
                          Questions
                           1.   Identify the steps carried out in white box testing for the payment modules.
                           2.   Emphasize the importance of white box testing and discuss abuse test cases.

               Adapted from (http://basicqafundamentals.blogspot.com/2011/01/case-study-for-white-box-testing.html)

               4.3   Summary

               •    White box testing gives a better understanding of the intricacies in the software product.
               •    The aim of the white box testing is to ensure that the internal mechanisms of the product work
                    properly. It helps in code optimization.
               •    White box testing helps a software tester to analyze the design and code of the software and helps
                    to have a better understanding of both the black box testing and the white box testing.
               •    Formal reviews are the  formal meeting conducted amongst the programmers to discuss  the
                    design and the code of the software.
               •    Formal reviews are considered to be the first net, where bugs are captured.
               •    Peer reviews are conducted amongst the programmers and testers to review each other’s work
               •    Walkthrough is the second stage of formal review, where the programmer explains the meaning of
                    the code; line by line or function by function to a team of four  to five members.
               •    Inspections are the most formal process of reviewing, which  follow a structured format.
               •    The participants in the inspection process are called inspectors and perform a task of reviewing
                    the code backwards, from end to beginning, to ensure that the product has been evenly reviewed.
               •    The three reasons for adhering to standards and guidelines are Reliability, Readability or
                    Maintainability and Portability.
               •    Static white box  testing, which examines the code,   is considered to be the best means to find
                    errors early.
               •    Static analyzers are available in the market to automate the testing approach.
               •    Compilers are improved by enabling their level of error checking and this helps them to find the
                    errors in the code review.




                                        LOVELY PROFESSIONAL UNIVERSITY                           55
   57   58   59   60   61   62   63   64   65   66   67