Reference no: EM1336578
Many functions have an almost infinite number of input values. Testing all of these values is not possible in most cases, and doesn't necessarily tell us more than testing a few values. How do you choose the best values to test? Equivalence class partitioning can be used to divide the test inputs into classes so that each class contains the same kinds of input (in another word, you may only need to test one input from each class), thus reducing the number of test cases to a manageable size. For example, if the specification of one program is: "Design a program that accepts inputs of ASCII strings (arbitrary long) and breaks the input into lines of 60 characters". The requirement for the testing group is to generate a three test cases for test this program. OK, then you can generate the following two inputs: the first input with 40 ASCII characters and the second input with 30 characters. Now you want to design the third input, how long should it be? 16 characters or 100 characters? If you do not use partition method, you may feel it is better to generate a 100 character input for testing. But it is not systematic. A systematic approach will generally divide the input space for the above program into three "equivalence" classes:
1. inputs with less than 60 characters
2. the input with 60 characters
3. inputs with more than 60 characters
Furthermore, you may further divide the third classes into more classes: inputs whose length is long than 60 but less than 120, inputs whose length is long than 120 but less than 180, etc...
Thus the general rule for partition testing is:
1. Partition testing separates the input space into classes whose union is the entire space, but the classes may not be disjoint
2. Uniformly chooses one or more test from each class
3. Generate testing cases with Cartesian product by eliminating illegal inputs. This may still lead to huge amount of test cases. For example, if you got 5 inputs (each in a separate partitioned class, for each input/classes, you decide to have 6 values, then you will still get 65=7776 test cases.
My task for this exercise is to use Equivalence Class partitioning and Boundary Value Analysis (which means to test the input at the boundary of the equivalence class partition) to analyze the valid and invalid inputs for Microsoft WinWord or any other software package that you have installed on your computer. If you choose to test different software than WinWord, please make sure that the software has several functions for user input (e.g., the zoom menu that needs user input or the search/replace menu).
As an example (or beginning point), you may use the following divided categories for WinWord "Find" and "Format Font" function.