{"id":4702,"date":"2018-06-14T18:20:34","date_gmt":"2018-06-14T12:50:34","guid":{"rendered":"https:\/\/programesecure.com\/?p=4702"},"modified":"2018-06-14T18:20:34","modified_gmt":"2018-06-14T12:50:34","slug":"testing-what-is-integration-testing-software-engineering","status":"publish","type":"post","link":"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/","title":{"rendered":"Testing- What is Integration Testing?- Software Engineering"},"content":{"rendered":"<p><strong>How are units integrated? What are the implications of this order?<\/strong><\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/#Big_bang_approach\" >Big bang approach:-<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/#Top-down_approach\" >Top-down approach:-<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/#Bottom-up_approach\" >Bottom-up approach:-<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/#Mixed_approach\" >Mixed approach:-<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/programesecure.com\/testing-what-is-integration-testing-software-engineering\/#Potential_Problems\" >Potential Problems:<\/a><\/li><\/ul><\/nav><\/div>\n\n<ul>\n<li>Top-down =&gt; need stubs; top-level tested repeatedly.<\/li>\n<li>Bottom-up =&gt; need drivers; bottom-levels tested repeatedly.<\/li>\n<li>Critical units first =&gt; stubs &amp; drivers needed; critical units tested repeatedly.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4703\" src=\"https:\/\/programesecure.com\/wp-content\/uploads\/Continous_Delivery_Automated_Acceptance_Testing.jpg\" alt=\"Testing- What is Integration Testing?- Software Engineering\" width=\"1754\" height=\"1240\" \/><\/p>\n<p><strong>The Integration testing activity can be performed in 4 ways:-<\/strong><\/p>\n<ol>\n<li>Big bang approach<\/li>\n<li>Top-down approach<\/li>\n<li>Bottom-up approach<\/li>\n<li>Mixed approach<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Big_bang_approach\"><\/span><strong>Big bang approach:-<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>It is the simplest\u00a0<strong>integration testing approach<\/strong>\u00a0where all the modules making up a system are integrated into a single step and then tested. However, this technique is practicable only for very small systems.<\/p>\n<div id=\"attachment_132\" class=\"wp-caption aligncenter\">\n<p class=\"wp-caption-text\"><strong>Testing- What is Integration Testing?- Software Engineering<\/strong><\/p>\n<\/div>\n<p>The main problem with big bang integration testing approach is that once an error is found, it is very difficult to localize the error as the error may be to any of the module being integrated. Therefore debugging error reported during big bang are very expensive to fix.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Top-down_approach\"><\/span><strong>Top-down approach:-<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The\u00a0<strong>top-down integration testing<\/strong>\u00a0starts with the main routine and one or two subroutine module in the system. After the top-level skeleton has been tested, the immediate subroutines of the system are combined with it and tested.<\/p>\n<p>Top-down integration testing approach requires the use of the program. Stubs to stimulate the effect of lower level routine that is called by the routines under test. A pure top-down approach doesn\u2019t require any driver routine.<\/p>\n<p>A\u00a0<strong>disadvantage of the top-down integration testing approach<\/strong>\u00a0is that in the absence of lower level testing routines many times it may become difficult to exercise the top-level routines in the desired manner.<\/p>\n<div id=\"attachment_135\" class=\"wp-caption aligncenter\">\n<p class=\"wp-caption-text\"><strong>Testing- What is Integration Testing?- Software Engineering<\/strong><\/p>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"Bottom-up_approach\"><\/span><strong>Bottom-up approach:-<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The\u00a0<strong>bottom level testing<\/strong>\u00a0each subsystem is tested separately and the full system is tested. A subsystem might consist of many modules. The primary purpose of testing each subsystem is to test the interface among various modules making up the system. Large software system normally requires several levels of subsystem testing lower levels subsystem are successively integrated to form a higher level subsystem.<\/p>\n<p>The\u00a0<strong>principle advantage is several disjoint subsystems can be tested simultaneously<\/strong>. In a pure bottom-up testing, no stubs are required only the test drivers are required.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Mixed_approach\"><\/span><strong>Mixed approach:-<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A\u00a0<strong>mixed integration testing<\/strong>\u00a0takes after a mix of top-down and bottom-up approach. In a top-down approach, the testing can begin simply after the best level modules have been coded and unit testing. Correspondingly, the bottom up testing can begin simply after the base level modules are prepared.<\/p>\n<p>The mixed approach overcomes this shortcoming of the top-down and bottom-up approach. In mixed testing approach, the testing can start as and when modules become available. Therefore, this is one of the most commonly used integration testing approaches.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Potential_Problems\"><\/span><strong>Potential Problems:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Inadequate unit testing.<\/li>\n<li>Inadequate planning &amp; organization for integration testing.<\/li>\n<li>Inadequate documentation and testing of externally-supplied components.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>How are units integrated? What are the implications of this order? Top-down =&gt; need stubs; top-level tested repeatedly. Bottom-up =&gt; [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":35829,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[36],"tags":[3052],"class_list":["post-4702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-educations","tag-testing-what-is-integration-testing"],"_links":{"self":[{"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/posts\/4702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/comments?post=4702"}],"version-history":[{"count":0,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/posts\/4702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/media\/35829"}],"wp:attachment":[{"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/media?parent=4702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/categories?post=4702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programesecure.com\/wp-json\/wp\/v2\/tags?post=4702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}