PracticU

בדיקת סכמה בפוסטמן
חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API › בדיקת סכמה בפוסטמן חלק 2
מילון מושגים:
בקשה - פנייה שלקוח שולח לשרת כדי לקבל מידע או לבצע פעולה. השרת מחזיר עליה תגובה.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

בדיקת סכמה בפוסטמן חלק 2
בחלק השני של בדיקות הסכמה מחדדים את הסכמה כך שתבדוק גם ערכים ולא רק סוגי שדות, כדי לוודא שבתשובה לא מגיע מוצר שלא במלאי.
השלבים העיקריים
1. הבקשה המסוננת: משכפלים את הבדיקה הקודמת ומוסיפים query param בשם available עם הערך true. כל המוצרים שחוזרים מהדאטאבייס אמורים להיות רק כאלה שקיימים במלאי.
2. חידוד הסכמה: בסכמה מוסיפים לשדה instock את המילה enum ובתוכה את הערך true. כך כל מוצר בתשובה חייב להיות instock true.
3. בדיקה שהיא באמת תופסת: משנים את הערך ל-false ושולחים. הבדיקה נכשלת, וההסבר של השגיאה אומר שהערך בנתונים חייב להיות שווה לאחד מהערכים המותרים.
4. בדיקה על כל התשובה: הבדיקה רצה בבת אחת על כל המוצרים שחזרו מה-query, ואחרי שמחזירים ל-true היא עוברת.
5. התרגיל: משכפלים את הבקשה והבדיקה ויוצרים גרסה Not Available, עם הפרמטר available בערך false.
6. פתרון התרגיל: בבקשה המשוכפלת משנים את הפרמטר ל-false. זה נכשל כל עוד הסכמה עדיין דורשת true, אז משנים גם את ה-enum של instock ל-false. במקרה המודגם חוזרים שני מוצרים ושניהם עם false.
שימו לב
הבדיקה עוברת שדה אחרי שדה על כל מה שהתקבל, ולכן שכפול הבקשה והחלפת הערך בסכמה מספיקים כדי לכסות גם את המקרה ההפוך.
אחרי ההרצאה אפשר לכתוב סכמה שמוודאת גם ערכים מותרים בשדות ולהריץ אותה על כמות גדולה של נתונים.
השיעור הבא בקורס: הרצת פוסטמן - Postman בשלבי תהליך הפיתוח והבדיקות

פרקי ההרצאה: בדיקת סכמה בפוסטמן חלק 2

  1. 00:00

    מעבר מבדיקת מבנה לבדיקת תוכן

  2. 00:36

    סינון מוצרים לפי available

  3. 01:12

    חידוד הסכמה למוצרים במלאי

  4. 01:50

    אימות וכישלון מכוון של הבדיקה

תמלול ההרצאה: בדיקת סכמה בפוסטמן חלק 2

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

  1. 00:02

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

  2. 00:19

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

  3. 00:31

    לדוגמה יש לנו פה איזשהו פרמטר של available נכון אז אני לוקח את הקטע של הפרמטר all product לסנן רק את מה שקיים במלאי אז בואו ניקח את השדה הזה ונחזור לפוסטמן שלנו אני חוזר אני אעשה דופליקייט לבדיקה שעשיתי קודם ואני בודק עכשיו כאן available אוקיי את כל המידע שהוא available אז פה אני עושה query פעם available

  4. 00:59

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

  5. 01:15

    אני רוצה לוודא בעזרת ה-JSON סכמה שלא משתחל לי מידע של מוצר שאינו במלאי. איך אני עושה את זה? אני צריך לחזור לפתיקת סכמה ולעשות אותה קצת יותר מתוחכמת.

  6. 01:29

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

  7. 01:50

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

לקורס המלא: קורס פוסטמן Postman לבדיקות API

ההרצאה הקודמת: בדיקת סכמה בפוסטמן - חלק 1

ההרצאה הבאה: הרצת פוסטמן - Postman - בשלבי תהליך הפיתוח והבדיקות

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

  • בדיקת גבולות
  • יצירת סכמה עבור Data Warehouse
  • בדיקת איכות של תוכנה בענן
  • בדיקת RESTful Service עם Postman

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

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