Page 271 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 271

Unit 13: Testing



            advantages of black box testing includes that it is very efficient for large segments of code. It   Notes
            clearly separates user’s perspective from developer’s perspective. The code access not required.
            It is very easy to execute. The disadvantage of black box testing includes limited code path
            coverage as limited number of inputs can be checked. It cannot control targeting code segments
            or paths which may be more error prone than others.
            Advantages of Black Box Testing

               •  Efficient when used on Larger systems
               •  As the tester and developer are independent of each other, test is balanced and unprejudiced.

               •  Tester can be non technical.
               •  There is no need of having detailed functional knowledge of system to the tester.
               •  Tests will be done from a end user’s point of view. Because end user should accept the
                 system.  (This  is  reason;  sometimes  this  testing  technique  is  also  called  as  Acceptance
                 testing).

               •  Testing helps to identify the vagueness and contradiction in functional specifications.
               •  Test cases can be designed as soon as the functional specifications are complete.
            Disadvantages of Black Box Testing

               •  Test cases are tough and challenging to design, without having clear functional specifications.
               •  It  is  difficult  to  identify  tricky  inputs,  if  the  test  cases  are  not  developed  based  on
                 specifications.

               •  It is difficult to identify all possible inputs in limited testing time. So writing test cases is
                 slow and difficult.

               •  Chances of having unidentified paths during this testing.
               •  Chances of having repetition of tests that are already done by programmer.

            13.4.5 Equivalence Class Partitioning
            Testing based on equivalence class analysis (synonyms equivalence partitioning, domain analysis)
            is a form of black box test analysis that attempts to reduce the total number of potential tests to
            a minimal set of tests that will uncover as many errors as possible It is a method that partitions
            the set of inputs and Outputs into a finite number of equivalence classes that enable the selection
            of a representative test value for each class. The test that results from the representative value
            for a class is said to be “equivalent” to the other values in the same class. If no errors were
            found in the test of the representative value, it is reasoned that all the other “equivalent” values
            would not identify any errors either. The power of Equivalence Classes lies in their ability to
            guide the tester using a sampling strategy to reduce the combinatorial explosion of potentially
            necessary tests. The technique provides logical bases by which a subset of the total conceivable
            number of tests can be selected. Here are some categories of problem areas for large numbers
            of tests that can be benefit from the consideration of equivalence classes:

               •  Combinations of independent variables
               •  Dependent variables based on hierarchical relationship
               •  Dependent variables based on temporal relationship

               •  Clustered relationships based on market exemplars
               •  Complex relationships that can be modeled.



                                             LOVELY PROFESSIONAL UNIVERSITY                                   265
   266   267   268   269   270   271   272   273   274   275   276