API INTERVIEW

שאלות API ו־Postman בראיון QA: להבין את המערכת מעבר למסך

מראיין אינו בודק אם אתם זוכרים איפה נמצא כל כפתור ב־Postman. הוא בודק אם אתם מבינים request, response, חוזה, הרשאה, נתונים ושגיאות, ויודעים להפוך את ההבנה לבדיקות.

נכתב ונבדק על ידי IntoQAקריאה מעשיתעודכן ל־2026

מפת המושגים שחייבים להבין

מושגמה הוא אומרמה בודקים
Endpointכתובת של משאב או פעולהנתיב, method, גרסה ו־parameters
Methodסוג הפעולה, כגון GET או POSTשהפעולה תואמת לחוזה ואינה משנה מידע בטעות
Headersמידע על הבקשה והתגובהContent-Type, Authorization, caching ו־correlation ID
Bodyהנתונים שנשלחים או מוחזריםשדות חובה, סוגים, גבולות ו־schema
Status codeסיכום תוצאת הבקשהשהקוד מתאים לתרחיש ולא מסתיר שגיאה בתוך 200
Authenticationהוכחת זהותtoken תקין, חסר, פג תוקף או שייך למשתמש אחר
Authorizationמה מותר לזהות לבצעגישה למשאב, role, tenant ו־ownership

Methods נפוצים

  • GET: קריאת משאב. בקשה תקינה לא אמורה לשנות מידע.
  • POST: יצירה או פעולה שאינה idempotent בהכרח.
  • PUT: החלפה מלאה של משאב לפי החוזה.
  • PATCH: עדכון חלקי של שדות.
  • DELETE: מחיקה או סימון למחיקה.

Status codes שכדאי להכיר

200 להצלחה כללית, 201 ליצירת משאב, 204 להצלחה ללא body, 400 לבקשה לא תקינה, 401 כשאין authentication תקין, 403 כשהזהות ידועה אך הפעולה אסורה, 404 כשמשאב לא נמצא, 409 להתנגשות מצב, 422 לנתונים שלא עוברים validation לפי חוזים מסוימים, 429 להגבלת קצב ו־500 לשגיאה פנימית. תמיד בודקים את החוזה של המערכת, לא רק הגדרה כללית.

שאלות API נפוצות בראיון

מה ההבדל בין 401 ל־403?

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

מה ההבדל בין PUT ל־PATCH?

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

מהי idempotency?

פעולה idempotent נותנת אותו מצב סופי גם אם מבצעים אותה מספר פעמים. GET, PUT ו־DELETE אמורים בדרך כלל להתנהג כך. בתשלום או יצירת הזמנה ב־POST משתמשים לעיתים ב־idempotency key כדי למנוע כפילות.

מה בודקים בתגובה מלבד status code?

Body, schema, ערכים, headers, זמן תגובה, side effects, שמירה במסד, הרשאות, לוגים ועקביות עם פעולות המשך. תגובת 200 עם נתון שגוי היא עדיין כישלון.

איך בודקים pagination?

בודקים page size, סדר, עמוד ראשון ואחרון, עמוד ריק, פריטים כפולים או חסרים, שינוי נתונים בין עמודים ו־metadata כגון total ו־next cursor.

איך בודקים API אסינכרוני?

בודקים שהבקשה מחזירה מזהה עבודה או 202 לפי החוזה, עוקבים אחר הסטטוס עד מצב סופי ומגדירים timeout. בודקים גם כשל, retry, פעולה כפולה והודעה שמגיעה באיחור.

מה ההבדל בין authentication ל־authorization?

Authentication עונה מי המשתמש. Authorization עונה מה מותר לו לעשות. צריך לבדוק את שניהם, במיוחד ניסיון של משתמש אחד לקרוא או לשנות משאב של משתמש אחר.

איך חושבים על בדיקות חיוביות ושליליות?

ל־POST שיוצר משתמש אפשר לבנות קבוצות:

  • בקשה תקינה עם כל שדות החובה.
  • שדה חובה חסר, null או מחרוזת ריקה.
  • אימייל בפורמט שגוי וערכי גבול לאורך.
  • משתמש שכבר קיים ותרחיש מקביל של שתי בקשות.
  • Content-Type שגוי או JSON פגום.
  • token חסר, פג תוקף או בעל role לא מתאים.
  • שדה נוסף שאינו מוגדר בחוזה.
  • תווים בשפות שונות, Unicode וקלט שעלול להשפיע על אבטחה.

מה צריך לדעת לעשות ב־Postman

Collection ו־Environment

Collection מארגנת requests, scripts ותיעוד. Environment מחזיק ערכים שמשתנים בין סביבות, כגון baseUrl. אל תשמרו סיסמאות או tokens אמיתיים במאגר ציבורי. השתמשו ב־current value מקומי או במנגנון secrets מתאים.

בדיקה בסיסית לתגובה

pm.test('status is 201', () => {
  pm.response.to.have.status(201);
});

pm.test('created user has an id and email', () => {
  const body = pm.response.json();
  pm.expect(body.id).to.be.a('string').and.not.empty;
  pm.expect(body.email).to.eql(pm.variables.get('email'));
});

pm.test('response is JSON', () => {
  pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');
});

שמירת ערך לבקשה הבאה

const body = pm.response.json();
pm.collectionVariables.set('userId', body.id);

בבקשה הבאה אפשר להשתמש ב־{{userId}}. בראיון הסבירו מה יקרה אם הבקשה הראשונה נכשלת או השדה חסר. Collection טובה לא צריכה להמשיך עם ערך ישן ולהציג תוצאה מטעה.

Pre-request script לנתון ייחודי

const suffix = Date.now();
pm.collectionVariables.set('email', 'qa+' + suffix + '@example.com');

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

הרצת Collection

אפשר להריץ collection דרך Collection Runner, Postman CLI או Newman, להזין קובץ נתונים ולשלב את הבדיקות ב־CI. ודאו שההרצה נכשלת באמת כאשר test נכשל ושאין תלות בסדר שאינה מתועדת.

תרגיל ראיון: API ליצירת הזמנה

נניח שהחוזה הוא:

POST /api/orders
Authorization: Bearer <token>
Content-Type: application/json

{
  "productId": "p-101",
  "quantity": 2,
  "coupon": "QA10"
}

בנו את התשובה בראיון בסדר הבא:

01

שאלות הבהרה

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

02

מסלול מרכזי

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

03

גבולות ונתונים

כמות 0, 1, מקסימום, מעל מקסימום, שלילית, decimal, null ומחרוזת. מוצר חסר או לא קיים.

04

הרשאות

token חסר, פג תוקף, משתמש חסום וניסיון לקרוא הזמנה של משתמש אחר.

05

עקביות וכפילויות

שתי בקשות זהות, retry לאחר timeout, מלאי אחרון ושתי הזמנות במקביל. בדקו idempotency ועסקה אטומית.

06

ראיות

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

טעויות נפוצות בראיון API

  • להציג רשימת status codes בלי לחבר אותם לתרחיש.
  • לבדוק רק response ולהתעלם ממה שנשמר או הופעל מאחור.
  • לבלבל בין authentication להרשאה.
  • לשכוח תרחישים מקבילים, retry ופעולה כפולה.
  • להדפיס token, סיסמה או מידע אישי ל־console ולדוח.
  • ליצור collection שתלויה בנתון שנשאר מהרצה קודמת.
  • לקרוא לכל 4xx "באג" בלי לבדוק את החוזה.
  • להגיד ש־Postman הוא סוג הבדיקה. Postman הוא כלי, והבדיקה היא ההחלטה והאימות.

כדי לחבר API לפרויקט מלא, עברו למדריך פרויקט Playwright לתיק עבודות ולמדריך שאלות ראיון QA.

שאלות נפוצות

מה צריך לדעת ב־Postman לראיון QA ראשון?

צריך לדעת לשלוח בקשות, לעבוד עם params, headers, body ו־authentication, לקרוא JSON, לשמור collection ו־environment ולכתוב tests בסיסיים ב־JavaScript.

האם צריך לזכור את כל קודי ה־HTTP?

לא. חשוב להכיר את המשפחות 2xx, 4xx ו־5xx ואת הקודים הנפוצים, ולהסביר למה תגובה מסוימת מתאימה לתרחיש.

מה ההבדל בין בדיקת API לבדיקת UI?

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

איך מתרגלים בלי מערכת של חברה?

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

מקורות רשמיים

NEXT STEP

ידע הוא התחלה. החלטה נכונה היא השלב הבא.

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

הפרטים ישמשו רק למענה לפנייה. מדיניות פרטיות