Writing automated functional tests using a system like Backstop, Behat, or Codeception to exercise a website and confirm that the correct content is displayed with the correct markup.
Learning/improvement resources: 

Behat website

Codeception manual

Gherkin syntax manual

Backstop.js website

Demonstrated by: 

A Skilled automated test writer should be able to do the following:

  • Write testing scenarios in Gherkin or other testing language, or write tests in PHP or another programming language using a framework like Behat or Codeception
  • Create visual tests using a system like Backstop.js to take screenshots and compare the to screenshots known to be correct

An Expert automated test writer should additionally be able to do the following:

  • Create suites of tests to be used to check a broad range of functionality
  • Create "smoketest" suites to be used as part of a deployment process
  • Create non-destructive tests to be run on the live site

Roles and Tasks that require this skill

Write an automated test for an issue (Contributor task)
Write PHP automated test code for an issue.
Duration: 1 hour

Roles and Tasks that may use this skill

Contributed module, theme, or distribution maintainer (Contributor role)
Help manage the software development, design, and issues for a contributed module, theme, or distribution
Duration: ongoing
Create a Drupal 9 compatibility patch (Contributor task)
Create a patch for a contributed module, theme, or distribution to make it Drupal 9 compatible
Duration: several hours
Create a merge request for an issue (Contributor task)
Add or update a "merge request" (software fix) on an issue
Duration: 1 hour
Create a patch for an issue (Contributor task)
Add a "patch" (software fix) to an existing issue
Duration: 1 hour
Discover Drupal mentor (Contributor role)
Share your experience and expertise with an underrepresented student in the Discover Drupal program
Duration: ongoing
Drupal core committer (Contributor role)
Perform final review and commit on community-suggested improvements to Drupal core
Duration: ongoing
Drupal core subsystem maintainer (Contributor role)
Oversee the development of a module, theme, or other subset of Drupal core
Duration: ongoing
Drupal core topic maintainer (Contributor role)
Review issues in a given topic in Drupal core
Duration: ongoing
DrupalCamp speaker (Contributor role)
Make a presentation at a DrupalCamp or DrupalCon event
Duration: 1 hour
Mentor (Contributor role)
Inspire, enable, and encourage new core contributors. Work on the core tools and process for mentoring
Duration: several hours
Project contributor (Contributor role)
Contribute your time to Drupal core or a contributed module, theme, or distribution project
Duration: ongoing
Review a patch or merge request (Contributor task)
Review a software fix proposed by a different developer
Duration: 20 minutes
Usability group member (Contributor role)
Improve the usability of Drupal core and contributed modules, themes, and distributions
Duration: ongoing