בדיקה טובה מתחילה בשאלה ״מה אמור לקרות?״. למשל, פונקציה שמחשבת ממוצע של 80 ו־90 צריכה להחזיר 85. בודקים מקרים רגילים, מקרי קצה (אפס, רשימה ריקה, מספר שלילי) וקלטים מוזרים (מילה במקום מספר). אם התוצאה שונה מהצפוי — מצאנו באג.
בחברות תוכנה כותבים גם בדיקות אוטומטיות: קוד קטן שבודק את הקוד הגדול, ורץ שוב ושוב אחרי כל שינוי. כך אם תיקון אחד שובר משהו אחר, מגלים מיד. יש אנשים שזה המקצוע שלהם — בודקי תוכנה — והם טובים במיוחד בלמצוא דרכים ״לשבור״ תוכנות.

