درس ۷ برنامهنویسی: خطایابی و تست با یک روش قابل تکرار
بهجای حدسزدن، خطا را بازتولید، کوچک و با شواهد برطرف کنیم.
خطا را دقیق بازتولید کن
ورودی، مراحل انجام کار، نتیجه مورد انتظار و نتیجه واقعی را ثبت کن. اگر خطا هر بار تکرار نمیشود، زمان، دستگاه و وضعیت داده را نیز یادداشت کن.
مسئله را کوچک کن
بخشهای نامرتبط را موقت کنار بگذار و مقدار متغیرها را در نقاط کلیدی ببین. اولین نقطهای که داده از انتظار منحرف میشود معمولاً نزدیک علت اصلی است.
- پیام خطا را کامل بخوان.
- آخرین تغییر را بررسی کن.
- فرضیه را با یک آزمایش بسنج.
- پس از اصلاح، تست بازگشتی انجام بده.
تمرین این درس
در پروژه هزینه، عمداً یک ورودی صفر، مقدار منفی و متن وارد کن. رفتار مورد انتظار را تعریف و برای هرکدام یک تست کوچک بساز تا برنامه بدون پیام مبهم شکست نخورد.
پرسشهای متداول
چرا با تغییر چند خط همزمان خطا سختتر میشود؟
نمیدانی کدام تغییر نتیجه را عوض کرده است؛ هر فرضیه را با کمترین تغییر ممکن آزمایش کن.
تست دستی کافی است؟
برای شروع مفید است، اما تست خودکار رفتار مهم را در تغییرات بعدی سریع و تکرارپذیر کنترل میکند.
جمعبندی
بازتولید، کوچکسازی، ساخت فرضیه و آزمایش چهار قدم خطایابیاند. اصلاح خوب همراه تستی است که جلوی بازگشت همان مشکل را بگیرد.