Noveum.ai
Noveum Docs
Test with NovaSynthPersonas and Scenarios

Personas and Scenarios

Define synthetic user behavior and the actions each test should exercise.

Personas describe who the synthetic user is and how they behave. Scenarios describe what that user should attempt during the interaction. A run combines one persona, one scenario, one connection, and one mode.

Personas

A persona influences language, tone, interruptions, speaking speed, profile context, and optional audio conditions.

Create a persona manually

Open NovaSynth > Personas and create a persona. The current form supports:

FieldPurpose
NameRequired display name
DescriptionInternal summary of the user behavior
InterruptionsFrequency with which the synthetic user interrupts
Speaking speedVoice speed from 0.7 to 1.2
Background noiseOptional ambient condition and level
TonePreferred communication style
Age, occupation, and genderOptional profile context

Review a generated or manual persona before running it. Demographic values should serve a test objective rather than become unexplained variation.

Generate personas

AI generation is asynchronous:

  1. choose Generate with AI
  2. describe the callers and behaviors needed
  3. select a count
  4. start generation
  5. wait while the job moves through pending and running states
  6. review the completed personas or inspect a failed job

The project system prompt and optional instructions guide generation. Generation can finish as completed, failed, or cancelled; the current UI polls the job until it reaches a terminal state.

The shared library page is not currently available for normal selection, so create or generate project personas directly.

Scenarios

A scenario defines actions the synthetic user should attempt and optional conditions that control when an action applies.

Create a scenario manually

Open NovaSynth > Scenarios and create a scenario with:

FieldPurpose
NameRequired display name
DescriptionTest intent and expected situation
InterruptionsOptional scenario-level behavior override
EventsActions and optional conditions
TagsLabels for organizing coverage

Each event has a unique ID, an action, an optional parent event, and an optional condition. There is no fixed event property. Do not design a scenario around fixed-step behavior that the current contract does not store.

Write actions as user intent rather than a rigid transcript. Conditions can branch behavior based on what happened earlier in the conversation.

Generate scenarios

Scenario generation is also asynchronous. Supply instructions and a count, then review the resulting actions and conditions when the generation job completes.

Useful generation instructions specify:

  • the product or domain
  • happy paths and expected objections
  • out-of-scope and adversarial behavior
  • termination conditions
  • language and compliance constraints

Build a coverage set

Keep personas and scenarios orthogonal:

  • personas vary communication style, language, and user context
  • scenarios vary goals, workflows, edge cases, and failure conditions

This makes matrix failures easier to interpret. If one scenario fails across personas, investigate the workflow. If one persona fails across scenarios, investigate language, timing, or interaction behavior.

Continue with runs and results to select explicit pairs or a persona-scenario combination set.