Page 287 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 287

Unit 14: Flow Based Testing Process



               2.  Conduct a series of tests that simulate bad data or other potential errors at the software   Notes
                 interface,

               3.  Record the results of tests to use as “evidence” if finger-pointing does occur, and
               4.  Participate in planning and design of system tests to ensure that software is adequately
                 tested.
            System testing is actually a series of different tests whose primary purpose is to fully exercise
            the computer-based system. Although each test has a different purpose, all work to verify that
            system elements have been properly integrated and perform allocated functions. In the sections
            that follow, we discuss the types of system tests that are worthwhile for software-based systems.
            Recovery Testing
            Many computer based systems must get better from faults and resume processing within a pre-
            specified time. In some cases, a system must be fault tolerant; that is, processing faults must not
            cause overall system function to cease. In other cases, a system failure must be corrected within
            a specified period of time or severe economic damage will occur.
            Recovery testing is a system test that forces the software to fail in a variety of ways and
            verifies that recovery is properly performed. If recovery is automatic (performed by the system
            itself), re-initialization, check  pointing mechanisms,  data recovery, and  restart are evaluated
            for correctness. If recovery requires human intervention, the mean-time-to-repair (MTTR)  is
            evaluated to determine whether it is within acceptable limits.
            Security Testing
            Any computer-based system that manages sensitive information or causes proceedings that can
            improperly harm (or benefit) individuals is a target for improper or illegal diffusion. Penetration
            spans a broad range of activities: hackers who attempt to penetrate systems for sport; disgruntled
            employees who attempt to penetrate for revenge; dishonest individuals who attempt to penetrate
            for illicit personal increase.
            Security testing attempts to verify that protection mechanisms built into a system will, in
            fact, protect it from indecent penetration. The system’s security must, of course, be tested for
            invulnerability  from  frontal  attack-but  must  also  be  tested  for  invulnerability  from  flank  or
            rear attack.”
            During security testing, the tester plays the role(s) of the individual who desires to penetrate the
            system. Anything goes? The tester may attempt to acquire passwords through external clerical
            means; may attack the system with custom software designed to breakdown any defenses that
            have been constructed; may overwhelm the thereby denying service to others; may purposely
            cause system errors, hoping to penetrate during recovery; may browse through insecure data,
            hoping to find the system entry.
            Stress Testing
            During earlier software testing steps, white-box and black-box techniques resulted in thorough
            evaluation of normal program functions and performance. Stresses are designed to confront
            programs with abnormal situations. In essence, the taster who performs stress testing asks: How
            high can we crank this up before it fails.
            Stress testing executes a system in a manner that  demands  resources in abnormal quantity,
            frequency, or volume.
            For example:
               1.  special tests may be designed that generate ten interrupts per second, when one or two
                 is the average rate,
               2.  Function data rates may be increased by an order of magnitude to determine how function
                 will respond,


                                             LOVELY PROFESSIONAL UNIVERSITY                                   281
   282   283   284   285   286   287   288   289   290   291   292