Testing Standards
We recommend the below testing standards, and would like this to be taken into consideration by all teams, specifically: Support, Projects, and Tech.
Overview of test methodologies we utilise
Manual Testing
- Tool(s): Github docs, Gherkin
- What: User journeys and client-identified critical features
- When: When we want to test a user flow without automated testing
Unit Testing
- Tool(s): PHPUnit
- What: A single function (input/output)
- When: When you have added/fixed some new functionality that does some critical logic.
Integration Testing
- Tool(s): Drupal Test Traits
- What: A specific module or piece of functionality
- When: When you have introduced a new function/flow that needs testing as part of deployment
Browser testing (Front-end, javascript, and End-to-end tests)
- Tool(s): NightwatchJS or Cypress
- What: Javascript and user-journeys
- When: When you have identified a new user-journey, or introduced some new javascript to test.
Automation servers
This is still tbc, but some tools we use already are GitlabCI and Jenkins
References
Last updated: