Reading list
Every resource named in the spec's core modules, with links. Track module resources (Role foundations, Health care foundations, and the leadership track modules) are in materials/tracks/.
testingexamples.github.io articles use the English canonical address /en-001/<slug>/. The site is also available in Welsh, Chinese, Arabic, Korean, French, and other English variants. Choose a locale from the site's picker.
Practice on the fixture site, local services, and your own test environments. Read, but do not repeatedly run, worked examples that target live third-party sites (Google Search, Google Maps, NHS Wales).
Module 6 Induction and baseline
| Resource | Link | Format |
|---|---|---|
| Digital health care job roles reference (roles-skills) | https://roles-skills.github.io | Web |
| roles-skills self-assessment guide | ~/git/agenda-for-change/guides/self-assessment/index.md |
Markdown |
| UK GDaD PCF | https://understand-digital-data-roles-skills.service.gov.uk/ | Web |
| Programme specification | ../spec/index.md | Markdown |
Module 7 Why and what to automate
| Resource | Link | Format |
|---|---|---|
| What is automatic testing? | https://testingexamples.github.io/en-001/what-is-automatic-testing/ | Article |
| What is the purpose of automatic testing? | https://testingexamples.github.io/en-001/what-is-the-purpose-of-automatic-testing/ | Article |
| What is the automatic testing pyramid? | https://testingexamples.github.io/en-001/what-is-the-testing-pyramid/ | Article |
| What is browser automatic testing? | https://testingexamples.github.io/en-001/what-is-browser-automation-testing/ | Article |
| What is continuous integration automatic testing? | https://testingexamples.github.io/en-001/what-is-continuous-integration-testing/ | Article |
| How does Six Sigma lead manual testing into automatic testing? | https://testingexamples.github.io/en-001/what-is-lean-six-sigma-for-automatic-testing/ | Article |
| Learn hub | https://testingexamples.github.io/en-001/learn/ | Web |
Module 8 Programming foundations in JavaScript
| Resource | Link | Format |
|---|---|---|
| Structured JavaScript course | Chosen by the training lead (Decision 3) | Course |
| MDN JavaScript Guide | https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide | Web |
| MDN: using Promises | https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises | Web |
| Mocha | https://mochajs.org/ | Web |
Node.js assert |
https://nodejs.org/docs/latest-v24.x/api/assert.html | Web |
| What are related concepts for automatic testing? (code editors) | https://testingexamples.github.io/en-001/what-are-related-concepts-for-automatic-testing/ | Article |
| How to start learning automatic testing? | https://testingexamples.github.io/en-001/how-to-start-learning-automatic-testing/ | Article |
| Visual Studio Code documentation | https://code.visualstudio.com/docs | Web, video |
| Kata files | practice-repo/src/katas/ and practice-repo/tests/katas/ |
Code |
Module 9 Version control and collaboration
| Resource | Link | Format |
|---|---|---|
| What are related concepts for automatic testing? (version control, pull requests) | https://testingexamples.github.io/en-001/what-are-related-concepts-for-automatic-testing/ | Article |
| Pro Git book | https://git-scm.com/book/en/v2 | Book, web |
| A testingexamples repository to read the history of | https://github.com/testingexamples/demo-selenium-javascript | Code |
| The team's contribution guidelines | Team repository | Markdown |
Module 10 Browser automation fundamentals
| Resource | Link | Format |
|---|---|---|
| Fixture site | https://testingexamples.github.io | Web |
| Fixture contract | https://github.com/testingexamples/testingexamples.github.io/blob/main/spec/index.md | Markdown |
| Selenium JavaScript skill | https://github.com/testingexamples/selenium-javascript-skill | Markdown |
| Selenium JavaScript demo | https://github.com/testingexamples/demo-selenium-javascript | Code |
| Selenium JavaScript demo, for the existing suite exercise | https://github.com/testingexamples/demo-selenium-javascript | Code |
| Selenium: WebDriver | https://www.selenium.dev/documentation/webdriver/ | Web |
| Selenium: locators | https://www.selenium.dev/documentation/webdriver/elements/locators/ | Web |
| Selenium: waits | https://www.selenium.dev/documentation/webdriver/waits/ | Web |
| Selenium: select lists | https://www.selenium.dev/documentation/webdriver/support_features/select_lists/ | Web |
| Selenium IDE | https://www.selenium.dev/selenium-ide/ | Web, browser extension |
Module 11 From walkthrough to real test
| Resource | Link | Format |
|---|---|---|
| Given-When-Then Examples | https://testingexamples.github.io/en-001/given-when-then/ | Article |
| Selenium JavaScript skill, "From walkthrough to real test" | https://github.com/testingexamples/selenium-javascript-skill | Markdown |
| NHS Wales worked example and spec (read, do not repeatedly run) | https://github.com/testingexamples/demo-selenium-javascript-for-nhs-wales | Code |
| Mocha | https://mochajs.org/ | Web |
Node.js assert |
https://nodejs.org/docs/latest-v24.x/api/assert.html | Web |
| Selenium: page object models | https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ | Web |
Module 12 API, integration, and FHIR tests
| Resource | Link | Format |
|---|---|---|
| HL7 FHIR R4 specification | https://hl7.org/fhir/R4/ | Web |
| HAPI FHIR, a widely used open source FHIR server (background only) | https://hapifhir.io/ | Web |
| MDN: using the Fetch API | https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch | Web |
| LOINC | https://loinc.org/ | Web |
| FHIR sandbox | practice-repo/fhir-sandbox/README.md |
Markdown |
| Example FHIR suite | practice-repo/tests/api/fhir.test.js |
Code |
| The team's interface specifications | Team documentation | Various |
Module 13 Continuous integration and DevOps
| Resource | Link | Format |
|---|---|---|
| What is continuous integration automatic testing? | https://testingexamples.github.io/en-001/what-is-continuous-integration-testing/ | Article |
| What is DevOps for automatic testing? | https://testingexamples.github.io/en-001/what-is-devops-for-automatic-testing/ | Article |
| Selenium: Chrome options, including headless | https://www.selenium.dev/documentation/webdriver/browsers/chrome/ | Web |
| Mocha: reporters and parallel mode | https://mochajs.org/#reporters | Web |
| GitHub Actions: running jobs in a matrix | https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations | Web |
| Practice pipeline | practice-repo/.github/workflows/ci.yml |
Code |
| The organisation's CI documentation | Decision 2 | Various |
Module 14 Safe and lawful test automation in health care
| Resource | Link | Format |
|---|---|---|
| The organisation's clinical risk management process and hazard log | Internal | Document |
| The organisation's information governance policy | Internal | Document |
| roles-skills: clinical risk management and information governance skills | https://roles-skills.github.io | Web |
| Synthea synthetic patient generator | https://synthetichealth.github.io/synthea/ | Web, code |
| FHIR sandbox synthetic data | practice-repo/fhir-sandbox/data/synthetic-bundle.json |
Data |
axe-core for Selenium (@axe-core/webdriverjs) |
https://github.com/dequelabs/axe-core-npm/tree/develop/packages/webdriverjs | Web, code |
| IEC 62304 | https://www.iso.org/standard/38421.html | Standard (summary page) |
Module 15 Quality engineering practice
| Resource | Link | Format |
|---|---|---|
| What metrics help automatic testing? | https://testingexamples.github.io/en-001/what-are-flow-metrics-for-automatic-testing/ | Article |
| How does Six Sigma lead manual testing into automatic testing? | https://testingexamples.github.io/en-001/what-is-lean-six-sigma-for-automatic-testing/ | Article |
| How does artificial intelligence help automatic testing? | https://testingexamples.github.io/en-001/how-does-artificial-intelligence-help-automatic-testing/ | Article |
| Flaky-test exercise | practice-repo/tests/flaky/README.md |
Code |
| Selenium: waits (the usual cause of flaky Selenium tests) | https://www.selenium.dev/documentation/webdriver/waits/ | Web |
Module 16 Capstone
Everything above, plus:
| Resource | Link | Format |
|---|---|---|
| Capstone briefs, scope agreement, and presentation outline | modules/module-16-capstone/ | Markdown |
Module 17 Lean Six Sigma Green Belt
| Resource | Link | Format |
|---|---|---|
| How does Six Sigma lead manual testing into automatic testing? | https://testingexamples.github.io/en-001/what-is-lean-six-sigma-for-automatic-testing/ | Web |
| What metrics help automatic testing? (flow metrics, revisited) | https://testingexamples.github.io/en-001/what-are-flow-metrics-for-automatic-testing/ | Web |
| The certification body's Green Belt body of knowledge and practice exams | Chosen under Decision 8 | Course materials |
| Module 17 module page and Green Belt project charter | modules/module-17-lean-six-sigma-green-belt/ | Markdown |
Other languages and tools (after Gate 2)
Principle 9 says one language and one tool first. After Gate 2, people who want to compare can read the sibling Selenium skills and demos for Python, TypeScript, Java, C#, and Rust, at https://github.com/testingexamples.
View this document on GitHub materials/reading-list.md