הבטחת איכות תוכנה (Software quality assurance, SQA) היא כלל הפעולות שנועדו להבטיח שתוכנה תהיה אמינה ובטוחה כחלק מתהליכי הפיתוח והתחזוקה. תחום זה הוא חלק מהבטחת איכות והנדסת תוכנה, והוא הפך חשוב מאוד בגלל הסיכונים של תוכנות פגומות. בעבר היו מקרים שבהם שגיאות בתוכנה גרמו לתאונות חמורות, למשל בתעופה ובמכשור רפואי, ולכן חברות משקיעות כיום הרבה במשאבי בדיקות ובהעסקת בודקי תוכנה ומהנדסי בדיקות.
לבין שני המושגים יש הבדל: בקרת איכות (Quality Control) בודקת שהמוצר תואם לדרישות המוגדרות. הבטחת איכות (SQA) היא מכלול הפעולות שננקטות כדי לייצר מוצר ברמת איכות נדרשת. השלב הראשון ב-SQA הוא שימוש בתהליכי פיתוח מוגדרים ומתועדים.
תהליך פיתוח תוכנה כולל ייזום, תכנון, עיצוב, פיתוח ותחזוקה. בכל שלב ננקטים אמצעים להבטחת איכות. דוגמה לכך היא שימוש בתקנים לתיעוד דרישות, כגון ISO-830, ותיעוד דרישות SRS.
בדיקות תוכנה הן דוגמה לבקרת איכות. בבדיקות לומדים את המערכת, כותבים תסריטי בדיקה ובודקים את המודולים במצבים שונים. בדיקות יכולות להיות ידניות או אוטומטיות. כלי בדיקה אוטומטיים מפעילים תסריטים בעצמם; יש כלים לרמת היחידה (כמו JUnit) ולניהול תקלות (כמו BugZilla). קיימים גם כלים לבדיקות עומס, המדמים משתמשים רבים כדי לבדוק ביצועים תחת עומס.
למרות כל המאמצים, ברוב המוצרים יש באגים. זה קורה מכיוון שבדיקות מנסות לוודא שהמוצר עומד בדרישות (ולידציה, בדיקה שהמוצר הוא מה שציפו לו), וכמו כן למצוא בעיות שאינן מכוסות היטב בדרישות.
במדעי המחשב נחקר תחום אימות תוכנה, שמנסה להוכיח נכונות של תוכנות. כמו כן יש מחקרים ב-SQA בהנדסה, מנהל עסקים וכתחום אקדמי, כולל לימודים בתואר שני ושלישי במוסדות כמו הטכניון.
הבטחת איכות תוכנה (SQA) היא סדרה של צעדים שעוזרת לגרום לתוכנה לעבוד טוב ובטוח. תוכנה - תוכנית שרצה על מחשב. לפני כן היו מקרים שבהם תוכנות פגומות פגעו באנשים. לכן חברות מוודאות את האיכות.
בקרת איכות בודקת אם התוכנה עומדת בדרישות. דרישות - מה שהתוכנה אמורה לעשות. הבטחת איכות היא כל הפעולות שעושות את התוכנה טובה מלכתחילה.
פיתוח תוכנה נעשה בשלבים: התחלה, תכנון, עיצוב, בנייה ותחזוקה. בכל שלב בודקים ושומרים על איכות. בדיקות תוכנה בודקות שהדברים עובדים. תסריטי בדיקה הם הוראות שמריצים את התוכנה במצבים שונים. יש בדיקות ידניות ובדיקות אוטומטיות. יש גם בדיקות עומס שבודקות מה קורה כשיש הרבה משתמשים.
למרות הבדיקות, לפעמים נשארים באגים. באג - שגיאה בתוכנה. הבדיקות בודקות אם התוכנה עושה את מה שהבטיחו לה.
חוקרים לומדים אימות תוכנה. אימות - ניסיון לבדוק שתוכנה פועלת נכון. נלמדים נושאים אלה באוניברסיטאות ובמכללות כמו הטכניון.
תגובות גולשים