[go: up one dir, main page]

0% found this document useful (0 votes)
75 views16 pages

Chapter-5 Levels of Testing

The document discusses different levels of software testing including unit testing, integration testing, system testing, acceptance testing, and regression testing. It provides details on each type of testing such as what is tested, who performs the testing, and examples.

Uploaded by

celestiastorm22
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)
75 views16 pages

Chapter-5 Levels of Testing

The document discusses different levels of software testing including unit testing, integration testing, system testing, acceptance testing, and regression testing. It provides details on each type of testing such as what is tested, who performs the testing, and examples.

Uploaded by

celestiastorm22
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/ 16

Chapter 5: Levels of Testing

1 Tadele M.
System decomposition tree

2
Different Levels of testing
• A process where every unit or component of a software/system is tested
• Defined by a given environment
• Environment is a collection of attributes:
• People or responsible individual
• Strategy or the element to be tested
• Testing goal

3
Levels of testing
• UnitTesting
• IntegrationTesting
• System Testing
• AcceptanceTesting
• Regression testing

4
1. Unit Testing
• A unit is smallest testable piece of the system
– can be compiled, linked, loaded, executed
– e.g functions/procedures, classes, interfaces
• Testing of individual components separately
• Normally done by programmer
• Find unit bugs
– Wrong implementation of functional specs
• Better to use “BuddyTesting”

5
1. Unit Testing
BuddyTesting
• A collaborative approach to software
testing where a developer and a tester pair
up
• Team approach to coding and testing
• One programmer codes the other tests and
vice versa
– Test cases ‐ written by tester(before
coding starts). Better than single worker
approach
6
2. Integration testing
• Systems built by merging existing libraries
• Modules coded by different people
• Mainly tests the interfaces among units by checking
the data flow from one module to other modules
• Test for correct interaction between system units
• Performed by developers/testers on the
programmer’s workbench

7
2. Integration testing…
• Top down integration testing
• Units at the top level are tested first, and
then units at low levels are tested one by
one.
• Use of stubs : to allow testing of the upper levels
of the code, when the lower levels of the code are
not yet developed
• Bottom up integration testing
• The reverse of the top-down approach.
• Use of drivers: to allow testing of the lower levels
of the code, when the upper levels of the code are
not yet developed.

8
2. Integration testing…

 Big Bang Integration Testing


 individual modules are not integrated until all the modules are ready

9
3. System Testing

• Performed on a complete, integrated system


• Once all the components are integrated, the application as a whole is
tested rigorously to see that it meets the specified Quality Standards
• Done by the test team.

10
Types of System Testing
 Read about:

11
4. Acceptance Testing

• Demonstrates satisfaction of user


• Users are essential part of process
• Done the user or customer
• The goal of acceptance testing is to establish confidence in the delivered
software/system that it meets the end user/customers’ requirements and
is fit for use.

12
5. Regression Testing
• This testing is required when there is any:
• Change in requirements and code is modified as per the changed
requirements
• Added new features in product
• Bug fixing
• Fixing of performance related issues

13
Factors influencing test scope

• Size of project
• Complexity of project
• Budget for project
• Time scope for project
• Number of staff

14
Why test at different levels
• Easily track bugs
• Ensures a working subsystem/ component/ library
• Software reuse more practical
• Software development naturally split to phases

15
The “V” model and test levels

16

You might also like