מסמך זה מגדיר את תוכנית הבדיקות הידניות עבור SauceDemo — אתר אי-קומרס דמו המשמש לאימות יכולות בדיקה. הבדיקות מבוצעות ידנית על-ידי הבוחן, ללא כלי אוטומציה, תוך שימוש בגישת Black-Box ו-Exploratory Testing.
מבוא
הבדיקות מתמקדות בתפקוד הגלוי למשתמש — ממסך ה-Login ועד אישור ההזמנה. כל מקרה בדיקה מבוצע ב-Chrome, מתועד ידנית ומסוכם בדוח STR.
מטרות הבדיקה
- אימות תהליך Login לסוגי משתמשים שונים
- בדיקת תצוגת קטלוג המוצרים ומיון
- אימות עגלת הקניות (הוספה / הסרה)
- בדיקת תהליך ה-Checkout מקצה לקצה
- בדיקת ניווט כללי והתנתקות
- איתור ממצאים UX ולוגיים
3.0 · היקף הבדיקה – Test Scope
✅ נבדק
- Login — valid, locked, invalid, empty fields
- קטלוג מוצרים — כמות, כותרת, מיון (4 אפשרויות)
- Cart — הוספה, הסרה, badge count, תוכן
- Checkout — ולידציות, overview, E2E flow
- Navigation — logout, continue shopping, back home
🚫 לא נבדק
- בדיקות API / Backend
- בדיקות אוטומטיות
- בדיקות עומס
- בדיקות ניידים (Mobile)
- בדיקות נגישות (Accessibility)
- Firefox / Edge / Safari
4.0 · גישת הבדיקה – Test Approach
מתודולוגיה
בדיקות Black-Box פונקציונליות — הבוחן אינו מכיר את קוד המקור. מקרי בדיקה כוללים נתיבים מוצלחים (Positive), שליליים (Negative) ובדיקות גבולות (Boundary). לאחר הבדיקות הפורמליות בוצעה Exploratory Testing קצרה.
נתוני בדיקה
- standard_user / secret_sauce
- locked_out_user — משתמש נעול
- wrong_user / wrong_pass — שגוי
- שדה ריק — Username / Password
- מוצר: Sauce Labs Backpack ($29.99)
סולם עדיפויות
- High — נתיבים קריטיים, חייבים לעבור
- Medium — פונקציונליות חשובה
- Low — nice-to-have, לא חוסם
5.0 · סביבת הבדיקה – Test Environment
| Application URL | https://www.saucedemo.com |
| OS | Windows 11 Pro |
| Browser | Google Chrome 124 (latest) |
| Screen Resolution | 1920 × 1080 |
| Test Management | Excel Test Plan + this document |
| Defect Tracking | Jira (manual bug reports) |
| Screenshots | Windows Snipping Tool (on failure) |
6.0 · קריטריוני כניסה ויציאה
תנאי פתיחה
- הכתובת saucedemo.com נגישה
- Chrome מותקן ועדכני
- כל מקרי הבדיקה נסקרו ואושרו
- נתוני הבדיקה מוכנים
תנאי סגירה
- כל 26 מקרי הבדיקה בוצעו
- 100% ממקרי High Priority עברו
- Pass Rate כולל ≥ 80%
- כל הבאגים תועדו ב-Jira
- דוח STR נכתב ואושר
7.0 · לוח זמנים ומשאבים
| STP Writing | Day 1 |
| STD – Test Case Design | Days 2–3 |
| Test Execution (26 TCs) | Days 4–5 |
| Defect Reporting & Retest | Day 6 |
| STR Writing & Sign-off | Day 7 |
| QA Engineer | Gil Kalman |
| Tools | Chrome · Excel · Jira · Snipping Tool |
כל מקרי הבדיקה מחולקים ל-5 חבילות. הצעדים כתובים ברמת פירוט המאפשרת לכל בוחן לבצע את הבדיקה ללא ידע מוקדם על המערכת. 26 מקרי בדיקה · 12 High · 11 Medium · 3 Low.
| TC ID | Test Case | Priority | Test Steps | Test Data | Expected Result |
|---|---|---|---|---|---|
| TC-01-01 | Valid login – standard_user | High |
|
standard_user secret_sauce |
URL → /inventory.html Page title = "Products" 6 products visible |
| TC-01-02 | Login – locked_out_user | High |
|
locked_out_user secret_sauce |
Error message visible Text: "Sorry, this user has been locked out." No redirect |
| TC-01-03 | Login – invalid password | High |
|
standard_user wrong_pass |
Error message visible "Username and password do not match" User remains on login page |
| TC-01-04 | Login – invalid username | Medium |
|
ghost_user secret_sauce |
Error message visible No redirect to inventory |
| TC-01-05 | Login – empty username field | Medium |
|
(empty) secret_sauce |
Error: "Username is required" 🔍 Note: actual text includes "Epic sadface:" prefix → UX-001 |
| TC-01-06 | Login – empty password field | Medium |
|
standard_user (empty) |
Error: "Password is required" User remains on login page |
| TC ID | Test Case | Priority | Test Steps | Test Data | Expected Result |
|---|---|---|---|---|---|
| TC-02-01 | Verify 6 products displayed | High |
|
standard_user | Exactly 6 product cards Each has: name, price, image, "Add to cart" button |
| TC-02-02 | Page title displays "Products" | High |
|
— | Header = "Products" |
| TC-02-03 | Sort by Name (Z to A) | Medium |
|
"Name (Z to A)" | First = "Test.allTheThings() T-Shirt (Red)" |
| TC-02-04 | Sort by Name (A to Z) | Medium |
|
"Name (A to Z)" | First = "Sauce Labs Backpack" |
| TC-02-05 | Sort by Price (low to high) | Medium |
|
"Price (low to high)" | First price = $7.99 (Sauce Labs Bike Light) |
| TC-02-06 | Sort by Price (high to low) | Medium |
|
"Price (high to low)" | First price = $49.99 (Sauce Labs Fleece Jacket) |
| TC ID | Test Case | Priority | Test Steps | Test Data | Expected Result |
|---|---|---|---|---|---|
| TC-03-01 | Cart badge shows 1 after adding one item | High |
|
Sauce Labs Backpack | Cart badge = "1" Button text = "Remove" |
| TC-03-02 | Cart badge shows 2 after adding two items | Medium |
|
Backpack + Bike Light | Cart badge = "2" |
| TC-03-03 | Cart contains correct item name and price | High |
|
Sauce Labs Backpack | Name = "Sauce Labs Backpack" Qty = 1 Price = $29.99 |
| TC-03-04 | Remove item from cart page | High |
|
Sauce Labs Backpack | Cart is empty Cart badge disappears |
| TC-03-05 | Remove item from inventory page | High |
|
Sauce Labs Backpack | Cart badge disappears Button returns to "Add to cart" |
| TC ID | Test Case | Priority | Test Steps | Test Data | Expected Result |
|---|---|---|---|---|---|
| TC-04-01 | Checkout validation – missing first name | High |
|
Last Name: Kalman Zip: 12345 |
Error: "First Name is required" Stays on step-one |
| TC-04-02 | Checkout validation – missing last name | Medium |
|
First: Gil Zip: 12345 |
Error: "Last Name is required" Stays on step-one |
| TC-04-03 | Checkout validation – missing postal code | Medium |
|
First: Gil Last: Kalman |
Error: "Postal Code is required" Stays on step-one |
| TC-04-04 | Checkout overview – correct item total | High |
|
First: Gil Last: Kalman Zip: 12345 |
Item total = $29.99 Tax displayed Total = Item + Tax |
| TC-04-05 | E2E – complete purchase flow | High |
|
Gil / Kalman / 12345 | "Thank you for your order!" URL = /checkout-complete.html "Back Home" button visible |
| TC-04-06 | Cancel on checkout overview returns to cart | Medium |
|
— | Expected: /cart.html ⚠ Actual: /inventory.html → BUG-001 |
| TC ID | Test Case | Priority | Test Steps | Test Data | Expected Result |
|---|---|---|---|---|---|
| TC-05-01 | Logout redirects to login page | High |
|
— | URL = https://www.saucedemo.com/ Login form visible |
| TC-05-02 | Continue Shopping from cart returns to inventory | Medium |
|
— | URL = /inventory.html Cart badge preserved |
| TC-05-03 | Cart is empty after logout and re-login | Low |
|
standard_user secret_sauce |
Expected: Cart badge absent (empty cart) ⚠ Actual: Badge shows "1" → BUG-002 |
הבדיקות בוצעו ב-Chrome 124 עם standard_user כמשתמש ראשי. אותרו 2 ליקויים פונקציונליים ו-ממצא UX אחד. תאריך ביצוע: אפריל 2026.
תוצאות לפי חבילת בדיקה
תוצאות מפורטות
| TC ID | Test Case | Suite | Priority | Status | Notes |
|---|---|---|---|---|---|
| TC-01-01 | Valid login – standard_user | TS-01 | High | PASS | Redirected to /inventory.html, 6 products visible ✓ |
| TC-01-02 | Login – locked_out_user | TS-01 | High | PASS | Lock-out error message displayed correctly ✓ |
| TC-01-03 | Login – invalid password | TS-01 | High | PASS | Credentials mismatch error shown ✓ |
| TC-01-04 | Login – invalid username | TS-01 | Medium | PASS | Error shown, no redirect ✓ |
| TC-01-05 | Login – empty username | TS-01 | Medium | PASS | Validation error shown ✓ — 🔍 Note: "Epic sadface:" prefix in message → UX-001 |
| TC-01-06 | Login – empty password | TS-01 | Medium | PASS | Validation error shown ✓ |
| TC-02-01 | 6 products displayed | TS-02 | High | PASS | Count = 6, all attributes visible ✓ |
| TC-02-02 | Page title = "Products" | TS-02 | High | PASS | Title verified ✓ |
| TC-02-03 | Sort Name Z to A | TS-02 | Medium | PASS | First = "Test.allTheThings() T-Shirt (Red)" ✓ |
| TC-02-04 | Sort Name A to Z | TS-02 | Medium | PASS | First = "Sauce Labs Backpack" ✓ |
| TC-02-05 | Sort Price low to high | TS-02 | Medium | PASS | First price = $7.99 ✓ |
| TC-02-06 | Sort Price high to low | TS-02 | Medium | PASS | First price = $49.99 ✓ |
| TC-03-01 | Cart badge = 1 after add | TS-03 | High | PASS | Badge = "1", button = "Remove" ✓ |
| TC-03-02 | Cart badge = 2 after two adds | TS-03 | Medium | PASS | Badge = "2" ✓ |
| TC-03-03 | Cart contains correct item | TS-03 | High | PASS | Name + price verified in cart ✓ |
| TC-03-04 | Remove from cart page | TS-03 | High | PASS | Cart empty after remove ✓ |
| TC-03-05 | Remove from inventory page | TS-03 | High | PASS | Badge disappeared, button reset ✓ |
| TC-04-01 | Missing first name – error | TS-04 | High | PASS | Validation error shown ✓ |
| TC-04-02 | Missing last name – error | TS-04 | Medium | PASS | Validation error shown ✓ |
| TC-04-03 | Missing postal code – error | TS-04 | Medium | PASS | Validation error shown ✓ |
| TC-04-04 | Overview shows correct total | TS-04 | High | PASS | Item total = $29.99, tax visible ✓ |
| TC-04-05 | E2E – complete purchase | TS-04 | High | PASS | "Thank you for your order!" confirmed ✓ |
| TC-04-06 | Cancel on overview → cart | TS-04 | Medium | FAIL | ⚠ Expected /cart.html — Actual: /inventory.html → BUG-001 |
| TC-05-01 | Logout → login page | TS-05 | High | PASS | Redirected to saucedemo.com/, login form visible ✓ |
| TC-05-02 | Continue Shopping → inventory | TS-05 | Medium | PASS | Returns to /inventory.html, cart preserved ✓ |
| TC-05-03 | Cart empty after logout + re-login | TS-05 | Low | FAIL | ⚠ Cart items persist after logout and fresh login → BUG-002 |
יומן ליקויים – Defect Log
| Affected TC | TC-04-06 |
| Reported By | Gil Kalman |
| Environment | Chrome 124 · standard_user |
| Steps to Reproduce | 1. Add item to cart 2. Proceed to checkout 3. Fill info → Continue 4. On overview page, click "Cancel" |
| Expected | User returned to /cart.html — cart contents intact, ready to modify order |
| Actual | User redirected to /inventory.html — cart contents still intact but user loses context of being mid-checkout |
| Impact | Confusing UX — user expecting to review cart instead lands on product list |
| Status | Open |
| Affected TC | TC-05-03 |
| Reported By | Gil Kalman |
| Environment | Chrome 124 · standard_user |
| Steps to Reproduce | 1. Login 2. Add item to cart (badge = 1) 3. Logout via burger menu 4. Login again with same user 5. Observe cart badge |
| Expected | Cart is empty after logout — session data cleared on logout |
| Actual | Cart badge still shows "1" after fresh login — items from previous session persist (stored in browser localStorage, not cleared on logout) |
| Impact | Data integrity issue — in a real system this could expose previous session data or cause incorrect order totals |
| Status | Open |
ממצאי UX – UX Findings
| Observed In | TC-01-05 · TC-01-06 (and all login validation errors) |
| Actual Text | "Epic sadface: Username is required" / "Epic sadface: Password is required" |
| Expected Text | "Username is required" / "Password is required" |
| Impact | In a production environment, the "Epic sadface:" prefix would appear unprofessional to end users |
| Recommendation | Remove the "Epic sadface:" prefix from all user-facing error messages |
| Note | This is an intentional quirk of the SauceDemo demo environment — noted as a real-world finding |
📌 סיכום ומסקנות – Summary & Conclusions
- סבב הבדיקות הושלם. 23/26 עברו (88.5%) — מעל קריטריון היציאה המוגדר (80%).
- כל מקרי ה-High Priority עברו בהצלחה — ניתן לאשר שחרור ל-UAT.
- אותרו 2 ליקויים פונקציונליים (BUG-001, BUG-002) שאינם חוסמים אך מצריכים תיקון.
- ממצא UX אחד (UX-001) תועד לשיפור חוויית המשתמש.
- המלצה: תקן BUG-001 ו-BUG-002 לפני שחרור לייצור. UX-001 לא חוסם.
Report Version: 1.0 · Final