בדיקות יחידה (Unit tests) הן בדיקות של חלקים קטנים בתוכנה. לעיתים יחידה היא פרוצדורה או פונקציה. המטרה שלהן היא לוודא שכל יחידה עובדת כראוי לבד, בלי תלות בחלקים אחרים.
בדיקות אלה נכתבות בדרך כלל על ידי מפתחים אחרי בניית היחידה או אחרי שינויים. יש גם שיטות שבהן כותבים את הבדיקה לפני הקוד, כמו פיתוח מונחה-בדיקות (Test-Driven Development): כותבים את הבדיקה כקריטריון לנכונות הקוד שעתיד להכתב.
בדיקות יחידה עוזרות לבודד כל חלק בתוכנה ולהראות שהוא תקין כשלעצמו. הן מאפשרות לבצע שינויים באופן בטוח, כי אפשר לוודא שהשדרוג לא שבר יכולות קודמות. בנוסף, הן מפשטות את שלב השילוב (אינטגרציה), כי פחות בעיות מגיעות משגיאות פנימיות של יחידות. בדיקות היחידה גם מתפקדות כתיעוד מעשי של מה שהיחידה אמורה לעשות. הן מעודדות הפרדה בין הממשק (דרך השימוש ביחידה) למימוש הפנימי שלה, וזה מקל על עבודה בצוותים.
בדיקות יחידה לא מבטיחות מערכת תקינה לגמרי. הן לא בודקות בעיות שילוב מורכבות, ביצועים או בעיות מערכתיות אחרות. מכיוון שמפתחים כותבים אותן, הן עלולות לא לשקף קלטים מציאותיים של משתמש הקצה. לכן הן יעילות כשחלק מתהליך בדיקה רחב יותר, אך לא מספקות בדיד כל הבעיות האפשריות.
קיימות גישות שונות לביצוע בדיקות יחידה.
ניתן להריץ בדיקות יחידה בצורה אוטומטית בעזרת כלים שמדמים את סביבת המודול ומריצים בדיקות בלחיצה. לא תמיד משקיעים בהקמת סביבה כזו, ולפעמים מבצעים בדיקות ידניות. עם זאת, הגדרת הבדיקות הראשונית מותאמת לכל מודול ונעשה אותה באופן ידני.
בדיקות יחידה בשימוש מאז הימים הראשונים של התכנות. בתחילת המאה ה-21 הופיעו חבילות עזר (frameworks) לבדיקות יחידה. החבילות קבעו תבנית אחידה לבדיקה, שיפרו בידוד של בדיקות והרשית אוטומציה מלאה. בעזרתן אפשר להריץ סדרת בדיקות בקלות, להבטיח שכל הבדיקות עובדות, ואפילו להכשיל תהליך בנייה מרכזי אם בדיקה אחת נכשלה.
בדיקות יחידה קשורות ל-Extreme Programming. בפרקטיקה זו נכתבת בדיקת יחידה עבור כל תכונה חדשה, ורק אחרי כן נכתב הקוד שמממש את התכונה. שיטה זו מדגישה פיתוח קצר מחזורים ובדיקות צמודות לקוד.
בדיקות יחידה (Unit tests) בודקות חלק קטן בקוד. חלק קטן זה הוא פרוצדורה או פונקציה. המטרה היא לוודא שהחלק עובד לבד בלי שגיאות.
הן עוזרות למצוא שגיאות מוקדם. אפשר לשנות קוד בביטחון מבלי לשבור דברים אחרים. הן גם משמשות כתיעוד. כשכל חלק עובד לבד, קל יותר לחבר את כל המערכת ביחד.
בדיקות יחידה לא בודקות את כל המערכת. הן לא תופסות בעיות שילוב גדולות או בעיות ביצועים. לכן צריך גם בדיקות אחרות.
יש דרכים שונות לבדוק יחידות בקוד.
אפשר להשתמש בכלים שמריצים בדיקות בלחיצה. זה נקרא אוטומציה. לפעמים עדיין עושים בדיקות ביד.
מתכנתים משתמשים בבדיקות יחידה מאז תחילת התכנות. בתחילת המאה ה-21 הופיעו כלים שמקלים על הרצה אוטומטית של בדיקות.
בשיטה שנקראת Extreme Programming כותבים את הבדיקה לפני הקוד. אחר כך כותבים את הקוד שעובר את הבדיקה.
תגובות גולשים