The PDLC 🚀

Program Development Life Cycle

Why do we NEED Testing?

Imagine building a bridge but never checking if the bolts are tight. Testing ensures our code is robust (doesn't break easily) and reliable.

The Bouncer Analogy (Presence Check): Imagine a VIP club. If you don't show an ID, the bouncer won't let you in. In coding, a Presence Check ensures a user hasn't left a "Required" box empty!
The Rollercoaster Analogy (Range Check): You must be between 1.2m and 2.0m tall to ride. If you are 0.5m or 3.0m, the gate stays shut. A Range Check ensures numbers stay within sensible limits (like a test score between 0-100).

The Types of Test Data

To be a pro tester, you can't just type in "obvious" answers. You have to try and break the system!

Data Type Description Example (Exam Score 0-100)
Normal Data that is standard and expected. 55 (Accepted)
Abnormal Data of the wrong type (letters instead of numbers). "Potato" (Rejected)
Extreme The largest and smallest valid values. 0 and 100 (Accepted)
Boundary Data at the edge of being accepted or rejected. 0,100 (Accepted) -1,101 (Rejected)

Remember: A good programmer loves finding bugs (errors) before the user does! 🐛✨