An amalgamation of several software development and testing activities, Software Development Life Cycle (SDLC) is a well-defined structured sequence of stages in software engineering, which are used by software engineers to develop the intended software product. Software Development Life Cycle (SDLC) provides a series of steps, such as communication, requirement gathering, system analysis, software design, coding, testing, integration and more, which are followed to design and develop a product efficiently. With the assistance of these activities and steps software engineers are able to develop a product with exceptional quality, performance, functionality, scalability and more.
Software testing is one of the most crucial step of Software Development Life Cycle (SDLC) and it is only by implementing it in every stage of development process that a tester can ensure the quality of the software and its features. Software testing is a process of identifying bugs, errors and other discrepancies and faults in the software, which if left unresolved and undetected become a hurdle smooth development of the product as well as make the process time consuming and expensive. Bottom-Up approach is a type of software testing, which is executed to analyse the risks in the software. The biggest advantage of this approach is that it is user friendly and provides high deployment coverage in early phases of software development. Therefore, to provide you a better understanding of this approach, here is a detailed discussion of the same.
A type of integration testing, bottom-up approach is a testing strategy in which the modules at the lower level are tested with higher modules until all the modules and aspects of the software are tested properly. This approach is also known as inductive reasoning, and in many cases is used as a synonym of synthesis. Bottom-Up approach is an immensely beneficial approach, used more often than its counterpart and the well-known testing technique, top down approach. This approach of integration testing is utilized when off-the-shelf or existing components are selected and integrated into the product. Moreover, bottom-up approach has high success rates, with tangible and long lasting results. Even the execution time in faster compared to traditional top-down approach used by testers all around the world. With the assistance of bottom-up integration testing software testers test software without any difficulty and get best results. Additionally, in bottom-up testing components at lower hierarchy are tested individually and then the components that rely upon these components are tested. Though top level components are most important, yet they are tested last using this strategy of integration testing.
Bottom- Up is an approach used in integration testing, which is a level of software testing where individual units are combined and tested as groups. Integration testing is performed by software testers once unit testing is completed and before the inception of system testing. The main purpose of this level of testing is to expose faults in the interactions between integrated units. To assist testers in integration testing, test drivers and test stubs are used. Integration testing is defined by International Software Qualifications Board (ISQB) as process of testing performed to expose defects in the interfaces and in the interactions between integrated components or systems. During the process of software testing, integration testing is executed for various reasons, some of which are mentioned below:
Top-down approach is the most commonly used integration testing type. It is an integration testing technique that is used in order to simulate the behaviour of the lower-level modules that are not yet integrated. Integration testing is a process of breaking a system down to gain insight into its compositional sub-systems in a reverse engineering fashion. Hence, to clearly understand the difference between bottom-up and top-down integration testing approach, following is a comparison of these two approaches, which will allow testers to make informed decision regarding the type of integration testing approach they want to opt for.
From the above discussion we can conclude that there are several advantages of using bottom-up approach of integration testing. As suggested by its name, Bottom-Up integration testing starts from the lowest or innermost unit of the application and gradually moves up. This integration testing continues till all the modules of the software are integrated and the entire application is tested as a single unit. In short, this approach first tests those components of the software that are usually tested quickly at the end of testing process and do not get proper attention of software testers. The other advantages of bottom-up approach are:
Every testing technique, methodology and more, has some or other disadvantage that effects the performance as well as the effectiveness of the software. Similarly, there are few drawbacks and disadvantages of using bottom-up approach, which if not taken care of can become a hurdle in getting expected results. Even though this approach provides numerous advantages to its users, it is important to know all of its disadvantages, which will help testers and developers in getting high quality and bug free software and applications. Hence, the disadvantages of Bottom-Up approach are:
Bottom-Up approach is one of the best way to test each and every major as well as minor component of the software. It is a type of integration testing in which system integration begins with the integration of the lowest level modules. Bottom up integration testing uses test drivers to drive and pass appropriate data to the lower level modules and as and when the code for the other module gets ready, these drivers are replaced with the actual module. The advantages of this approach of integration testing is immense as it provides high deployment coverage in early phases, earlier return on investment, high visibility of organizational changes, and has a higher impact on the organization’s success. Bottom-Up approach is executed to analyse the risks in the software and it is extremely user friendly. Moreover, as Bottom-Up integration testing starts from the lowest or innermost unit of the application and gradually moves up, it is able to test all those components of the software that are usually tested quickly or are not tested at all, because of time constraint and other such reasons. Furthermore, with the assistance of this approach one can ensure that all the defects and errors detected in the later stages of Software Development Life Cycle (SDLC) are resolved and removed before the final product is released for the use of the clients and end users.