Supertest is a tool to test Express HTTP servers easily. You write your Express app code, then use Supertest to send HTTP requests to it without starting a real server. The flow starts by creating the app, then Supertest sends a request like GET /hello. The app receives it and sends back a response. Supertest checks the response status and body against what you expect. If all checks pass, the test passes. If any check fails, the test fails. Variables like the request object and app instance change as the test runs. Common confusions include why the app instance is needed (to send requests directly), what happens on assertion failure (test fails immediately), and that Supertest can check headers too. The execution table shows each step from sending the request to checking the response. This helps beginners see how the test runs step-by-step.