Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “Why Integration Testing Should Not Be Overlooked”.
In our last presentation, we took our tests to the next level by using Selenium with TestNG. For the purpose of creating tests that can interact with web pages using the Selenium WebDriver. Including discussions on, what Selenium is, what tools it offers, and how to set up your environment to use Selenium. Then we walked through using the Selenium IDE to record tests interactively in a browser. Next, we looked at how to convert these recordings into actual TestNG tests. After we had our recorded tests running in TestNG, we did a walkthrough of the Selenium Webdriver API classes and methods. Wrapping up our discussion, by covering some patterns to help reduce the amount of duplicate page logic in each individual unit test.
So today we will be talking about Integration Testing. Specifically, what it is, when should we do it, who does it, and why is it so important? Then, we will cover why most of this type of testing is typically done by a QA manager or test team, not the developer. Next, we will discuss the different types of testing such as big bang, top-down, bottom-up, and sandwich/hybrid approaches. Including a real-world use case example of why/how a company would apply it. Finally, we will cover some of the best practices you should consider when doing integration testing.
What Is Integration Testing
Integration testing is the next level of software testing after unit testing. The purpose of this level of testing is to expose faults in the interaction between integrated units. In order to do this, you have to take the individual units and test them as a group. By using test drivers and test, stubs to confirm if the different modules work as expected or when integrated together. Unlike Unit testing integration testing is not done by developers. Instead, testing is done by a testing team and is usually done before system testing and it comes after unit testing.
In this stage of the test cycle, testing starts to move from the developer to an independent tester or team. Although, that is not to say that some Integration testing won’t be done by the developer. It just won’t be to the same extent as in the Unit Testing phase.
This series comes from our mentoring/mastermind classes. These classes are virtual meetings that focus on how to improve our technical skills and build our businesses. The goals of each member vary. However, this diversity makes for great discussions and a ton of educational value every time we meet. We hope you enjoy viewing this series as much as we enjoy creating it. As always, this may not be all new to you, but we hope it helps you be a better developer.