Test Automation UI

Overview

How adding a nice web front-end to a command-line interface significantly improved productivity, quality, and cohesion across an entire organization.

Technical Tid-Bits

  • Front-end: Sencha ExtJs javascript web application
  • Back-end: Perl Catalyst with MySQL
  • Desktop-like presentation with various applications based on user’s role
  • Implemented user, authentication, and session management

Case Study

Scenario:
Enterprise client providing large complex high-available storage systems has multiple globally diverse development and test teams working together on a shared lab infrastructure. The lab has a limited pool of hardware for deployment of storage clusters that needs to support development and various levels of “smoke” and full system test activities.

This group spent a few years developing a custom test automation infrastructure that manages the deployment and configuration of hardware and sofware resources, configures clustering and failover, deploys software for test, executes tests, collects results, and then breaks it all down to restore the resources back to the lab pools for the next activities.

Problem:
The test infrastructure is all command line!
Every one hates using it, it’s a total bottle-neck to productivity.
  • The test system has a steep learning curve. One must learn the commands and use them to configure and run tests via long commands with numerous options and switches.
  • Triaging remote systems, test failures and log files via command line is tedious.
  • Developers were skipping “smoke” tests, constantly breaking the build.
  • System testers were getting lost in larger test configurations and monitoring deployments.
  • Managers have trouble producing accurrate quality metrics.
Solution:
A web application providing a web based user interface to the test infrastructure.
  • Developers can visually set-up, deploy, monitor, and triage “smoke” or code check-in tests in minutes helping them avoid breaking the build with trial-and-error coding.
  • Testers can configure and deploy complex configurations and automated test sets quickly. They can monitor progress across nodes in the cluster and easily get at log files and traige failures.
  • Managers can mine test result data for reporting and tracking of quality metrics. They can even export data and trends to spreadsheets for further analysis.