Skip to content

Quality Assurance Engineers

Quality Engineers play an essential role in ensuring that software products meet the highest quality standards. Their responsibilities include creating comprehensive test plans, designing test cases, setting up test environments, executing tests, and more. This document outlines the key activities and best practices for Quality Engineers to ensure thorough and efficient testing processes.

Capturing Compliance Evidence with surveilr

Section titled “Capturing Compliance Evidence with surveilr”

Resource surveillance (surveilr) provides the file ingestion command for QA engineers to execute. This command captures compliance evidence from Work Product Artifacts (WPAs) and store them in a Resource Surveillance State Database (RSSD) named resource-surveillance.sqlite.db, under the uniform_resource table.

  • Compliance Evidence: Shows adherence to policies.
  • Non-Compliance Evidence: Indicates violations of policies.
  • To ingest files in the current directory:

    Terminal window
    $ surveilr ingest files
  • To run queries in RSSDs:

    sqlite3 resource-surveillance.sqlite.db "SELECT * FROM..."

A company’s policy might state: “All quality engineers must create a detailed test plan for each project.” This policy can be broken down into the following requirements:

  • Outline the testing approach, objectives, scope, resources, and timelines.
  • Ensure the test plan is documented and accessible to all stakeholders.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Test Plan Compliance

Section titled “SQL Query for Verification of Test Plan Compliance”
SELECT
d.state_sysinfo -> 'host_name' AS "Host Name",
tp.content -> 'test_plan' AS "Test Plan"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%test_plan.json';
Host NameTest Plan
HostName_1Detailed Plan 1
HostName_2Detailed Plan 2
Host NameTest Plan
HostName_1
HostName_2

A company’s policy might state: “All quality engineers must design test cases based on functional and non-functional requirements.” This policy can be broken down into the following requirements:

  • Base test cases on user stories and acceptance criteria.
  • Ensure test cases cover all relevant functionalities.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Designing Test Cases

Section titled “SQL Query for Verification of Designing Test Cases”
SELECT
ur.content -> 'name' AS "Project Name",
ur.content -> 'test_cases' AS "Test Cases"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%test_cases.json';
Host NameProject NameTest Cases
HostName_1project-1Comprehensive
HostName_2project-2Comprehensive

###$ Non-compliance Evidence

Host NameProject NameTest Cases
HostName_1project-1
HostName_2project-2

A company’s policy might state: “All quality engineers must set up test environments that closely resemble the production environment.” This policy can be broken down into the following requirements:

  • Set up staging environments for testing activities.
  • Ensure environments are regularly updated and maintained.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Setting Test Environments

Section titled “SQL Query for Verification of Setting Test Environments”
SELECT
ur.content -> 'name' AS "Environment Name",
ur.content -> 'setup_details' AS "Setup Details"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%environment_setup.json';
Host NameEnvironment NameSetup Details
HostName_1staging-1Detailed Setup 1
HostName_2staging-2Detailed Setup 2
Host NameEnvironment NameSetup Details
HostName_1staging-1
HostName_2staging-2

A company’s policy might state: “All quality engineers must manually execute test cases to validate functionality, usability, and user interface.” This policy can be broken down into the following requirements:

  • Execute test cases manually.
  • Document the results of each test execution.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Manual Test Execution

Section titled “SQL Query for Verification of Manual Test Execution”
SELECT
ur.content -> 'name' AS "Test Case Name",
ur.content -> 'execution_results' AS "Execution Results"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%manual_tests.json';
Host NameTest Case NameExecution Results
HostName_1test-case-1Pass
HostName_2test-case-2Pass
Host NameTest Case NameExecution Results
HostName_1test-case-1Fail
HostName_2test-case-2Not Executed

Developing and Executing Automated Test Scripts

Section titled “Developing and Executing Automated Test Scripts”

A company’s policy might state: “All quality engineers must develop and execute automated test scripts to improve efficiency.” This policy can be broken down into the following requirements:

  • Automate repetitive and time-consuming testing tasks.
  • Increase test coverage with automated scripts.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Automated Test Scripts

Section titled “SQL Query for Verification of Automated Test Scripts”
SELECT
ur.content -> 'name' AS "Project Name",
ur.content -> 'scripts' -> 'test:automation' AS "Automation Script"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%automation_tests.json';
Host NameProject NameAutomation Script
HostName_1automation-project-1Pass
HostName_2automation-project-2Pass
Host NameProject NameAutomation Script
HostName_1automation-project-1Fail
HostName_2automation-project-2Not Executed

A company’s policy might state: “All quality engineers must perform regression testing to ensure new changes do not affect existing functionality.” This policy can be broken down into the following requirements:

  • Execute regression tests after every code change.
  • Document any issues found during regression testing.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Regression Testing

Section titled “SQL Query for Verification of Regression Testing”
SELECT
ur.content -> 'name' AS "Project Name",
ur.content -> 'scripts' -> 'test:regression' AS "Regression Script"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%regression_tests.json';
Host NameProject NameRegression Script
HostName_1regression-project-1Pass
HostName_2regression-project-2Pass
Host NameProject NameRegression Script
HostName_1regression-project-1Fail
HostName_2regression-project-2Not Executed

A company’s policy might state: “All quality engineers must conduct performance testing to evaluate the application’s performance.” This policy can be broken down into the following requirements:

  • Use appropriate tools for performance testing.
  • Document the performance benchmarks and test results.

Using surveilr for Policy Compliance and Evidence Capture

Section titled “Using surveilr for Policy Compliance and Evidence Capture”

The next step is to use surveilr to ensure compliance with these policies, capturing the necessary details and storing them under the database table.

SQL Query for Verification of Performance Testing

Section titled “SQL Query for Verification of Performance Testing”
SELECT
ur.content -> 'name' AS "Project Name",
ur.content -> 'scripts' -> 'test:performance' AS "Performance Script"
FROM
uniform_resource ur
JOIN
device d ON ur.device_id = d.device_id
WHERE
ur.uri LIKE '%performance_tests.json';
Host NameProject NamePerformance Script
HostName_1performance-project-1Pass
HostName_2performance-project-2Pass
Host NameProject NamePerformance Script
HostName_1performance-project-1Fail
HostName_2performance-project-2Not Executed