fbpx

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

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

 

מהו ניתוח ערכי גבולות בבדיקות תוכנה?

בדיקות סטטיות בבדיקות תוכנה - מה זה, סוגים, תהליך, גישות, כלים ועוד!

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

BVA היא טכניקת בדיקת תוכנה המאמתת כיצד תוכנה תגיב לקלט בקצה או סביב קצה גבולות הקלט. למעשה, לכל קלט יש טווחים מותרים. לדוגמה, ייתכן שתהיה לך תיבת סיסמה לכניסה שמקבלת סיסמאות בין 8 ל-12 תווים. בדיקת גבולות תבדוק סיסמאות בעלות אורכי תווים של 7, 8, 12 ו-13.

החשיבה כאן היא שגבולות הגבולות, כלומר 7, 8, 12 ו-13, נוטים יותר לזרוק שגיאות מאשר מספרים בתוך הגבולות, כגון 9, 10 ו-11. בעוד שהיתרונות כאן עשויים להיראות שוליים בדוגמה של תיבת שדה שמקבלת בין 8 ל-12 תווים, הם הופכים ברורים יותר כאשר אתה צריך לכתוב מקרי בדיקה עבור תיבות שדה שלוקחות בין 1 ל-20 תווים או מספרים בין 1 ל-1000, וכולי.

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

  • בערך מינימלי
  • ישירות מתחת לערך המינימלי
  • בערך מקסימום
  • ישירות מעל הערך המקסימלי

 

היתרונות של ניתוח ערכי גבולות בבדיקה

בדיקת QA - מה זה, סוגים, תהליכים, גישות, כלים ועוד!

לבדיקת גבולות יש כמה יתרונות משכנעים עבור צוותי QA.

#1. איכות תוכנה טובה יותר

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

#2. כיסוי בדיקה מוגבר

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

#3. איתור פגמים מוקדם

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

#4. יְעִילוּת

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

 

חסרונות של ניתוח ערכי גבולות בבדיקה

תוכנות שונות ומתודולוגיות QA

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

#1. היקף צר

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

#2. פשטני מדי

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

#3. הנחות

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

#4. הסתמכות על מפרטים ודרישות מדויקות

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

#5. הסתמכות על שיעורי שוויון

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

 

אתגרים של ניתוח ערכי גבולות

בבדיקות תוכנה

אתגרים-עומס-בדיקות

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

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

 

#1. מתווה גבולות

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

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

 

#2. דרישות לא ברורות

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

 

#3. מומחיות

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

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. שגיאות

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

 

#5. פיצוץ מקרה בדיקה

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

 

#6. מגבלות כלי ניתוח

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

 

סוגים שונים של ערך גבול

בדיקות בבדיקות תוכנה

רשימת בדיקות תהליכים של תוכנה

בספר Software Testing: A Craftsman's Approach , המתארים המחברים פול סי. יורגנסן וביירון דפרייז ארבעה סוגים שונים של בדיקות ערכי גבולות, שהם:

 

1. בדיקת ערך גבול רגילה (NBVT)

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

 

2. בדיקת ערך גבול חזקה (RBVT)

  • דומה ל-NBVT לעיל, אך כולל גם כניסות לא חוקיות
  • מבחנים בגבולות ובדיוק מעבר להם, אבל גם אחראי על תשומות לא חוקיות
  • מתמקד באיתור שגיאות מתפוקות קיצוניות או בלתי צפויות

 

3. בדיקת ערך גבול במקרה הגרוע ביותר (WBVT)

  • מאמת התנהגות תוכנה באמצעות ערכים קיצוניים חוקיים ולא חוקיים
  • חוקר ערכים בקצה של תחומי קלט וערכים מעבר לגבולות אלה
  • מבקש להבין התנהגות תוכנה בתנאים קיצוניים יותר

 

4. בדיקת ערך גבול חזקה במקרה הגרוע ביותר (RWBVT)

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

 

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

 

חלוקת שוויון וערך גבול

ניתוח: דמיון והבדלים

מנקה קצת בלבול באוטומציה של בדיקות תוכנה

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

 

1. קווי דמיון

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

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

 

2. הבדלים

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

חלוקת שוויון

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

 

ניתוח ערכי גבול

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

 

דוגמאות לחלוקת שוויון וניתוח ערכי גבולות

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

דוגמה למחיצות שקילות:

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

נתונים חוקיים = לוחות 6 או 7 תווים

נתונים לא חוקיים = לוחות עם> 6 או> 7 תווים.

 

דוגמה לניתוח ערך גבול:

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

נתונים חוקיים = לוחות עם 6 או 7 תווים

נתונים לא חוקיים = לוחות עם 5 או 8 תווים, ובתרחישים מסוימים, 4 ו-9 תווים

 

דוגמה לניתוח ערך גבול

היתרונות של בדיקות אלפא ו-rpa

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

 

דוגמה מס' 1 לבדיקת ערך גבול

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

יש לנו תיבה שבה המשתמש יכול להזין את גילו.

ערכי הגבול הם:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • גיל מינימום = 18
  • גיל מקסימום = 120

 

דוגמה למקרי בדיקת גבול:

ישנם בסך הכל שישה מקרי בדיקה:

  • 17, 18 ו-19, שהם מתחת למינימום, המינימום ומעל המינימום, בהתאמה
  • 119, 18 ו-19, שהם מתחת למקסימום, למקסימום ומעל למקסימום, בהתאמה

 

דוגמה מס' 2 לבדיקת ערך גבול.

בדוגמה הבאה של בדיקת הגבולות שלנו, נסקור אתר עם הנחה של 20% על רכישה מינימלית בהזמנות של $100 ויותר.

בדוגמה זו, רכישה של מעל 600$ מובילה להנחה של 25%. מבחן ערך הגבול יעסוק בתשומות שבין $100 ל-$600.

ערכי הגבול הם:

הנחה מינימלית מזכה = $100

הנחה מקסימלית מזכה = $600

 

דוגמה למקרי בדיקת גבול:

שוב, אנו מייצרים בסך הכל שישה מקרי בדיקה, שהם:

  • $99.99, $100 ו-$100.01, שהם מתחת למינימום, המינימום ומעל המינימום, בהתאמה
  • $599.99, $600 ו-$600,01, שהם מתחת למקסימום, למקסימום ומעל למקסימום, בהתאמה

 

האם בדיקות גבולות בבדיקות תוכנה מדויקות?

בדיקות אלפא לעומת בדיקות בטא

במאמר המחקר Black Box Testing with Equivalence Partitioning and Boundary Value Analysis Methods , המחברים חוקרים שימוש בחלוקת שוויון וניתוח ערכי גבולות כדי לבדוק מערכת מידע אקדמית עבור אוניברסיטת Mataram באינדונזיה.

המחברים השתמשו בכלי הבדיקה הפופולרי Selenium לבדיקות שלו והריצו בסך הכל 322 מקרי בדיקה. בדיקת שקילות וניתוח ערכי גבולות חשפו כ-80 מקרים שנכשלו, מה שהוביל ליחס של 75:25 בערך של ציוני מבחן תקפים לא חוקיים. בסך הכל, שימוש בשילוב של מחיצות שקילות ו-BVA בבדיקות תוכנה הוביל לבדיקות יסודיות ומועילות עבור התוכנה.

 

כלי בדיקת ערכי הגבולות הטובים ביותר

חבילת ZAPTEST RPA + Test Automation

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

#3. TestCaseLab

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

 

#2. Micro Focus UFT One

Micro Focus UFT One הוא כלי לבדיקת תוכנה עם התמקדות בבדיקות פונקציונליות ורגרסיה. הוא תומך בפלטפורמות שונות, התקנים ובדיקות API ומציע אפשרויות אינטגרציה חזקות. הוא מציע גם יצירת מבחנים ללא קוד וגם מונחי מילות מפתח ויכול לעזור לצוותים לבנות מקרי בדיקה של ניתוח ערכי גבולות בקלות. יש כמה מגבלות שאתה צריך לקחת בחשבון, כגון עקומת למידה תלולה וחוסר כוח בהשוואה לכלים כמו ZAPTEST.

 

#1. ZAPTEST

Agile DevOps Test Automation: הסבר על גישת האוטומציה המבוססת על דגם ZAPTEST

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

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

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

 

טיפים לבדיקת ערכי גבולות

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

 

מחשבות אחרונות

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

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

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo