Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
  • Records
  • Legit.Health Plus Version 1.1.0.0
    • Index
    • Overview and Device Description
    • Information provided by the Manufacturer
    • Design and Manufacturing Information
    • GSPR
    • Benefit-Risk Analysis and Risk Management
    • Product Verification and Validation
      • Software
        • R-TF-012-023 Software Development Plan
        • R-TF-012-033 Software Test Plan
        • R-TF-012-034 — Software Test Description
        • R-TF-012-035 Software Test Report
        • R-TF-012-038 Verified Version Release
        • EN 62304 Checklist
        • EN 82304 Checklist
        • Design History File
      • Artificial Intelligence
      • Cybersecurity
      • Usability and Human Factors Engineering
      • Clinical
      • Commissioning
    • Post-Market Surveillance
  • Legit.Health Plus Version 1.1.0.1
  • Licenses and accreditations
  • Applicable Standards and Regulations
  • Grants
  • Pricing
  • Public tenders
  • Legit.Health Plus Version 1.1.0.0
  • Product Verification and Validation
  • Software
  • R-TF-012-033 Software Test Plan

R-TF-012-033 Software Test Plan

Change history​

VersionDateAuthorReviewerApproverSummary of change
0.12025-12-18Gerardo Fernández Moreno (JD-007)TBDTBDInitial draft aligned to TestRail-governed, requirements-driven verification.
0.22025-12-18Gerardo Fernández Moreno (JD-007)TBDTBDAudit-oriented strengthening: objective acceptance criteria, evidence/records rigor, change control clarifications, execution governance, and removal of ambiguous placeholders.

Purpose​

This Software Test Plan defines the verification strategy, governance, execution approach, and evidence records for the medical device exposed as a versioned HTTPS API. The plan is requirements-driven and provides complete traceability to the software requirements baseline, with execution evidence managed through TestRail and supporting CI/CD artifacts.

The objectives of this plan are to:

  • Define the verification approach (test levels, test types, gating, regression strategy) for the API medical device.
  • Specify how each software requirement is verified, including objective pass/fail criteria and required evidence.
  • Establish traceability from requirements to test cases and test execution records.
  • Define how test records are generated, reviewed, retained, and presented as regulated evidence.

Scope​

In scope​

  • Verification of all requirements in the approved requirements baseline (functional, security, performance, reliability, data integrity, and operational/commissioning requirements).
  • Verification of externally exposed API behaviors and contracts, including:
    • GET /, GET /health, GET /device-information
    • GET /params/body-sites, GET /params/clinical-signs,
    • POST /login
    • POST /diagnosis-support, POST /clinical-signs
  • Verification of security and cybersecurity controls such as TLS enforcement, authentication/authorization behaviors, rate limiting, and audit trail behaviors.
  • Performance verification under nominal load.

Out of scope​

  • Clinical validation or clinical performance claims of AI/ML outputs against ground truth datasets (handled under separate clinical evaluation/validation protocols).
  • UI-level testing (no UI is in scope for an API-only device).
  • Non-product tooling verification except where required to establish objective evidence capture (e.g., CI artifact generation, exports).

Test management system and governance (TestRail)​

Tool confidence (TestRail and CI evidence pipeline)​

TestRail is used as the controlled execution record and index; regulated evidence is obtained from TestRail exports plus CI artifacts stored in the evidence pack. The CI evidence pipeline (export generation, artifact capture, and manifest creation) is maintained under version control, changes are peer-reviewed, and each release verification includes a sanity check that required artifacts and manifest fields are generated and retrievable.

TestRail project structure​

  • Project: Medical Device
  • Suite: single suite (regulated baseline)
  • Sections (as implemented):
    • API
      • System Info
    • Diagnosis Support
    • Clinical Signs
    • Image metadata
    • Security
    • Report builder
    • Performance
    • Audit
    • Commissioning

Stable identifiers​

  • Primary Requirement Id field is authoritative and shall match the requirement code in the requirements baseline.
  • Execution identity for a run is captured via:
    • release_version (TestRail run custom field)
    • Run naming convention including commit_sha and gha_run_id
    • Evidence pack manifest including the immutable build identity tuple (release tag, commit SHA, GitHub Actions run ID, and image digest when applicable)

Custom fields (as implemented)​

Note on field naming

The field identifiers used in this plan (e.g., requirement_ids, primary_requirement_id, evidence_required) refer to the internal field names/keys in TestRail. The human-readable labels in the TestRail UI/export may differ. Where needed for audit/readability, a mapping between internal keys and UI labels is maintained in the TestRail administration configuration.

Test Cases​

  • requirement_ids (one per line; may include multiple; must include the authoritative RequirementID(s))
  • primary_requirement_id (single primary RequirementID for reporting)
  • test_level (Unit / Integration-Service / System-API / Commissioning)
  • test_type (Functional / Security / Performance / Reliability / Data Integrity / Installation-Maintenance)
  • automation (Automated / Manual / Hybrid)
  • nrt (Non-Regression Test membership)
  • risk_link (link to hazard/risk control IDs; if available)
  • evidence_required (explicit evidence expectations; minimum evidence is defined in “Test execution, data recording, and evidence pack”)
  • expected_results (objective pass/fail criteria; must be specific and measurable)
  • preconditions (list that must be met before execution)

Test Runs​

  • release_version (SemVer tag, e.g., vMAJOR.MINOR.PATCH)

Naming conventions​

Test Cases​

  • Title states what is going to be verified.
  • The requirement_ids and primary_requirement_id fields must include RequirementIDs exactly as in the requirements baseline.

Test Runs​

Test Plans vs Test Runs (TestRail)
  • A "Test plan" is a container that groups multiple "Test Runs" under a single controlled verification activity for a specific build and environment (e.g., a given {release_version}, {commit_sha}, {gha_run_id}, and {env_id}).
  • A "Test Run" is the execution record where test case results (pass/fail/blocked), execution notes, and evidence are recorded for a defined scope and purpose (e.g., {run_purpose} such as Smoke, Regression, Performance, Commissioning).
  • In this test process, the "Plan" represents the overall verification campaign for a build/environment, and each "Run" represents one execution slice within that campaign.
  • Plan name: Medical Device API {release_version} (sha:{commit_sha}, gha:{gha_run_id}) — Verification Plan — {env_id}
  • Run name: Medical Device API {release_version} (sha:{commit_sha}) — {run_purpose} — {env_id}
  • {env_id} is one of: Dev / Pre / Pro.

Minimum required metadata to be present (either as run fields, run name, or in the evidence pack manifest):

  • release version
  • commit SHA
  • CI pipeline identity (GitHub Actions run ID)
  • environment ID

Change control for test cases​

  • Test cases are regulated records. Edits to approved test cases are controlled and reviewable.
  • During an active release candidate verification campaign, test cases used by that campaign are treated as frozen (no substantive edits); fixes are handled as controlled updates with reviewer approval and recorded justification.
  • Substantive changes that affect pass/fail meaning, test objective, or requirement coverage require controlled revision and reviewer approval prior to execution for regulated evidence.
  • Evidence expectations (evidence_required) are treated as part of the acceptance criteria and must be kept consistent with the CI/TestRail evidence pipeline.

Requirements taxonomy and verification strategy​

Test levels (where executed)​

  • Unit: Dev (CI pipeline). Fast verification of pure functions and internal logic.
  • Integration-Service: Dev (CI pipeline). Service-to-service and persistence integration.
  • System-API: Pre. End-to-end API contract, workflows, security controls, and response schema verification.
  • Commissioning (Pro)
    • Purpose: Operational verification of the deployed production release (installation/readiness/controls).
    • Inputs: Controlled, non-identifying test data only.
    • Execution: Restricted to approved personnel.
    • Record: Commissioning outcomes are documented in controlled commissioning records:
      • R-TF-029-001 (Deployment & Configuration)
      • R-TF-029-002 (Functional & Interface)
      • R-TF-029-003 (Clinical Workflow & Operational Readiness)
    • Indexing: A dedicated TestRail Run with test_level = Commissioning is created to index commissioning execution and link to the above records.

Entry and exit criteria (minimum)​

Entry (before executing regulated evidence runs):

  • Requirements baseline is approved and versioned.
  • Test cases are reviewed/controlled (no unreviewed substantive edits).
  • Target environment and build identity are defined (release version, commit SHA, CI run identity, and env_id).

Exit (release verification complete):

  • All required runs for the release/environment are executed (Dev CI + Pre verification + Pro commissioning).
  • Any failed cases have linked defect records, disposition, and documented re-test where applicable.
  • Evidence pack is complete and includes manifest binding results to build identity.

Commissioning records (R-TF-029-001/002/003)​

Commissioning in TestRail (alignment with R-TF-029 records)​

Commissioning activities in Pro are executed and recorded using controlled commissioning records:

  • R-TF-029-001 — Deployment & Configuration Commissioning Record
  • R-TF-029-002 — Functional & Interface Commissioning Record
  • R-TF-029-003 — Clinical Workflow & Operational Readiness Commissioning Record

To ensure consistent reporting and evidence retrieval, commissioning is also represented in TestRail as a dedicated Commissioning section and a dedicated Commissioning run for each release/environment.

Granularity rule (minimum):

  • Commissioning TestRail test cases SHALL be defined at the level of the main verification sections in the R-TF-029 records (e.g., “End-to-End Clinical Workflow Execution”, “AI/ML Model Runtime Availability”, “Clinical Output Integrity and Structure”).
  • Detailed step-by-step execution remains in the R-TF-029 records; TestRail records the pass/fail outcome per section and links to the corresponding evidence items and signed record.

Evidence rule:

  • Each commissioning test result SHALL link to the relevant section of the completed R-TF-029 record and to the supporting evidence referenced in the Evidence Register and/or the evidence pack.

Relationship to TestRail and evidence packs:

  • A dedicated TestRail Run with test_level = Commissioning is created to execute and record commissioning.
  • Commissioning outcomes are recorded per commissioning test case (aligned to the main verification sections of R-TF-029-001/002/003), with an overall run summary derived from the per-case results.
  • The TestRail commissioning run links to the completed R-TF-029 records and to the supporting evidence items referenced in those records.

Baseline identification alignment:

  • For commissioning evidence, the baseline identity SHALL be recoverable from the evidence set, including: {release_version}, {commit_sha}, {gha_run_id} (or equivalent CI pipeline identity), {env_id}, and (when applicable) container image digests.
  • If commit SHA / CI run ID are not recorded directly inside the R-TF-029 record, they SHALL be recorded in the commissioning TestRail run metadata and/or in the evidence pack manifest.

Interface naming alignment:

  • API endpoints and routing prefixes used in commissioning SHALL be documented in the commissioning evidence set (base URL and any routing prefix such as /vX.Y/).
  • If production routing paths differ from the logical endpoints used in the requirements baseline, the evidence set SHALL include a mapping (e.g., “requirements endpoint” → “production route”).

Test types (how classified)​

  • Functional (API behavior, workflow orchestration, report content)
  • Security (TLS/auth/rate-limits/audit controls)
  • Performance (p95 latency and load behavior)
  • Reliability (availability, resilience expectations, controlled operational checks)
  • Data Integrity (schema constraints, traceability IDs, audit completeness)
  • Installation-Maintenance (readiness endpoints, monitoring, operational checks)

Gating and regression strategy​

  • Pull Request gate (Dev):
    • Unit + integration must pass in CI
    • JUnit XML + logs are produced as artifacts
    • Coverage report is produced as artifact
  • Release candidate (Pre):
    • Execute the System-API NRT run (all cases flagged nrt = Yes)
    • Execute targeted non-NRT suites for changed components (risk-based selection; documented in the run notes)
    • Execute the performance run
  • Production commissioning (Pro):
    • Execute the Commissioning run in TestRail before enabling/confirming traffic for the release
    • Commissioning focuses on operational readiness checks and evidence capture; it does not replace Pre verification
    • Commissioning execution is governed by the controlled commissioning records (R-TF-029-001/002/003) and linked as evidence from the Commissioning run

Test environment​

Environment IDs and use​

  • Dev: unit/integration execution
  • Pre: system/API verification (release candidates)
  • Pro: commissioning, operational verification

Environment controls​

For each environment, the following must be versioned and referenced from the evidence pack:

  • API base URL + routing prefix (e.g., /vX.Y/)
  • Deployment artifact identity (release version + commit SHA + CI run identity; include container image digest when applicable)
  • Runtime configuration baseline reference
  • Credentials/secrets handling (not stored in TestRail; not stored in evidence packs)

Operational constraints for Pro commissioning:

  • Commissioning execution is restricted to approved personnel.
  • Commissioning test data is non-identifying and controlled.
  • Evidence pack captures operational readiness without exposing secrets or sensitive data.

Planned tests​

All requirement-driven verification test cases are defined and maintained in TestRail under the section structure defined above, and traced to requirements via requirement_ids / primary_requirement_id.

The traceability matrix is maintained as a controlled export.

Test execution, data recording, and evidence pack​

What constitutes “execution evidence”​

For each TestRail Run:

  • TestRail Run export (PDF/CSV) containing:
    • Run metadata (release_version, env_id in name), tester, timestamps, per-case outcomes
    • Per-case comments and defect links
    • A snapshot of the executed test case definitions (via TestRail export or equivalent) is retained in the evidence pack to ensure the pass/fail meaning is reconstructable for the executed release.
  • Attachments per evidence_required:
    • CI artifacts: JUnit XML, logs, coverage HTML (coverage.py) and performance reports as applicable
    • Request/response transcripts (from logs) for System-API cases
    • Commissioning evidence: deployment/config exports, monitoring snapshots

Evidence pack storage (decision)​

System of record for evidence packs: S3 (immutable evidence store), with TestRail containing the index and links.

S3 path convention

  • s3://<md-evidence-bucket>/software-tests/{release_version}/{env_id}/{testrail_plan_id}/
    • testrail/ (plan/run exports)
    • ci/ (JUnit XML, logs, coverage)
    • perf/ (jMeter reports)
    • commissioning/ (config exports, screenshots)
    • hashes/ (manifest of artifacts + checksums)

Evidence pack protection (minimum)​

  • Evidence packs SHALL be stored in an access-controlled location with least-privilege permissions for read/write.
  • Evidence pack contents SHALL be protected from modification after creation; if updates are required (e.g., re-test evidence), they SHALL be additive and traceable (e.g., new artifact versions + updated manifest).
  • The hashes/ manifest SHALL bind artifacts to the release identity (release version, commit SHA, CI run identity, env_id) to support audit reconstruction.

Commissioning evidence (Pro)​

  • System of record for evidence packs remains: S3.
  • For commissioning runs, the S3 evidence pack SHALL include under commissioning/:
    • The completed/signed commissioning records (R-TF-029-001/002/003) as PDFs/exports, and
    • The key referenced artifacts (e.g., deployment/config exports, monitoring snapshots), OR immutable links to their controlled sources (e.g., CloudWatch/DynamoDB identifiers) when exports are not practical.
  • The evidence pack manifest SHALL record, at minimum:
    • {release_version}, {env_id}, {testrail_plan_id}, {testrail_run_id}
    • {commit_sha} and {gha_run_id} (or equivalent CI pipeline identity)
    • Container image digest(s) when applicable
  • Any differences between “requirements endpoint naming” and “production routing paths” SHALL be documented in the commissioning evidence set (base URL, routing prefix such as /vX.Y/, and a simple mapping when needed).

Relationship to T-012-035 (Test Run record)​

The “Test Run record” (T-012-035) is operationalized as:

  • The TestRail Run export (including execution timestamps, outcomes, testers and per-case results), plus
  • The linked evidence pack folder for that run, plus
  • An evidence pack manifest that binds the execution record to the exact build identity and artifacts.

The evidence pack manifest is a structured file stored in the evidence pack (e.g., manifest.json) containing, at minimum:

  • release_version
  • commit_sha
  • gha_run_id (CI pipeline identity)
  • env_id (Dev / Pre / Pro)
  • TestRail identifiers (Plan ID and Run ID)
  • Artifact inventory (file list) including cryptographic checksums (e.g., SHA-256) for each artifact
  • Evidence pack creation timestamp and creator identity (system/service account)

Evidence pack completeness expectations for a regulated run:

  • TestRail Run export (PDF/CSV) is present in the evidence pack (or the evidence pack includes an immutable link to it).
  • CI artifacts referenced by executed automated cases are present (JUnit XML, logs, coverage report, and any generated reports).
  • Performance artifacts are present when performance cases are executed (raw results + generated report).
  • Commissioning artifacts are present when commissioning cases are executed (deployment/config evidence and operational check evidence).
  • The manifest inventory matches the stored artifacts (no missing files; checksums validate).

Evidence pack immutability expectations:

  • Evidence packs are stored in a controlled evidence repository with restricted write access.
  • Evidence packs are protected from post-hoc modification by enabling repository controls (e.g., bucket/object versioning and write-once controls) and recording immutable artifact identities (checksums) in the manifest.
  • TestRail retains the execution timestamps and user identity; the evidence pack manifest and storage controls prevent silent alteration of the supporting artifacts.

Traceability and coverage​

Traceability mechanism​

  • Requirements baseline is the authoritative list of RequirementIDs.
  • Traceability is achieved by:
    • Storing RequirementIDs in TestRail test cases (requirement_ids, primary_requirement_id)
    • Maintaining a controlled traceability matrix export (RequirementID → Test Case ID(s) → Evidence)
  • Coverage rule: every RequirementID maps to at least one test case, or is explicitly justified as not applicable with documented rationale.

Coverage completeness​

The requirements baseline and coverage status are defined by the controlled traceability matrix export included as Annex A. Coverage is considered complete when each requirement in the export is mapped to at least one planned test case (or has a documented verification rationale where testing is not applicable).

Defect management (GitHub Issues)​

  • Defects are tracked as GitHub Issues.
  • Defect linkage rule:
    • Any failed test that indicates a product nonconformance to a requirement requires a linked GitHub Issue in the TestRail result comment.
    • Failures due to environmental issues (e.g., infrastructure outage) must be explicitly labeled as such in the test result comment, with objective evidence, and re-tested once the environment is restored.
  • Required defect fields (minimum):
    • Fix version
    • Labels
    • Priority
    • Severity

Records retention​

  • Test evidence packs and exports (including TestRail Plan/Run exports, per-case results, CI artifacts such as JUnit XML/logs/coverage reports, performance reports and raw results, commissioning evidence, and the evidence pack manifest) are retained for 10 years.
  • The system of record for test evidence packs is S3 using a release-scoped folder structure. Evidence integrity is supported by S3 bucket versioning and by storing an evidence pack manifest containing an inventory of artifacts and cryptographic checksums.
  • TestRail is used as the execution record and index. For each regulated verification campaign, TestRail exports are generated and stored in the corresponding S3 evidence pack.
  • Audit trail retention: Audit trail records are retained indefinitely in DynamoDB (no time-based deletion). Retention is verified by confirming that no automated TTL/expiry policy is configured for audit records and that audit data remains retrievable for historical periods. Access to audit trail data is restricted to authorized roles; audit data is not modified post-write except by controlled administrative operations.
  • Disposal: test evidence packs and audit records are not deleted during the defined retention period. Any exceptional disposal (e.g., due to legal request or migration) is handled under controlled change with documented justification, approvals, and preservation of traceability and integrity.

References​

  • R-TF-029-001 Deployment and Configuration Commissioning Record
  • R-TF-029-002 Functional and Interface Commissioning Record
  • R-TF-029-003 Clinical Workflow and Operational Readiness Commissioning Record
  • Applicable standards for software verification planning, traceability, and records: ISO 62304 and ISO 82304-1.
  • EU MDR documentation retention expectations (used to define minimum evidence retention period).
  • Requirements baseline: Software Requirements (authoritative RequirementIDs).
  • Test management system: TestRail (project “Medical Device”).
  • CI system: GitHub Actions.
  • Defect tracker: GitHub Issues.

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Author: Team members involved
  • Reviewer: JD-003, JD-004
  • Approver: JD-001

Annexes​

  • Annex A: Traceability matrix
  • Annex B: TestRail case list export

Annex A: Controlled export — Traceability matrix​

SRS IdSRS NameTest Case IdTest Case TitleTest Case URL
SRS-0ABGenerate per-image ICD analysis with explainability heat mapC256Verify response includes per-image ICD probabilities and heat maps for the top five categoriesView in TestRail
SRS-1KWSecure Communication Protocol EnforcementC332Verify API accepts requests over HTTPS using TLS 1.2 or 1.3View in TestRail
SRS-1KWSecure Communication Protocol EnforcementC333Verify API rejects or redirects unencrypted HTTP requestsView in TestRail
SRS-1KWSecure Communication Protocol EnforcementC334Verify API rejects connections using deprecated TLS versionsView in TestRail
SRS-1XRInclude model sensitivity in reportC257Verify analysis response includes numeric sensitivity within performanceIndicator objectView in TestRail
SRS-28XImplement progressive delays between failed login attemptsC335Verify progressive increase in enforced delay across consecutive failed authentication attemptsView in TestRail
SRS-28XImplement progressive delays between failed login attemptsC336Verify delay progression counter resets upon successful authenticationView in TestRail
SRS-36USystem Information Endpoint ImplementationC43Verify retrieval of system status and version via the root API endpointView in TestRail
SRS-58WInclude entropy score in reportC258Verify response includes normalized entropy score between 0 and 1 in performanceIndicatorView in TestRail
SRS-66OInclude model specificity in reportC259Verify analysis response includes correct model specificity in performanceIndicatorView in TestRail
SRS-6KEAPI Health Check EndpointC169Verify health check endpoint returns HTTP 503 when service is unavailableView in TestRail
SRS-6KEAPI Health Check EndpointC46Verify the public health endpoint returns HTTP 200 and status OK when operationalView in TestRail
SRS-71IInclude the indicator of needing a high priority referral in the reportC260Verify report response includes highPriorityReferral score within clinicalIndicator objectView in TestRail
SRS-7PJNetwork Service ExposureC50Verify the API service accepts incoming HTTP requests on the designated network portView in TestRail
SRS-8HYInclude the indicator of malignancy in the reportC261Verify the final report response includes the malignancy probability within the clinicalIndicator objectView in TestRail
SRS-8QREncapsulate Proprietary DataC367Verify proprietary metrics are encapsulated in additionalData objectView in TestRail
SRS-9ZTThe product classifies the image's modalityC327Verify API returns modality confidence scores and sets the final value to the highest scoring modalityView in TestRail
SRS-A25Role-Based Access Control (RBAC) with Least Privilege Principle to restrict users to essential functionsC337Verify successful access to permitted endpoints for an authorized roleView in TestRail
SRS-A25Role-Based Access Control (RBAC) with Least Privilege Principle to restrict users to essential functionsC338Verify access denial for endpoints outside the assigned role scopeView in TestRail
SRS-A2BAPI Rate LimitingC339Verify HTTP 429 response when request volume exceeds defined thresholdView in TestRail
SRS-A2BAPI Rate LimitingC340Verify request acceptance after rate limit time window expirationView in TestRail
SRS-A4WInflammatory Nodular Lesion QuantificationC270Verify API returns accurate counts and bounding boxes for HS lesion types in valid image requestsView in TestRail
SRS-A57Audit Trail Data Retention PolicyC379Verify administrator configuration of audit trail retention periodView in TestRail
SRS-A57Audit Trail Data Retention PolicyC380Verify automated archiving of audit trails exceeding active retention periodView in TestRail
SRS-A57Audit Trail Data Retention PolicyC381Verify secure and logged disposal of audit trail archives after total retention periodView in TestRail
SRS-A6TDelimited Wound Edges AssessmentC271Verify wound boundary classification returns present or absent with confidence scoreView in TestRail
SRS-A9FWound Bed Tissue - EpithelialC266Verify epithelial tissue analysis returns valid binary prediction and confidence scoreView in TestRail
SRS-AQMStandard HTTP Status Code UsageC62Verify API returns appropriate 2xx, 4xx, and 5xx HTTP status codes based on request outcomeView in TestRail
SRS-B3ZInflammatory Pattern IdentificationC267Verify API returns Hurley stage and inflammatory status with associated probabilities for valid image inputView in TestRail
SRS-B6LWound Bed Tissue - NecroticC268Verify necrotic tissue analysis returns binary prediction and confidence scoreView in TestRail
SRS-B8NPustule Intensity QuantificationC269Verify generation of normalized probability vector and derived severity score via API for pustule intensity quantificationView in TestRail
SRS-BA6Display the legal information about this medical deviceC66Verify retrieval of mandatory legal information, UDI, and regulatory metadata via APIView in TestRail
SRS-BK7Encrypted Backup and Integrity VerificationC363Verify encrypted backup generation and integrity verification loggingView in TestRail
SRS-BK7Encrypted Backup and Integrity VerificationC364Verify backup schedule configuration persistenceView in TestRail
SRS-BWBPerformance and LatencyC416Verify p95 API latency remains under 10 seconds during nominal loadView in TestRail
SRS-BYJJSON Data Interchange FormatC68Verify API processes JSON requests and returns JSON responses with correct Content-Type headersView in TestRail
SRS-C1RSerous Exudate AssessmentC272Verify API returns binary prediction and confidence score for serous fluid detection requestsView in TestRail
SRS-C7KAcneiform Inflammatory Lesion QuantificationC273Verify API returns correct lesion count and bounding boxes for valid acneiform image requestView in TestRail
SRS-CCDIntrusion Prevention and Malicious Traffic DetectionC365Verify rejection of requests containing malicious attack signaturesView in TestRail
SRS-CCDIntrusion Prevention and Malicious Traffic DetectionC366Verify blocking of anomalous high-frequency request burstsView in TestRail
SRS-D08Include the indicator of the image presenting a pigmented lesion in the reportC262Verify report generation includes pigmentedLesion probability in clinicalIndicatorView in TestRail
SRS-D3NProvision of Clinical Parameter EndpointsC73Verify retrieval and filtering of clinical master data via parameter endpointsView in TestRail
SRS-D6WAccurate Time SynchronizationC382Verify System Timestamp Accuracy via API Response HeadersView in TestRail
SRS-D6WAccurate Time SynchronizationC383Verify NTP Configuration and Synchronization StatusView in TestRail
SRS-D6WAccurate Time SynchronizationC384Verify NTP Synchronization Failure ReportingView in TestRail
SRS-D7NPurulent Exudate AssessmentC274Verify API returns valid purulent exudate classification and confidence score for a wound imageView in TestRail
SRS-D9TMaceration Surface QuantificationC275Verify generation of maceration segmentation mask, percentage, and absolute area from a valid wound image requestView in TestRail
SRS-DW0User Authentication Endpoint ImplementationC77Verify successful user authentication and token generation via the POST /login endpointView in TestRail
SRS-E1VBody Surface SegmentationC325Verify generation of 5-class anatomical segmentation mask and BSA metrics via APIView in TestRail
SRS-E4RErythema Intensity QuantificationC276Verify erythema quantification API returns probability vector, calculated severity, and confidence scoreView in TestRail
SRS-EH4Security-Safe Error HandlingC331Verify API returns sanitized error responses with appropriate HTTP status codes and no internal detailsView in TestRail
SRS-F05Generate FHIR DiagnosticReport Base StructureC368Verify FHIR DiagnosticReport base structure and fixed coding valuesView in TestRail
SRS-F2KThickened Wound Edges AssessmentC278Verify wound edge analysis returns valid presence prediction and confidence scoreView in TestRail
SRS-F6JHair Loss Surface QuantificationC280Verify hair loss quantification API returns segmentation mask and calculated percentageView in TestRail
SRS-F9LFitzpatrick Skin Type IdentificationC324Verify API returns Fitzpatrick type, probabilities, and confidence score for a valid image requestView in TestRail
SRS-FMGRecord Analysis Duration in ReportC369Verify analysisDuration field population in DiagnosticReportView in TestRail
SRS-G3PWound Perilesional Erythema AssessmentC281Verify perilesional erythema assessment returns binary prediction and confidence scoreView in TestRail
SRS-G9RWound Stage ClassificationC282Verify API returns stage label, probability distribution, and confidence score for valid image inputView in TestRail
SRS-H2VHead DetectionC323Verify API returns subject coordinates, count, and multi-subject status for valid image inputView in TestRail
SRS-H3JDeterministic Response SchemasC375Verify response structure compliance with OpenAPI success schemaView in TestRail
SRS-H3JDeterministic Response SchemasC376Verify response structure compliance with OpenAPI error schemaView in TestRail
SRS-H5KErythema Surface QuantificationC283Verify API returns erythema segmentation mask and area metrics for valid wound imageView in TestRail
SRS-H9XLichenification Intensity QuantificationC284Verify lichenification model outputs probabilities, weighted severity score, and confidence metricView in TestRail
SRS-I7TWound Affected Tissue - Intact SkinC285Verify intact skin classification and confidence score generation for valid wound image inputView in TestRail
SRS-IC4Software and Configuration Integrity VerificationC357Verify successful execution and audit logging of system integrity checksView in TestRail
SRS-IC4Software and Configuration Integrity VerificationC358Verify detection and logging of configuration integrity failuresView in TestRail
SRS-ID7Input Data ValidationC330Verify API rejects malformed, oversized, or out-of-bounds inputs with standardized 400 Bad Request responsesView in TestRail
SRS-J5PHair Follicle QuantificationC286Verify API returns follicle count, bounding boxes, and confidence scores for a valid scalp imageView in TestRail
SRS-J9VIndistinguishable Wound Edges AssessmentC287Verify API returns valid binary prediction and confidence score for edge assessmentView in TestRail
SRS-JC6The product provides a final image validity summaryC370Verify final validity summary is positive when all criteria are metView in TestRail
SRS-JC6The product provides a final image validity summaryC371Verify final validity summary is negative when image quality is unacceptableView in TestRail
SRS-JC6The product provides a final image validity summaryC372Verify final validity summary is negative when image is non-dermatologicalView in TestRail
SRS-JLMInclude the indicator of the presence of a condition in the reportC263Verify the generated report response contains the hasCondition probability within the clinicalIndicator structureView in TestRail
SRS-K3HWound Affected Tissue - SubcutaneousC288Verify subcutaneous tissue analysis API returns valid binary prediction and confidence scoreView in TestRail
SRS-K4UOrthopedic Material Surface QuantificationC289Verify API returns orthopedic material segmentation, metrics, and exposure alert for valid wound image inputView in TestRail
SRS-K6NMap Per-Image Analysis to a dedicated object in the reportC373Verify single image analysis maps to structured object in imagingAnalysis arrayView in TestRail
SRS-K6NMap Per-Image Analysis to a dedicated object in the reportC374Verify multiple image analyses map to distinct objects in imagingAnalysis arrayView in TestRail
SRS-K7MOrchestrate diagnosis support workflowC265Verify diagnosis workflow returns ranked ICD-11 codes, binary indicators, and explainability maps for valid imagesView in TestRail
SRS-KASInclude the indicator of needing an urgent referral in the reportC264Verify report response includes urgentReferral score within clinicalIndicator objectView in TestRail
SRS-L3XSkin Surface SegmentationC298Verify skin segmentation API returns binary mask, coverage percentage, and confidence scoreView in TestRail
SRS-L4WDamaged Wound Edges AssessmentC290Verify API returns binary prediction and confidence score for wound edge analysisView in TestRail
SRS-L8YBiofilm and Slough Surface QuantificationC291Verify API returns biofilm segmentation mask and quantification metrics for valid wound imageView in TestRail
SRS-LBSURL-Based API VersioningC106Verify API endpoints are accessible via URL paths prefixed with the major and minor version identifierView in TestRail
SRS-LOGLog Overflow ProtectionC400Verify Log Rotation and Archival Upon ThresholdView in TestRail
SRS-LOGLog Overflow ProtectionC414Verify audit log monitoring and alert generationView in TestRail
SRS-LOGLog Overflow ProtectionC415Verify archival of aged audit records to long-term storageView in TestRail
SRS-M2LXerosis Intensity QuantificationC292Verify xerosis quantification returns valid probability vector, calculated severity score, and confidenceView in TestRail
SRS-M6PGranulation Tissue Surface QuantificationC293Verify granulation tissue quantification returns segmentation mask and area metricsView in TestRail
SRS-MM8Generated JWTs must have an expiration dateC341Verify generated authentication tokens include the expiration claimView in TestRail
SRS-MM8Generated JWTs must have an expiration dateC342Verify access denial for requests using an expired JWTView in TestRail
SRS-MZCRequest Body Size LimitationC110Verify the API returns HTTP 413 when the request body exceeds the configured maximum sizeView in TestRail
SRS-N2CBone, Cartilage, or Tendon Surface QuantificationC294Verify deep structure quantification metrics and segmentation mask generationView in TestRail
SRS-N5QSwelling Intensity QuantificationC295Verify swelling quantification response includes normalized probabilities, weighted severity score, and confidenceView in TestRail
SRS-N7PBody Site IdentificationC322Verify API returns anatomical classification and confidence metrics for valid image inputView in TestRail
SRS-N8WWound Affected Tissue - Dermis-EpidermisC296Verify dermis-epidermis involvement prediction and confidence score generation for valid image inputView in TestRail
SRS-O5MWound Affected Tissue - MuscleC297Verify muscle tissue involvement classification and confidence score generation for a valid wound imageView in TestRail
SRS-O93The product checks the image's clinical domainC328Verify API response contains clinical domain confidence score and dermatological status flagView in TestRail
SRS-P2YAcneiform Inflammatory Pattern IdentificationC301Verify generation of IGA severity grade and confidence scores from a dermatological image requestView in TestRail
SRS-P4XWound Bed Tissue - SloughC302Verify Slough tissue classification and confidence score generation in API responseView in TestRail
SRS-P9WDesquamation Intensity QuantificationC303Verify desquamation quantification returns valid probability distribution, severity score, and confidenceView in TestRail
SRS-PU2Comprehensive Event AuditingC394Verify audit trail generation for data modification and administrative security actionsView in TestRail
SRS-PU2Comprehensive Event AuditingC395Verify audit trail generation for authentication lifecycle and security anomaliesView in TestRail
SRS-PU2Comprehensive Event AuditingC410Verify audit trail generation for clinical data creation eventsView in TestRail
SRS-PU2Comprehensive Event AuditingC411Verify audit trail generation for successful and failed authentication attemptsView in TestRail
SRS-Q1LHypopigmentation or Depigmentation Surface QuantificationC304Verify hypopigmentation quantification returns segmentation mask and affected surface percentageView in TestRail
SRS-Q3QGenerate an aggregated ICD probability distribution from a set of imagesC255Verify API returns aggregated ICD probability distribution with structured code details in conclusion arrayView in TestRail
SRS-Q8ZDiffuse Wound Edges AssessmentC305Verify API returns diffuse wound edge classification and confidence score for valid image inputView in TestRail
SRS-Q9MClinical Signs Analysis Endpoint ImplementationC124Verify POST /clinical-signs-analysis returns quantified results for valid image and sign listView in TestRail
SRS-Q9MClinical Signs Analysis Endpoint ImplementationC419Verify PASI clinical signs request returns intensity and surface metrics for erythema, plus intensity for induration and crustingView in TestRail
SRS-R3WWound Bed Surface QuantificationC306Verify wound bed quantification returns segmentation mask and geometric measurements for valid image inputView in TestRail
SRS-R7COozing Intensity QuantificationC307Verify exudation analysis returns valid probability vector and weighted severity scoreView in TestRail
SRS-RXKDiagnostic Support Endpoint ImplementationC128Verify the diagnosis-support endpoint accepts valid images and returns diagnostic analysisView in TestRail
SRS-S2VWound Affected Tissue - BoneC308Verify API returns valid bone involvement classification and confidence score for a provided wound imageView in TestRail
SRS-S8MAcneiform Lesion Type QuantificationC309Verify API returns correct counts and bounding boxes for papules, pustules, cysts, comedones, and nodulesView in TestRail
SRS-SDZUse hashed and salted passwordsC343Verify generation of authentication token using valid credentialsView in TestRail
SRS-SDZUse hashed and salted passwordsC344Verify rejection of authentication requests with invalid credentialsView in TestRail
SRS-SDZUse hashed and salted passwordsC345Verify password update functionality and subsequent authenticationView in TestRail
SRS-SI2Secure Audit Trail Access InterfaceC388Verify Role-Based Access Control for Audit Trail InterfaceView in TestRail
SRS-SI2Secure Audit Trail Access InterfaceC389Verify Audit Trail Search and Export CapabilitiesView in TestRail
SRS-T3KInduration Intensity QuantificationC279Verify induration quantification returns valid probability distribution, severity score, and confidence metricsView in TestRail
SRS-T5PAudit Record Integrity ProtectionC391Verify audit records cannot be modified or deleted via APIView in TestRail
SRS-T6HWound AWOSI Score QuantificationC310Verify generation of AWOSI score, probability distribution, and confidence metrics from a valid wound imageView in TestRail
SRS-T95Audit System Failure HandlingC412Verify audit message acknowledgement upon successful persistenceView in TestRail
SRS-T95Audit System Failure HandlingC413Verify audit message retention upon persistence failureView in TestRail
SRS-T9UWound Bed Tissue - ClosedC311Verify API returns valid closure classification and confidence score for wound imageView in TestRail
SRS-TPKLock accounts after five failed attemptsC346Verify account lockout enforcement after threshold reachedView in TestRail
SRS-TPKLock accounts after five failed attemptsC347Verify failed attempt counter reset on successful loginView in TestRail
SRS-TPKLock accounts after five failed attemptsC348Verify administrative manual account unlock capabilityView in TestRail
SRS-U2PConsolidated Audit Record ContentC398Verify audit record completeness for successful API eventView in TestRail
SRS-U2PConsolidated Audit Record ContentC399Verify audit record completeness for failed API eventView in TestRail
SRS-U4MPerilesional Maceration AssessmentC312Verify generation of periwound moisture classification and confidence score via APIView in TestRail
SRS-U8MEnforce strong password policies (min. 12 characters, complexity rules, expiration policies)C349Verify enforcement of password complexity and length constraintsView in TestRail
SRS-U8MEnforce strong password policies (min. 12 characters, complexity rules, expiration policies)C350Verify authentication behavior for expired passwordsView in TestRail
SRS-U8QHigh Availability and Load Balancing SupportC417Verify stateless request processing across multiple instancesView in TestRail
SRS-U8QHigh Availability and Load Balancing SupportC418Verify API availability during single instance failureView in TestRail
SRS-U8ZNail Lesion Surface QuantificationC313Verify API returns segmentation mask and lesion percentage for valid nail image requestView in TestRail
SRS-V1DExcoriation Intensity QuantificationC314Verify calculation of ordinal probabilities and continuous severity score for excoriation analysisView in TestRail
SRS-V4QSurface Area QuantificationC326Verify API returns calibrated area and depth metrics for images containing reference markersView in TestRail
SRS-V7QNecrosis Surface QuantificationC315Verify API returns necrosis segmentation mask and area metrics for valid wound imageView in TestRail
SRS-W3RHyperpigmentation Surface QuantificationC316Verify generation of hyperpigmentation segmentation mask and surface percentage from input imageView in TestRail
SRS-W5ZAssign DiagnosticReport IdentifierC377Verify Assignment of Official Identifier to DiagnosticReportView in TestRail
SRS-W5ZAssign DiagnosticReport IdentifierC378Verify Uniqueness of Generated DiagnosticReport IdentifiersView in TestRail
SRS-W6TOrchestrate Clinical Signs Analysis WorkflowC321Verify generation of structured clinical assessment report with quantified results for requested signs via APIView in TestRail
SRS-W9KBloody Exudate AssessmentC317Verify API returns binary classification and confidence for hemorrhagic exudate presenceView in TestRail
SRS-WEREndpoint Access ControlC351Verify protected endpoints allow access with a valid OAuth 2.0 Bearer tokenView in TestRail
SRS-WEREndpoint Access ControlC352Verify protected endpoints reject requests lacking a valid token with 401 UnauthorizedView in TestRail
SRS-WEREndpoint Access ControlC353Verify public endpoints are accessible without an Authorization headerView in TestRail
SRS-WGFAES-256 encryption for data at restC354Verify AES-256 encryption configuration for data storageView in TestRail
SRS-X5BFibrinous Exudate AssessmentC318Verify generation of binary prediction and confidence score for fibrinous exudate analysisView in TestRail
SRS-X8QFollicular and Inflammatory Pattern IdentificationC319Verify HS phenotype classification and confidence metrics are returned for a valid image requestView in TestRail
SRS-X9JConduct periodic access reviews to verify permissions align with job functionsC355Verify authorized administrator can retrieve current user permissions for reviewView in TestRail
SRS-X9JConduct periodic access reviews to verify permissions align with job functionsC356Verify authorized administrator can revoke permissions during access reviewView in TestRail
SRS-Y2EWound Bed Tissue - GranulationC320Verify granulation tissue classification and confidence score generation for a valid wound image requestView in TestRail
SRS-Y5WThe product checks the image quality with the Dermatological Image Quality Assessment (DIQA) algorithmC329Verify API returns DIQA overall quality score and dimension subscores upon valid image submissionView in TestRail
SRS-Y6FCrusting Intensity QuantificationC277Verify generation of crusting probability vector and weighted severity scoreView in TestRail
SRS-Z24API Documentation EndpointC159Verify availability of OpenAPI specification and interactive documentation endpointsView in TestRail
SRS-Z5NHive Lesion QuantificationC299Verify API returns hive count and bounding boxes for valid dermatological image inputView in TestRail
SRS-Z8PBiofilm-Compatible Tissue AssessmentC300Verify API returns valid biofilm classification and confidence score for wound image inputView in TestRail
SRS-ZQOConcurrent API Version SupportC162Verify simultaneous availability and processing of requests across distinct API versionsView in TestRail

Annex B: TestRail Test Case Export​

Annex_B_TestRail_Test_Case_Export.csv

Previous
R-TF-012-023 Software Development Plan
Next
R-TF-012-034 — Software Test Description
  • Change history
  • Purpose
  • Scope
    • In scope
    • Out of scope
  • Test management system and governance (TestRail)
    • Tool confidence (TestRail and CI evidence pipeline)
    • TestRail project structure
    • Stable identifiers
    • Custom fields (as implemented)
      • Test Cases
      • Test Runs
    • Naming conventions
      • Test Cases
      • Test Runs
    • Change control for test cases
  • Requirements taxonomy and verification strategy
    • Test levels (where executed)
    • Entry and exit criteria (minimum)
    • Commissioning records (R-TF-029-001/002/003)
      • Commissioning in TestRail (alignment with R-TF-029 records)
    • Test types (how classified)
    • Gating and regression strategy
  • Test environment
    • Environment IDs and use
    • Environment controls
  • Planned tests
  • Test execution, data recording, and evidence pack
    • What constitutes “execution evidence”
    • Evidence pack storage (decision)
      • Evidence pack protection (minimum)
      • Commissioning evidence (Pro)
    • Relationship to T-012-035 (Test Run record)
  • Traceability and coverage
    • Traceability mechanism
    • Coverage completeness
  • Defect management (GitHub Issues)
  • Records retention
  • References
  • Annexes
    • Annex A: Controlled export — Traceability matrix
    • Annex B: TestRail Test Case Export
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI Labs Group S.L.)