Gauge is a light weight cross-platform
test automation
In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive bu ...
tool. It uses
markdown
Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown i ...
to author test cases and scenarios. Its modular architecture makes it flexible and scalable.
Markdown
Gauge specifications are written in the business language. For example,
Find movies playing near me
The System Under Test in this example is a web application to find and book movie tickets
Search for movies
-----------------
* Specify location as "Bangalore"
* Search for movie "Star Wars"
* Verify that "INOX" is playing "Star Wars" at "7:30 pm"
Book movie ticket
-----------------
* Sign up with email address
* Complete the verification
* Select location as "Bangalore", the movie "Star Wars" and "3" seats
* Confirm and pay
* Verify the "e-ticket" has been sent to the registered email.
This Gauge specification describes a feature of the
System Under Test System under test (SUT) refers to a system that is being tested for correct operation. According to ISTQB it is the test object.
From a Unit Testing perspective, the SUT represents all of the classes in a test that are not predefined pieces of co ...
. The scenarios
Search for movies
and
Book movie ticket
represent a flow in this specification. Steps are executable parts of a specification.
Test Code
Specifications in Markdown abstracts code behind the steps.
For example, the step
Specify location as "Bangalore"
implementation in
Java
would look like
// This Method can be written in any java class as long as it is in classpath.
public class StepImplementation
Gauge has Support for writing test code in:
*
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
*
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
*
C#
The Community contributed language runners are:
*
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
*
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
*
Golang
Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style co ...
Execution
Gauge tests can be executed from the command line or the supported IDEs.
The default command
gauge specs
run the tests sequentially.
The command
gauge -p specs
will execute the tests in Parallel.
Reports
Gauge gives comprehensive test reports
that provides the required details of a given run.
IDE support
Gauge's IDE support
helps to write and maintain the test suite.
References
External links
*
*{{GitHub, getgauge
Free software testing tools
Cross-platform software
Free software programmed in Go
Software using the Apache license