Back to courses

Testing: The Complete Developer's Guide

The most comprehensive, all-in-one software testing course online. Learn everything from unit testing to API back-end testing to E2E testing and everything in between using JavaScript, Python, React, Node, Rust, Angular, Vue + more so that you can become a top-level Developer in 2023!

instructor

Taught by: Andrei Neagoie

Last updated: March 2023

Course overview

This course is your guide to becoming a better developer and the master of application testing. You'll learn the most up-to-date information on testing techniques including unit testing, integration testing, E2E testing and much more so that you can level-up your career in 2023.

What you'll learn

  • Learn the skills that will allow you to level-up as a Developer and create clean, bug-free code
  • How to improve the quality of your code base
  • Learn the technologies that are being used behind-the-scenes at the biggest tech companies
  • Understand different web application testing techniques so you can choose the right tool for the job
  • Become a top 10% Developer by learning to master testing techniques & best practices
  • Unit testing, integration testing, end-to-end (E2E) testing, API backend testing, and much more
  • Learn about testing with JavaScript, Python, React, Rust, Golang, Angular, Vue, Node, Selenium, and more
  • Learn about all the testing tools you can use to write better software

This is the course you've been looking for if you want to level-up your skills and earn a higher salary.

This is a unique course in particular because it combines the best Testing information from over 8 of our courses, so that you have one central location to gain a comprehensive understanding of testing in: JavaScript, Python, Rust, Golang, React, Vue, Angular, Backend (Node + Deno), and Automation Testing (Python + Selenium).

Plus this course is continually updated as we launch new courses and lessons, so you know this will always be your one-stop shop for the latest and most comprehensive Testing information in the future.

And the results speak for themselves.

Graduates of this course and Zero To Mastery are now working at Google, Tesla, Amazon, Apple, IBM, Uber, Facebook, Shopify + other top tech companies.

They are also working as top freelancers getting paid while working remotely around the world.

This can be you.

By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.

Most importantly, you will learn how to become a top-level Developer from a team of industry experts that have actual real-world experience.

Why should you take this Testing course?

Well what's the point of building amazing, beautiful, enterprise-level applications if they don't work?

Here at ZTM we're big fans of test-driven development (TDD), which means you'll learn how to write clean code and catch bugs before they even have a chance to rear their ugly heads. We're all about that bug-free life. 🚫🐛🚫

But if you want to live that bug-free life you've got to know when and how to use the right test to get the job done! That's why this course covers everything you need to know including:

Unit Testing: Unit testing is a software testing technique where individual blocks of code, also known as "units," are tested in isolation.

The goal is to ensure that each unit works as intended and can operate effectively with other units. It is typically automated and helps catch errors early in the development process.

Unit testing is like checking each individual brick of a Lego set to make sure it's in good shape before building your Lego masterpiece!

Integration Testing: Integration testing is another software testing technique where the interaction between different components of a software application is tested.

It verifies that the various modules of the software work together seamlessly, without any conflicts or issues. Integration testing is often done after unit testing and is critical for ensuring that the software works as intended.

It's like making sure that all your Lego pieces fit together perfectly (okay that's enough Lego metaphors!).

End-to-End (E2E) Testing: End-to-end testing (or "E2E") is a software testing technique that involves testing a software application in its entirety. It verifies that the software can perform as expected in real-world scenarios and interactions.

End-to-end testing typically involves testing the software from the user's perspective, and it checks the functionality, performance, and security of the entire system.

It's like taking a new car out for a test drive before you buy it - you want to make sure that everything is working smoothly in a real-world environment.

Backend Testing: Backend testing is a software testing technique that focuses on testing the backend of a software application. It verifies the functionality of the database, the application server, and the APIs that the software uses to communicate with the backend. It's essential for ensuring that the software performs as intended and that the user experience is chef's kiss.

Backend testing is like checking the plumbing in your house. You want to make sure that all the pipes are in good condition and that water is flowing correctly throughout your home.

API Testing: API testing is a web application testing technique that verifies the functionality of the application programming interfaces (APIs) that the software uses to communicate with the backend systems.

The goal is to ensure that the APIs are working as expected and that the software can access and retrieve data from the backend.

Different Frameworks Testing: You want to make sure that the testing framework you're using is the best fit for your software and that it will help you achieve the best results.

Different frameworks testing is like trying on different shoes to see which ones fit you best.

Test Driven Development (TDD): Test-driven development is a software development technique where the tests are written before the code is written. It involves writing small, automated tests that can be run frequently, and it helps ensure that the software is reliable and easy to maintain. The goal is to ensure that the code is written to pass the tests, which helps catch errors early in the development process.

Think of it as making a plan before you start building your Lego masterpiece (okay I lied, looks like there's room for one more Lego metaphor!). You want to make sure that you have a clear idea of what you want to achieve and that you're building your software with a solid foundation, and TDD helps you do that.

Clean Code: Clean code is a software development practice that focuses on writing code that is easy to read, understand, and maintain. It involves using naming conventions, comments, and whitespace to make the code more readable, and it's essential for ensuring that the software is easy to modify, test, debug, and extend.

Having clean code is like having a clean house - everything you do becomes easier.

Bug-Free Code: Bug-free code is a software development goal where the software is free from errors or bugs that involves testing the software to ensure that it performs as expected and that it does not have any defects or issues.

The goal of bug-free code is to ensure that the software is reliable, secure, and provides a seamless user experience. After all you want to make sure that your software is functioning perfectly, without any errors or glitches, so that your users have a smooth experience, right?

What's the bottom line?

This course will push you and challenge you to gain a deeper understanding of web application testing so that you can become a top 10% Developer 💪.

And... you have nothing to lose.

You can start learning right now and if this course isn't everything you expected, we'll refund you 100% within 30 days. No hassles and no questions asked.

When's the best time to get started? Today!

There's never a bad time to learn in-demand skills. But the sooner, the better. So take your first step to becoming a top-level Developer today by joining the ZTM Academy. You'll have a clear roadmap to developing the skills you need to take your career to the next level.

Start learning now
Expand Overview

Course curriculum

To make sure this course is a good fit for you, you can start learning Testing for free right now by clicking any of the PREVIEW links below.

Introduction

4 lectures

How To Take This Course (MUST READ)

PREVIEW

Exercise: Meet Your Classmates and Instructor

PREVIEW

Understanding Your Video Player (notes, video speed, subtitles + more)

PREVIEW

Set Your Learning Streak Goal

PREVIEW

Testing 101

18 lectures

Section Overview6:21

PREVIEW

Updated Code For This Section

PREVIEW

Types of Tests2:59

PREVIEW

Testing Libraries15:28

PREVIEW

Note: The Next Videos

START

Unit Tests2:43

START

Integration Tests2:46

START

Automation Testing4:27

START

Final Note On Testing2:56

START

Setting Up Jest11:29

START

Our First Tests11:10

START

Writing Tests5:31

START

Quick Note: Upcoming API Endpoint + ES6 Modules

START

Asynchronous Tests10:18

START

Asynchronous Tests 211:41

START

Resources: Jest Cheat Sheet

START

Mocks and Spies12:50

START

Exercise: #1 - Testing With Jest

START

Testing in Python

5 lectures

Testing Introduction5:31

START

Unittest11:03

START

Writing Unit Tests8:06

START

Writing Unit Tests 26:01

START

Exercise - Testing14:03

START

Testing in Rust

6 lectures

Course Projects + Code + Slides + Cheatsheet

START

Testing6:52

START

Activity - Testing7:43

START

Testing - Database9:14

START

Testing - HTTP Routes10:01

START

Activity - Generating Tests6:32

START

Testing in Go

5 lectures

Course Projects + Code + Slides + Cheatsheet

START

Testing7:46

START

Demo - Testing8:29

START

Exercise - Testing6:56

START

Testing JSON API5:15

START

Testing in React

15 lectures

Enzyme vs React Testing Library

START

Bruno's Request1:10

START

Introduction To Enzyme14:29

START

Resources: Enzyme

START

Quick Note: Empty Snapshots

START

Snapshot Testing9:29

START

Snapshot Testing + Code Coverage4:54

START

Testing Stateful Components11:16

START

Quick Recap2:35

START

Testing Connected Components23:50

START

Testing Connected Components 23:35

START

Testing Reducers14:57

START

Testing Actions18:27

START

Section Summary4:11

START

Exercise: Testing In Our Master Project

START

Testing in Vue

20 lectures

Complete Course Resources + Code

START

Introduction to Testing12:15

START

Introduction to Vitest2:50

START

Adding the Vitest UI2:55

START

Writing Our First Test8:57

START

Mounting with Vue Test Utils6:39

START

Testing the Inner Content4:15

START

Passing Data to Components5:11

START

Stubbing Components4:50

START

Avoid Boolean Assertions1:38

START

Testing Children Components6:30

START

Mocking Methods5:34

START

Testing Attributes6:41

START

Testing Attributes6:28

START

Testing Pinia Actions6:07

START

Mocking Promises4:14

START

Testing Router Components6:35

START

Snapshot Testing12:35

START

E2E Testing Overview6:30

START

Writing an E2E Test12:21

START

Testing in Angular

21 lectures

Complete Course Resources + Code

START

Introduction to Testing11:20

START

Understanding Karma and Jasmine8:13

START

Preparing our App for Testing2:56

START

Writing a Sanity Test6:01

START

Angular’s Test Bed Utility5:55

START

Testing a Component’s Instance6:27

START

Querying the Component’s Template6:39

START

Inverting Matchers3:10

START

Testing Nested Components4:41

START

Testing Content Projection6:24

START

Custom Matcher Error Messages2:30

START

Mocking Services6:32

START

Overriding a Dependency2:44

START

Importing the Router Testing Module1:59

START

Exercise - Testing the Logout Link3:05

START

Simulating DOM Events3:59

START

Installing Cypress6:10

START

Exploring Cypress6:04

START

Writing an E2E Sanity Test6:04

START

Testing the Video Player8:53

START

Testing in Backend (Node + Deno)

8 lectures

Testing In Node3:26

START

Testing APIs With Jest14:21

START

Testing API Endpoints With Supertest - GET8:03

START

Testing API Endpoints With Supertest - POST9:09

START

Testing API Endpoints With Supertest - Error Cases6:48

START

Testing With Deno5:18

START

Testing With Deno 214:07

START

Testing With Deno 310:15

START

Automation/Testing (Python + Selenium)

7 lectures

Section Overview1:50

START

Selenium Introduction10:10

START

Quick Note: Selenium Version

START

Quick Update: Selenium 4+

START

Selenium Basics11:47

START

Selenium Basics 210:52

START

Selenium Basics 36:13

START

Where To Go From Here?

6 lectures

Thank You!1:17

START

Review This Course!

START

Become An Alumni

START

Learning Guideline

START

LinkedIn Endorsements

START

Coding Challenges

START

Meet your instructors

Your instructors (Andrei + the ZTM Instructor Team) aren't just experts with years of real-world professional experience. They have been in your shoes. They make learning fun. They make complex topics feel simple. They will motivate you. They will push you. And they will go above and beyond to help you succeed.

Andrei Neagoie

Hi, I'm Andrei Neagoie!

Andrei, lead instructor of Zero To Mastery Academy, has taught 1,000,000+ students worldwide how to code and get hired. ZTM grads work for world-class companies like Apple, Google, Amazon, Tesla, IBM, Facebook, Shopify and many more.

SEE MY BIO & COURSES

Andrei Neagoie

Senior Software Developer

Frequently asked questions

Are there any prerequisites for this course?

Who is this course for?

  • You're a developer that wants to learn about software testing frameworks and techniques
  • You're an intermediate developer that wants to keep perfecting and expanding your skills
  • You want to become a top-level Developer and earn a higher salary
  • You want to learn programming best practices and build scalable applications professionally
  • You want to learn advanced industry skills that will greatly improve your chances of getting hired as a Web Developer this year
  • Students who want to go beyond the basics of all of the "beginner" coding tutorials out there that don't give you real-world practice or the skills you need to actually get promoted and hired
  • You want one course to teach you everything in one place from a team of Senior Developers that have experience working in the industry

Do you provide a certificate of completion?

We definitely do and they are quite nice. You will also be able to add Zero To Mastery Academy to the education section of your LinkedIn profile as well.

Can I download the videos?

Definitely. You can download any and all lessons for personal use. We do everything we can to make learning easy, fun and accessible. Whether that’s on your commute, on a flight or just when you have limited access to good WiFi.

Still have more questions about the Academy?

Still have more questions specific to the Academy membership? No problem, we answer some more here.

Take the next step and invest in a better you

Choose your currency:
$ USD US Dollar
Monthly
100% OFF$39 / month
$39 / month
You're ready to upskill and advance your career
Start Learning Now
Save 40% vs. monthly (that's $189 a year)
Annual
100% OFF$279 / year
$279 / year
$23 / month
You're committed to getting hired and starting a career in tech
Start Learning Now
Lifetime
100% OFF$999
$999
Only pay once, ever
You're serious about advancing your career and never getting left behind
Start Learning Now

Every ZTM membership includes:

Unlimited access to all courses, workshops, and career paths
Invite to private Discord with 400,000+ members
Access to private Linkedin networking group
Custom ZTM course completion certificates
Download all lessons for offline learning
Unlimited, priority access to all future courses, content, and features
100% RISK FREE

We know you'll love ZTM. That's why we provide a no hassle, 30-day money back guarantee.