هي منهجية برمجية تعتمد على كتابة الاختبار أولاً قبل كتابة الكود الفعلي.
تجبر المبرمج على التفكير في المتطلبات بدقة وتنتج كوداً نظيفاً وقابلاً للاختبار.