המודל המסורתי לבדיקות עומסים כולל התקנת תוכנת בדיקות עומסים על מחשבים יעודיים ברשת הארגונית והרצת הבדיקות מתוך הארגון. מודל הבדיקות באמצעות "בדיקות ענן" מאפשר בדיקות עומסים ללא כל התקנה של תוכנות או של מחשבים בעוד התעבורה מגיעה ישירות מרשת האינטרנט (מהענן).
מאמר זה הינו הראשון מסדרת מאמרים המאפשרת בחינת המודל המוסרתי של בדיקות עומסים ע"י כלים כדוגמאת Loadrunner, Webload, JMeter מול המודל החדש הנגזר מטכנולוגיות כמו Cloud-Testing.
במאמר הראשון, נבחן את אבני הבניין הבסיסיות הנדרשות לביצוע בדיקות עומסים באופן יעיל ונכון בכל מודל שיבחר (מסורתי או מהענן).
הגדרת תרחישים באופן גמיש, פשוט ובעיקר נאמן למציאות
בבדיקות עומסים נדרשת היכולת לדמות את סביבת היעד הפועלת על פי תרחישים צפויים ושונים. תוכנת הבדיקות תהה אשר תהה, נדרשת לאפשר גמישות ויכולות ע"מ שניתן יהיה לייצר תסריטי בדיקות המדמים באופן מלא את התרחישים הנדרשים. יכולות אלו כוללות הקלטה, שפת כתיבת תסריטים, משתנים, לולאות וכו.
סביבת בדיקות צריכה לדמות את המציאות תחת תרחישים שונים
סביבת הבדיקות צריכה לדמות עד כמה שאפשר את הסביבה המערכתית האמיתית. סביבת LAN ארגוני שונה מאוד מרשת האינטרנט. הרבה ארגונים טועים לחשוב שבדיקה מתוך ה-LAN זהה או אפילו מזכירה קהל יעד המגיע ישירות מרשת האינטרנט. בבדיקת אתר אינטרנט יש מספר רב של רכיבים בנוסף לאפליקציה הנבדקת. כל רכיב כזה יכול להשפיע רבות על התנהגות האפליקציה תחת עומס. לא ניתן לנתק את האפליקציה משאר הרכיבים כמו: ציוד תקשורת, ספק האינטרנט, Firewall וכו'.
בדיקה אינה צריכה להיות מוגבלת במשאבים ע"מ שתוכל לדמות את המציאות תחת תרחישים שונים
במסגרת בדיקות עומסים צריך להימנע מפשרות על כמות המשאבים הנדרשת ע"מ לדמות את המציאות תחת תרחישים שונים. משאבים מתורגמים בעיקר לכמות משתמשים וירטואלים המבצעים תהליכים עיסקיים כלשהם במערכת.
מפאת חוסר במשאבים או מפאת תעדוף, ארגונים עושים אקסטרפולציות. כלומר לדוגמא מסתפקים בלבדוק שרת אחד עם 200 משתמשים ומניחים ש- 4 שרתים יעבדו באופן זהה עם 800 משתמשים.
בדיקה אמיתית דורשת הרבה משאבים הן מבחינת חומרה, רוחב סרט ורישיונות תוכנה. צריך לבדוק סביבה מערכתית דומה, אם אפשר זהה, בתנאים לזו של סביבת הייצור.
דוחות
תהליך הבדיקות הינו חסר כל משמעות אם לא ניתן לראות דוחות המתעדים את ביצועי המערכת ואת חווית המשתמש* תוך כדי הבדיקות. תוכנת בדיקות העומסים שתבחר אחראית לייצור העומס והצגת דוחות המאפשרים ליצור אינטליגנציה המאפשרת תיקון בעיות, והבנה לגבי הססטוס של ביצועי המערכת.
סביבת בדיקות
לעיתים הארגון חסר ב-"שרתי מטרה" לצורך הבדיקה (השרתים אותם בודקים בפועל). במידה והארגון בודק את שרתי הייצור, אזי הוא יכול לעשות זאת רק כאשר אלו מושבתים. אם הארגון בודק סביבה מצומצמת של שרתי מטרה שהוקצו לצורך הבדיקה, עדיין הבדיקה אינה אמיתית ודורשת אקסטרפולציות.
גם כאן, אסור לבצע פשרות במשאבים ויש לבדוק את המערכת בתנאים דומים או זהים לתנאים שיתקיימו בסביבת הייצור.
ניטור
על מנת להשלים את התמונה נדרשת יכולת ניטור של שרתי המטרה הנמצאים תחת בדיקה. הניטור צריך לכלול את כלל סימני החיים (vital signs) של שרתי המטרה כולל את אלו של האפליקציות המותקנות עליהם.
עלות בעלות כוללת - Total Cost of Ownership
תהליך בדיקות עומסים צריך להיות חלק אינהרנטי וקבוע בתהליך פיתוח התוכנה בארגון. הוא צריך להיות יעיל כלכלית. ארגון לא צריך לעשות פשרות או לחשוב מספר פעמים לפני שהוא מחליט לבצע בדיקות עומסים מסיבות תקציביות או תעדוף. TCO של בדיקות העומסים צריך להיות ביחס ישר לשימוש בו ולתועלת שהוא מביא לארגון.
עד היום, ע"מ לביצוע בדיקות עומסים השתמשו בתוכנות מאוד יקרות, חומרה מוגבלת המותקנת על ה-LAN הארגוני. תהליך כזה נחשב לפרויקט גדול וייקר ותוקצב בהתאם. TCO של פרוייקט כזה היה לעיתים גבוה מהערך שהוא נותן לארגון, מה שגרם להרבה ארגונים לוותר על תהליך כזה בכללותו.
לסיכום
מאמר זה מתאר בקצרה את אבני הבניין הנדרשים לביצוע בדיקות עומסים כחלק מתהליך הפיתוח של מערכות תוכנה. עד היום תהליך זה היה יקר הן מבחינה תקציבית והן מבחינת משאבים, מה שהביא הרבה ארגונים לפשרות רבות או וויתור על התהליך בכללותו.
במאמר הבא אראה איך מוצרי Cloud Testing נותנים מענה איכותי ויעיל כלכלית לכלל הדרישות המוזכרות למעלה. מוצרי Cloud Testing מאפשרים לשלב את תהליך בדיקות העומסים כחלק אינהרנטי וקבוע בתהליך הפיתוח בפשטות וללא כל צורך בפשרות.
(*) פונקציונאליות חדשה – מדידת חווית משתמש אמיתי
כלל תוכנות הבדיקות נותנות מדדים של ביצועי מערכת – זמני תגובה של URLs, bandwidth, throughput וכו. אף אחת מתוכנות אלו לא נותנת מדדים של חווית משתמש אמיתי – אנושי. משתמש אמיתי פותח דפדפן שהוא זה שמבצע את הפעולות. כל דפדפן פועל אחרת ובהכרח אינו דומה לפעולות של תוכנות הבדיקות תהה אשר תהה. גם אם מגדרים טרנזקציה הכוללת סיכום של מגוון פעולות שונות, אין קשר בין טרנזקציה זו לזמן התגובה של דפדפן.
בסופו של יום בעלים של אתר אינטרנט מעוניינים בתשובה למספר שאלות. החשובה מבניהן – היא מה תהיה חווית המשתמש תחת עומס. עד כה לא היה פתרון לשאלה זו.

Comments
1 comment postedDo you have this in english?