When starting, I did not get the privilege of deciding which resource would be the best to learn first. Usually I would start a book and realize I do not know the foundational information needed to understand it. For example, you should really know Functional Programming before trying to understand RxJs.
For a new learner, I would recommend a better approach.
You have not worked with Cypress and want to get oriented:
Go through these resources for quick onboarding:
- Cypress basics workshop (UI testing)
- Crud API testing a deployed service (API testing)
You are a JS ninja, and want to learn testing:
Section 4 has you covered.
You want to give yourself a CS degree in JS and a masters in testing:
Sections 1 - 5. You can also learn Cypress first, then learn some testing, and back-fill the knowledge as needed. It all depends how much magic you are willing to let happen when working with code.
Our tech stack is JS/TS and we use these languages to test our stack as well.
If you are not comfortable in JS, here are some recommended resources
- You Don't Know JS Series (Kyle Simpson)
- Secrets of the JavaScript Ninja (John Resig and Bear Bibeault)
- Typescript Deep Dive (Basarat Ali Syed)
Learning FP is optional, but it will only help you understand, appreciate, use and test JS better.
Pick any book, optionally more depending how deep you want to go.
- Functional Light JS
- FP in JS
- Prof. Frisbie's Mostly Adequate Guide to FP
- FP patterns with Ramda
- JS Allonge
- Composing Software
- Functional JavaScript
3. After that, you can tackle the front-end or the back-end path. The order depends on your immediate needs.
-
Understand and start applying best practices we strive for:
-
Learn test frameworks:
-
Cypress
- Crud API testing a deployed service
- Cypress basics workshop
- Cypress Skills Ladder
- Cypress docs
- Official Cypress example recipes
- Cypress real world app
- Gleb's Cypress recipes
- Gleb's Cypress tips
- Murat's Cypress examples
- Understand and start applying Functional Test Patterns with Cypress (no more page objects)
- Advanced Cypress workshop
-
Kent Dodd's Epic React & TestingJs (my repo)
-
A quick Journey Through API testing (repo) - if you are unfamiliar with api testing
-
- Bash & Linux
- Docker
- AWS
- Learn your preferred CI provider's api by heart, ex: Github Actions.