By Elfriede Dustin–IDT’s software engineers have set up and work in an Automated Testing Center of Excellence. This environment is characterized by virtualization, automation and continuous integration. Whether it’s used for development testing or system testing, both developers and testers can take advantage of this setting.  For purposes of this discussion, developers and testers will be referenced as users.

Characteristics of an Automated Testing Center of Excellence

Virtual Test Environment (VTE)

Virtual test environments help reduce testing infrastructure costs for testing areas such as interoperability, system testing, functional testing, component and unit testing.  This specific testing setup allows the use of virtualization in a specialized way to reduce the need for purchasing, storing and maintaining various expensive Test Environment (TE) hardware and software. Additionally, the quality of the test effort is improved through better regression testing, build verification testing, multi-platform compatibility testing, and the ability to more easily reproduce software problems.

All related automated testing activities and processes—test case and requirements import, requirements traceability, automated test creation and execution, and defect tracking—take place in this virtualized environment utilizing the automated testing solutions, described next. Users can request one or more instances of a VM along with the automated testing tool. The automated provisioning meets a user’s changing needs without software modifications on their end, as required to conduct the automated test.

Automated Testing Solutions

The VTE allows the users to choose from a selection of various automated testing tools, based on the testing needs. In IDT’s environment, users would choose from our Automated Test and ReTest (ATRT) product suite. If users needed to automate GUI-based or message-based tests, they would choose ATRT: Test Manager. If users needed to conduct data analysis, they would choose the ATRT: Analysis Manager.

ATRT-Product-Suite-Graphic

The VTE described previously can spawn an instance of ATRT which then allows the user to access any automated testing artifact and execute the automated testing lifecycle. The user can then conduct any activity that’s part of the automated testing lifecycle, i.e. create an automated test case, reuse or troubleshoot an existing automated test case created by any user, import requirements, produce a requirements traceability report, etc.  The VTE provides any additional features and capabilities required to support the SQA process and help improve quality, such as Unit Testing and Code Coverage.

Continuous Integration

Continuous integration (CI) is an industry adopted software engineering best practice in which any change to the code or environment is tested and reported on as soon as feasible. In a nutshell, CI involves testing and fixing iteratively and incrementally and adjusting when needed. In our case, this involves nightly software builds and nightly automated test runs to allow for quick-look reporting on any newly introduced issues. A virtualized development environment combined with automated testing tools and equipped with both regular workstations and laptop computers networked together make this possible.  For more on CI, see this previous blog.

If you are interested in learning more about IDT’s Automated Testing Center of Excellence or would like help implementing one in your environment, please contact us.

Elfriede Dustin works as a technical director at IDT, where she can apply her passion for automated software testing in a myriad of ways.