In this article I am going to explain that how to serve as a starter document to offer glimpse of plausible approaches for automation of integration testing.
Introduction
In a software world of increasing complexities, high volume of software artifacts and multiple dependencies in applications, it becomes a challenge for IT managers to tackle the issues of integration testing which is an important pre-step before going live. As integration testing play important role to check and confirm that the individual modules (already UNIT tested) work well together, before deployment, the automation of such test can result in saving the time and improving reliability. If one looks at sheer efforts for performing integration testing by manual way, it’s huge and hence even costly, not timely. It’s a good news that there are so many options and alternatives are available to achieve automated integration testing. Generally the integration testing can be aligned with build process where while building the projects the integration test can run. This can be generally termed as Continuous Integration System.
Approaches
I: Exploring existing tools and technologies
I: Selenium
Selenium (by Thougtworks) is a great tool for automatic GUI testing. It consists of
- Selenium IDE – a Firefox plug-in for recording and editing test scripts.
- Selenium RC – a server component for running your scripts in different environments
- CruiseControl.Net is a Continuous integration server.
This is generally used for browser based applications and mostly the focus is GUI testing. But looks like it can be used for acceptance tests too. While running a build in CruiseControl, such test can be run.
II: NUNITForms
NUnitForms is a NUnit extension for unit and acceptance testing of Windows Forms applications.
The NUnit tests can open a window and interact with the controls. The tests will automatically manipulate and verify the properties of the GUI. The cleaning up the forms between tests, detecting and handling modal dialog boxes, and verifying that the expectations for the test are fulfilled is done by NUnitForms.
Automation of integration testing
III: TFS
TFS offers the automation of unit tests as a part of the build. The tests to be run can be selected while defining in the build.
IV: Other options
Summary
In this brief document, the different existing methods are discussed so as to automate the integration testing. Use of selenium is recommended for smoke test and applicable to web applications. NUNITForms can do the same for windows/desktop applications. TFS also helps integrate the unit tests with build definition with addition facilities for relating the results of such tests to work items and builds.
Conclusion
Using existing tools and technologies would be better option if TTM and cost savings are priority. TFS seems to a comprehensive and one stop solution which can do this job of automation. Of course this is one of the plethoras of functionality offered by TFS. Procuring TFS and configuring, setting is itself a big project.
Open source options are available too which seems good choice if TFS is not to be considered. These options need a good amount of expertise gained on its usage and implementation.
References