Software Testing Levels
Software testing has several levels. It also has two broad categories: functional testing and non-functional testing. We explore those categories in detail in the next chapter.
Overview of Software Testing LevelsThe four testing levels are:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Overview of Software Testing Levels
Unit Testing
A unit is the smallest independent, testable part of the source code. Unit testing is the first testing level and is generally performed by developers or their teammates, rather than software testers. Complete unit testing before integrating the units. A well-defined unit test plan and test cases are essential.
Unit testing gives you confidence to proceed with integration once the individual units work correctly. Testing alongside development may initially feel slow: defects are discovered and code changes are needed. Over time, the code improves and defects decrease. This creates a stronger foundation and helps later development move faster, saving time.
Unit Testing
Effective unit testing also saves money. Defects generally cost much more to fix late in development than during its early stages.
Unit tests cover a small component, so their test cases and data cannot check every functional or information-flow scenario across the application. Some scenarios can be tested only after units have been combined into a larger component.
Integration TestingAfter unit testing, integration testing checks how two or more units interact and what output they produce in different scenarios. A software test engineer carries out this testing.
Integration testing reveals functional, requirements-related and performance defects. Unit testing checks that components work individually; integration testing checks that they work as expected together. The main approaches are:
- Big bang
- Top-down integration
- Bottom-up integration
Integration Testing
Top-down integration starts with the highest-level modules, then adds and tests lower-level modules one at a time. Bottom-up integration reverses that sequence: test the lowest-level modules first, then add higher-level modules progressively. A common sequence is to begin with bottom-up testing and follow it with top-down testing.
Top down and Bottom up Integration Testing
In top-down testing, stubs stand in for unavailable or unfinished lower-level modules or subprograms. In bottom-up testing, a driver acts as the calling program when the required higher-level program is not yet available.
System TestingAfter integration succeeds, system testing examines the complete system with its components working together. It checks performance, functional and technical specifications, and the organization’s quality standards. A highly skilled testing team should carry out this work in an environment that closely resembles the system’s real deployment setting.
System Testing
System testing is purely black box testing. It checks the system against requirements from the user’s perspective, including application behavior, design and end-user expectations. It verifies and validates both the application architecture and the client’s business requirements.
Acceptance TestingAfter unit, integration and system testing, acceptance testing examines quality and accuracy using predefined scenarios and test cases. The quality assurance team reviews the system from several perspectives, including appearance and internal operation. This stage is crucial because client acceptance also depends on legal and contractual requirements. Acceptance testing includes:
- User acceptance testing: Actual users test the software before accepting it, either at their own site or at the organization that developed it.
- Operational acceptance testing: Check that the processes and procedures needed to use and maintain the system are in place.
- Contract and regulatory acceptance testing: Check compliance with contractual requirements and applicable government, legal and safety standards.
- Alpha testing: Check overall product quality and prepare for beta testing near the end of development, when the whole system can be tested. Test engineers and other team members examine quality and engineering from the customer’s perspective. This can take considerable time.
- Beta testing: After alpha testing, actual users try the product in real-world conditions to improve quality and check that it meets their requirements. It takes place a few days or weeks before launch and may last a few days. It may be shorter than alpha testing because the chance of finding defects is relatively low at this stage.
Acceptance Testing
We guarantee that your free online training will make you pass your Software Testing Certification Exam!
- 01
Register Online
Choose your Accredited certification and complete your registration.
- 02
Receive Your Access Code
Your personal exam access code is delivered instantly by email.
- 03
Prepare & Take Your Exam
Study your free training and answer your 50 multiple-choice questions online.
- 04
Earn Your Lifetime Credential
Receive your worldwide-valid certificate and verifiable digital badge.
YOUR FREE PREMIUM ONLINE TRAINING
Your Software Testing Revealed, Second Edition, Is Ready.
We created your training with a consortium of renowned business and people leaders, software testing coaches, mentors, experts and authorities from all major industries. Everyone visiting International Software Test Institute™ can access it. Find the materials through Your Free Software Testing Book and Your Free Premium Software Testing Training in the top menu.
These materials are the copyrighted intellectual property of International Software Test Institute™. We share them freely with everyone because sharing our expertise serves software testing professionals and helps the field develop.
Your certification examination uses multiple-choice questions. Read your online training to build the knowledge you need to pass your examination and earn your Software Testing Certification.
We guarantee that your free premium online training will make you pass your Software Testing Certification Exam!
