Skip to main content

Test Cycles

At this point, we know how to:

  • 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
  • leveraged, when applicable, automated fixturing for manual tests

We are now at the point when planning the testing for a release is addressed. This section of the tutorial presents using Cycles to scope and manage focused testing for an upcoming release/milestone.

It is not uncommon to skip, or at least defer, running groups of tests for a series of builds and or a release. A cycle defines a focused area of testing and provides the status of this focus. A cycle is defined as a subset of test specs contained within a branch of a repo.

A cycle is defined as a subset of the test specs contained within a branch of a repo.

Let's plan out (define) a release test cycle.

Define Cycle#

A GitHub Issue is used to define the cycle. In this example, and for sake of simplicity, we are just going to create one cycle, and it will only contain one test spec. However, there is no limit to the number of cycles, and what test specs they each can consist of. Refer to cycle configuration for more details.

Go to GitHub and create an issue named: Release 1.7.02 with the following content:

Focus on new Feature `ABC`
```
testspace:
branch: "main"
specs:
- path: "hello.md"
```

Testspace automatically detects the cycle issue and creates a corresponding sub-tab, based on the issue name.

Cycles

A cycle's status is maintained separately within Testspace; while still maintaining the overall aggregated test status.

Create Test Session#

Now that you have defined a cycle go ahead and execute the single test spec defined within the cycle:

  • First click on the Release 1.7.02 sub-tab
  • Execute the Hello Manual test spec
  • Once the test has been executed, Complete the session

Manage with Board#

The Testspace board automatically processes Cycles.

Board Cycle Management

Notes:

  • Each Cycle issue, along with a Note, will track the progress of the Cycle
  • Once a Cycle is closed, the Note will be removed and the sub-tab on Testspace will disappear

Also go back to the Release 1.7.02 sub-tab in Testspace. It also contains the status.

Cycle Sub-tab status

Recap#

Cycles can be used to manage focused areas of test execution for a release.

  • Cycles maintain their own test status
  • Cycles are managed on the same board as test case issues

Tip: Consider associating GitHub milestone with your cycle issue for better tracking

Refer to Manual Workflow help for more details and tips on common practices.