Basic

Details

  1. Types of testing
    1. Manual/Automated
    2. e2e/integration/unit
    3. functional/non-functional
    4. whitebox/blackbox/regression/smoke
  2. Unit testing basics
    1. Writing simple tests using one of the popular frameworks (Jest, mocha, etc)
    2. Arrange, Act, Assert
  1. https://www.softwaretestinghelp.com/types-of-software-testing/
  2. https://hackr.io/blog/types-of-software-testing
  3. https://dev.to/dstrekelj/how-to-write-unit-tests-in-javascript-with-jest-2e83
  4. https://medium.com/@pjbgf/title-testing-code-ocd-and-the-aaa-pattern-df453975ab80
  5. https://automationpanda.com/2020/07/07/arrange-act-assert-a-pattern-for-writing-good-tests/

Intermediate

Details

  1. Unit testing
    1. Mocking
    2. Testing frameworks (jest)
    3. Isolating dates, random, etc
    4. Snapshot testing
    5. Code coverage
  2. Manual testing
    1. Preparing and executing checklists
    2. Understanding the impact of your changes
  1. https://medium.com/welldone-software/an-overview-of-javascript-testing-7ce7298b9870
  2. https://jestjs.io/docs/getting-started
  3. https://jestjs.io/docs/mock-functions
  4. https://jestjs.io/docs/timer-mocks
  5. https://jestjs.io/docs/manual-mocks

Courses

  1. https://frontendmasters.com/courses/testing-practices-principles/

Advanced

Details

  1. Understanding the “test pyramid”
  2. Testing aspects
    1. Usability Testing
    2. Functionality Testing
    3. Compatibility Testing
    4. Database Testing
    5. Security Testing
    6. Performance Testing
  3. Choosing the right testing strategy for the app
  4. Advanced unit testing framework knowledge
    1. Mocking dependencies (databases, etc), writing setup/teardown scripts, JSDOM
    2. Understanding parallelism (if working with jest or other framework that supports it)
    3. Testing framework configuration for the project (code coverage, testing report for CI/CD)
  5. Writing simple integration and e2e tests
    1. Headless browsers (puppeteer, etc)
    2. Automation (selenium)
  1. https://martinfowler.com/articles/practical-test-pyramid.html
  2. https://medium.com/scopedev/testing-strategies-for-modern-web-applications-71836e480cc6
  3. https://blog.gurock.com/highly-testable-code/
  4. https://jestjs.io/docs/
  5. https://github.com/jsdom/jsdom
  6. https://developer.chrome.com/docs/puppeteer/
  7. https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment

Notes