PracticU

הרצאה 5 - קורס Load Runner הראשון

בלי כתוביותעם כתוביות
PracticU › קורס Load Runner - בדיקת עומסים › הרצאה 5 - קורס Load Runner הראשון
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
לוג - רישום מתועד של אירועים ופעולות שמתרחשים במערכת או בתוכנה, המשמש למעקב ולאיתור תקלות.

הרצאה 5 - קורס Load Runner הראשון
השיעור החמישי עוסק בתזמון הריצה ובהגדרות הזמן של הסקריפטים והסצנריו.
תכנון לפי קבוצות או לפי סצנריו
אפשר לתכנן את הזמן לפי סצנריו, שבו כל הסקריפטים רצים יחד ומתוזמנים לפי אותה הגדרה, או לפי קבוצה, שבה לכל קבוצה נקבעת שעת התחלה וסיום משלה. בדוגמה מוצג שינוי של מספר היוזרים לאורך הריצה, ואיך זה נראה בגרף כשמורידים את הכמות.
Initialize
- Initialize each virtual user just before it runs: כל יוזר מתאתחל רק לפני שהוא מתחיל לרוץ.
- ברירת המחדל משתמשת בהתחלה הדרגתית, למשל יוזר אחד כל 15 שניות.
- המרצה מזכיר שהאפשרות הזו מקובלת ומומלצת לעיתים קרובות.
Real-life ו-Classic Scheduler
לפי המרצה, ה-Classic Scheduler מתחיל מההתחלה ואינו זוכר ריצה קודמת. דרך ההגדרה הזו אפשר לקבוע השהיה לפני התחלה, הרצה לפי מספר יוזרים, או הרצה אינסופית.
הגדרות ריצה
- Run Logic: כמה פעמים לחזור על הפעולה. ההגדרה חלה על החלק שחוזר.
- Pacing: מתי מתחילה האיטרציה הבאה: מיד אחרי הקודמת, אחרי זמן קבוע, או אחרי זמן אקראי בטווח.
- Logging: רישום הודעות. המרצה ממליץ להפעיל לוגים בעיקר לשגיאות, כי לוגים מאטים את הריצה. אפשר להפעיל לוג מורחב רק לחלק קטן מהיוזרים, למשל 5%.
- Think Time: זמן ההמתנה בין הפעולות. אפשר להתעלם ממנו, לשחזר אותו כפי שהוקלט, להכפיל אותו או להגביל אותו.
שני סוגי משתמשים
משתמש ותיק שמזמין כרטיסים מהיר יותר ממשתמש חדש, ולכן ה-Think Time שלהם שונה. אפשר להגביל את ה-Think Time כדי לדמות את הפרופיל הזה.
כדי לדמות משתמשים אמיתיים צריך לכייל את הפייסינג וה-Think Time, ולא להסתפק בברירות המחדל.
השיעור הבא בקורס: הרצאה 6 - קורס Load Runner הראשון

פרקי ההרצאה: הרצאה 5 - קורס Load Runner הראשון

  1. 00:00

    נושאי השיעור ו-Scheduling Scenario

  2. 01:46

    יצירת Manual Scenario ב-Controller

  3. 03:04

    שליטה בכמות המשתמשים וקצב העלייה

  4. 04:47

    הגדרת משך הריצה ב-Schedule

  5. 05:49

    תכנון לפי Scenario או לפי Group

  6. 08:28

    אפשרויות Initialize למשתמשים

  7. 10:12

    חלקי הסקריפט Init, Action ו-End

  8. 12:05

    עצירה הדרגתית של המשתמשים

תמלול ההרצאה: הרצאה 5 - קורס Load Runner הראשון

הטקסט המלא של הדקות הראשונות בהרצאה «הרצאה 5 - קורס Load Runner הראשון» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:17

    מקווה ששומעים ורואים. בשיעור הקודם אנחנו דיברנו על Scheduling Scenarios, על הכנת תסריטים, על הכנת מטרת הבדיקות שלנו ושימוש בסקריפטים שנוצרו על ידי Vugen, וזה היה למעשה המבוא, והיום אנחנו ניכנס פנימה יותר, נבין מה זה קבוצות, גרופים, גרופס של היוזרים.

  3. 00:48

    עוד שלב של ה-initialization עבור virtual users, זה עוד משהו שאנחנו נלמד היום. נדע בסוף ההרצאה לתכנן את הזמן ריצה בצורה נכונה, וכמובן, כניסה הדרגתית לתוך המערכת, לתוך ההרצאה וגם יציאה ממנה, אלה השלבים שחשוב לשים לב כשאתם מכינים בדיקות אוטומטיות ובמיוחד את הסצנריו.

  4. 01:20

    בואו נמשיך. הוורקפלואו שלנו, שום דבר לא השתנה, רק שהשלב שאנחנו מתמקדים בו היום זה ה-Scheduling Scenarios.

  5. 01:30

    אנחנו למעשה בשלב השלישי, היה לנו מבוא ועכשיו אנחנו ב-Scheduling. אני חושב שניכנס ישר לקונטרולר ונראה את השלבים האלה שם וככה יהיה לנו יותר ברור.

  6. 01:47

    בואו ניכנס לקונטרולר. אני מזכיר לכם שני דרכים לעלות את הקונטרולר: האחת דרך הקונסול, שנקרא LoadRunner, והאופציה השנייה זה ישר דרך אפליקיישן.

  7. 01:58

    לשם אני אכנס. בדקנו שההקלטה גדלה. אוקיי, אנחנו נבחר את המניו או הסטנריו, כי יש שני דרכים. אתם יודעים מה, אני אעשה את ה-cancel וישר נתחיל מה-new.

  8. 02:15

    זאת אומרת, אם למעשה פתחתם את המסך בצורה כזאת, זאת אומרת, לא היה לכם סטארט-אפ, אז יש לכם פה שלוש אופציות להגיע ל-analyzer, זה האייקון הירוק, virtual user, ג'נרטור, אם פתאום נזכרתם שאתם צריכים להכין עוד סקריפט, ואנחנו כאן.

  9. 02:33

    אוקיי, הנה זה המסך. אנחנו בוחרים Manual Scenario. נבחר User Percentage Mode, משהו שאתם יודעים מה, אנחנו נבטל את זה, ככה זה יותר מוחשי, נוכל באמת לשלוט בכמות היוזרים.

  10. 02:48

    אני לוקח לו לעלות. שימו לב שלפני זה לא בחרתי סקריפטים אלא ישר נכנסתי למסך הזה. כל הדברים אפשר לעשות גם מכאן. קודם כל זה הסקדג'לר שלנו.

  11. 03:02

    מה אנחנו הולכים לעשות כאן בפנים? אחד מהדברים שמאוד חשוב זה שליטה בכמות היוזרים. דאבל קליק ואני יכול לבחור כמה יוזרים להכניס.

  12. 03:13

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

  13. 03:28

    שימו לב, ארבעים ושתיים וחמישים. מאוד מעניין להבין למה ייקח לי שש דקות להגיע לחמישים יוזרים. אז בואו נעשה את החישוב הפשוט.

  14. 03:40

    מה שכתוב כאן שהיוזרים יעלו כל חמש עשרה שניות שני יוזרים, נכון? זאת אומרת, בדקה יעלו לי שמונה יוזרים נכון אם זה כל חמש עשרה שניות ושמונה כפול חמישים חלקי שמונה זה שש דקות וקצת עוד שש כפול שמונה

  15. 04:02

    זה ארבעים ושמונה וזה בערך שש דקות בסדר אוקיי זה למעשה ה-Web Server קרתה איזושהי תקלה בוא נעשה ריסטארט אני חושב שזה אפליקציה לא בפרודקשן זה אפליקציית לימוד בואו נעלה שיהיה לנו זה להמשך עבודה אם נצטרך אוקיי ראיתם את הקראש מעניין מאוד אוקיי סמפר סווייל סטארט וב סרבר

  16. 04:34

    אופ זה הלך חזרה אוקיי קודם כל ראינו איך מחליפים כמות היוזרים נכון משהו נוסף שאפשר להחליט כאן בחלון הזה של הסקדג'ר זה כמה זמן ירוט הטסט שלנו אנחנו רוצים שהוא ירוט במשך חמש דקות או יותר הגיוני הטסט לא ירוץ חמש דקות אלא רק משהו יותר מוחשב בדרך כלל נשים פה שעתיים אוקיי time 0f משהו יותר מעניין זאת אומרת סך הכל הריצה שלנו תהיה בסביבות שעתיים וקחו בחשבון זמן

  17. 05:18

    עליית היוזרים שש דקות וזמן ירידת היוזרים זאת אומרת בערך 2 ועשרה זה הזמן שיקח לנו להרצה של הטסט אוקיי אפשר לערוך את הטסט גם מהמקום הזה באדיט מוד אתם יכולים פשוט לגרור מאוד יפה ונחמד מאוד נוח להקטין כמות היוזרים שימו לב אוקיי זה גם משהו שאפשר לעשות וזה מיד ישתקף כאן בסדר יפה בואו נראה יש לנו כמה אפשרויות של התכנון אפשר לתכנן לפי קבוצות

  18. 05:59

    ואפשר לתכנן לפי סצנריו אוקיי בואו נראה קודם כל לפי קבוצות אוקיי, זו אופציה שהצליח לבחור מקודם, אבל אני עדיין יכול להכניס פה לפי סנאריו, זאת אומרת שכל התכנון הוא יתבצע פר כל הקבוצות שאני אכניס פנימה.

  19. 06:22

    גם אם אני אכניס עכשיו כמה קבוצות, אחת או שתיים, התכנון הוא עדיין, כאן התכנון הוא פר סנאריו, אני יכול להחליט לתכנן לפי גרופ.

  20. 06:36

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

  21. 07:07

    יותר טובה, אני יכול לבחור גרופס, להגדיר הרצה נגיד במשך שעה 50 דקות לדוגמה עבור קבוצה ראשונה או שנייה search והנה אתם רואים פה את הסימן סגול וירוק זה הקבוצה הראשונה וזה הקבוצה השנייה ואם אני עובר עכשיו לחלון לוגין אני יכול להגדיר כאן שההרצה זאת סליחה הייתה הרצה של 50 דקות וההרצאה הזאת תהיה הרצאה של 30 דקות.

  22. 07:46

    זה נותן לי עוד איזושהי גמישות נוספת, שדוגמא חיפוש יסתיים, נגיד, אחרי חצי שעה. אני יודע שאנשים לא מבצעים את החיפוש אחרי חצי שעה, אבל לעומת זאת אנשים עדיין ממשיכים לעשות לוגים.

  23. 08:02

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

  24. 08:37

    סקריפט לפני שהוא מתחיל לרוץ כל קבוצה לפני שהוא מתחיל לרוץ היא עושה כל מיני אתחולים.

  25. 08:47

    האתחולים האלה יושבים בסקשן שנקרא init בסקריפט, ולפי מתכנת שבנה את הסקריפטים הם אחראים על דברים שונים. בחלק מהאפליקציות אתם תעשו שם הצהרת משתנים, בחלק מהסקריפטים האזור הזה יישאר ריק, ולכן אני יכול לשלוט בנושא של ה-initialize.

  26. 09:14

    אני יכול להגיד תעשו initialize לכולם ביחד, וזה מעמיס קצת על המערכת, וזה לא תמיד טוב כי יכול להיות שאני מעמיס על המערכת אבל אין לזה שום משמעות כי סך הכל יש לי פה סך הכל הצהרת משתנים עבור הסקריטים של הלואוד ראנר.

  27. 09:30

    אני יכול לעשות את זה בהדרגתיות, להגיד תעשייני שעליה יש לאט לאט אחד כל 15 שניות וככה אני בעצם מכניס את הסקריטים שלי בצורה הדרגתית לתוך קונטרול לתוך לואוד ראנר.

  28. 09:43

    אין פה שום משמעות לעומץ שאני מייצר. ואופציה שהיא בדרך כלל יותר מקובלת היא לוקחת קצת זמן אבל עבור הרבה משתמשים, אבל היא מקובלת ואני ממליץ עליה זה initialize each virtual user just before it runs.

  29. 10:04

    מה זה אומר? זאת אומרת, כל ההתחולים יתבצעו לפני שסקריפט ראשון יתחיל לבצע את הפעולה האמיתית. בואו רק נדגים מה זה באמת initialize. אני ב-search, אני רוצה לעשות edit לסקריפט הזה.

  30. 10:20

    בואו נעשה לזה edit. אני אפתח את הסקריפט הקיים ואני אראה לכם שלושת האקשנים, שלושת האזורים שקיימים לי בפנים. קודם כל יש לי globals.h שפת c לכל מי שמכיר, אני עושה include לספריות שאני משתמש בהן, אחת מהן ספריית loadrunner, ספריית web ועוד ספרייה נוספת.

  31. 10:48

    ב-init כרגע היא ריקה אבל אני יכול לעשות הצהרת משתנים, אני יכול להגיד int a, אני יכול לעשות INC B, כל הדברים שישמשו אותי בזמן האקשן.

  32. 11:02

    ואקשן לעומת זאת, יש לי כבר את כל הקוד שמעניין אותנו. מה אנחנו רואים פה? אנחנו רואים פה כניסה ל-URL של אפליקציית הזמנת טיסות.

  33. 11:15

    אנחנו עושים פה חיפוש. יש לנו זמן המתנה 32 שניות, יש לנו פה 39 שניות, אנחנו בעצם מדמים את המשתמש האמיתי. זה משהו שהוא חשוב לשים אותו בפנים.

  34. 11:29

    ובסוף יש לנו submit, אוקיי? מה יש לנו ב-vuser end? אנחנו עושים את הלוגאוט. זוכרים איך מתבצע הלוגאוט? בעצם פונים לחלון, לכפתור sign off, רואים?

  35. 11:44

    ומעבירים לו true, שזה אחד. זה המבנה של הסקריפט. עכשיו, כל העושים של ה-init, לפעמים יש להם משמעות ולפעמים אין להם משמעות.

  36. 11:53

    אז כשאין להם משמעות להרצת הסקריפט, אנחנו נתחיל את כל הסקריפטים לפני הריצה, וזה הנושא של ה-init. כמובן גם לא לשכוח את ה-stop. stop יכול להתבצע, לעצור את כולם ביחד, נכון?

  37. 12:11

    stop all, ואפשר להגיד לו שיעשה הכל בו זמנית. לפעמים המהלכת יכולה לקרוס בזמן היציאה כי כולם פתאום עושים לו גוף. בדרך כלל אין לזה יותר מדי משמעות כי במעט במעט מקרים אנחנו בודקים באמת עומס על היציאה, כי כמעט העומס הזה לא מתבצע גם בחיי היום-יום.

  38. 12:37

    לא קורה מצב שכולם עוזבים את המערכת בו זמנית, בדרך כלל אנשים נכנסים למערכת בו זמנית. לעומת זאת, אנחנו יכולים לבחור באופציה של היציאה הדרגתית, וזה נותן לנו פשוט הרצאה יותר חלקה ויותר כיפית, והמערכת לא נופלת בסוף כשאנחנו כבר מתים לנתח

  39. 12:55

    את התוצאות. הנה אופציה שני יוזרים בדרך כלל הירידה היא תהיה יותר מהירה מאשר עלייה כי פחות חשוב לנו אז אפשר לעשות עשרה יוזרים כל 15 שניות וכמובן זה משתקף בגרף שימו לב שאם אני לוקח את זה וקצת אנסה למרוח אז הנה שיניתי שמונה כל דקה ו-45 שניות זה עוד משהו שאפשר לעשות החלון פה הוא קצת טיפה טיפה שונה ממה שאתם רואים באמת בפול כי

  40. 13:29

    כי הסנאפשוט הזה הוא מהגרסאות היותר ראשונות של הלואוד ראנר, כנראה זו גרסה 8.1 או אפילו 8.1 אולי גרסה אחרת, וכרגע אנחנו במוד של גרסה 11 שהוא קצת יותר יוזר פרנדי וטיפה שונה.

  41. 13:48

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

  42. 14:18

    בואו ננסה להעלות את זה לשנייה אחת, אתם רואים? יש לנו רק עלייה וירידה, אפשר לבדוק גם את הדברים האלה. לפעמים אנחנו נרצה להתחיל את הסצנריו רק אחרי דיליי מסוים.

  43. 14:38

    לפעמים אנחנו נרצה להריץ את זה לפי כמות היוזרים המסוימת שנכנסה למערכת. ולפעמים אנחנו נרצה להריץ את זה בצורה אינסופית, עד שהמערכת לא מסיימת את ה...

  44. 14:54

    זאת אומרת, אנחנו נעצור את זה כשהמערכת מסתיימת, שמערכת עדיין ממשיכה לרוץ, אנחנו נוכל לעצור אותה. אני היום מתבלבל קצת במילים.

  45. 15:06

    אוקיי, בואו נראה את האופציה הזאת. בואו נראה מה יש לנו אפשרות של דוריישן. בואו נראה אופציה של סטארט-טיים, הנה. אז יש לנו אופציה delay, זאת without delay, נכון? יש לנו with delay,

לקורס המלא: קורס Load Runner אונליין

ההרצאה הקודמת: הרצאה 4 - קורס Load Runner הראשון

ההרצאה הבאה: הרצאה 6 - קורס Load Runner הראשון

הרצאות קשורות מקורסים אחרים

  • הרצאה 1 - קורס Quality Center הראשון
  • ה-SCRIPT הראשון שלי
  • הפרויקט הראשון שלנו ב-GitHub
  • בדיקת ידע על המודול הראשון ב-AZ-900

קורסים נוספים במסלול

  • קורס שלם ומקיף בעברית על בדיקות תוכנה
  • Quality Center
  • מבחן QA לדוגמא