באג (תקלה) הוא כשל בתוכנה שגורם לה להתנהג בצורה שגויה, לא צפויה או לא מתוכננת. המונח משמש גם לפגמים בחומרה, למשל בתכנון מעגלים אלקטרוניים.
באגים נגרמים ממקורות שונים: עיצוב לקוי של התוכנה, אלגוריתם לא מתאים (אלגוריתם = סדרת צעדים לפתרון בעיה), טעויות בתכנות, הבנה שגויה של דרישות הלקוח או שינוי בדרישות ובקלטים של המערכת. באגים יכולים להופיע בצורות רבות ולגרום לבעיות קלות או לנזקים משמעותיים.
דרך הבדיקה הנפוצה היא ניפוי (ניפוי = בדיקה באמצעות ניסוי על מקרים רבים). יש גם שיטות פורמליות להוכחת נכונות תוכנה, אך ברוב המקרים בודקים על-ידי הרצה וניסויים. מגוון המקרים בתוכנה מורכבת מקשה על זיהוי כל הבאגים, ולכן משתמשים עדיין נתקלים בבעיות.
מפתחי תוכנה משקיעים משאבים רבים בניפוי ובבדיקות איכות. נוצר מקצוע מבקר איכות תוכנה וכן חברות המתמחות בבדיקות אוטומטיות, לדוגמה חברת מרקורי המוכרת בתחום.
כאשר מזהים באג קריטי, מפיצים במהירות עדכון מתוקן למשתמשים. תיקונים פחות דחופים מצטרפים לגרסה חדשה של התוכנה. משתמשים לעתים פונים ליצרן כדי לקבל גרסה תקינה. באופן זמני ניתן לעקוף באג על-ידי הימנעות מהאפשרות שמפעילה אותו. לעיתים נדרש להפעיל מחדש את התוכנית, ובמקרים חמורים יותר לאתחל את המחשב.
המונח "באג" שימש כבר במאה ה-19 למהנדסים לתאר כשלים טכניים. בסיפור המפורסם שמקושר למונח, נמצא חרק אמיתי במחשב אלקטרומכני בספטמבר 1947. גרייס הופר פרסמה את התיעוד, אך היא עצמה לא המציאה את המילה. המפעילים שמצאו את החרק רשמו שהוא "המקרה האמיתי הראשון" שנמצא.
באגים נחלקים לסוגים שונים לפי מקורם והשפעתם; חלקם משפיעים על פונקציות פנימיות, וחלקם על השימוש של המשתמש.
כל משתמש נתקל בבאגים שפוגעים בנוחות השימוש. יש מקרים שבהם באג גרם לנזק גדול, והם מדגישים את הצורך בבדיקות קפדניות ובתיקונים מהירים.
באג (תקלה) הוא שגיאה בתוכנה שגורמת לה לעבוד לא נכון. לפעמים משתמשים במילה גם כשמדובר בחלקים חשמליים.
באגים נוצרים משלל סיבות: תכנון לא מדויק, טעות בקוד או הבנה לא נכונה של מה שהלקוח רצה. לפעמים הדרישות משתנות והמערכת לא מתאימה.
בודקים תוכנה בעזרת ניפוי. ניפוי = לבדוק הרבה מקרים ולנסות למצוא את השגיאות. קשה לבדוק את כל האפשרויות, ולכן עדיין ימצאו באגים.
מפתחים מנסים לתקן באגים כמה שיותר מהר. כשהבאג חמור משחררים עדכון מיד. באגים קטנים מצטרפים לעדכון גדול יותר.
משתמשים יכולים לעתים להימנע מהאפשרות שגורמת לבאג. לפעמים צריך לסגור את התוכנית או להפעיל את המחשב מחדש.
המילה "באג" הייתה בשימוש כבר במאה ה-19 לתאור כשלים בהנדסה. ב-1947 מצאו חרק אמיתי במחשב ישן, ושמרו אותו כסמל. גרייס הופר קישרה את הסיפור למונח, אבל היא לא המציאה את המילה.
באגים לעיתים מפריעים ממש. יש באגים שגורמים לבעיות גדולות, ולכן חשוב לבדוק ולתקן אותם מראש.
תגובות גולשים