In this course, you will learn :
- Crucial information, principles, and experience-based advice to help you enter the world of testing methodologies.
- learn the best practises for writing useful and long-lasting tests.
- How to test different user flows without a working back-end.
- How to write effective end-to-end (E2E) tests, and how to integrate tests into development and Continuous Integration pipelines.
- You will be able to apply the fundamental principles of test methodologies at the end of the course to understand what and how to test effectively.
- Who Should Take This Course and Why?
- What is a Test?
- Types of Tests
- Why Testing?
- Testing rules
- Cost of Testing
2. E2E Testing
- Cypress UI
- What is an E2E Test?
3. The First E2E Test
- Testing the Signup Flow: Challenges
- Running Cypress
- Interacting with the Page
- Cypress Waitings and Execution Order
- Main E2E Test Defects: Determinism
- Main E2E Test Defects: Stability
- Main E2E Test Defects: Utility in Case of Failure
4. Polishing the E2E test
- Dom Elements Selection: data-testid
- Dom Elements Selection: Cypress-testing-library
- Sharing App Constants
5. Ajax Requests
- Waiting for an Ajax Request
- Asserting on Payloads
6. Custom Commands
- App Actions
- Sharing Authentication State
7. UI Integration Tests
- Stubbing the Back-end
- Custom Command
- A Better Way to Front-end Test
8. Other Best Practices
- Monitoring Tests
- Controlling the Clock
9. Bonus Section
- Visual Regression Testing
- Cypress Vs Other Tools
- Why Is E2E Testing Not Enough?
- Cypress as a Development Tool
- Dedicated Scripts
- Continuous Integration