
הטקסט המלא של הדקות הראשונות בהרצאה «בדיקות רגרסיה - בדיקות נסיגה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בסרטון הקרוב נדבר על בדיקות נסיגה או בדיקות רגרסיה. מה הן בדיקות רגרסיה? בדיקות רגרסיה הן בדיקות שבודקות את המערכת בשלמותה בלי קשר לפיתוח ספציפי על מנת לוודא שהפונקציונליות המרכזית או כל פונקציונליות אחרת במערכת לא נפגמה כתוצאה מעדכון קוד שבוצע
באיזשהו חלק של המערכת באיזשהו מודול של המערכת. אני אסביר ברוב המערכות יש אינטגרציה בין כמה מודולים. לעיתים חלק מהמודולים בשלבי הייצוא ובשלבי האינטגרציה מתוקנים, נכתבים שוב, עושים רי-פקטורינג לכתיבה מסוימת או מתקנים תקלות שנמצאו בשלבי הבדיקה הקודמים.
התיקונים האלה בעצם יכולים או מהווים סיכון לשאר חלקי המערכת או לפונקציונליות קודמת במודול שבו בוצע התיקון או במודולים אחרים שיש להם אינטגרציה עם החלק שבוצע בו תיקון. על מנת להפחית את הסיכון של הופעת תקלות חדשות שהן כתוצאה מתיקונים שהתווספו למערכת, אנחנו צריכים להכין סט של טסטים, סט של בדיקות,
שנקראות בדיקות נסיגה, והמטרה שלהם זה להגיד שהמערכת לא נפגעה, לא קרה שום רגרסיה, שום נסיגה במערכת כתוצאה מהתיקון ששולב. מתי נריץ את בדיקות הנסיגה, בדיקות הרגרסיה?
אחרי ששילמנו תיקונים של באגים, אחרי שעלתה גרסה חדשה של קוד, אחרי שבוצע איזשהו עדכון, איזשהו פאץ', איזשהו תיקון ספציפי למערכת, אז אנחנו נרצה להריץ בדיקה כללית, בדיקה שמוודא באמת שהמערכת לא, הפורציונליות המרכזית בה לא נפגעה.
בדיקות הרגרסיה אמורות למנוע תופעות לוואי לא מכוונות של נסיגה במערכת מניסיון לתקן תקלות או לשפר או לעדכן קוד קיים. בדיקות אימות ובדיקות נסיגה מבוצעות בכל רמות הבדיקה, זאת אומרת גם בשלב בדיקות הרכיבים ובשלב בדיקות האינטגרציה ובשלב בדיקות הייצוא ובשלבי בדיקות המערכת וכמובן בשלב בדיקות
הקבלה אנחנו נרצה לבצע בדיקות נסיגה על מנת לוודא שהיכולות של המערכת נשמרו ולא חלה בהן נסיגה. הרבה פעמים תיקונים במודול מסוים של מערכת פוגעו במקומות אחרים באותו מודול או אפילו במודולים אחרים של המערכת.
לדוגמה, במערכת ה-ATM, המערכת הבנקאית, בוצע תיקון במודול שמדבר על בירור מצב יתרה, ובעצם חלה נסיגה במודול של משיכת כסף מהחשבון. אז אנחנו ננסה לוודא את כל מקרי הבדיקה על מנת לוודא באמת שאותו תיקון במודול מצב החשבון לא פגע במודול של המשיכת כספים.
הבדיקות נסיגה מבוצעות בצורה דחופה יותר במודלים של פיתוח שהם מבוססי סבבים, כמו אג'ייל. באג'ייל יש כל הזמן עדכוני גרסה, כל הזמן מבוצעים סבבים, ספרינטים קצרים שהמטרה שלהם זה לקצר את המשך של הפיתוח של התוכנה.
וכשאנחנו מבצעים את הסבבים הקצרים האלה, אנחנו נרצה בכל סבב וסבב לוודא שהתכונות החדשות העדכונים לא פגעו בתכונות הקיימות של המערכת.
אנחנו נרצה בבדיקות שמבוססות על פיתוח בסביבת אג'ייל לבדיקות הרגרסיה יהיה חשיבות גדולה גם לבדיקות אימות לבדיקות תקלות קודמות או בדיקות באגים פתוחים שטופלו ולבדיקות נסיגה. הרבה פעמים באג'ייל הדרישה