0% found this document useful (0 votes)
21 views7 pages

Level of Testing

The document discusses four levels of software testing: unit testing, integration testing, system testing, and acceptance testing. Unit testing tests individual software units or components. Integration testing combines units and tests their interfaces and interactions. System testing tests the full system including functionality and non-functional requirements. Acceptance testing is done by customers to determine if they will accept the final product.

Uploaded by

kulwantchahar123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views7 pages

Level of Testing

The document discusses four levels of software testing: unit testing, integration testing, system testing, and acceptance testing. Unit testing tests individual software units or components. Integration testing combines units and tests their interfaces and interactions. System testing tests the full system including functionality and non-functional requirements. Acceptance testing is done by customers to determine if they will accept the final product.

Uploaded by

kulwantchahar123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

LEVELS OF TESTING

• Software testing is generally carried out at different levels.


• There are four such levels namely unit testing, integration testing, system testing and acceptance testing.
• The first three levels of testing activities are done by the testers and the last level of testing (acceptance) is
done by the customer(s)/user(s).
Unit Testing
• We develop software in parts / units and every unit is expected to have a defined functionality.
• We may call it a component, module, procedure, function, etc., which will have a purpose and may be developed independently
and simultaneously.
• There are also problems with unit testing. How can we run a unit independently?
• A unit may not be completely independent. It may be calling a few units and also be called by one or more units. We may have
to write additional source code to execute a unit.
• The additional source code to handle the activities of a unit X is called ‘driver’.
• the additional source code to handle the activities of a unit A and a unit B is called ‘stub’
• The complete additional source code which is written for the design of stub and driver is called scaffolding.
Integration Testing
• We combine two or more units because they share some relationship.
• This relationship is represented by an interface and is known as coupling. The coupling is the measure of the degree of
interdependence between units.
Integration Testing
• When we design test cases for interfaces, we should be very clear about the coupling amongst units and if it is
high, a large number of test cases should be designed to test that particular interface.
• A good design should have low coupling and thus interfaces become very important. When interfaces are
important, their testing will also be important.
• In integration testing, we focus on the issues related to interfaces amongst units.
• There are several integration strategies that really have little basis in a rational methodology and are given as
Top-down testing , Bottom-up testing, Sandwich testing
System Testing
• We perform system testing after the completion of unit and integration testing.
• We test complete software along with its expected environment. We generally use functional
testing techniques, although a few structural testing techniques may also be used.
• A system is defined as a combination of the software, hardware and other associated parts that
together provide product features and solutions.
• System testing ensures that each system function works as expected and it also tests for non-
functional requirements like performance, security, reliability, stress, load, etc.
• This is the only phase of testing which tests both functional and non-functional requirements of the
system.
• We also review all associated documents and manuals of the software.
• This verification activity is equally important and may improve the quality of the final product.
Acceptance Testing
• This is the extension of system testing. When the testing team feels that the product is ready for the customer(s), they
invite the customer(s) for demonstration.
• After demonstration of the product, customer(s) may like to use the product to assess their satisfaction and
confidence.
• This type of usage is essential before accepting the final product.
• The testing done for the purpose of accepting a product is known as acceptance testing. This may be carried out by
the customer(s) or persons authorized by the customer(s).
• The venue may be the developer’s site or the customer’s site depending on mutual agreement. Generally, acceptance
testing is carried out at the customer’s site.

You might also like