מה זה Continuous Testing?
איך עושים את זה נכון ולמה כולם מדברים על זה בשנים האחרונות?

ליאור כץ, CTO מטריקס בדיקות ואוטומציה

בשנים האחרונות ארגונים רבים החלו לאמץ גישת פיתוח אג'ילית (Agile), גישה שמשמעותה פיתוח פתרונות בצורה מהירה, זריזה וגמישה. השיטה האג'ילית שינתה את ההסתכלות שלנו על עולם ה-IT ועל ניהול של פרויקטי פיתוח – היא קיצרה באופן משמעותי את זמני הפיתוח והפחית את זמני ה-Delivery בצורה דרמטית, היא הפכה את פרויקט הפיתוח לצוות אחיד ומעורב של מפתחים, בודקים, מנהלים ואנשי DevOps ובשל כך גם תכולת הפרויקט הצטמצמה.
בהמשך לשיטת הפיתוח האג'ילית, התפתחה שיטת ה-"Continuous", שהיא בעצם הטמעה מורחבת של השיטה האג'ילית. Continuous משמעו רציף. עבודה בשיטה הזו שואפת לתהליך רציף שירוץ בצורה אוטומטית, כולל: סנכרון של הקוד, אריזה של הקוד, ביצוע בדיקות ועליה מסביבת הבדיקה לסביבת הייצור. בשל העובדה שבעידן המודרני כולם רוצים להגיע לפיתוח רציף ולהטמיע תהליך אוטומטי שירוץ במספר סביבות במקביל, ויהיה מסוגל להחליף את התהליך המייגע של עלייה לייצור בצורה מהירה וחלקה. זה החלום הרטוב של כל מנהל, וזו אחת הסיבות המרכזיות להתפתחותה של השיטה ולבחירה בה על ידי ארגונים רבים.

כמו בשיטות פיתוח אחרות, יש מספר דרכים ליישם שיטת פיתוח Continuous:

• Continuous Integration הוא הרצה אוטומטית של כל תהליך ה-Build כולל הבדיקות, עד לשלב בדיקות המסירה.
• Continuous Delivery מתחיל כמו Continuous Integration, אבל כולל גם הרצה אוטומטית של בדיקות המסירה.
• Continuous Deployment הוא השלב האחרון: הרצה אוטומטית של כל התהליך עד עליה לייצור.

Continuous Testing- Pic1

השיטה היא לבדוק את הקוד בכל שלב שהוא, ולהעביר את מוקדי הכוח של הבדיקות למקומות שלא היינו מורגלים בהם לפני כן. השיטה מכונה "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 ועוד.
• הרצת רגרסיה מוכנה לאורך כל התהליך.
• שילוב הבדיקות כחלק אוטומטי מסדר הפעולות בתהליך הפיתוח.

Continuous Testing- pic2

 

מאת: ליאור כץ, CTO במטריקס בדיקות ואוטומציה.
מעוניינים לשמוע עוד מליאור? צרו קשר

רוצים לשמוע עוד? דברו איתנו

מלאו פרטים ונחזור אליכם בהקדם