PracticU

תיעוד - לוג - Logging - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס סלניום מתקדם - CI/CD - Continues Integration › תיעוד - לוג - Logging - חלק 1
מילון מושגים:
לוג - רישום מתועד של אירועים ופעולות שמתרחשים במערכת או בתוכנה, המשמש למעקב ולאיתור תקלות.
בדיקות אוטומטיות - הרצת בדיקות תוכנה באמצעות סקריפטים וכלים, במקום בדיקה ידנית, כדי לחסוך זמן ולהגדיל כיסוי.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
תבנית - מבנה בסיסי מוכן שממנו יוצרים פריטים דומים, כמו תבנית עמוד או תבנית מסמך.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.

תיעוד - לוג - Logging - חלק 1
בשיעור פותחים את נושא התיעוד (Logging) באוטומציה. השיעור מסביר למה תיעוד חשוב, ומציג את התשתית של ספריית Log4j ושלושת מרכיביה: הלוגר, הפנדרס והלייאאוט.
השלבים העיקריים
1. למה תיעוד: בלי תיעוד קשה להבין מה הטסט עשה ולמה נכשל. הקונסול מתאפס בכל ריצה, ולכן לא נשמרת היסטוריה. קובץ לוג שומר את הפעולות מכמה ריצות.
2. ספריית Log4j: מדובר בסט ג'ארים מבית Apache, שמשתלב בפרויקט ואינו מחליף את TestNG או את Java.
3. הלוגר: האובייקט שכותב את ההודעה ומסנן אותה לפי רמה, כגון Debug, Info, Error ו-Trace.
4. הפנדרס: היעד של ההודעה, כלומר קונסול, קובץ לוג או שניהם.
5. הלייאאוט: התבנית שלפיה ההודעה מוצגת, למשל תאריך, שעה ושם הקלאס.
6. הקובץ המרכזי: ההגדרות של שלושת המרכיבים נמצאות בקובץ log4j2.xml. הגרסה שנבחרה היא Log4j2, שהיא שיפור של הגרסה המקורית.
שימו לב
בשיעור הבא מורידים את הג'ארים הנדרשים ומגדירים את קובץ ה-XML בפועל.
השיעור הבא בקורס: תיעוד - לוג - Logging - חלק 2

פרקי ההרצאה: תיעוד - לוג - Logging - חלק 1

  1. 00:00

    מהי תשתית תיעוד ולוגינג

  2. 01:24

    למה כל פרויקט צריך תיעוד

  3. 02:03

    מה זה Log4j ואיך הוא מתחבר לפרויקט

  4. 02:57

    שני יעדים לתיעוד: קונסולה וקובץ

  5. 03:52

    למה לא להסתפק בקונסולה

  6. 04:37

    הגדרת log4j2.xml - קובץ התצורה

  7. 05:39

    Logger ורמות סינון ההודעות

תמלול ההרצאה: תיעוד - לוג - Logging - חלק 1

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

  1. 00:02

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

  2. 00:29

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

  3. 00:59

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

  4. 01:20

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

  5. 01:33

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

  6. 02:03

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

  7. 02:32

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

  8. 03:00

    התיעוד, הכתיבה שלנו של הדברים שאנחנו עושים תוך כדי ריצה יכול להתבצע לשני מקומות, לשני תוצרים. תוצר אחד הוא הקונסול, אותו System Outprint Land שאנחנו מדפיסים כדי לראות את השמות של המשתנים ואת הפעולות שלנו, אז זה מופיע לנו בקונסול אבל ה-log4j מאפשר לנו גם לתעד ולשלוח את הכתיבה שלנו למקום נוסף

  9. 03:38

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

  10. 03:56

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

  11. 04:22

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

  12. 04:42

    אז בואו נדבר קצת על log4j.xml. ה-log4j2.xml הוא בעצם הקובץ xml שדרכו התוסף הזה של ה-log4j מתקנפג או מנוהל. בעזרת ה-log4j 2.xml נוכל להגדיר את כל הדברים שדיברנו עליהם קודם.

  13. 05:08

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

  14. 05:29

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

  15. 05:45

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

לקורס המלא: קורס סלניום מתקדם אונליין

ההרצאה הקודמת: Data Driven Test עם Excel - חלק 3

ההרצאה הבאה: תיעוד - לוג - Logging - חלק 2

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

  • תיעוד תהליך ב-Logging SSIS
  • קבצי לוג באנדרואיד - Insecure Logging
  • Message Logging
  • תיעוד של קוד

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

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