• Importance of testing • Difference between Errors and Faults • The purpose of test data • Importance of: – Testing – Test Plans • Whenever a system has been implemented it needs to be thoroughly tested to ensure it works. • The amount of testing that takes place depends on the system: – A system which monitors nuclear reactions in a power station needs to be more thoroughly tested compared to a simple stock take system, for example. • In any case, all new systems should be tested using a particular procedure. • A testing procedure is created which forms a test plan. • Through testing you can establish: – That the new system meets the end-user’s requirements. – That the new system processes data and outputs correct results. • Testing can also help boost the confidence of the enduser’s. If they know the system has worked under testing they will be more confident in using it! • It is important to understand the difference between an error and a fault. – These are human mistakes. If a user inputs data into the system in the incorrect format the system will return an error. – Computer systems should prevent users doing this were possible through validation checks and by restricting access to particular features of an application when they are not needed for the current function. – Faults are embedded within the system. – They can cause system failures. – They are often called ‘bugs’. • The ‘blue screen of death’ is an error message that appears when Microsoft’s operating systems are not able to recover from an error. • If your system can minimise human error and doesn’t contain bugs then you could consider it to be a reliable system. • Testing ensures that a system is reliable. • If testing doesn’t take place then you can’t claim a system is reliable. • When a new system is released it often contains bugs that weren’t discovered in testing. • The software developers often release a series of patches or updates to address these problems. • The data that is selected for testing is really important. • There are three types of test data which should be used for each particular thing you are testing: – Normal data – Extreme data – Erroneous (or abnormal) data • This is data which is: – Correct – Which should not generate any errors – Data which is likely to be used everyday • This is data which is: – Correct – Tests the boundaries of a range • For example, data inputted into a field might need to be within a range of 1-100. Two tests should be carried out – Test the input of 1 and test the input of 100. • This is data which is: – Incorrect – Outside of boundary tolerances – Making use of incorrect data types – Making use of invalid characters ([? # + \] etc) • Test plans need to be created before any testing takes place. • These should be well thought out so that all aspects of the system are tested. • Test plans should ensure that tests cover: – – – – The requirements Pathways Validation Routines A comparison of the actual performance against the design specification Test # Description of test Type of test Data used Expected Result A unique identifier for each test Simple description of what is being tested Normal, Extreme, Erroneous What data will be entered to run the test and where it is to be used. What you expect to happen when you run the result. If normal or extreme, you expect a correct result. If erroneous it should return an error. • The test plan needs to be detailed enough to allow someone else to look at it and understand what tests took place. • Any test which returns an unexpected result will need to be analysed and retested after modifications have taken place. • Describe the importance of a test plan. • Explain when a test plan needs to be changed? • Explain the purpose of test data. • Explain the difference between normal, extreme and erroneous test data.