1 / 10

Software Testing

Learn about software testing methods, such as unit testing, integration testing, and function testing, to find and eliminate errors in your programs. Discover tips for effective test case planning, documentation, and analysis of test results. Gain insights into black box and white box testing, as well as different test categories like stress testing and performance testing. Understand the unique challenges of testing object-oriented systems. Boost your software quality assurance with proper testing strategies.

troiano
Download Presentation

Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing

  2. Software Testing 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 • 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. [Source: Myers76]

  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

More Related