Skip to main content
Version: 2.29

Making a Test Plan

The test plan is Discovery's primary output. It is a set of recommended Cycle tests, assembled from your questionnaire answers and delivered as a playlist you can run.

Before you generate

Two conditions must both be met.

Every applicable question must be answered. The hub reports this as readiness to generate. Questions marked unsure or inapplicable still count as outstanding. See Answering Questions.

You must ask for it. Generation never happens on its own, and the agent does not offer to attempt it early.

If you ask before the questionnaire is complete, the agent tells you which questions are still outstanding instead of producing a partial plan. Finish those, then ask again.

How a test plan is built

Generation is a deterministic translation of your answers, not a fresh interpretation of them:

  1. Your answers are matched against the rules for the system type to identify which behaviors need coverage.
  2. Overlapping recommendations are removed, so a behavior identified by several answers produces one test.
  3. Each remaining recommendation is resolved to a ready-made Feature File in Cycle's test library for that system.
  4. The result is rendered as a playlist.

Because each recommended test traces back to the answers that produced it, the plan is reviewable. If a test looks wrong, the answer behind it is the thing to revisit.

Previewing before writing

Generation can run as a preview. You see the playlist and the list of files that would be created, and nothing is written to your project.

Preview first in an existing project

A preview costs nothing and shows you exactly what would land. This is worth doing in a project that already contains work, so you can see which files would conflict before anything is written.

What gets written

When you generate for real, three things land in your Cycle project:

OutputWhere it goes
The tests for the recommended behaviorsMerged into the project from Cycle's test library. Files that are absent are created. Files already identical are skipped.
The generated playlistPlaylists/Custom, named Discovery Test Plan unless you ask for a different name.
A project manifestThe project root, recording what the plan contains.
Existing files that differ are never overwritten

If a file in your project has the same path as a library file but different contents, it is reported as a conflict and left exactly as it is. Your edits survive generation. Overwriting a conflict is a separate request you have to make explicitly, and your .cycuser settings file is never overwritten.

Discovery Test Plan.cycplay in the project's Playlists/Custom folder

Reviewing the result

The agent reports a summary of what happened. Read it rather than moving straight to running the tests, because it is where the gaps are disclosed:

  • What the plan covers, and the answers that drove each recommendation.
  • The file outcome, separated into created, skipped as identical, and conflicting.
  • Recommended tests the library does not yet contain: These are reported rather than dropped quietly, so you know the coverage gap exists and can author those tests yourself.

The agent's test plan summary reporting 82 tests across 9 areas, the created and skipped file counts, and the existing files it left untouched

Regenerating after a change

Discovery is not a one-shot activity. As you learn more about the system, change your answers and generate again.

Remember that changing an answer other questions depend on clears those dependent answers. See Changing an answer. The questionnaire can drop out of completion this way, which blocks generation until you resolve what reopened.

Example

You say:

The questionnaire is done. Show me what the test plan would look like before writing anything.

The agent:

  1. Confirms the questionnaire is complete.
  2. Generates a preview and reports the playlist contents, the files that would be created, and any that would conflict.

You say:

That looks right. Write it.

The agent:

  1. Merges the library tests into the project, creating the files that are absent and skipping the ones already identical.
  2. Writes the playlist to Playlists/Custom and the project manifest.
  3. Reports the summary, including the conflicts it left untouched and any recommended test the library does not contain.

Running the generated test plan

  • Executing Playlists: Run the playlist Discovery generated.
  • Convert ingested specifications into tests: If you also ran document ingest, the generate-tests-from-specs prompt turns those specifications into runnable tests. See Prompts.
  • Resuming Discovery: Share the work with your team, or come back to it later.