During this tutorial you have:
- manually invoked a GitHub workflow to publish pre-canned results
- implemented and executed new test specs from scratch
- learned how to generate and manage GitHub issues in conjunction with a Project Board
- formally defined a test session consisting of a set of specs for testing a build
- leveraged Exploratory Testing for non-scripted verification
- used variables and includes when implementing test specs
- created a branch when developing new test specs
This section of the tutorial will be demonstrating the power of automation, integrated into a manual test, using a Spec Fixture based on a Github Action.
This example highlights the built-in automated fixturing for "manual" tests.
To run a GitHub automation in Testspace a one time only configuration needs to be done by your Testspace account owner. For details see this on how to enable automation.
The following files and their content is used in this section of the tutorial
- Spec file -
- GitHub workflow yaml file -
The repo file structure:
To enable manual automation a front matter block is used at the beginning of the
spec. The header section below defines a
before fixture, which requires successful execution before test cases can be manually executed.
A fixture is used to execute serverless automation, which sets the state of the spec
before manual test case execution begins.
specs/use.setup.fixture.md file contains the following content:
name field in the Spec is referencing the
fixture.yml workflow file contained in the GitHub repo. The names are required to match exactly, excluding the "yml" extension.
- input parameters are optional
- input can also contain files (i.e. json, binary, etc.)
In this example, we are using a GitHub Workflow to run
handler.js, which implements the required setup.
.github/workflows/fixture.yml file contains the following content:
types: [name] has to match the workflow file name, excluding the extension. (i.e. "fixture").
Note that the
client_payload contains all of the input from the test spec.
The generic handler being used simply logs the
.github/workflows/handler.js file contains the following content:
payloadis passed on the command line as the 2nd parameter
The current test specs listing reflects the status of previous sessions and the new
Use Setup Fixture spec (defined in
specs/use.setup.fixture.md spec file).
To execute click on the
Use Setup Fixture spec.
Click on the START button to trigger the automation. While running a blue
○ spinning icon will appear, which should turn into a green
√ icon to reflect success.
At this point, all
test cases can be executed. Once the selected cases have been executed, the session can be completed and any teardown fixures would execute as well.
Testspace supports integrating automation with manual testing. The following are some key benefits:
- Reduce manual execution time. Fixturing can leverage automation for tedious and redundant setup/teardown requirements versus human execution.
- Deploy "hybrid testing" leveraging automation and human observations.
- Minimize IT setup for Human testers. All testing, including automation, is executed in the context of a web browser.
- Maintain test specs and automation in the same repo.