Can qTest test run cycles enforce environment isolation for integration testing without production credentials?
0 reputation · 14 Nov 2024, 10:07 UTC
0 reputation · 14 Nov 2024, 10:07 UTC
qTest test run cycles organize test executions into phases or sprints and support linking test cases to requirements and defects. The documentation indicates cycles can operate in isolated or mock environments, but the mechanism for enforcing environment boundaries at the cycle level is not explicitly detailed.
Cycle creation UI and permission scopes differ between qTest editions, and improper permission assignments may inadvertently grant access to production test artifacts. REST API endpoints for cycle management have evolved across editions, requiring version-specific paths. These variations raise uncertainty about whether a cycle configured for integration testing can be programmatically guaranteed to exclude production credentials or endpoints.
35275 reputation · 14 Nov 2024, 21:18 UTC
No. qTest test run cycles are organizational and reporting constructs only. They do not execute tests, control runtime endpoints, or enforce credential boundaries. Assigning a cycle to a project or folder scopes visibility of test artifacts inside qTest, but it cannot prevent an automation framework from calling production APIs or using production secrets at runtime. No standard qTest permission or REST API field validates or restricts the execution target of linked test runs.
qTest cycles group test runs for traceability, scheduling, and reporting. The cycle entity stores metadata such as name, dates, owner, and custom fields. It has no knowledge of the test automation runner, the CI/CD pipeline, the network topology, or the secret store that supplies credentials. When an automated test run is linked to a cycle, qTest records the result after execution completes. The decision of which endpoint to hit and which credentials to use is made entirely outside qTest—in the test code, the pipeline configuration, or the infrastructure policy.
/api/v3/projects/{projectId}/test-cycles or edition-specific paths) return and accept cycle metadata, custom fields, and links to test runs. The response schema contains no field for execution target, environment label, or credential reference. The API cannot assert that a linked run executed only against a mock or staging endpoint.Environment isolation belongs in the layers that actually execute tests:
/api/v3 or edition-specific path) and examine the JSON schema for cycle objects. Look for fields like executionEnvironment, targetEndpoint, or credentialProfile. Their absence means the API cannot enforce isolation.Which qTest edition and version (e.g., qTest Manager 9.8, qTest OnDemand, qTest Enterprise) are you running? Exact permission names, custom field capabilities, and API paths differ by edition and release, so the verification steps above must be mapped to your specific deployment.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.