Page 10 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 10

Unit 1: Introduction to Software Testing



                4.   1983–1987  -  Evaluation Oriented:  During this period,  Guidelines for Lifecycle Validation,
                     Verification and Testing of Computer Software was created by the National Bureau of standards
                     in 1983. This methodology  enabled  testing to be integrated with analysis, design and
                     implementation of the software lifecycle.
                5.   1988-2000-Prevention Oriented:  During this period,  the goal of testing metamorphed into a
                     mechanism to prevent errors rather than just detecting errors. Hetzel, in 1991, gave the definition
                     of Testing as “Testing is planning, designing, building, maintaining and executing tests and test
                     environments”. There was greater emphasis of early test design and a process, consisting of three
                     phases -- test planning, test analysis, and test design evolved.
               1.2   Definition of Bug

               A bug, also known as a software bug, is an error in a software program that may produce incorrect,
               undesired result or prevent the program from working correctly. In software testing, a bug not only
               means  an error, but anything that affects the quality of the software program.  Software bugs take
               different names such  as  –  defect, fault, problem, error, incident, anomaly, failure,  variance and
               inconsistency and so on.
               The following are certain conditions that result in a bug in a software:

                1.   If the software does not respond or act in the way as stipulated in the product specification.
                2.   If the software behaves in a way that is stipulated in an opposite way in the product specification.
                3.   If the software responds or reacts in a way that is not mentioned in the product specification.
                4.   If the software does not behave in the mandatory way as expected --perhaps, this might not be
                     mentioned in the product specification.

                5.   If the software is difficult to understand or has cumbersome steps to follow, or if it is slow in its
                     reaction.
               The above rules can be applied to a calculator to understand it better. We are aware that the calculator
               should perform the operations of addition, subtraction, multiplication and division. If the + key does
               not work, the bug follows the  rule specified in  first condition, namely,  no response in the way as
               stipulated in the specification. The calculator is not expected to crash and freeze, and if it does, the bug
               follows  the rule  specified in  condition 2, that is  behaving in the opposite way as  stipulated in the
               specification. If there  are  additional features found in the  calculator, namely  a function to find the
               squares of a number, but is not mentioned in the specification, it falls in the rule specified in the third
               condition, where there is no mention in the product specification. Let  us assume that the battery
               condition is weak, and at this stage, the calculator does not give the right answers. This condition is a
               typical situation which follows condition four. Condition 5 brings the customer perspective. It occurs
               whenever the performance of the software is not in an acceptable way to the user – a sample case where
               the tester finds the space allotted for the button very small or if the lights are too flashy that the user is
               unable to see the answer, it follows condition 5. The feedback of the tester becomes  important, as it
               brings out the negatives even before the product reaches the customer.
                                  During the test phase of a mobile phone application, it was detected that when
                                  the numerical key, zero, is clicked, the value is not displayed on the screen.
                                  This might have occurred due to many reasons- hardware or software related
                                  issues.  However,  though no error  occurs in  such a  condition,    the quality
                                  parameter of the mobile  application  is compromised,  and hence  it  is
                                  considered as a bug.
               1.2.1   Types of Bugs
               Software bugs, which occur irrespective of the size of the program,  are generally encountered when
               different groups of developers work to develop a single program.  We will now list the common types
               of bugs and their causes.








                                        LOVELY PROFESSIONAL UNIVERSITY                           3
   5   6   7   8   9   10   11   12   13   14   15