PracticU

המבנה הבסיסי של Jmeter

בלי כתוביותעם כתוביות
PracticU › קורס JMeter - בדיקות ביצועים ועומסים › המבנה הבסיסי של Jmeter
מילון מושגים:
JMeter - כלי בקוד פתוח לבדיקות עומסים וביצועים של שרתים ויישומי אינטרנט.
תהליכון - יחידת ביצוע בתוך תהליך, המאפשרת להריץ כמה מהלכים במקביל ולחלוק את אותו זיכרון.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
פרוטוקול - מערכת כללים מוסכמת שקובעת כיצד מכשירים או תוכנות מתקשרים ומחליפים מידע, למשל HTTP או TCP.
עוגייה - קובץ קטן שאתר שומר בדפדפן כדי לזכור מידע על המשתמש בין בקשות, למשל מצב התחברות או העדפות.
מטמון - אחסון זמני ומהיר של נתונים שנדרשים שוב, כדי להאיץ גישה ולהפחית עומס מהמקור המקורי.
דוח - מסמך או תצוגה שמסכמים נתונים בצורה מאורגנת לצורך הבנה וקבלת החלטות.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.

המבנה הבסיסי של Jmeter
השיעור מסביר את המבנה הבסיסי של טסט ב-JMeter: אלמנטי קונפיגורציה, Thread Group, בקשות ו-Listeners.
אלמנטי קונפיגורציה
1. User Defined Variables: משתנים, למשל host, שמשמשים בכל הטסט.
2. HTTP Request Defaults: כתובת בסיס ופרוטוקול. בקשה שלא מציינת שרת משתמשת בערך הזה.
3. HTTP Cookie Manager: מנהל את הקוקיז שהאתר שותל. אפשר לנקות אותם בכל איטרציה.
4. HTTP Cache Manager: מנקה את הקאש בכל כניסה, כך שכל פנייה לאתר נעשית מחדש ולא מתוך קבצים שמורים.
Thread Group ובקשות
5. Thread Group: קבוצת משתמשים שמבצעת את רצף הבקשות. בתוכה מוסיפים HTTP Request. אם שדה השרת ריק, הבקשה משתמשת בערך ברירת המחדל.
6. Listeners: View Results Tree מציג את פרטי כל בקשה ואת התשובה. Summary Report מציג טבלה עם זמנים ממוצעים, כשלונות וגודל המידע. שניהם מציגים את אותם נתונים בתצוגה שונה.
7. Response Assertion: בודק שהטקסט הנכון מופיע בתשובה.
שימו לב
בשיעור הורצו עשרה משתמשים, כשכל משתמש מצטרף אחרי שנייה, כך שהעלייה נמשכת עשר שניות.
השיעור הבא מוסיף בקשות נוספות לרצף.
השיעור הבא בקורס: הוספת Request לטסט

פרקי ההרצאה: המבנה הבסיסי של Jmeter

  1. 00:00

    מבנה הבסיס של פרויקט JMeter

  2. 00:43

    משתני המשתמש (User-Defined Variables)

  3. 01:40

    הוספת יחידות קונפיגורציה ו-HTTP Request Defaults

  4. 02:34

    ניהול קוקיז וקאש ב-HTTP

  5. 04:30

    הוספת Thread Group ו-HTTP Request

  6. 06:19

    Listener מסוג View Results Tree

  7. 06:56

    הגדרת מספר המשתמשים וזמן העלייה

תמלול ההרצאה: המבנה הבסיסי של Jmeter

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

  1. 00:04

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

  2. 00:19

    אנחנו רואים שיש לנו כאן למעלה את ה-Test Plan, בעצם עם שם הפרויקט שאותו אנחנו נריץ. לדוגמה, במקרה שלנו אנחנו בודקים את האתר timeanddate.com והחלק הראשון של הפרויקט מחודש לאלמנטים קונפיגורטיביים.

  3. 00:36

    איזה אלמנטים קונפיגורטיביים או איזה יחידות קונפיגורציה הכרנו בתוך ה-J-Meter? יש לנו את ה-user-defined variables. מה זה אומר בעצם? בתוך היחידה הזאת של הקונפיגורציה אנחנו יכולים ליצור לעצמנו משתנים שבהם נוכל להשתמש במהלך הטסטים שלנו, במהלך הריצות שלנו.

  4. 01:00

    לדוגמה, יצרנו משתנה שקוראים לו host, והערך שהוא מקבל הוא ה-URL שאותו אנחנו רוצים לבדוק, ה-URL הבסיסי, ה-Home Page שממנו אנחנו מתחילים לבדוק את האתר.

  5. 01:14

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

  6. 01:41

    אז חזרנו לנושא של היחידות הקונפיגורטיביות ב-J-Meter. הראשון זה User-Defined Variable, איך אנחנו מוסיפים יחידה קונפיגורטיבית? אנחנו יכולים ללחוץ בקש ימני על החלק הראשון של ה-Test Plan, Add, וכאן אנחנו רואים שיש לנו Config Element ואנחנו יכולים להוסיף איזו יחידה קונפיגורטיבית

  7. 02:04

    שאנחנו רוצים ונכיר בהמשך עוד. הוספנו את ה-user-defined variable לאותם משתנים שבהם נעשה שימוש. HTTP request default זאת אומרת בקשת HTTP כברירת מחדל.

  8. 02:17

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

  9. 02:33

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

  10. 02:55

    אז כאן אנחנו יכולים לקבוע ביחידה הקונפיגורטיבית הזאת האם אנחנו רוצים לנקות בכל הפעלה והפעלה של הטסט את הקבצים האלה שכל פעם הם יטענו מחדש ולא יעשו שימוש היסטורי בפעילות הקודמת שהם ראו את הג'יי מיטר עושה על ידי הסימון clear cookies each iteration אנחנו מוודאים שבעצם אנחנו פונים כל פעם מחדש ללא היסטוריה של קוקיז

  11. 03:21

    קבצי איסוף מידע של הישרת מהקליינט. HttpCash Manager זה בעצם אותם קבצים שהבראוזר שומר בכל ביקור וביקור שלו באתר מסוים אז הוא שומר בצד קבצים ומשתמש בהם על מנת לחסוך את הצורך להביא מידע את ה-HttpRequest מהשרת בכל פעם מחדש לפנות לאינטרנט והוא שומר בצד את ה-HttpCash על ה-hard disk אבל אנחנו בעזרת הג'יי מיטר יכולים לוודא שבאמת כל פעם ופעם

  12. 03:53

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

  13. 04:17

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

  14. 04:40

    יש לנו trade group מה זה אומר trade group? trade group זה בעצם כשאנחנו אומרים trade אפשר לקרוא לזה users קבוצת משתמשים שמה היא מבצעת? מבצעת איזושהי פעולה שאנחנו נגדיר פה ב-HTTP Request. איך אנחנו מוסיפים HTTP Request?

  15. 04:58

    באותה צורה שראינו שאנחנו מוסיפים יחידות קונפיגורטיביות: בקש ימני על ה-Trade Group, אפשר לקרוא לזה Users Group או-Trade Group, בקש ימני Add ו-Sampler.

  16. 05:09

    הסמפלר הנפוץ ביותר הוא HTTP Request אבל ה-J Meter נותן לנו אפשרויות נוספות של דוגמאות או ריקווסטים מסוג אחר שאנחנו יכולים להפעיל דרכו וליצור עומס לדוגמה smtp על הגישה לדואר לעשות בקשות של שליחה וקבלת מיילים. אבל כרגע אנחנו בעולם של ה-http request בתוך ה-thread

  17. 05:31

    group והקבוצת משתמשים שלנו מפעילה htp request על מה? בעצם פה אנחנו משאירים ריק. איך אנחנו יכולים לדעת שהערך הזה לא יישאר ריק ובעצם פעולת הגט שלנו תיכשל?

  18. 05:45

    בגלל שיש לנו את ה-request default. בגלל שאנחנו משתמשים ב www.timeanddate.com כ-request defaulty אז אנחנו יכולים להגיד שברגע שאנחנו הולכים ל-time and date אנחנו נדע שה-J meter ינסה לפנות לערך שנמצא בשדה הזה אבל ברגע שהוא לא ימצא הוא יפנה ל-request default וייקח את הערכים גם של הפרוטוקול וגם של ה-server name מפה ואז יפעיל את הפעולה.

  19. 06:13

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

  20. 06:35

    לנו פה listener שנקרא view result tree, זה ה-listener הבסיסי ביותר. מה שהוא עושה בעצם הוא רואה בוחן כל request שיוצא מהפרויקט שלנו ובודק מה הוא קיבל חזרה מהשרת אז אם אנחנו מפעילים request אחד ולוחצים הפעלה לפני שאני לוחץ הפעלה אני רוצה להראות לכם שכשאני מפעיל אני יכול להחליט כמה אנשים יהיו באותה קבוצה יוזרים שאני הגדרתי כאן אני רואה שיש לי number of threads אחד אני יכול להגדיל את

  21. 07:06

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

לקורס המלא: קורס JMeter אונליין בעברית

ההרצאה הקודמת: Begin Working With Jmeter

ההרצאה הבאה: הוספת Request לטסט

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

  • המבנה הנכון - של פרויקט טסטים

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

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration