Skip to main content
Version: 3.0.1

Manual Test Guide

Purpose and Audience

This guide describes how to create and structure manual test procedures in JSON format for the PCR Analysis system. Manual tests represent step-by-step procedures for manual verification of system functionality and are stored in exports/manual/all_manual_tests.json within the test repository.

Intended audience:

  • Developers writing or maintaining manual test definitions alongside automated tests
  • QA Engineers authoring manual verification procedures for features that require human interaction or visual inspection

Related resources:


JSON Schema

{
"issueId": "string", // Jira issue numeric ID (required)
"testType": {
"name": "Manual", // Always "Manual" (required)
"kind": "Steps" // Always "Steps" (required)
},
"gherkin": null, // Always null for manual tests
"steps": [ // Array of test steps (required)
{
"id": "uuid", // Unique step identifier (required)
"action": "string", // Step action to perform (required)
"data": "string", // Input data (optional, can be empty)
"result": "string" // Expected result (required)
}
],
"jira": {
"key": "BT-xxxx", // Jira issue key (required)
"summary": "string" // Test summary/title (required)
},
"description": "string" // Optional test description
}

Field Reference

FieldTypeRequiredDescription
issueIdstringYesJira issue numeric ID
testType.namestringYesAlways "Manual"
testType.kindstringYesAlways "Steps"
gherkinnullYesNot used for manual tests
stepsarrayYesArray of step objects
steps[].idstringYesUUID for the step
steps[].actionstringYesAction to perform
steps[].datastringNoInput data or test data
steps[].resultstringYesExpected outcome
jira.keystringYesJira issue key (BT-xxxx)
jira.summarystringYesTest case title
descriptionstringNoOverall test description

Step Structure Patterns

Basic Step

{
"id": "uuid-here",
"action": "Click the Submit button",
"data": "",
"result": "Form is submitted successfully"
}

Step with Data

{
"id": "uuid-here",
"action": "Enter username in the login field",
"data": "test_user@example.com",
"result": "Username is displayed in the field"
}
{
"id": "uuid-here",
"action": "Setup with [kit-configurations-filename.xlsx|https://sharepoint-url...]",
"data": "",
"result": "The configuration is loaded"
}

Gherkin-Style Step (BDD format in manual test)

{
"id": "uuid-here",
"action": "*Given* Alert: Threshold=*2*, Outcome=*Not Detected*, Interval=*Daily*\n*When* Upload [Run_file.json|url]\n*And* Upload [Run_file_2.json|url]",
"data": "",
"result": "*Then* Alert is *triggered*"
}

For more on the Gherkin/BDD approach used in automated tests, see the Testing Guide.


Complete Template

{
"issueId": "XXXXX",
"testType": {
"name": "Manual",
"kind": "Steps"
},
"gherkin": null,
"steps": [
{
"id": "step-1-uuid",
"action": "Navigate to the [Page Name] page",
"data": "",
"result": "The [Page Name] page is displayed"
},
{
"id": "step-2-uuid",
"action": "Enter [input description]",
"data": "[test data value]",
"result": "The input is accepted"
},
{
"id": "step-3-uuid",
"action": "Click the [Button Name] button",
"data": "",
"result": "[Expected behavior description]"
},
{
"id": "step-4-uuid",
"action": "Verify the [element/behavior]",
"data": "",
"result": "[Expected verification outcome]"
}
],
"jira": {
"key": "BT-XXXX",
"summary": "Test Case Title"
},
"description": "Verify that [test objective description]"
}

Example: UI Feedback Test

{
"issueId": "29811",
"testType": {
"name": "Manual",
"kind": "Steps"
},
"gherkin": null,
"steps": [
{
"id": "cb938845-9885-44ea-929c-6b9d5a791f26",
"action": "Initiate a long-running process (e.g., data import, report generation).",
"data": "",
"result": "The system displays a progress indicator (e.g., progress bar, spinner)."
},
{
"id": "794b0996-e196-4b1b-9dbf-3afffb050048",
"action": "Monitor the progress indicator.",
"data": "",
"result": "The progress indicator updates to reflect the progress of the operation. The indicator provides clear feedback on the current status (e.g., percentage complete, items processed)."
},
{
"id": "89cdf928-eae6-4258-9e49-669deb61a281",
"action": "While the process is running, attempt to interact with the UI (e.g., click a button, navigate to another page).",
"data": "",
"result": "The system prevents actions that could interfere with the ongoing process. The system provides a clear message explaining that the operation is in progress and to wait."
},
{
"id": "117ed0f8-5cfa-47d1-8195-73779679d43b",
"action": "Once the process completes, observe the UI.",
"data": "",
"result": "The progress indicator disappears. A success or failure message is displayed, indicating the outcome of the operation. The user is able to interact with the UI again."
}
],
"jira": {
"key": "BT-5949",
"summary": "User Feedback During Processing"
},
"description": "Verify that the system provides appropriate feedback to the user during processing, such as a progress indicator or status updates, especially for long-running operations."
}

{
"issueId": "30098",
"testType": {
"name": "Manual",
"kind": "Steps"
},
"gherkin": null,
"steps": [
{
"id": "2901d93d-6e0a-49b8-baf3-595ed56ecbbe",
"action": "Setup with [kit-configurations-Secret Chamber (38).xlsx|https://sharepoint-url...]",
"data": "",
"result": "the config settuped new Target Name Suffix To Speciamen sheet is applied"
},
{
"id": "9cf61cb0-08c7-4935-96c0-141e9f39260d",
"action": "Upload and open the run [TAQMAN48 100823_022769 BK TEST (1).sds|https://sharepoint-url...]",
"data": "",
"result": "The A1,D1, E1,F1,G1,H1,A2,B2,C2,D2,E2 etc well recognized with BKV mix -Whole Blood Quant smple type"
},
{
"id": "a19706fa-41e0-4e67-8055-bf98a5a12e64",
"action": "Export the run and observe the results",
"data": "",
"result": "A1,D1, E1,F1,G1,H1,A2,B2,C2,D2,E2 etc wells have QBKQBL pathogen targets in exported results"
}
],
"jira": {
"key": "BT-5977",
"summary": "Sample Type suffixes recognizing idea tes"
}
}

Step Writing Guidelines

Action Field

  • Use clear, imperative verbs: "Click", "Navigate", "Enter", "Upload", "Verify", "Observe"
  • Reference specific UI elements by name
  • Include file links in format: [filename|URL]
  • Can use Jira markup: *bold*, {{code}}

Data Field

  • Include specific test input values
  • Leave empty if no data input required
  • Can include multiple values separated by commas

Result Field

  • Describe the expected observable outcome
  • Be specific about what should appear/change
  • Can use Jira markup for emphasis

For standardized terminology to use in actions and results, see the Data Dictionary.


Best Practices

  1. One step per action -- Keep steps atomic and focused
  2. Include all setup steps -- Do not assume prior state
  3. Use descriptive results -- Specify exactly what to verify
  4. Link to test files -- Use SharePoint links for test data
  5. Generate unique UUIDs -- Each step needs a unique ID
  6. Keep summaries concise -- Use the description field for details