This document describes the core domain concepts used in the Melmac Performance Testing Framework.
These concepts are shared across all layers and define the vocabulary of the system.
Represents a mobile application to be tested. An app has one or more versions.
A specific release or build of an App. Used to ensure test reproducibility across builds.
Represents a physical or virtual mobile device (iOS or Android) on which tests are executed.
Identifies the operating system and its version running on a device (e.g., Android 14, iOS 17.1).
A measurable aspect of performance (e.g., Startup Time). Each metric can have multiple outputs.
Represents the measurable result of a Metric (e.g., time to first frame in seconds).
Describes the mode of execution (e.g., Cold Start). Execution Types can have custom parameters.
A named input required by a given execution type (e.g., element to wait for, timeout).
A definition of a single test scenario. Includes app, device, metric, execution type and parameter values.
A versioned snapshot of a Test Plan used for repeatable execution. Links to app version and device.
The actual run of a Test Plan Version. Collects metric output results.
A recorded value from a test execution for a specific Metric Output.
A collection of Test Plans, used for grouped and repeatable execution.
A versioned structure of a Test Suite, containing an ordered list of Test Plan Versions.
An execution of a full Test Suite Version. Triggers the execution of all contained Test Plans.
Defines target or acceptable values for metric outputs. Used to determine pass/fail results.
Specifies the type of evaluation applied to a threshold (e.g., target value, maximum allowed).
- The domain model is directly implemented via the relational database structure (see Database Documentation).
- Concepts are linked through foreign keys and maintained consistently using validation logic and triggers.