testing+strategies

=3.2.6 c=
 * describe testing strategies including white box testing, black box testing, alpha testing, beta testing and acceptance testing;


 * == KEYWORDS == || == DEFINITIONS == ||
 * Algorithm || A sequence of steps designed to preform a particular task ||
 * Breakpoints || A position in a program whithin the program where the program is halted as an aid to debugging . ||
 * Dry Run || The algorithm is worked through manually using a trace table to record any result and checking this against the values produced . ||
 * Stepping || The execution of a program one statement at a time under user control. It allows the user to observe the effect of each statement after it has been executed. ||
 * Watches || Code which allows a variable to be tracked during the running of the program to see when it changes . ||


 * //BLACK BOX TESTING//**

Black box testing is when the efforts of checking the program is concentrated on the inputs and outputs of the program only. This is done by placing every input possible into the program and recorded in a trace table (A Table used to record inputs and outputs and processes competed by the algorithm). The expected values are then workout seperately. These values are compared with the expected values and if they do not match the expected values then there is a logical error in the algoithm.
 * //Type of Input// || //Description// || //Example between -55// ||
 * //Borderline Data// || //Data that is on the edge of the accepted values// || //-5,5// ||


 * //WHITE BOX TESTING//**

White box testing is concerned with the algorithm of the program and making sure that it works, this is done by completing a dry run with the algorithm as well as using Breakpoints, Stepping and Watches. A dry run is when the algorithm is worked through manually using a trace table to record any result and checking this against the values produced. Breakpoints are markers in the algorithm that stop the running of the algorithm when it is reached, the execution of the algorithm can be resumed from this point. Stepping is when each line of code is executed one at a time to check if it works and to see if the expected values are produced. Stepping is usually used in conjunction with Breakpoints. Watches allow a variable to be tracked during the running of the program to see when it changes.

All these method are useful in the debugging of an algorithm.


 * Alpha Testing**

Alpha testing is the preliminary testing of a program when the prototype is produced. Its main point is that it will help identify any bugs in the program. Alpha testing is usually completed by the origional prgrammers who produceed the program


 * Beta Testing**

This is the second type of testing that takes place when a program is produced, this time as well as finding any bugs that were know previously found be alpha testing it is also to see how useful the program is and what improvements can be made to make it better preform its function. This is completed by people recruited by the original programmers or volunteers.


 * Acceptance Testing**

This method of testing is to make sure that the program made completes all its tasks and functions that it was made to do. This is done by the client that the program was made for.
 * === EXAM QUESTIONS === || === MARKS === || === PAPER === ||
 * ==== Explaing the difference between white box and black box testing. ==== || ==== 4 ==== || ====Jan 2011 3f==== ||