باگ هر چیزی است که برنامه را از رفتار مورد انتظارش دور می‌کند: دکمه‌ای که کار نمی‌کند، مبلغ اشتباه در فاکتور یا اپلیکیشنی که ناگهان بسته می‌شود.

منشأ باگ#

معمولاً از اشتباه آدم است، نه کامپیوتر. چند دلیل رایج:

  • اشتباه در منطق برنامه، مثلاً شرط اشتباه
  • فرض‌های نادرست درباره‌ی ورودی کاربر
  • حالت‌های خاصی که پیش‌بینی نشده‌اند، مثل متن خالی یا عدد منفی
  • تداخل با بخش دیگر یا کتابخانه‌ی خارجی

انواع از نظر اثر#

  • خطای نوشتاری: در همان ابتدا معلوم می‌شود.
  • خطای زمان اجرا: هنگام اجرا برنامه را متوقف می‌کند.
  • خطای منطقی: برنامه اجرا می‌شود ولی جواب غلط می‌دهد؛ پیداکردنش سخت‌تر است.

رفع باگ#

اول باید باگ را بتوانید دوباره بسازید، بعد علتش را پیدا کنید، رفعش کنید و تستی بنویسید تا دوباره برنگردد. این فرایند «دیباگ» نام دارد.

شما به‌عنوان کاربر#

اگر باگی دیدید، گزارش خوب شامل این است: چه کردید، چه انتظاری داشتید، چه اتفاقی افتاد و روی چه دستگاه یا مرورگری. گزارش دقیق، زمان رفع را خیلی کم می‌کند.

نکته#

هیچ نرم‌افزار بزرگی کاملاً بدون باگ نیست. هدف، کم‌کردن باگ، پیداکردن سریع آن‌ها و جلوگیری از ایجاد باگ‌های جدید با تست و بازبینی کد است.