Global Side Menu Width
Placeholder

עקרונות QA

שבעת עקרונות הבדיקה

  1. בדיקות יכולות להצביע על נוכחות פגמים, אך אינן יכולות להוכיח היעדר פגמים.

  2. בלתי אפשרי לבצע בדיקות ממצות (לבדוק את כל השילובים והמצבים).

  3. עדיף להתחיל לבצע בדיקות מוקדם ככל האפשר.

  4. לרוב, מספר קטן של מודולים מכיל את רוב הבאגים (אם נמצאו באגים במודול מסוים, יש סיכוי גבוה שיימצאו בו עוד).

  5. אם חוזרים על אותן בדיקות שוב ושוב, בסופו של דבר אותה קבוצת בדיקות לא תחשוף פגמים חדשים — לכן צריך לרענן ולהוסיף בדיקות.

  6. בדיקות תלויות הקשר: בדיקות במערכת רפואית (סכנת חיים) שונות מבדיקות של אפליקציה רגילה.

  7. אין טעם לגלות ולתקן פגמים אם המוצר לא שימושי או לא עונה על צרכי המשתמשים והציפיות ממנו.

הפסיכולוגיה של בדיקות

מטרת הבדיקות היא למצוא באגים, אבל חשוב לדווח עליהם בצורה אנושית ומכבדת. בודקי תוכנה צריכים לשמור על שיקול דעת מקצועי ואובייקטיביות ככל האפשר.

למה בדיקות נחוצות ועד מתי לבדוק?

ללא QA עלולים להישאר במוצר באגים שיגרמו לכשלים (Failures). QA מסייע לוודא שהמערכת עומדת בדרישות העסקיות והמערכתיות, מעלה את איכות המוצר ומפחית סיכון לכשלים.

כמה צריך לבדוק?

מכיוון שאי אפשר לבדוק הכול, מגדירים בתכנית הבדיקות (STP) קריטריוני כניסה ויציאה. ממשיכים לבדוק עד שעומדים בקריטריוני היציאה, ובמקרים חריגים מוגדרים גם תנאים להפסקת בדיקות (למשל ריבוי תקלות חוסמות).

תפקידים מרכזיים בעולם ה-QA

מוביל/מנהל בדיקות (Test Lead / Test Manager)

  • בונה אסטרטגיית בדיקות בתיאום עם הנהלה ובעלי עניין.

  • מעריך זמן, מאמץ ועלות בדיקות.

  • כותב STP ומנהל מעקב אחר התקדמות ותוצאות בדיקות (כולל STD).

  • מפיק דוחות סיכום בדיקות (Test Summary Report).

  • כותב מקרי בדיקה ומסמך STD.

בודקי תוכנה (Testers)

  • מריצים בדיקות ומדווחים על באגים.

  • מבצעים Re-Testing ורגרסיה.

ארגון הבדיקות (מודלים נפוצים)

  1. מפתחים בודקים את הקוד שלהם ללא צוות QA

    יתרונות: מכירים את המוצר ובודקים תוך כדי פיתוח.

    חסרונות: פחות אובייקטיביים ומוגבלים בזמן.

  2. צוות QA בתוך ארגון הפיתוח

    יתרונות: יותר אובייקטיבי ממפתחים ותקשורת טובה עם הפיתוח.

    חסרונות: תלות בתהליך הפיתוח ועלול להיווצר עומס/עיכוב פורמלי.

  3. צוות QA מחוץ לארגון הפיתוח (חיצוני/נפרד)

    יתרונות: עצמאות ואובייקטיביות גבוהה יותר, בדיקות עמוקות.

    חסרונות: פחות אינטראקציה עם המפתחים ועלול להיווצר פער הבנה.