Skip to main content
Glama

IA-QA — 152 QA & Dev Tools for AI Agents

generate_test_cases

Read-onlyIdempotent

Generate a set of test cases (valid, edge, invalid, pairwise) for a given feature description. Declared constraints drive the boundaries: a length or numeric bound ("[8-64]", "min 8 chars", "at least 8 characters" — read from inputs, and from the feature prose when a sentence names exactly one field) yields the last accepted value AND the first rejected one; a format (email/url/uuid, from the type, the field name or the wording) yields malformed-value cases. A bound nobody declared is labelled as this tool's assumption, not as expected behaviour. gherkinFormat renders every case (cap 200, stated in the output) and gherkinScenarioCount lets you check it against totalCases.

Input Schema

NameRequiredDescriptionDefault
inputsNoOptional: list of input parameters (one per line, e.g. "email: string [required]", "password: string [required, min 8 chars]", "age: number [18-99]")
featureYesFeature or function to test. Be specific: describe inputs, expected behaviour, context. Constraints stated here ("password must be at least 8 characters") are used when the sentence names exactly one field.

Output Schema

NameRequiredDescriptionDefault
featureNo
test_casesNo
parsedInputsNo
gherkinFormatNo
gherkinScenarioCountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "feature": "Login form with email and password"
      +  }
      +]
  2. Changed5 schema fields changed
    • changedInput schema / properties / feature / description
      Previous value: -"Feature or function to test. Be specific: describe inputs, expected behaviour, context."New value: +"Feature or function to test. Be specific: describe inputs, expected behaviour, context. Constraints stated here (\"password must be at least 8 characters\") are used when the sentence names exactly one field."
    • changedInput schema / properties / inputs / description
      Previous value: -"Optional: list of input parameters (one per line, e.g. \"email: string [required]\")"New value: +"Optional: list of input parameters (one per line, e.g. \"email: string [required]\", \"password: string [required, min 8 chars]\", \"age: number [18-99]\")"
    • addedOutput schema / properties / gherkinFormat
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / gherkinScenarioCount
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / parsedInputs
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties
      Added value: +{
      +  "feature": {
      +    "type": "string"
      +  },
      +  "test_cases": {
      +    "items": {
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  5. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description is consistent with them while adding genuinely non-obvious behavior: undeclared bounds are flagged as the tool's own assumptions rather than expected behaviour, and gherkinFormat output is capped at 200 cases with the cap stated in the output. That assumption-labelling is a meaningful disclosure an agent would otherwise have to discover by experiment. It stops short of describing failure modes or what happens with an empty/ambiguous feature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is correctly front-loaded in sentence one, and most later content earns its place. But the final sentence drops `gherkinFormat` and `gherkinScenarioCount` without marking them as output fields, which reads as if they were parameters that do not exist in this schema, and the nested parentheticals (with quoted regex-ish examples) make the middle dense to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and both parameters are fully documented in the schema. The description supplies the interpretive rules an agent needs (constraint sources, assumption labelling, case cap) for a fairly complex generator. Minor gaps remain: no guidance on how large/rich the feature description must be, and the gherkin output fields are referenced without being identified as outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes beyond it by explaining how `feature` prose is parsed for constraints (only when a sentence names exactly one field) and how `inputs`-declared bounds like "[8-64]" produce last-accepted and first-rejected values. That is real semantic guidance the schema does not contain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource — "Generate a set of test cases (valid, edge, invalid, pairwise) for a given feature description" — and the parenthetical enumerates the case categories, which is more than a restatement of the name. It does not distinguish itself from near-neighbours like jira_to_test_suite or prompt_test_suite, so an agent must infer the boundary rather than read it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the detailed mechanics (constraints in `inputs` or in the feature prose drive boundaries; undeclared bounds become labelled assumptions), but there is no explicit "use this when…" statement and no named alternative. The one implicit scoping rule — prose constraints count only "when a sentence names exactly one field" — is useful but is about interpretation, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.