בדיקות אוטומטיות 2020 וקדימה – מגמות ושינויים

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

כמו כל שנה בכנס ה QA Geek Week, ואחרי כל ה-ZOOMim שהעברנו נהיה לי קצת סדר בראש, והשנה במיוחד נהיה לי סדר בקונספט של הבדיקות האוטומטיות, אני רוצה לשתף אתכם, מבטיח לא קודח רק עושה סדר והולך הביתה 🙂

אני רואה את עולם הבדיקות האוטומטיות מתחלק לכמה שכבות היום וחשוב שכולנו נהיה On the same page נראה לי שמאוד יעזור להבין מה קורה בתחום, אז בואו נתחיל מהשכבה העליונה של הבדיקות האוטומטיות ונצלול לעומק.

את החלוקה הראשונה אני עושה בין בדיקות UI ל API.
האמת שכבר שנים אנחנו מדברים על זה אבל השנה זה כבר נהיה מאוד ברור.

אין ספק שמי שיכול לבדוק את המערכת שלו דרך הAPI בצורה אוטומטית יש לזה יתרונות אדירים. כמה מהיתרונות הבולטים יותר בעיני :  זמן פיתוח קצר, תחזוקה הרבה יותר קלה, יכולת הרצה של הרבה מאוד בדיקות, קלות הפיתוח והתחזוקה כמעט (דגש על הכמעט) לא צריך קוד, יש הרבה מאוד בודקים ידניים שמפתחים מריצים ומתחזקים בדיקות אוטומטיות לAPI, ונדהמתי גם להבין שהרבה ממפתחי הבדיקות האוטומטיות ב-Top-Q (תותחי העל בבדיקות אוטומטיות) מפתחים בדיקות לAPI ולא בעולם הUI.

יש לזה גם כמה חסרונות (כמו כל דבר בחיים אי אפשר בלי) : זה לא מה שה End User משתמש, יכול להיות שלא כל הפונקציונליות של המערכת חשופה ל API, כשהעסק מסתבך (ה Business process) זה יכול להפוך לסיוט\בלתי אפשרי לעבוד עם API ועוד ועוד.

מוסיף לכם תמונה קטנה שאני נורא אוהב, שממחישה את ההבדלים בין עולם הAPI לUI

The differences between API and UI worlds

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

UI world in 3 layers

הנה הסבר לכל שכבה:

*OS = Open Source, זו השכבה העליונה.
לדוגמא הסלניום הסטנדרטי והאגדי (שלדעתי סטטיסטית עדיין רוב החברות שמפתחות בדיקות אוטומטיות לעולם הUI משתמשות בשכבה הזו), פיתוח קוד לכל דבר בכל שפת פיתוח נורמלית אפשרית (Java, C#, Python, ועוד) בעיקר לסביבות WEB.
החידוש היום זה סלניום 4 שעומד בסטנדרט של w3c ועוד כמה Features מגניבים, השכבה הזו חינמית, דורשת אנשי פיתוח, מלאה בהצלחות וכישלונות מוכחים, בקיצור יש מלא ניסיון, ומי שעובד נכון, ויודע גם להסתכל ROI בסופו של דבר מצליח.

*Framework Tools –פה זה קצת יותר חדשני.  כלים כמו Cypress, Pupetter, Playwright שהם כלים שיושבים בDOM, עובדים מאוד מהר, פיתוח בJS, פחות נשברים בהרצות, כלים עטופים אז אולי יותר קלים לפיתוח ו-Debug – בקיצור שכבה מעניינת שאני בטוח שככל שנזדקן נשמע עליהם יותר ברחבי העולם עם הצלחות לא מעטות, חיבור טבעי ל CI CD חינמיים.
Pupetter ו Playwright מגיעים מבית גוגל וMS ככה שכנראה עוד נשמע עליהם הרבה, פתרונות מאוד מעניינים.

*Code Less – אולי השכבה שהכי מדברים עליה – בודקים ידניים שידעו ויוכלו לכתוב בדיקות אוטומטיות לתחזק ולהריץ, בקיצור חלומו הרטוב של כל מנהל בדיקות\פיתוח.
כלים כמו Test Craft, Testim.io הם שם מבחינת ה Code Less ויש גם כמה (אולי הרבה) לקוחות מרוצים עד מרוצים מאוד. כמובן שהכלים האלה מכילים את כל מה שכלי אוטומטי בשנת 2020 צריך להכיל: Data Driven, Parameters, Connection to CI/CD, Cloud based, Cloud based ועוד

 

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

 

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

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

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