Loading AI tools
מוויקיפדיה, האנציקלופדיה החופשית
הבטחת איכות תוכנה (באנגלית: Software quality assurance, בראשי תיבות: SQA) הוא מכלול הפעולות הנדרשות להבטיח את איכותה של תוכנת מחשב, כחלק מתהליכי הפיתוח והתחזוקה שלה. תחום זה, שנהוג לראות אותו כחלק מתחום הבטחת איכות והנדסת תוכנה, הלך והפך חשוב ברבות השנים.
הנדסת תוכנה |
---|
ערך זה שייך לקטגוריית הנדסת תוכנה |
פעילויות ושלבים |
דרישות • ניתוח • אפיון • ארכיטקטורה • עיצוב • תכנות • ניפוי שגיאות • בדיקה • אימות • בנייה • פריסה • תפעול • תחזוקה |
מתודולוגיות |
זריזות • מפל המים • תכנת ותקן • Crystal Clear • Scrum • Unified Process • Extreme Programming • אינטגרציה רציפה • DevOps |
תחומים תומכים |
ניהול פרויקטים • ניהול תצורה • תיעוד • הבטחת איכות • Profiling |
כלים |
מהדר • מקשר • מפרש • IDE • ניהול גרסאות • אוטומציית בנייה |
בעבר קרו מקרים של מוות[1] כתוצאה מתוכנות שלא היו איכותיות מספיק: מטוסים שהתרסקו ומכשור רפואי שגרם נזק. בעוד שפעם לא היה נהוג להשקיע כספים בהעסקת אנשי הבטחת איכות, מהנדסי בדיקות תוכנה, ובודקי תוכנה מיומנים, הרי שכיום חברות משקיעות משאבים רבים כדי לוודא שהמוצר שהן מוציאות לשוק בטוח לשימוש ואין בו באגים חמורים, תוך שימוש בתהליך ייצור המבטיח איכות הנדרשת מהמוצר הסופי.
לעיתים נוצר בלבול בין מושג הבטחת איכות תוכנה למושג בקרת איכות תוכנה. בזמן שבקרת איכות תוכנה זהו תהליך הנועד לבדוק תאימות של המוצר אל מול הדרישות (ספציפיקציות), הבטחת איכות זהו שם כולל לכלל הפעולות הננקטות על מנת לייצר מוצר ברמת איכות נדרשת.
השלב הראשון בהבטחת איכות תוכנה הוא שימוש בתהליכים מוגדרים ומתועדים של פיתוח תוכנה. כמו כל הליך ייצור, ייצור תוכנה מתחיל משלב הייזום, ממשיך דרך התכן, עיצוב, פיתוח, ותחזוקה של המוצר הסופי, וחוזר חלילה. בכל אחד משלבי מחזור החיים הזה, ננקטים אמצעים שונים ומגוונים להבטחת האיכות של המוצר הסופי.
דוגמה לתהליך המושפע מעקרונות הבטחת האיכות הוא שימוש בתקנים עבור מסמכים המתעדים את הפיתוח (לדוגמה - תקן ISO-830, או נוהל מפת"ח, לתיעוד דרישות תוכנה SRS).
דוגמה נוספת לתהליך שמושפע מעקרונות הבטחת האיכות הוא בקרת איכות תוכנה, הלא הוא תהליך הבדיקות. השלב הראשון בבקרת איכות תוכנה הוא היכרות עם המערכת הנדרשת לבדיקה. השלב השני הוא כתיבת תסריטי בדיקה שמטרתם לבחון את כשירותם של המודלים השונים של התוכנה במצבים שונים. לעיתים מתלווה לבדיקה הידנית או מחליפה אותה בדיקה באמצעות כלי בדיקה אוטומטיים (ישנם מספר מוצרים מסחריים, וגם כלים חופשיים תחת רישיון קוד פתוח, כמו CUnit/JUnit/CPPUnit לבדיקות רמת היחידה, BugZilla לניהול תקלות, וכדומה). בבדיקה מסוג זה נכתב תסריט המורץ באופן אוטומטי על ידי התוכנה במצבים שונים. בין סוגי כלי הבדיקה הקיימים ניתן לציין כלי בדיקה שמטרתם לבדוק עומסים על אתרי אינטרנט. כלים אלו מדמים כניסה של משתמשים לאתר כדי לבחון את מהירויות הגלישה בעומסים שונים.
למרות שחברות העוסקות בייצור תוכנה מעסיקות אנשי הבטחת איכות, מהנדסי בדיקות תוכנה ובודקי תוכנה, במרבית התוכנות היוצאות לשוק נמצאים באגים. דבר זה נובע מכמה סיבות:
המטרה של בדיקות תוכנה היא לוודא שהמוצר עונה על הדרישות שהוצבו (ולידציה), וכן למצוא באגים בתחומים שלא מכוסים על ידי הדרישות (או לא מכוסים מספיק).
במסגרת מדעי המחשב נחקר התחום של אימות תוכנה, שנועד לאפשר הוכחת נכונותה של תוכנה. בנוסף, מתבצעים מחקרים בהבטחת איכות תוכנה תחת המטריה של מנהל עסקים, הנדסה וכתחום בפני עצמו (למשל בלימודי תואר שני ושלישי בטכניון).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.