Defining the scope of the presentation • 1.0 What is software Testing & its objectives? • 2.0 What is Testing Planning? • 3.0 Whatto Test? • 4.0 Which sources to use for test cases? • 5.0 Who will carry out the test? • 6.0 The test environment • 7.0 When does the test terminate? • 8.0 Conclusion
1.0 What is software Testing & its objectives? “Software testing is a formal process carried out by a specialized testing team in which a software unit, several integrated software units or an entire software package are examined byrunning the programs on a computer. All the associated tests are performed according to approved test procedures on approved test case.” (Daniel Galin – Software Quality Assurance)
1.0 What is software Testing & its objectives? (cont) • The objectives: • Find errors in the software • Increase software quality • Execute testing within budget resources allocated.
1.0 Where does Test Planning fit into Testing overall Determine the Test Methodology Testing Strategies: Big bang or incremental testing strategy. If incremental, should a top down or bottom up approach be used. Test Planning
2.0 What is Testing Planning? • Test Planning is the task which should be undertaken before software testing. • Test Planning can be split up into these subsections: • 3.0 Whatto Test? • 4.0 Which test caseswill be used? • 5.0 Who will carry out the test? • 6.0 The test environment • 7.0 When does the test terminate?
3.0 Whatto Test? • The nature of the test must be defined this is because different projects require different approaches. • There are several types of test what could be carried out, these include: • Unit Test • Integration Test • System Test
3.0 Whatto Test? – Unit Test • Unit Test This type of Test Plan looks solely at the small component or modules which comprise the system or software. • Evidence of Further Reading: MSDN defines unit test as, “The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use.” (http://msdn.microsoft.com/en-us/library/aa292197(VS.71).aspx)
3.0 Whatto Test? – Integration &SystemTest • Integration Test Integration testing involves testing several modules or components together. • Evidence of Further Reading: MSDN defines integration test as, “Integration testing is a logical extension of unit testing. In its simplest form, two units that have already been tested are combined into a component and the interface between them is tested” (http://msdn.microsoft.com/en-us/library/aa292128.aspx) • System Test System test involves testing the whole system/software.
4.0 Which sources to use for test cases? • What is a test case? • A test case scenario which the software performs under and the results are recorded. Two types of sources: • Real Life test case • Real life test case involves testing the system/software with real world conditions. • Can identify unexpected errors. • Synthetic test case. • This is a set of scenarios used for testing. • Good for spotting errors in the design. • Bad for spotting unexpected errors.
5.0 Who will carry out the test? Unit Test Integration Test Internal Dev./Test Team Internal Dev./Test Team System Test Internal Dev./Test Team External Outsourced Vendors http://lh6.ggpht.com/_vDvihDvzlzo/RzboFzG87rI/AAAAAAAABSM/wD0g2Kv4kUM/DSCN3951.JPG http://www.whatsnextblog.com/kill_computer.jpeg
5.0 Who will carry out the test? (Cont.) • Evidence of Research: Software Testing Vendors: • Acutesthttp://www.acutest.co.uk/ • http://www.acutest.co.uk/acutest/clients • Thinksoftglobalhttp://www.thinksoftglobal.com • http://www.thinksoftglobal.com/our_clients/client_listing/ • Maverick independent testing http://www.maveric-systems.com • http://www.maveric-systems.com/clients.php • e-testinghttp://www.etesting.com • Goldman Sachs, O2, Sony Ericsson, Accenture, Halifax, Northern Rock, KMPG • http://www.etesting.com/clients_clients.html
6.0 The environment of the test Developers Site Target Site Consultant Site http://webfluency.com/greg/wp-content/uploads/2007/10/2004-11-06_acm_programming_team_in_action.jpg http://www.transportcafe.co.uk/a46_route_46_the_vale_evesham_m5_junction_9/cash_machine.jpg http://www.artlebedev.com/posters/handshake/handshake-1024x768.jpg
7.0 When does the test terminate? • There are 5 methods: • The completed implementation route This route try to achieve perfection by completing the test plan repeatedly till there are no errors or faults found. • The mathematical models application route This route considers a chosen arithmetic model, were estimation would take place to see the undetected errors, based on the error rate. • The error seeding route This route works on the principal that the number of undiscovered errors is related to the number of discovered errors. When the number of undiscovered errors reaches a level of approval then the test will terminate. • The dual independent testing teams route In this route there are two testing teams which will undertake the take of testing the system/component. By doing so, then producing results and cross references both teams results, the number of undetected errors would decline significantly. • Termination after resources have petered out. This route merely terminates the test once the resources have run out. Such as time, money, staff etc.
8.0 Conclusion • To conclude, this presentation has focused on these areas below: • 1.0 Software Testing and its objectives • 2.0 What is Test Planning? • 3.0 What to Test i.e. Unit, Integration or system test. • 4.0 Which sources to use for test cases .i.e. Real Life or Synthetic test case sources. • 5.0 Who will carry out the test i.e. the development team (internally) or an outsourced company (externally). • 6.0 The environment of the test i.e. Developers site, Target site and Consultants site. • 7.0 When does the test terminate i.e. • The completed implementation route • The mathematical models application route • The error seeding route • The dual independent testing teams route • The Termination after resources has petered out.