Goal
Making our testing and QA processes cover as much surface area as possible, in order to prevent bugs and vulnerabilities on our production environments.
Context
DUX team has concluded that our current QA/testing process... sucks. We do some manual testing but this does not nearly cover enough surface area for bugs and vulnerabilities (eg. edge cases, business logic, on-chain calamities).
Initial To-Do's
Verify that all critical paths/user flows are defined
Determine whether all these critical paths are covered by an integration test—write down findings in the working document
Evaluate naming convention of the integration tests and suggest improvements to make it more coherent/consistent
Create tickets for adding/improving integration tests
Future steps
Evaluate test coverage of back-end processes and components
Evaluate Spock tests (refer to Tyler's prior work)
Improve process: Make sure ALL PRs with new code include integration tests—developers should keep each other sharp on this.
Improve process: For any new bugs we catch, the fix should also include a new test that would cover similar bugs.
Consider how to improve our manual testing process
Stay in tune with developments at Chaos Labs for simulating on-chain edge cases (testchain)