Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Quality Assurance

via freeCodeCamp


As your programs or web applications become more complex, you'll want to test them to make sure that new changes don't break their original functionality.

In the Quality Assurance Certification, you'll learn how to write to write tests with Chai to ensure your applications work the way you expect them to.

Then you'll build a chat application to learn advanced Node and Express concepts. You'll also use Pug as a template engine, Passport for authentication, and for real-time communication between the server and connected clients.

Major Topics:

  • Quality Assurance and Testing with Chai
  • Advanced Node and Express
  • Quality Assurance Projects


  • Learn How JavaScript Assertions Work
  • Test if a Variable or Function is Defined
  • Use Assert.isOK and Assert.isNotOK
  • Test for Truthiness
  • Use the Double Equals to Assert Equality
  • Use the Triple Equals to Assert Strict Equality
  • Assert Deep Equality with .deepEqual and .notDeepEqual
  • Compare the Properties of Two Elements
  • Test if One Value is Below or At Least as Large as Another
  • Test if a Value Falls within a Specific Range
  • Test if a Value is an Array
  • Test if an Array Contains an Item
  • Test if a Value is a String
  • Test if a String Contains a Substring
  • Use Regular Expressions to Test a String
  • Test if an Object has a Property
  • Test if a Value is of a Specific Data Structure Type
  • Test if an Object is an Instance of a Constructor
  • Run Functional Tests on API Endpoints using Chai-HTTP
  • Run Functional Tests on API Endpoints using Chai-HTTP II
  • Run Functional Tests on an API Response using Chai-HTTP III - PUT method
  • Run Functional Tests on an API Response using Chai-HTTP IV - PUT method
  • Simulate Actions Using a Headless Browser
  • Run Functional Tests using a Headless Browser
  • Run Functional Tests Using a Headless Browser II
  • Set up a Template Engine
  • Use a Template Engine's Powers
  • Set up Passport
  • Serialization of a User Object
  • Implement the Serialization of a Passport User
  • Authentication Strategies
  • How to Use Passport Strategies
  • Create New Middleware
  • How to Put a Profile Together
  • Logging a User Out
  • Registration of New Users
  • Hashing Your Passwords
  • Clean Up Your Project with Modules
  • Implementation of Social Authentication
  • Implementation of Social Authentication II
  • Implementation of Social Authentication III
  • Set up the Environment
  • Communicate by Emitting
  • Handle a Disconnect
  • Authentication with Socket.IO
  • Announce New Users
  • Send and Display Chat Messages
  • Metric-Imperial Converter
  • Issue Tracker
  • Personal Library
  • Sudoku Solver
  • American British Translator

Taught by

freeCodeCamp Team

Related Courses


5.0 rating, based on 1 reviews

Start your review of Quality Assurance

  • This is a great next step once you have completed through APIs and Microservices. It covers adding security and authentication to your program, and adding tests, which are extremely useful especially once you are working on bigger projects. It is a great idea to at least be familiar with Passport, unit tests, and Helmet.js.

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free