
Learn why software testing matters: detect bugs early, deliver stable software, and reduce maintenance costs. See how six different testing skills fit the development cycle.
Unit testing validates individual functions early in development as the smallest white-box testing, focusing on source code and corner cases to ensure each component works before deployment.
Engage in a unit testing lab that demonstrates testing three small functions with white box testing, exploring corner cases and regression, and showing how the framework reports errors promptly.
Watch a unit testing demo in Python, using pytest to test increment, decrement, and big number detection, including positive, negative, and edge cases via white box testing.
Explore integration testing, validating interfaces between units and data flows to confirm features work across the school and database, a type of white box testing.
Demonstrate integration testing by running a JavaScript process that saves data to MongoDB, and then verify with a test script that the data is saved.
In this integration test demo, we run the source code, insert a booking into a local MongoDB bookings collection, and verify the record exists by querying the database.
Learn how smoke testing and sanity testing quickly verify a built system after development and before more vigorous testing, using automated checks to reject unstable builds and validate critical functions.
End-to-end testing verifies complete user workflows and design requirements, ensuring production readiness. It uses black-box UI testing after smoke and sanity checks, demonstrated by a Gmail sending flow.
Validate a registration form with four inputs—first name, last name, email, and phone—through end-to-end testing and verify clear error messages if any field is missing.
Demonstrate end-to-end testing with selenium by verifying a registration page's four fields: first name, last name, email, and phone, and illustrate failure when the phone input is missing.
Assess performance testing in production to verify the server can withstand sudden user surges after promotions, ensuring reliability before large-scale traffic arrives.
Join a performance testing lab to launch a simple server and a load testing framework, simulate virtual users, and observe how thousands of requests may drop under load.
Explore how to perform performance testing on a simple server with artillery, simulating multiple virtual users, issuing get requests, and tracking latency, success rate, and failed requests as load rises.
User acceptance testing validates that a solution works for real users by gathering feedback through interviews, surveys, and analytics, then prioritizing fixes and change requests aligned with business goals.
Discover how early and ongoing testing delivers stable software for customers, reduces costs, and includes white-box and black-box testing with six types, including unit, integration, smoke, end-to-end, and performance testing.
Software Testing 101 is a crucial guide to building reliable software.
Starting from "why" software testing is important, the course trains your brain to appreciate the benefits of software testing.
Followed by "how" to do software testing, the course provides you an overview of software development cycle and introduces multiple testing skills that cover the whole development cycle.
Unit test
Integration test
Smoke & sanity test
End-to-end test
Performance test
User Acceptance test
For each lab section, I will introduce the "what" to you - "what you can use to carry out the test".
With the approach of "why", "how" and "what", you will be leaded to the road of building a reliable, scalable and cost-effective software.