Перейти к содержимому

פרק מס 88 | בדיקות ביצועים ועומסים עם נחום דימר

ITCB® - Israel Testing Certification Board

0:00 / 0:00

פרק מס 88 | בדיקות ביצועים ועומסים עם נחום דימר

18 просмотров · 5 дней назад
ITCB® - Israel Testing Certification Board
138 подписчиков
18 просмотров · 5 дней назад
פרק 88 – בדיקות ביצועים ועומסים בעידן ה-AI אורח: נחום דימר, ממייסדי CloudBeat בפרק 88 של הפודקאסט של TestIL מבית ITCB, ניצן גולדנברג ונתנאל הרוש מארחים את נחום דימר, מייסדי CloudBeat ומומחה בעל ניסיון של כ-20 שנה בעולמות ה-QA, בדיקות הביצועים, בדיקות העומסים והאוטומציה. במהלך הפרק אנחנו צוללים לעולם של Performance Testing ו-Load Testing, מבינים מדוע התחום עדיין מהווה אתגר עבור ארגונים רבים, איך נכון לתכנן בדיקות ביצועים ועומסים, כיצד המעבר לענן משנה את כללי המשחק – וכמובן, כיצד AI נכנס לתמונה ומשנה גם את התחום הזה. איך הכול התחיל? נחום מספר על הדרך האישית שלו לעולם ה-QA. לאחר שהחל את הקריירה כמהנדס תוכנה, הוא חיפש תפקיד שישלב בין טכנולוגיה לבין עבודה עם אנשים. המעבר לתפקיד Presales בחברה שפיתחה פתרונות QA הוביל אותו כמעט במקרה לעולם בדיקות העומסים. המוצר המרכזי שבו עסק באותה תקופה היה WebLOAD, וכך החל מסע מקצועי שנמשך כבר כשני עשורים. בשנת 2008 הפך לעצמאי, ובהמשך התפתח עסק הייעוץ לכיוון של פתרונות אוטומציה ובדיקות. בסביבות 2016, עם העלייה בשימוש ב-Selenium והמעבר ההולך וגובר של מערכות לעולם ה-Web, נוצר צורך חדש אצל הלקוחות: לא רק לבצע בדיקות, אלא להפוך את בניית האוטומציה לפשוטה ונגישה יותר. מתוך הצורך הזה נולד פרויקט Oxygen, ובהמשך נבנתה סביבו פלטפורמה רחבה יותר להרצה, ניהול, Reporting וניתוח של בדיקות אוטומטיות. בשנת 2018 הוקמה CloudBeat באופן רשמי. Performance Testing מול Load Testing – מה ההבדל? אחת הנקודות המרכזיות בפרק היא ההבחנה בין בדיקות ביצועים לבין בדיקות עומסים. בדיקות ביצועים הן עולם רחב יותר. גם בדיקה של זמן התגובה של מערכת עבור משתמש בודד היא בדיקת ביצועים. בדיקות עומסים, לעומת זאת, מתמקדות בהתנהגות המערכת כאשר משתמשים רבים או פעולות רבות פועלים במקביל ומייצרים עומס על המערכת. המסר החשוב הוא שלא צריך להמתין לשלב שבו רוצים להפעיל אלפי משתמשים כדי להתחיל לבדוק ביצועים. אם המערכת איטית כבר עבור משתמש בודד, הוספת עומס בוודאי לא תגרום לה לעבוד מהר יותר. לא לחכות לרגע האחרון אחת הבעיות שחוזרות בארגונים היא שבדיקות ביצועים ועומסים נכנסות לתמונה מאוחר מדי – לעיתים ממש לפני העלייה לייצור. לדברי נחום, התחום דורש תכנון מוקדם, הכנת סביבות, הגדרת יעדים ושיתוף פעולה בין מספר גורמים בארגון. כאשר מתחילים את התהליך מאוחר, גם איתור הבעיות וגם התיקון שלהן הופכים ליקרים ומורכבים יותר. בדיקות ביצועים מוקדמות, אפילו ברמת משתמש בודד, יכולות לזהות בעיות כאשר עדיין קל וזול יחסית לטפל בהן. איך יודעים מה נחשב לביצועים טובים? בפרק עולה החשיבות של הגדרת Performance Criteria כבר בשלבי התכנון של המערכת. במקום להגיע לסוף הפרויקט ולהתחיל להתווכח האם זמן תגובה של חמש או עשר שניות הוא סביר, הארגון צריך להגדיר מראש מהי חוויית המשתמש הרצויה ומהם זמני התגובה המקובלים עבור הפעולות המרכזיות. גם כאן אין מספר אחד שמתאים לכל מערכת. פעולה פשוטה באתר אינטרנט אינה דומה להפקת דוח מורכב. לעיתים גם חוויית המשתמש חשובה לא פחות מהמספר עצמו: משתמש שמקבל חיווי ברור שהמערכת מעבדת דוח עשוי לקבל זמן המתנה ארוך יותר בצורה טובה בהרבה ממשתמש שרואה מסך לבן ולא יודע האם המערכת תקועה. איך מבצעים בדיקות עומסים בפועל? בדיקות עומסים אינן מסתכמות בפתיחת אלפי דפדפנים במקביל. בפרויקטים גדולים משתמשים בדרך כלל בבדיקות ברמת הפרוטוקול והבקשות, משום שגישה זו מאפשרת לייצר עומסים גדולים בצורה יעילה ו-Scalable יותר. בין הכלים שעלו בשיחה נמצאים JMeter ו-K6, לצד פתרונות נוספים הקיימים בשוק. הבדיקה צריכה לייצג תהליכים עסקיים אמיתיים ולא רק לייצר כמות גדולה של בקשות. חשוב להבין מה המשתמש עושה, כמה זמן הוא ממתין בין פעולות ומהי ההתנהגות האמיתית שלו במערכת. אחת הטעויות הנפוצות היא לבנות תסריט ללא זמני המתנה בין הפעולות. משתמש אמיתי אינו מקליק ללא הפסקה – הוא קורא, ממלא טפסים וממתין בין פעולות. התעלמות מכך עלולה ליצור עומס מלאכותי שאינו מייצג את המציאות. המטרה היא לא להפיל את המערכת אחד המשפטים החשובים בפרק הוא שהמטרה של בדיקת עומס אינה להפיל את המערכת. להפיל מערכת באמצעות עומס מלאכותי יכול להיות קל יחסית. האתגר האמיתי הוא לדמות בצורה נכונה את השימוש הצפוי במערכת, לזהות היכן נוצרים צווארי בקבוק ולהבין כיצד המערכת מתנהגת בתנאים שמייצגים את העולם האמיתי. המעבר לענן משנה את עולם הביצועים המעבר של ארגונים לענן הופך את נושא הביצועים והעומסים למשמעותי עוד יותר. מערכות מודרניות משתמשות בשירותים מנוהלים, Kubernetes, מנגנוני Scaling ותשתיות דינמיות. מצד אחד ניתן להוסיף משאבים במהירות, אך מצד שני לכל משאב יש עלות ויש צורך לוודא שמנגנוני ההתרחבות אכן עובדים כפי שתוכנן. לכן בדיקות עומסים אינן עוסקות רק בשאלה "האם המערכת נופלת?", אלא גם בשאלות כמו כיצד התשתית מתרחבת, האם מנגנוני ה-Scaling פועלים בזמן ומה המחיר של ההתנהגות הזו. AI נכנס לעולם הבדיקות חלק משמעותי מהשיחה מוקדש להשפעה של Generative AI על עולם ה-QA בכלל ועל אוטומציה ובדיקות ביצועים בפרט. נחום מתאר כיצד CloudBeat משלבת יכולות AI בניתוח הרצות אוטומציה, זיהוי Flaky Tests, בעיות סביבה ותיקון קוד. באמצעות מידע שנאסף גם מהרצות תקינות וגם מהרצות שנכשלו, ניתן לספק למנוע ה-AI הקשר רחב יותר ולשפר את איכות הניתוח והתיקון. כאשר קיימות מאות או אלפי בדיקות אוטומטיות, היכולת להשתמש ב-AI כדי לזהות דפוסים, לסנן רעשים ולהתמקד בכשלים החשובים יכולה לחסוך עבודה ידנית משמעותית. AI ובדיקות עומסים בתחום בדיקות העומסים, נחום מספר על פלטפורמה חדשה של CloudBeat המשלבת סוכן המסייע ביצירת בדיקות באמצעות JMeter או K6. באמצעות הקלטה של פעילות המשתמש, המערכת יכולה לזהות תהליכים עסקיים, לחלק את התס...