Skip to main content

4 - Software Testing - 2 - Test Levels


The software testing process is a process performed at different levels throughout development and maintenance process. The test levels can be differentiate based on the testing object normally referred as target or objective.

The Target Of The Test
There will be various of target items for testing this can be in a form of
1. A Single Module
2. A Group Of Modules related by function,purpose,use,behavior or its structures
3. An Entire System.
All of the above testing domains will be called
1. Unit Testing ( Single Module )
2. Integration Testing ( A Group Of Modules )
3. System Testing ( An Entire System ) 

All these testing stages does not imply any process model and there is no indication that any one of them is assumed to be more important than the other two.

Unit Testing
Definition : "Verifies the functioning in isolation of software elements that are separately testable."
Depending on the context, these could be the individual subprograms or a larger component made of highly cohesive units
Normally, unit testing require access to the source code and some debugging tools. Typically its the responsibilities of the programmers who wrote the code conduct the unit testing.

Integration Testing
Definition: "A Process Of Verifying The Interactions Among Software Components". 
Top-down and bottom-up integration testing with hierarchically structured software are one of the classical way to perform integration testing.

In the modern systematic integration strategies, software engineers are more to architecture-driven in integration testing. which involves incrementally integrating the software components or subsystems based on identified functional threads.

 Integration testing is often an ongoing activity at each stage of development during which software engineers abstract away lower-level perspectives and concentrate on the perspectives of the level at which they are integrating.

System Testing
This testing is concerned with testing the behavior of an entire system. System testing is usually targeting non functions system requirements such as speed and performance, accuracy, security , accuracy and reliability. Any interaction or interfaces to other applications, utilities, hardware or os are also usually evaluated at this level.

Objectives Of Testing
It is very important to state the objectives of the testing in precise, quantitative terms to support measurement and control of the test process. This details are more or less explicitly depending on the varying degrees of precision.
Testing can be aimed at different properties. Test cases may be designed to check the functional specifications while referring to requirements literature as a conformance testing, functional testing and correctness testing.
However other factor such as performance, reliability and usability also may be targeted as the objective of testing.
Different purpose are addressed at different level of testing.
Software testing objective can be divided into many objectives names below are the list :
1. Acceptance/Qualification Testing
2. Installation Testing
3. Alpha And Beta Testing
4. Reliability Achievement And Evaluation
5. Regression Testing
6. Performance Testing
7. Security Testing
8. Stress Testing
9. Back To Back Testing
10. Recovery Testing
11. Interface Testing
12. Configuration Testing
13. Usability And Human Computer Interaction Testing

Back - 1 - Fundamentals
Next - 3 - Test Techniques
Home - Software Testing
Main - The BOK

Published on : 30-May-2018
Ref no : DTC-WPUB-000029

About Author

My photo
Wan Mohd Adzha CAPM,MCPD,MCSD,MCSE
Passionate about new technology ( Software Engineering ) and how to build,manage and maintain them

Comments