בדיקות תוכנה מתבצעות במספר רב של רמות:
בדיקות פונקציונאליות
מטרתן לוודא שהמערכת אכן מבצעת את הפעולות שהיא מיועדת לבצע.
כוללות בדיקות קטעי קוד להם יש משמעות לוגית כדוגמת תנאים, לולאות, פונקציות, מסכים ותהליכי Batch. בדיקות אלה נועדו לבדוק תקינות שדות קלט ופלט, חוקיות של שדות, ביצוע אלגוריתם כהלכתו ותפקוד קטעי תוכנה מבחינה פונקציונאלית במערכת.
כלים עיקריים:
- Mercury WinRunner & TestDirector
- Rational Robot
- E-Tester
בדיקות אינטגרציה
בבדיקות אלו אנו מחברים יחדיו את קטעי התוכנה ומוודאים כי הם מבצעים את תפקידם יחדיו. בדיקות אלה מבוצעות עבור כל תת-מערכת בנפרד. כאשר נבדקת מערכת קטנה שפותחה ע"י צוות תוכנה אחד בלבד, בדיקות האינטגרציה יהיו גם בדיקות המערכת.
בדיקות מערכת - STP - System Test Plan
בדיקות תקינות התהליכים במערכת כולה ע"י שילוב תת-המערכות. בשלב זה אנו בודקים גם את ביצועי המערכת, קצב העברת הנתונים, עומס הנתונים, נפחם, התממשקות המערכת עם מערכות אחרות, אבטחת המידע ושרידות המערכת הכולל גיבוי והתאוששות במקרה של קריסה מלאה או חלקית.
בדיקות קבלה - ATP - Acceptance Test Plan
שלב זה מבוצע ע"י הלקוח ובאחריותו. הלקוח בודק את הצד התפעולי של המערכת והלוגיקה על פי המוגדר בתיק האפיון. לאחר אישור הלקוח המערכת עוברת לשימושו. בדיקות הקבלה מתבצעות לרוב לאחר התקנת המערכת אצל הלקוח, טרם שילובה של המערכת במישור העסקי של הלקוח.
במסגרת הסוגים הנ"ל מתבצעים עוד מספר סוגים של בדיקות שרק נזכיר את שמם:
בדיקות רגרסיה - בדיקת האיכות של גירסא משודרגת בהשוואה לגירסה קודמת.
בדיקות ביצועים - בדיקת ביצועי המערכת (מבחינת מהירות התגובה שלה) בתרחישי עומסים שונים.
בדיקות תאימות - בדיקת תאימות התוכנה לפלטפורמות חומרה ותקשורת שונות