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 Purpose  





2 References  





3 See also  














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
 




Print/export  



















Appearance
   

 





Help
 

From Wikipedia, the free encyclopedia
 


Browse history interactively
 Previous editNext edit 
Content deleted Content added
added dev proc
Arood (talk | contribs)
7 edits
Undid revision 777226962 by Walter Görlitz (talk)
Line 3: Line 3:


'''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''' (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>


The International Software Testing Qualification Board (ISTQB) defines integration testing in it’s glossary as ‘Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.’ <ref>{{cite web|title=ISQTB|url=http://astqb.org/glossary|website=ISQTB - Glossary|accessdate=25 April 2017}}</ref>



==Purpose==

==Purpose==

Integration Testing can fall into two categories, ‘Integration Testing - in the small’ or ‘Integration Testing – in the large’.

The purpose of integration testing is to verify functional, performance, and reliability [[requirement]]s placed on major design items. These "design items", i.e., assemblages (or groups of units), are exercised through their interfaces using [[black-box testing]], success and error cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and [[inter-process communication]] is tested and individual [[subsystem]]s are exercised through their input interface. [[Test case]]s are constructed to test whether all the components within assemblages interact correctly, for example across procedure calls or process activations, and this is done after testing individual modules, i.e., unit testing. The overall idea is a "building block" approach, in which verified assemblages are added to a verified base which is then used to support the integration testing of further assemblages.


‘Integration Testing in the Small’ describes the testing of interfaces between the various components of a larger system. This testing phase, when applied is conducted between unit testing (of the components) and system testing (of the integrated system).<ref>{{cite web|url=http://www.testingexcellence.com/integration-testing-in-small/|title=testingexcellence.com|accessdate=25 April 2017|website=Integration Testing In The Small}}</ref>


‘Integration Testing in the Large’ describes the testing of any interface between the system under test and a remote system to which it interfaces. This testing phase, when applied will be conducted after system testing (of the integrated system). <ref>{{cite web|url=http://www.testingexcellence.com/integration-testing-in-large/|title=testingexcellence.com|accessdate=25 April 2017|website=Integration Testing In The Large}}</ref>



In either case the purpose of the testing phase is to identify any existing defects within the implementation of the message sending or receiving functions.

Software integration testing is performed according to the software development life cycle (SDLC) after module and functional tests. The cross-dependencies for software integration testing are: schedule for integration testing, strategy and selection of the tools used for integration, define the cyclomatical complexity of the software and software architecture, reusability of modules and life-cycle and versioning management.



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

Some different approaches to integration testing are big-bang, [[top-down and bottom-up design|top-down, and bottom-up]], mixed (sandwich) and risky-hardest. 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 the big-bang approach, 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.

In the big-bang approach, 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.


Revision as of 06:12, 26 April 2017

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 validation testing. 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 to those aggregates, and delivers as its output the integrated system ready for system testing.[1]

The International Software Testing Qualification Board (ISTQB) defines integration testing in it’s glossary as ‘Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.’ [2]

Purpose

Integration Testing can fall into two categories, ‘Integration Testing - in the small’ or ‘Integration Testing – in the large’.

‘Integration Testing in the Small’ describes the testing of interfaces between the various components of a larger system. This testing phase, when applied is conducted between unit testing (of the components) and system testing (of the integrated system).[3]

‘Integration Testing in the Large’ describes the testing of any interface between the system under test and a remote system to which it interfaces. This testing phase, when applied will be conducted after system testing (of the integrated system). [4]

In either case the purpose of the testing phase is to identify any existing defects within the implementation of the message sending or receiving functions.

Some different approaches to integration testing are big-bang, top-down, and bottom-up, mixed (sandwich) and risky-hardest. Other Integration Patterns[5] are: collaboration integration, backbone integration, layer integration, client-server integration, distributed services integration and high-frequency integration.

In the big-bang approach, 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.

A type of big-bang integration testing is called "usage model testing" which can be used in both software and hardware integration testing. The basis behind this type of integration testing is to run user-like workloads in integrated user-like environments. In doing the testing in this manner, the environment is proofed, while the individual components are proofed indirectly through their use. Usage Model testing takes an optimistic approach to testing, because it expects to have few problems with the individual components. The strategy relies heavily on the component developers to do the isolated unit testing for their product. The goal of the strategy is to avoid redoing the testing done by the developers, and instead flesh-out problems caused by the interaction of the components in the environment. For integration testing, Usage Model testing can be more efficient and provides better test coverage than traditional focused functional integration testing. To be more efficient and accurate, care must be used in defining the user-like workloads for creating realistic scenarios in exercising the environment. This gives confidence that the integrated environment will work as expected for the target customers.

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.

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

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.

References

  • ^ "ISQTB". ISQTB - Glossary. Retrieved 25 April 2017.
  • ^ "testingexcellence.com". Integration Testing In The Small. Retrieved 25 April 2017.
  • ^ "testingexcellence.com". Integration Testing In The Large. Retrieved 25 April 2017.
  • ^ Binder, Robert V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison Wesley 1999. ISBN 0-201-80938-9
  • See also


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

    Categories: 
    Software testing
    Hardware testing
    Hidden categories: 
    Articles needing additional references from August 2010
    All articles needing additional references
    Portal templates with redlinked portals
    Pages with empty portal template
     



    This page was last edited on 26 April 2017, at 06:12 (UTC).

    This version of the page has been revised. Besides normal editing, the reason for revision may have been that this version contains factual inaccuracies, vandalism, or material not compatible with the Creative Commons Attribution-ShareAlike License.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki