topics covered: software testing software testing levels of testing levels of testing unit testing...

Post on 05-Jan-2016

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Testing

Topics Covered:

Software testing

Levels of testing

Unit testing

Integration testing

System testing

Acceptance testing

Software Testing

Software testing is the last but necessary and important activity of

software development process.

It is the costliest activity. So proper strategy is required.

Software testing strategy provides a framework or set of activities

which are essential for the success of the project.

Testing is usually relied upon to detect the faults remaining from

earlier stages.

Levels of Testing

1. UNIT TESTING

2. INTEGRATION TESTING

3. SYSTEM TESTING

4. ACCEPTING TESTING

Client Acceptance

Needs Testing

Requirements System

Testing

Design Integration

Testing

Code Unit

Testing

Levels of testing

Unit testing

The first level of testing is called unit testing. In this different modules

are tested against the specifications produced during design for the

modules. It is done specially for verification of code produced during

the coding phase. Hence the goal is to test the internal logic of the

module. It is usually done by the programmer of the code.

Integration testing

The second level of testing is integration testing. In this many unit

tested modules are combined into subsystems, which are then tested.

The goal here is to see if the modules can be integrated properly.

Hence the emphasis is on testing interfaces between modules. This

activity tests the design.Following types of errors may arise during the integration of modules:1. Data can be lost across an interface.2. One module can have adverse affect on other modules.

3. Modules when combined, may not produce the desired major function.

4. Individually acceptable imprecision may be magnified to unacceptable levels.

5. Global data structures can create problem.

Each time a new module is added as a part of integration testing, the

software changes. Therefore regression testing is needed every time a

new module is added.

System testing

The next level of testing is system testing. In this entire software is

tested. The reference document for this process is the requirements

document, and the goal is to see if the software meets its requirements.

This is essentially a validation exercise. System testing involves the

following:

Recovery testing: is designed to examine how easily and completely

the system can recover a system failure.

Security testing: it attempts o verify that protection mechanism built

into a system will protect it from unauthorized access.

Stress testing: it is designed to control program with abnormal

situations. This testing is normally used to understand the upper limits

of capacity within the application.

Performance testing: it is designed to test the run-time performance of

software within the context of an integrated system. Performance

testing occurs throughout all steps in the testing process.

Acceptance testing

The next level is acceptance testing. Acceptance testing is sometimes

performed with realistic data of client to demonstrate the working of

software. Here testing focuses on the external behavior of the system.

Mostly functional testing is performed at these levels.

Thanks!!

top related