Bang: A general platform for test automation

Table of Contents

-*- mode: org -*-

1 Purpose

This document describes the Bang platform for test automation.

2 Intended audience

  • Managers interested in efficiently increasing quality
  • Domain experts interested in lowering their workload
  • Quality assurance experts interested in improving QA processes
  • Technical experts interested in test automation

3 Key features

  • Holistic End 2 End approach to test automation: from use case definition to test report.
  • Single version of the truth: one tool for all aspects of test automation.
  • Tracability Matrix: from use case to test run to report (to defects)
  • Leverages proven open source tools

4 Benefits

  • Increases transparency of the test process.
  • Implements proven best practises for test automation.
  • Domain experts describe use cases in a DSL. No need for an itermediary between domain expert and technical expert.
  • Lowers barrier of entry into test automation
  • Reduces necessary know how for test automation
  • Allows non technical users to do technical work
  • Reuse use cases: for functional tests, load tests, real E2E monitoring

5 Architecture

The following overview shows the big picture:


architecture.png

6 Components

6.1 Testbench

All artefacts are stored in a customized Jira instance. The use cases in DSL are stored in the testbench. The testbench has the following structure:


testbench.png

6.2 Domain Specific Language for test specification

The core and probably the unique selling point of Bang. A custom DSL for test specification allows non-technical users (domain experts) to specify use cases. The DSL consists of a normed set of nouns and verbs. These customer specific building blocks are then used to describe how users interact with the system under test. The language describes user inputs, user actions and expected results.

6.3 Test compiler

The test compiler translates the use case from DSL to a script for the relevant target platform. Test scripts are stored in the testbench.

6.4 Target platforms

Bang currently supports the following target platforms:

  • JMeter
  • SoapUI
  • Selenium
  • PhantomJS
  • Manual tests

6.5 Testlauncher

The testbench allows the user to configure and launch testruns for selected use cases. The configuration consists of

  • Number of users
  • Ramp
  • Testduration
  • Monitoring: set of components to be monitored and metrics to be collected

After the testrun all testrun related artefacts (testconfiguration, test metadata, performance related data, monitoring data) are stored in the testbench

6.6 Reporter

The data from one or more testruns form the basis for test reporting. The reporter writes reports in HTML or PDF. The reporte can export raw testdata to MS Excel.


Have fun!

Author: systemuser

Created: 2017-07-30 Sun 15:30

Emacs 25.1.1 (Org mode 8.2.10)

Validate