Automation of Integration Testing

Vishvvas
Posted by in Visual Studio category on for Beginner level | Points: 250 | Views : 7805 red flag

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

CruiseControl.net can be used in conjunction with SVN and UNIT. The details for such configuration are available at http://stackoverflow.com/questions/2559708/automated-test-build-and-deploy

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


Page copy protected against web site content infringement by Copyscape

About the Author

Vishvvas
Full Name: Vishwas Sutar
Member Level: HonoraryPlatinum
Member Status: Member,MVP
Member Since: 5/30/2011 2:13:10 AM
Country: India

http://www.dotnetfunda.com
Extensive and rich experience across gamut of technologies and programming languages like PB,VB,C++,VB.NET, C#, Classic ASP,ASP.NET, ASP.NET MVC.

Login to vote for this post.

Comments or Responses

Login to post response

Comment using Facebook(Author doesn't get notification)