Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Integration testing
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Type of software testing}} {{More citations needed|date=August 2010}} {{Software development process}} '''Integration testing''', also called '''integration and testing''' ('''I&T'''), is a form of [[software testing]] in which multiple parts of a [[software system]] are tested as a group. Integration testing describes tests that are run at the integration-level to contrast testing at the [[unit testing|unit]] or [[system testing|system]] level. Often, integration testing is conducted to evaluate the [[regulatory compliance|compliance]] of a component with [[functional requirement]]s.<ref>{{Cite book|title=ISO/IEC/IEEE International Standard - Systems and software engineering|publisher=ISO/IEC/IEEE 24765:2010(E)|year=2010|pages=vol., no., pp.1β418, 15 Dec. 2010}}</ref> In a structured development process, integration testing takes as its input [[module (programming)|modules]] that have been unit tested, groups them in larger aggregates, applies tests defined in an integration [[test plan]], and delivers as output test results as a step leading to system testing.<ref>[https://books.google.com/books?id=utFCImZOTEIC&dq=integration+test&pg=PA73 Martyn A Ould & Charles Unwin (ed), ''Testing in Software Development'', BCS (1986), p71]. Accessed 31 Oct 2014</ref> == Approach == Some different types of integration testing are big-bang, mixed (sandwich), risky-hardest, [[top-down and bottom-up design|top-down, and bottom-up]]. Other Integration Patterns<ref>Binder, Robert V.: ''Testing Object-Oriented Systems: Models, Patterns, and Tools''. Addison Wesley 1999. {{ISBN|0-201-80938-9}}</ref> are: collaboration integration, backbone integration, layer integration, client-server integration, distributed services integration and high-frequency integration. In big-bang testing, most of the developed modules are coupled together to form a complete software system or major part of the system and then used for integration testing. This method is very effective for saving time in the integration testing process {{cn|date=May 2024}}. However, if the test cases and their results are not recorded properly, the entire integration process will be more complicated and may prevent the testing team from achieving the goal of integration testing. In bottom-up testing, the lowest level components are tested first, and are then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested. All the bottom or low-level modules, procedures or functions are integrated and then tested. After the integration testing of lower level integrated modules, the next level of modules will be formed and can be used for integration testing. This approach is helpful only when all or most of the modules of the same development level are ready. This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage. In top-down testing, the top integrated modules are tested first and the branch of the module is tested step by step until the end of the related module. Sandwich testing combines top-down testing with bottom up testing. One limitation to this sort of testing is that any conditions not stated in specified integration tests, outside of the confirmation of the execution of design items, will generally not be tested. <gallery> Top Down Approach.png|Top-down approach Bottom Up Approach.png|Bottom-up approach Sandwich Approach.png|Sandwich approach Bing Bang Approach.png|Big bang approach </gallery> ==See also== * [[Design predicates]] * [[Functional testing]] * [[Continuous integration]] ==References== {{reflist}} {{Software testing}} {{DEFAULTSORT:Integration Testing}} [[Category:Software testing]] [[Category:Hardware testing]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cn
(
edit
)
Template:ISBN
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Software development process
(
edit
)
Template:Software testing
(
edit
)