100 likes | 216 Views
Advanced Higher Computing Based on Heriot-Watt University Scholar Materials. Software Testing and Tools. Lesson Objectives. Software Testing – large scale prior to commercial introduction. Purpose and Approach to Software Testing.
E N D
Advanced Higher ComputingBased on Heriot-Watt University Scholar Materials Software Testing and Tools Alford Academy Business Education and Computing
Lesson Objectives Software Testing – large scale prior to commercial introduction Alford Academy Business Education and Computing
Purpose and Approach to Software Testing Software testing involves a series of processes in order to verify that: 1. the finished software product meets the original specification. 2. the software is robust. 3. the software is reliable. Testing can only find errors or bugs in a program, not prove that there are none! Testing should be systematic. Running a program with a few test cases is not enough. Even in large commercial systems that make use of expensive, exhaustive testing methods, errors will still be found. Alford Academy Business Education and Computing
Test Planning and Test Logs Test data also needs to be planned, and the testing process needs to be continually recorded in a test log. A typical test log might consist of these four headings: Alford Academy Business Education and Computing
Test Purposes Tests may be used for different purposes. Of interest to this course are:- 1. Component testing – part of the testing phase that involves the building blocks of programs such as procedures 2. Module testing - testing of collections of procedures, functions etc., that can individually compiled and executed. 3. Acceptance testing - the testing of software outside the development organisation and usually at the client site. Also referred to as beta testing Alford Academy Business Education and Computing
Component Testing Components, sometimes referred to as units, are the building blocks of software applications. They are defined as pieces of software code such as subroutines, procedures or functions that can be compiled and executed on their own. Usually the work of a single programmer who will also be in good position to test the code and ensure it functions correctly. Hence the testing of a component will usually be at a fairly basic level and use white box testing techniques. Private subvalidate_pinCode (Byval pin as String, Byref valid as Boolean) …. …. End sub Alford Academy Business Education and Computing
Module Testing Modules are a collection of dependent components, procedures or functions designed to be parts of the main program. They are not complete programs in themselves, and as such, they cannot run independently What if component B ready before Component A? Use a driver– calls a component with parameters to test logic Component A What if component A ready before Component B or C? Use a stub – just a line of code that eg displays a message when called – parameters and interface developed Component B Component C Alford Academy Business Education and Computing
Acceptance Testing Finally, the system is installed on the client's site, and is subjected to what is called acceptance testing: if it passes, it's accepted. Alford Academy Business Education and Computing
Acceptance Testing The testing process involves feedback. Sub-system testing, for example, might indicate errors in a module, which would need to be debugged and tested again before the sub-system can be re-tested. With commercial software projects, the usual strategy is to test the software twice. The software is first tested within the organisation and this is known as alpha testing. This is followed by the final phase in the testing process which is acceptance testing, also known as beta testing. Alford Academy Business Education and Computing
Activities • Take a heading in your jotters of Further Notes on Alpha Testing and Acceptance Testing and read Scholar pp 85 - 86 • Read Scholar pages 81-86 and do all Review Questions on page 87. • Add your own notes to this PPT handout as you read the section covered. Alford Academy Business Education and Computing