מה זה Continuous Testing?
מאת:
ליאור כץ, 12.9.21, 15:04
בהמשך לשיטת הפיתוח האג'ילית, התפתחה שיטת ה-"Continuous". איך עושים את זה נכון, למה כולם מדברים על זה בשנים האחרונות, ולמה בוחרים בה ארגונים רבים?
בשנים האחרונות ארגונים רבים החלו לאמץ גישת פיתוח אג'ילית (
Agile), שמשמעותה פיתוח פתרונות בצורה מהירה, זריזה וגמישה. השיטה האג'ילית שינתה את ההסתכלות שלנו על עולם ה-
IT ועל ניהול של פרויקטי פיתוח. היא קיצרה באופן משמעותי את זמני הפיתוח והפחיתה את זמני ה-
Delivery בצורה דרמטית, היא הפכה את פרויקט הפיתוח לצוות אחיד ומעורב של מפתחים, בודקים, מנהלים ואנשי
DevOps ובשל כך גם תכולת הפרויקט הצטמצמה.
בהמשך לשיטת הפיתוח האג'ילית, התפתחה שיטת ה-"
Continuous", שהיא בעצם הטמעה מורחבת של השיטה האג'ילית.
Continuous משמעו רציף. עבודה בשיטה הזו שואפת לתהליך רציף שירוץ בצורה אוטומטית, כולל: סנכרון של הקוד, אריזה של הקוד, ביצוע בדיקות ועליה מסביבת הבדיקה לסביבת הייצור, בשל העובדה, שבעידן המודרני כולם רוצים להגיע לפיתוח רציף ולהטמיע תהליך אוטומטי, שירוץ במספר סביבות במקביל, ויהיה מסוגל להחליף את התהליך המייגע של עלייה לייצור בצורה מהירה וחלקה. זה החלום הרטוב של כל מנהל, וזו אחת הסיבות המרכזיות להתפתחותה של השיטה ולבחירה בה ע"י ארגונים רבים.
כמו בשיטות פיתוח אחרות, יש מספר דרכים ליישם שיטת פיתוח
Continuous:
- Continuous Integration הוא הרצה אוטומטית של כל תהליך ה-Build כולל הבדיקות, עד לשלב בדיקות המסירה.
- Continuous Delivery מתחיל כמו Continuous Integration, אבל כולל גם הרצה אוטומטית של בדיקות המסירה.
- Continuous Deployment הוא השלב האחרון: הרצה אוטומטית של כל התהליך עד עליה לייצור.
השיטה היא לבדוק את הקוד בכל שלב שהוא, ולהעביר את מוקדי הכוח של הבדיקות למקומות, שלא היינו מורגלים בהם לפני כן. השיטה מכונה "
Shift left Shift Right".
זה אולי נשמע פשוט, אבל זה בהכרח כך. בדיקות תמיד היו צוואר הבקבוק של התהליך כולו. כדי לשפר את התהליך ולמקסם אותו, נכנסו לחיינו ה-
Shift left וה-
Shift right:
Shift left משמעו העברת מרכז המאמץ בבדיקות לכיוון הפיתוח;
Shift right משמעו העברת מרכז הכוח לכיוון הייצור, כלומר הרצת הבדיקות רגע לפני המעבר לייצור (
Production).
איך משלבים בדיקות כחלק מתהליך ה-Continuous?
- העברת כובד הבדיקות לעולם ה-Unit Test.
- כדאי לשקול בדיקות API, יש להן לא מעט יתרונות.
- Shift Right - בדיקות משתמשים Exploratory Testing, שינוי הגישה בבדיקות Production, Canary Testing.
- שילוב בדיקות אוטומטיות כחלק מהפיתוח – שילוב כלי בדיקה נכונים לתהליך, משלב הדרישות, Codeless ועוד.
- הרצת רגרסיה מוכנה לאורך כל התהליך.
- שילוב הבדיקות כחלק אוטומטי מסדר הפעולות בתהליך הפיתוח.
איור המבהיר את השינוי הדרמטי במעבר ל-
Agile ו-
Continuous Testing:
מאת:
ליאור כץ, ספטמבר 2021.
מנהל טכנולוגיות ראשי בחטיבת בדיקות ואוטומציה של מטריקס