Chapter_Five Levels Testing
Chapter_Five Levels Testing
1
Software Testing
Levels
⚫ In order to develop products of superior quality and
as follows:
1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing
4
1. Unit
Testing
⚫ Unit testing is also known as the first level of testing.
⚫ A unit means a small component.
⚫ Unit testing is the process of testing small
components of software or product.
⚫ This testing is performed using the white box testing method.
⚫ One of the main advantages of unit testing is it allows each
small component of the software to be tested separately.
⚫ The developers perform this testing.
⚫ This testing aims to test each component of the software to
check that
it is functioning well or not,
does it works as it is intended,
5 does it fulfills the specified requirements.
Advantages of Unit
Testing
⚫ Unit testing improves the quality of the code.
⚫ As unit testing tests only components of the software, it is easy to debug
the software. If some error occurs, only the latest changes that are made
need to be tested.
⚫ In unit testing, the development process is faster because it requires fewer
6 Modules whose unit testing has been done successfully can be reused by
⚫
the developer.
Limitations of Unit Testing
7
Integration Testing
⚫ This is the second level of software testing, where each component
interacted components.
⚫ A typical software project consists of multiple software modules,
10
Big Bang
Approach
⚫ Here all components are integrated together at once, and
then tested.
⚫ In this testing, the individual modules are not integrated until
tested successfully.
⚫ Incremental approach in turn is carried out by the following methods:
Bottom up
Top down
Sandwich
13
Bottom up Integration
⚫ Inthe bottom up strategy, each module at lower levelsis
tested with higher modules until all modules are tested.
14
Bottom up…
Advantages:
⚫ Fault localization is easier.
⚫ No time is wasted waiting for all modules to be developed
unlike big-bang approach
Disadvantages:
⚫ Critical modules (at the top level of software architecture)
which control the flow of application are tested last and may be
prone to defects.
⚫ Early prototype is not possible
15
Top down Integration:
16
Top
down…
Advantages:
⚫ Fault localization is easier.
⚫ Possibility to obtain an early prototype.
⚫ Critical modules are tested on priority; major design flaws
could be found and fixed first.
⚫ Needs
Disadvantages:
⚫ many stubs.
⚫ Modules at lower level are tested inadequately.
17
Sandwich/Hybrid Integration
Approach
⚫ This approach is a combination of both top-down and bottom
up integration testing.
⚫ In this approach, the integration starts from middle layer
Spelling mistakes
Broken links
Cloudy directions
The application will be tested on machines with the
lowest specification to test loading times and any latency
problems.
23
Alpha
…
Advantages:
⚫ Provides better view about the reliability of the software at an early stage
25
Beta
…In this phase of software production, the development team
⚫
Getting the feedback, the project team can fix the problems