בדיקות תוכנה זהו שם כולל, המכיל בתוכו סוגים השונים של בדיקות. השאלה המתבקשת היא – מה בעצם בודקים? מטרתן של בדיקות תוכנה (הכוונה היא לתוכנה, קוד, אתר, מערכת ועוד) לבדוק האם תוצאות התוכנה הנבדקת תואמות לדרישות, ושהמערכת כולה מתפקדת ללא שגיאות או באגים. בדיקות יכולות להתבצע בצורה ידנית, או באוטומציה – על ידי שימוש בקוד או תוכנה. יש כל מיני סוגים של בדיקות, שמטרתן לשרת מטרות שונות בתהליך הבדיקה.
סוגי בדיקות נפוצים
בקורס בדיקות תוכנה (Master QA) במכללת iNT לומדים לעומק ומתרגלים בפועל את סוגי הבדיקות, ואלו כמה מהסוגים שחשוב להכיר:
- בדיקות מערכת – בדיקות עבור המערכת כולה כמכלול מול תכנוני האפיון שלה. בדיקות תוכנה מאופיינות בשתי תצורות:
- 'קופסא שחורה'- בודקת את הפונקציות והדרישות של המערכת כמכלול. בבדיקות 'קופסא שחורה' הבודק לא מכיר את המבנה הפנימי ואת מרכיבי האלמנט הנבדק.
- 'קופסא לבנה' (או 'קופסת זכוכית) – בדיקות ההיגיון הפנימי של המערכת. בדיקת קודים, הסתעפויות, מהלכים ותנאי הפעלה המרכיבים את המערכת. לעומת 'הקופסא השחורה' בגישה זו הבודק מכיר את המערכת ומרכיביה.
- בדיקות יחידה – בדיקות תוכנה המתייחסות לחלק ספציפי מהמערכות או המודול. בדיקות יחידה יתחילו בשלב מוקדם יחסית עוד בתהליך כתיבת הקוד, ונדרשת הבנה מעמיקה של הקוד על מנת לבצע את הבדיקה. מסיבות אלו לעיתים קרובות מפתח היחידה מבצע את הבדיקה.
- בדיקות אינטגרציה – בדיקות אלה נעשות לעיתים בשילובים בין הלקוח לשרת, בין מודלים פנימיים לעומת חיצוניים או נקודות מפגש לאחר שילוב של מערכות שונות אחת עם השנייה. במיוחד בשיטת פיתוח מודולרית, יעבדו מפתחים שונים במערכות וקודים שונים. כל מודול אמנם נבדק בבדיקת יחידה, אך תפקידה של בדיקת האינטגרציה הוא במפגש ובפונקציונליות של המודולים השונים זה עם זה.
- בדיקות התקבלות – בדיקות של המערכת' האם עונה על הצרכים של הלקוח ו/או המשתמש? בדרך כלל בדיקה זו תבוצע אחרונה, לפני שהתוכנה עולה לאוויר למשתמשי הקצה. בדיקות התקבלות ובדיקת משתמשים חשובות מאוד כדי לוודא שעבור המשתמש התוכנה עובדת בצורה חלקה ונוחה.
- בדיקות ביצועים- חלק מהבדיקות יבדקו את מצבי הקיצון, כולל ניסיונות להכשיל את מערכת ולהבין מה גבולותיה. לדוגמה בדיקת עומס – בה נבדק המספר המקסימלי של המשתמשים שיכולים להשתמש בתוכנה בו זמנית. לעומת זאת בדיקת ביצועים מסוג Load בודקת גם היא פונקציונליות לפי כמות משתתפים, אלא שבבדיקה זו (לעומת בדיקת עומסים) לא בודקים מה המקסימום שהתוכנה יכולה להכיל והיכן היא קורסת, אלא איך התוכנה מתפקדת כאשר מספר המשתמשים המתוכנן משתמש בה בו זמנית.
- בדיקות שפיות- בדיקות שמבוצעות בצורה מהירה יותר, בד"כ רק על החלק המסוים שהוטמע או שנעשה בו שינוי. שיטה זו שימושית כשאר בדיקות תוכנה נתקלות במכשול של לוחות זמנים. מטרה נפוצה היא לבדוק האם השינוי שבוצע עובד או האם הבאג תוקן ואת זאת כאמור תוכלו ללמוד במסגרת קורס QA במכללת iNT.
בדיקות רגרסיה – כשנעשה שינוי, שדרוג או הטמעה של תוספת או מודול נוסף, צריך לבדוק שהפונקציונליות הקודמת לא הושפעה מכך ולא נוצרו תקלות או באגים חדשים בחלקים ה'ותיקים'.