כל מה שצריך לדעת על בדיקות תוכנה באמצעות Cucumber Framework

Cucumber הוא כלי בדיקות מבוסס גישת Behavior Driven Development (BDD), שמאפשר לכתוב בדיקות בשפה פשוטה ומובנת, כך שגם מי שאינו בעל ידע טכני מעמיק, כמו בעלי מוצר ואנליסטים עסקיים, יוכלו להבין את תרחישי הבדיקה. ב-BDD, התרחישים נכתבים מנקודת מבטו של הלקוח ומתארים את התנהגות המערכת הרצויה. גישה זו מביאה לאישור תרחישים ע"י בעלי המוצר לפני תחילת הפיתוח, ומבטיחה שהפיתוח תואם את דרישות הלקוח.

כיצד עובד BDD באמצעות Cucumber

בגישת BDD, בדיקות נכתבות במבנה של Given-When-Then:

  • Given (בהינתן) – מצב התחלתי.
  • When (כאשר) – פעולה שמבצע המשתמש.
  • Then (אז) – התוצאה הצפויה.

דוגמה לבדיקת מודול העברות כספים בבנקאות מקוונת

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

  1. יש לבצע את העברה אם יש מספיק יתרה בחשבון המקור.
  2. יש לבצע את העברה אם פרטי חשבון היעד נכונים.
  3. יש לבצע את העברה אם סיסמת העסקה/קוד אבטחה הוזנו בצורה נכונה.
  4. ניתן לבצע את העברה גם כאשר זהו יום חופש בנקאי.
  5. ניתן להגדיר העברה לתאריך עתידי לפי החלטת בעל החשבון.

יתרונות Cucumber

שילוב בעלי עניין בתהליך הבדיקות

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

חווית משתמש ושימוש חוזר בקוד

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

התאמה קלה ושימוש כתיעוד

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

Cucumber בבדיקות ידניות: דוגמאות לשימוש

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

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

לסיכום

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

תכונהCucumberSelenium
מטרהתומך ב-BDD (פיתוח מונחה התנהגות), מיועד לכתיבת תרחישי בדיקה בשפה מובנת לכולם (במיוחד עבור בעלי עניין שאינם טכניים).כלי אוטומציה לבדיקות פונקציונליות, ממוקד באוטומציה של ממשקי משתמש, תומך בכתיבת בדיקות בשפות תכנות.
שפת כתיבהתרחישים נכתבים במבנה Gherkin (במבנה Given-When-Then), המותאם לבעלי עניין לא טכניים.תומך בשפות תכנות שונות כמו Java, Python, C#, Ruby ועוד.
אופי הבדיקותתומך בעיקר בבדיקות קצה-לקצה ובדיקות המבוססות על התנהגות, יחד עם מיקוד בחוויית משתמש.מתאים לאוטומציה של בדיקות ממשק משתמש (UI) ובדיקות פונקציונליות, כולל בדיקות על דפדפנים שונים ומערכות הפעלה.
תמיכה באוטומציהלרוב משמש יחד עם Selenium לאוטומציה של תרחישים.עצמאי כאוטומציה, אך משולב לעיתים עם Cucumber לצורך תיעוד ברור וממוקד במשתמש.
התקנה והגדרהמצריך התקנה של Cucumber ותצורה של קבצי תרחישים בפורמט Gherkin.מצריך התקנת WebDriver לפי הדפדפן (כמו ChromeDriver), וכן הגדרות לתמיכה במערכות השונות.
תמיכה בממשקי APIתומך בתיעוד ובדיקות מבוססות על התנהגות בלבד, פחות מתאים לבדיקות API.מתאים לבדיקות UI, אך ניתן לשלבו עם כלים נוספים (כמו RestAssured) לבדיקות API.
נגישות לבעלי ענייןקל להבנה ושימוש גם לבעלי עניין שאינם טכניים, מאפשר לבעלי המוצר ומנהלי פרויקטים לכתוב ולהבין את הבדיקות.מתאים יותר למפתחים ובודקי אוטומציה בגלל השפה והקוד, פחות נגיש לבעלי עניין לא טכניים.
תחבירתחביר של Gherkin (Given-When-Then) לניהול בדיקות.תחביר המשתנה לפי שפת התכנות בה משתמשים (Java, Python, וכו').
חוזקות עיקריותתיעוד מובנה וברור של תרחישי הבדיקה; התממשקות לבעלי עניין לא טכניים; מתאים לבדיקות קצה-לקצה.תומך במגוון דפדפנים ומערכות הפעלה; ניתן לשלב אותו בכלי CI/CD; גמישות רבה באוטומציה של בדיקות UI.
חסרונותאינו מתאים לאוטומציה עצמאית של בדיקות UI, דורש שילוב עם Selenium או כלים דומים.קשה יותר להבנה ללא רקע טכני, בעיקר בשפות קוד מורכבות.

מסקנה:

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

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

כתיבת תגובה