Page 265 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 265

Unit 13: Testing



            one  common  form  of  the  phrase  that  exists  in  the  industry’s  shared  consciousness.  Each  of   Notes
            these statements has an effect on the person hearing them or thinking about them. And each of
            the Development Lifecycle personnel, no matter what their role is, will re interpret the phrases
            based on their own experience. The benefit of such statements is that they provide something
            to think around. The danger is that the brain loves to simplify things, identify patterns, reduce
            and compartmentalise information and can therefore build a less than optimal reasoning chain.
               •  Testing can only prove the presence of faults and not their absence
               •  The objective of testing is to find faults

               •  A good test is one that has a high chance of finding a fault
               •  A successful test is one that finds a fault
               •  An unsuccessful test is one that does not find a fault

               •  Testing can only prove the presence of faults
               •  Testing cannot prove the absence of faults.
            Practicing tester might well argue about statement as it may run contrary to their experience and
            the aims of testing as defined by their organization. One of the aims of their testing process is to
            validate the requirements, in effect, to prove the absence of faults. If a test runs to completion
            without a fault being identified, and on repeated runs (when it is run in exactly the same way)
            does not identify a fault. Possibly, but we cannot prove it. The test did not identify a fault but
            that does not mean that at a lower level of abstraction than the test was described in terms of,
            a fault did not occur. Perhaps the results were merely coincidentally correct.
            13.1.5 Failure

            If under certain environment and situation defects in the application or product get executed
            then the system will produce the wrong results causing a failure. Not all defects result in failures,
            some may stay inactive in the code and we may never notice them. Example Defects in dead
            code will never result in failures. It is not just defects that give rise to failure. Failures can also
            be caused because of the other reasons also like.
               •  Because of the environmental conditions as well like a radiation burst, a strong magnetic
                 field, electronic field or pollution could cause faults in hardware or firmware. Those faults
                 might prevent or change the execution of software.
               •  Failures may also arise because of human error in interacting with the software, perhaps
                 a wrong input value being entered or an output being misinterpreted.

               •  Finally failures may also be caused by someone deliberately trying to cause a failure in
                 the system.

            The main premise is that scientists get so comfortable with accepted theory and the status quo
            that they do not recognize that failures might be breakthroughs instead of just mistakes in their
            own equipment or experimental method. There is certainly some value there gives the example
            of sensitive radio telescope static finally being accepted as cosmic background radiation and not
            a problem with the dish, and cites some serious ethnographic research of scientists and how
            they make discoveries.
            Fault: It is a condition that causes the software to fail to perform its required function.
            Error: Refers to difference between Actual Output and Expected Output.

            Failure: It is the inability of a system or component to perform required function according to
            its specification.



                                             LOVELY PROFESSIONAL UNIVERSITY                                   259
   260   261   262   263   264   265   266   267   268   269   270