Download presentation
Presentation is loading. Please wait.
Published bySheila Nicholson Modified over 8 years ago
1
Software Testing
2
Purpose: Find errors! not prove that the program does not have them Types of tests: Unit Test Integration Test Function Test Load Test System Test Acceptance Test Development Test
3
About Tests [Source: Myers76] A good test-case is one that has a high probability to find new errors. It is difficult to decide when to stop testing. It is impossible to test programs made by oneself. Avoid tests that can not be reproduced. Define Test-Cases for valid and non-valid entry data. Inspect carefully the results of the tests. With a higher number of defects detected in one module increases the probability that it contains more unknown errors. Asign the best programmers to the tests. Design the system thinking of its testing.
4
Planning of Tests Test Cases: Entry Specifications Define functions and partial results Expected final result Documentation Results obtained during the tests. Analysis of the test-results.
5
Generating Test Cases Because it is difficult to make exhaustive tests, we use 2 types of tests: Funtionality Test or “Black Box“ Test (Function Test) Structural Test or “White Box“ Test (unit testing)
6
Black Box Test This method is focused on the functional requirements of the system It tries to detect the following errors: Of the interface Of the acces to data Of initialization and termination Of performance This method is recommended for the last phases of testing, to assure that the program is robust and functioning according to specifications.
7
White Box Test Examines the structure of the program It tries to make sure that: All the paths of a program are used. All the extreme cases in all the cycles work. The data structures are the correct ones To do this test usually a structure- diagram is drawn and it is followed for several different test values.
8
Intergation Test Top-down: The control of the main program is tested first. Then the modules are integrated one by one. Some interactions between modules have to be simmulated. Bottom-up: Modules are tested one by one and then integrated. It is necessary to create test programs for every module.
9
Test Categories Stress Test - Extreme Load conditions that cause failure Configuration - Test on different platforms Compatibility - with HW and SW Security - non-authorized access Performance - under normal and extreme conditions Recovery - behavior after a failure Human Factors - operability
10
Differences with Object Oriented Systems Testing begins with with a review of the models Each class and its connections to other classes have to be examined The smallest unit testable is the encapsulated class or object (Unit test) It is necessary to do integration tests by inheritance The emphasis on reusability makes testing more important but as the context of it’s future use is not predictable, this does not mean that it doesn’e have to be tested in the next system
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.