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

Integression Testing Overview

Uploaded by

kush4409
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 views22 pages

Integression Testing Overview

Uploaded by

kush4409
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

What is debugging

• Debugging is the process


of finding and resolving
defects or problems
within a computer
program that prevent
correct operation of
computer software or a
system
Testing Levels (Different Types)
• Unit Testing
• Integression Testing
• System Testing
• Regression Testing
Unit Testing
• During this first round of testing, the program is submitted to
assessments that focus on specific units or components of the
software to determine whether each one is fully functional.
• The main aim of this endeavor is to determine whether the
application functions as designed.
• In this phase, a unit can refer to a function, individual program
or even a procedure, and a White-box Testing method is
usually used to get the job done.
• One of the biggest benefits of this testing phase is that it can
be run every time a piece of code is changed, allowing issues
to be resolved as quickly as possible.
Integration Testing

• Integration testing allows individuals the opportunity to combine all of


the units within a program and test them as a group.
• This testing level is designed to find interface defects between the
modules/functions.
• This is particularly beneficial because it determines how efficiently the
units are running together.
• Keep in mind that no matter how efficiently each unit is running, if they
aren’t properly integrated, it will affect the functionality of the software
program.
Big Bang and Top Down
• Big Bang is an approach to Integration Testing where all or most f the units are
combined together and tested at one go. This approach is taken when the
testing team receives the entire software in a bundle. So what is the
difference between Big Bang Integration Testing and System Testing? Well, the
former tests only the interactions between the units while the latter tests the
entire system.
• Top Down is an approach to Integration Testing where top-level units are
tested first and lower level units are tested step by step after that. This
approach is taken when top-down development approach is followed. Test
Stubs are needed to simulate lower level units which may not be available
during the initial phases.
Bottom up and Hybrid
• Bottom Up is an approach to Integration Testing where bottom level
units are tested first and upper-level units step by step after that.
This approach is taken when bottom-up development approach is
followed. Test Drivers are needed to simulate higher level units which
may not be available during the initial phases.
• Sandwich/Hybrid is an approach to Integration Testing which is a
combination of Top Down and Bottom Up approaches.
System Testing
• System testing is the first level in which the complete application is
tested as a whole.
• The goal at this level is to evaluate whether the system has
complied with all of the outlined requirements and to see that it
meets Quality Standards.
• System testing is undertaken by independent testers who haven’t
played a role in developing the program.
• This testing is performed in an environment that closely mirrors
production.
• System Testing is very important because it verifies that the
application meets the technical, functional, and business
requirements that were set by the customer.
Regression testing
• Regression testing is the process
of testing changes to computer
programs to make sure that the
older programming still works
with the new changes.
• Regression testing is a normal
part of the program
development process and, in
larger companies, is done by
code testing specialists.
Test Levels
• Unit Testing - done by developers
• Integration Testing - done by QA team
• System testing - done by QA team
• Acceptance Testing - Done by customers
ACCEPTANCE TESTING
• ACCEPTANCE TESTING is a level
of software testing where a
system is tested for acceptability.
• The purpose of this test is to
evaluate the system's
compliance with the business
requirements and assess
whether it is acceptable for
delivery.
• Done by customers
Examples
• Unit test - error in algorithm.
• Integration testing - Mismatch of parameters, their order, number of
data types.
• System testing - Performance bugs, usability issues.

Common questions

Powered by AI

Integration Testing aims to ensure that individual components or units of the software communicate properly with each other, identifying interface defects that might not be apparent when units are evaluated alone. In contrast, System Testing evaluates the entire application to ensure it meets all business, technical, and functional requirements as a single entity. Unlike Integration Testing, which focuses on interactions at the component level, System Testing verifies the complete software system's behavior in a production-like environment .

Regression Testing ensures software stability by re-testing existing functionalities after changes or updates to verify that they still work as expected. It checks that new code does not adversely affect the current system, preventing the introduction of new bugs in previously tested code. Typically performed by code testing specialists in larger companies, this testing is essential during the development process .

Independent testers conduct System Testing to ensure objectivity and impartiality. Their role is crucial as they verify the application against the outlined requirements and quality standards, evaluating whether the system meets technical, functional, and business criteria without bias stemming from development participation. This phase occurs in an environment similar to production, ensuring that any issues identified are reflective of real-world usage .

Independent testing environments mirror production settings without being influenced by the development phase. These environments offer objective results by eliminating bias and ensuring that system behavior aligns with user expectations and system specifications. This independence is crucial as it allows testers to detect performance, usability, and compliance issues under conditions that closely simulate end-users' experiences, leading to enhanced reliability and user satisfaction .

In Unit Testing, White-box Testing methods are typically applied. These methods are suitable because they allow developers to verify the internal structures or workings of an application. By understanding the code logic, developers can create tests that ensure each function or module performs as expected, and any detected issues can be quickly addressed with each code change .

System Testing evaluates the entire application as a whole against predefined quality standards and system requirements. Independent testers, who did not contribute to the development, ensure that the application complies with all technical, functional, and business requirements established by stakeholders. This phase is performed in an environment akin to production, simulating real-world usage to identify performance and usability issues effectively .

Acceptance Testing is considered the final stage of user validation as it assesses whether a system meets business requirements and is acceptable for delivery to end users. Conducted by customers or end-users, it determines the software's readiness for production by validating that it fulfills the user's needs and specifications, thereby authorizing its release .

Unit Testing focuses on assessing individual components or units of software in isolation to ensure they operate correctly, whereas Integration Testing combines multiple units and tests them as a group to identify interface defects and ensure they work together smoothly. Unit Testing is usually performed by developers using White-box Testing methods and can be run whenever code changes occur, while Integration Testing often requires Test Drivers and Stubs and is usually performed by QA teams .

The Hybrid approach, also known as Sandwich Testing, combines elements from both Top Down and Bottom Up Integration Testing strategies. It starts testing from both the highest and lowest tiers simultaneously, integrating and testing components in layers. This approach leverages Test Stubs to simulate lower modules in Top Down testing and Test Drivers to simulate higher modules in Bottom Up testing, facilitating comprehensive integration coverage .

The Big Bang approach involves testing all or most units together in one go once they are integrated, which can be less time-consuming but makes it difficult to isolate defects. In contrast, the Top Down approach tests top-level units first, followed by lower-level units step-by-step, using Test Stubs to simulate unavailable components. This approach allows for earlier detection of integration issues within the top-level units .

You might also like