. points. 2. Boundary testing. This technique concentrates on using test Mutation testing. In mutation testing faults are inserted syste- values which are near, at and just outside the extremes of matically into the program, each fault generated being included equivalence classes, on the assumption that errors are more into its own copy of the code. This version of the code with its likely to be made at these limits. The designer or programmer inserted fault is known as a mutant. A set of test cases is run may, for example, use 'less than' when comparing two values against each of the mutants which has been generated. If the test in cases where the correct relationship may have been 'less than cases are sufficient to discover each of the mutants then there or equal to'. By also making use of test values just outside the is confidence that they are enough to discover all faults of the acceptable ranges, the tester can look for failure to detect class for which the mutants have been formed. If some mutants invalid inputs. Boundary testing also considers equivalence are not discovered then either the mutant code is equivalent to classes of outputs. The tester attempts to create tests cases the assigned code, or the set of test cases needs to be improved. which deliver results just inside, at, and just outside the limits The technique is used to test the tests more than to test the unit of expected output ranges. under test. 3. Function testing. The common way of producing a test set for Symbolic execution. This is a technique (King, 1976) in which black-box testing is to examine the specification for the unit program execution is simulated using symbols for input data, under test and to construct tests to match each of the functions rather than actual values. The paths in the program are executed 25/16 Software systems in telecommunications algebraically, with branches chosen by some arbitrary criteria. 25.7.3.3 Acceptance testing When an end point is reached the user backs up to a previous decision point and select