Basic
Details
- Types of testing
- Manual/Automated
- e2e/integration/unit
- functional/non-functional
- whitebox/blackbox/regression/smoke
- Unit testing basics
- Writing simple tests using one of the popular frameworks (Jest, mocha, etc)
- Arrange, Act, Assert
Links
- https://www.softwaretestinghelp.com/types-of-software-testing/
- https://hackr.io/blog/types-of-software-testing
- https://dev.to/dstrekelj/how-to-write-unit-tests-in-javascript-with-jest-2e83
- https://medium.com/@pjbgf/title-testing-code-ocd-and-the-aaa-pattern-df453975ab80
- https://automationpanda.com/2020/07/07/arrange-act-assert-a-pattern-for-writing-good-tests/
Details
- Unit testing
- Mocking
- Testing frameworks (jest)
- Isolating dates, random, etc
- Snapshot testing
- Code coverage
- Manual testing
- Preparing and executing checklists
- Understanding the impact of your changes
Links
- https://medium.com/welldone-software/an-overview-of-javascript-testing-7ce7298b9870
- https://jestjs.io/docs/getting-started
- https://jestjs.io/docs/mock-functions
- https://jestjs.io/docs/timer-mocks
- https://jestjs.io/docs/manual-mocks
Courses
- https://frontendmasters.com/courses/testing-practices-principles/
Advanced
Details
- Understanding the “test pyramid”
- Testing aspects
- Usability Testing
- Functionality Testing
- Compatibility Testing
- Database Testing
- Security Testing
- Performance Testing
- Choosing the right testing strategy for the app
- Advanced unit testing framework knowledge
- Mocking dependencies (databases, etc), writing setup/teardown scripts, JSDOM
- Understanding parallelism (if working with jest or other framework that supports it)
- Testing framework configuration for the project (code coverage, testing report for CI/CD)
- Writing simple integration and e2e tests
- Headless browsers (puppeteer, etc)
- Automation (selenium)
Links
- https://martinfowler.com/articles/practical-test-pyramid.html
- https://medium.com/scopedev/testing-strategies-for-modern-web-applications-71836e480cc6
- https://blog.gurock.com/highly-testable-code/
- https://jestjs.io/docs/
- https://github.com/jsdom/jsdom
- https://developer.chrome.com/docs/puppeteer/
- https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment
Notes