Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Approach  





2 See also  





3 References  














Integration testing: Difference between revisions






العربية
Català
Čeština
Deutsch
Español
فارسی
Français

עברית
Magyar
Македонски
Nederlands

Norsk bokmål
Polski
Português
Русский
ி
Українська
Tiếng Vit

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 





Help
 

From Wikipedia, the free encyclopedia
 


Browse history interactively
 Previous edit
Content deleted Content added
No edit summary
AnomieBOT (talk | contribs)
6,367,817 edits
m Dating maintenance tags: {{Cn}}
 
(36 intermediate revisions by 26 users not shown)
Line 1: Line 1:

{{Short description|Type of software testing}}

{{Refimprove|date=August 2010}}

{{More citations needed|date=August 2010}}

{{Software development process}}

{{Software development process}}



'''Integration testing''', also called '''integration and testing''', abbreviated '''I&T''', is a form of [[software testing]] in which multiple parts of a [[software system]] are tested as a group.

'''Integration testing''' (sometimes called '''integration and testing''', abbreviated '''I&T''') is the phase in [[software testing]] in which individual software modules are combined and tested as a group. It occurs after [[unit testing]] and before [[verification and validation (software)|validation testing]]. 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]] to those aggregates, and delivers as its output the integrated system ready for [[system testing]].<ref>[https://books.google.com/books?id=utFCImZOTEIC&pg=PA73&dq=integration+test&hl=en&sa=X&ei=4EpTVOvJMayu7Aak5YCIDA&ved=0CDwQ6AEwAg#v=onepage&q=integration%20test&f=false Martyn A Ould & Charles Unwin (ed), ''Testing in Software Development'', BCS (1986), p71]. Accessed 31 Oct 2014</ref>



Integration testing describes tests that are run at the integration-level to contrast testing at the [[unit testing|unit]] or [[system testing|system]] level.

==Purpose==



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>

Some different types of integration testing are:



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>

* '''big-bang''' - 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. 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.

* '''[[top-down and bottom-up design|bottom-up]]''' - Bottom-up testing is an approach to integrated testing where the lowest level components are tested first, 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. At first, 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.

* '''[[top-down and bottom-up design|top-down]]''' - Top-down testing is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.

* '''mixed''' (sandwich) - Sandwich testing is an approach to combine 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.

* '''risky-hardest''' - Risky hardest integrated testing is the approach where the test is performed starting with the hardest and the riskiest software module first<ref>{{cite web|title=Big Bang Integration Testing|url=http://www.professionalqa.com/big-bang-integration-testing|website=ProfessionalQA.com|accessdate=22 August 2017}}</ref>.



== Approach ==

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:

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.

* collaboration integration

* backbone integration

* layer integration

* client-server integration

* distributed services integration

* high-frequency integration.



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.

==References==

{{reflist}}



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.

==See also==

{{Portal|Software Testing}}



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]]

* [[Design predicates]]

* [[Functional testing]]

* [[Functional testing]]

* [[Continuous integration]]

* [[Continuous integration]]


==References==

{{reflist}}


{{Software testing}}



{{DEFAULTSORT:Integration Testing}}

{{DEFAULTSORT:Integration Testing}}


Latest revision as of 22:30, 24 May 2024

Integration testing, also called integration and testing, abbreviated 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 unitorsystem level.

Often, integration testing is conducted to evaluate the compliance of a component with functional requirements.[1]

In a structured development process, integration testing takes as its input 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.[2]

Approach

[edit]

Some different types of integration testing are big-bang, mixed (sandwich), risky-hardest, top-down, and bottom-up. Other Integration Patterns[3] 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 [citation needed]. 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.

See also

[edit]

References

[edit]
  1. ^ ISO/IEC/IEEE International Standard - Systems and software engineering. ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 Dec. 2010.
  • ^ Martyn A Ould & Charles Unwin (ed), Testing in Software Development, BCS (1986), p71. Accessed 31 Oct 2014
  • ^ Binder, Robert V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison Wesley 1999. ISBN 0-201-80938-9

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Integration_testing&oldid=1225514470"

    Categories: 
    Software testing
    Hardware testing
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles needing additional references from August 2010
    All articles needing additional references
    All articles with unsourced statements
    Articles with unsourced statements from May 2024
     



    This page was last edited on 24 May 2024, at 22:30 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki