test+plan

=TEST PLAN=

===A test plan is produced during the design state. This is to make sure that the test plan covers what is required, not what has been produced. If you produce the plan once you have produced the system it is possible that you will be testing what you have made, not what you were asked to do.===

The test plan should be laid out like this:

 * === Test description === || === Test data === || === Type of data === || === Expected result === || === Actual result === ||
 * ====Test cell D7 to check ====

marked 'Correct'
|| ====Enter"Greece"====

into cell D7
|| ====normal/ valid/ correct==== || ====Message "Correct"====

appears in cell H7
|| ====OK==== ||
 * ====Test cell D7 to check ====

marked 'Incorrect'
|| ====Enter "Germany"====

into cell D7
|| ====abnormal/ invalid/====

incorrect
|| ====Message "Incorrect"====

appears in cell H7
|| ====OK==== ||
 * ====Test RESET button clears====

all cells and resets totals
|| ====Enter "Greece" into all====

press RESET button
|| ====normal/ valid/ correct==== || ====All cells in D column====

reset to 10
|| ====OK==== ||
 * ====Test 100% correct====

message
|| ====Enter correct answers into====

D column cells
|| ====normal/ valid/ correct==== || ====Message "100% correct. Well done"====

appears in cells G10:J12
|| ====OK==== ||
 * ====Test cell protection==== || ====Enter "Greece" into all====

cells in D column.
|| ====normal/ valid/ correct==== || ====Able to enter data into all cells====

in D column
|| ====OK==== ||
 * ====Test cell protection==== || ====Enter "Greece" into cells====

A15, B24, E3, H7
|| ====abnormal/ invalid/====

incorrect
|| ====Get error message when data====

locked cells
|| ====Not working. Cells not====

OK on retest.
||

Data used for testing should be three different types:

 * ===**Normal**: also known as Valid data. This is the data your users will normally enter into the system. It is correct, and should be accepted by the system.===
 * ===**Abnormal**: or Invalid data. This is data that is wrong, incorrect. It should be handled by the system. It should not make the system crash.===
 * ===**Extreme** data: or Boundary data. This is data that is just normal. For example, if your system needs numbers that are less than 10, then you should test that the number 9 is correctly handled. The reason for this is that it is on these boundaries between valid and invalid data that there are most likely to be 'logic errors' in the system. A good programmer will test both sides of the boundary, ie: they will test that 9 is accepted, and that 10 is rejected.===