Automated control testing
You can use automated control testing to test any proof collected by a Hypersync. Hypersyncs are configured either on controls or labels and connect to external systems to collect data in PDF or XLSX format. See Hypersync overview.
A best practice is to collect proof by adding a Hypersync to a label and then linking that label to the controls that require the collected proof as evidence. The benefit of using labels is that they make proof much easier to organize, manage, and reuse instead of having proof scattered across multiple controls where it is difficult to find. You can make the labels as broad or as granular as needed, such as a single label for all proof collected from AWS or a separate label for each AWS proof type. See Labels.
You can configure one or more tests for each label or control. When configuring a test on a control, you can select proof collected by a Hypersync configured on the control or on a label linked to the control. When configuring a test on a label, you can only select proof collected by a Hypersync configured on the label
Where to configure a test - On a label or a control
When configuring tests, you can add them to a label or a control. Configuring a test on a label makes sense if the test you write is the same for all of the linked controls that use the proof being collected by that label. For example, if you have 5 controls linked to a label and all 5 need a test on Proof A that tests password length, you would configure the test on the label.
Configuring a test on a control makes sense if the test is not the same for all of the controls linked to the proof being tested. You can still use the proof collected by the label, but you should configure your tests on each individual control. For example, if one control needs a test for password length on Proof A and a second control needs a test for the existence of a password on Proof A, then you would configure a separate test for each control.
How automated control test results affect control health
Note
The testing status of a control is updated automatically only if it is set to Testing: Calculated. If the Testing status has been overridden manually, automated control tests will not affect the Testing status value. You can reset the testing status of a control by setting it to Calculated, allowing Hyperproof to calculate the status based on automated control tests.
For proof collected using a Hypersync on a label
If you test the proof on the label where it was collected, the test results affect the health of all controls linked to that label.
If you test the proof on a control linked to the label, the test results affect the health of that specific control.
For proof collected using a Hypersync on a control:
You can only configure a test on the control where the proof was collected and the test results affect the health of that specific control. This means you have to create a separate Hypersync and test for each control.
Considerations for automated control tests
How you manage objects in Hyperproof can affect the success of your automated test program. Review the following considerations:
Deleting a Hypersync used in a test configuration permanently disables that test.
If you link a label to a control and set the control's test status to Calculated, then the test results from the label are included in the control's calculated testing status.
When creating a Hypersync, you can configure it to collect proof in two ways: by adding a new file every time the Hypersync runs or by creating a new version of the existing file only if there has been a change since the Hypersync ran. Selecting new file instead of versioning when creating a Hypersync on a label affects how you should configure testing that proof on a control. See Creating a Hypersync.
In this scenario, you must link the label to the control before setting up the test. This ensures that each new proof file is tested. If you link the proof directly to the control and use it to configure the test, Hyperproof only tests the specific piece of proof linked to the control. Any new proof files collected afterward will not be tested.
Note
If you configure your Hypersync to collect proof by adding a new version of the proof each time, you can test the proof regardless of how it is linked to the control.
Tests linked to proof will no longer run on new files or versions of that proof if any of the following actions occur:
The proof is unlinked from the label where it was being collected.
The link between a control and the label where the proof was being collected is removed.
The proof is unlinked from the control where it was being tested.
A control is archived, unlinking it from all labels.
A label is archived, unlinking it from all controls.
Hyperproof only supports testing proof where the data is either a flat-list or a table format. Data that is nested, such as Jira issue detail with nested properties like comments, can't be tested.