White box היא קטגוריה של בדיקות תוכנה המתייחסת לשיטות בדיקה של אופן הפעולה של המבנה והעיצוב הפנימי של התוכנה. זה מנוגד לבדיקת קופסה שחורה, שהיא בדיקה שאינה עוסקת בפעולות הפנימיות של התוכנה אלא רק בודקת את הפלטים החיצוניים של התוכנה.
במאמר זה, נחקור את נושא בדיקת הקופסה הלבנה: מה זה, איך זה עובד, ואילו סוגי כלים לבדיקת תוכנה יכולים לעזור לבודקים ולמפתחים לבצע בדיקות לבנה בבדיקות תוכנה.
מהי בדיקת קופסה לבנה?
בדיקת קופסה לבנה היא טכניקת בדיקת תוכנה הכוללת בדיקת המבנה הפנימי והעיצוב של מבנה תוכנה, בניגוד לפלטים החיצוניים או חוויית משתמש הקצה שנבחנים בבדיקת קופסה שחורה.
בדיקת קופסה לבנה היא מונח גג הכולל סוגים רבים ושונים של בדיקות תוכנה, כולל בדיקות יחידות ובדיקות אינטגרציה . מכיוון שבדיקת קופסה לבנה כוללת בדיקת קוד ותכנות, ביצוע בדיקת קופסה לבנה כרוכה בדרך כלל בהבנה מסוימת בתכנות מחשב.
בדיקת קופסה לבנה בהנדסת תוכנה עשויה לכלול בדיקת הקוד והעיצוב הפנימי של התוכנה כדי לאמת את זרימת הקלט-פלט ולבדוק את העיצוב, השימושיות והאבטחה של התוכנה.
בדיקת קופסה לבנה מאפשרת לבודקים לבחון את פעולתה הפנימית של המערכת בו-זמנית לאמת שתשומות מביאות לתפוקות ספציפיות וצפויות.
בדיקת קופסה לבנה היא שלב חיוני בבדיקות תוכנה מכיוון שזהו סוג הבדיקה היחיד שחשב כיצד הקוד עצמו מתפקד.
1. מתי ולמה אתה צריך קופסה לבנה
בדיקות בבדיקות תוכנה והנדסה?
ניתן לבצע בדיקת קופסה לבנה בשלבים שונים של מחזור הבדיקה כדי לאמת את תפקוד הקוד והמבנה הפנימיים.
לרוב, בדיקת קופסה לבנה מתרחשת כאשר מפתחים ובודקים מבצעים בדיקות יחידות ולעיתים במהלך בדיקות אינטגרציה.
בהגדרה, בדיקת יחידות נחשבת לסוג של בדיקת קופסה לבנה, בעוד שבדיקות אינטגרציה עשויות לחלוק תכונות של בדיקת קופסה לבנה ושחורה, אך בדרך כלל נחשבת לסוג של בדיקת קופסה שחורה.
אחרת, ניתן להשתמש בבדיקת קופסה לבנה גם אד-הוק כדי לאמת את הפעולה הפנימית של בניית תוכנה. בדיקת קופסה לבנה היא הדרך החסכונית ביותר להגדיל את כיסוי הבדיקות אם יש צורך בכך, וזו גם דרך קלה לאמת כיצד פועלים קטעי קוד ספציפיים או אזורי בדיקה של תוכנת בניית תוכנה שבודקים חושדים שנבחנים לא מעט.
סקירות קוד פורמליות, המתבצעות עם בדיקות קופסה לבנה, יכולות לשמש גם כדי לזהות פגמי אבטחה ופגיעויות אחרות. באופן דומה, אם רכיבי הקוד שבורים, בדיקת קופסה לבנה יכולה לעזור למהנדסי תוכנה לקבוע היכן נמצאת השגיאה.
2. כשאתה לא צריך לעשות בדיקת קופסה לבנה
ברוב המקרים, כאשר מהנדסי תוכנה ובודקים מעבירים תוכנה חדשה למחזור הבדיקה, יש צורך בכמות מסוימת של בדיקות קופסה לבנה כדי לאמת את פעולתו הפנימית של הקוד.
בדיקת יחידות היא סוג של בדיקת קופסה לבנה שמתבצעת על ידי מפתחים כדי לוודא שיחידות בודדות פועלות כמצופה. סוג מוקדם זה של בדיקות מאפשר למפתחים לזהות באגים ופגמים לפני שמתבצעות בדיקה רשמית בסביבת QA.
לאחר בדיקת יחידות, מתבצעות בדיקות אינטגרציה, בדיקות מערכות ובדיקות קבלת משתמשים . אלה נחשבים בדרך כלל לצורות של בדיקת קופסה שחורה שאינן כוללות בדרך כלל הרבה טכניקות לבדיקת קופסה לבנה.
עם זאת, במקרים מסוימים, בודקים ומפתחים עשויים להשתמש בבדיקת קופסה לבנה במהלך שלבים אלה כדי לזהות פגמים ספציפיים בקוד. בשלב זה, אם אין אינדיקציה שמשהו לא בסדר בקוד ומבחני הקופסה השחורה עוברים כולם, צוותי בדיקה רבים עשויים לשקול שאין צורך לבצע בדיקות נוספות של הקופסה הלבנה.
3. מי מעורב בבדיקת קופסה לבנה?
בדיקת קופסה לבנה מתבצעת כמעט תמיד על ידי מפתחי תוכנה ומהנדסי תוכנה. הסיבה לכך היא שבדיקת קופסה לבנה דורשת ידע מפורט של קוד מחשב וטכניקות קידוד, ולרוב בודקי ה-QA חסרים הכישורים הטכניים הנדרשים לביצוע בדיקות קופסה לבנה.
בדיקת יחידות, הסוג העיקרי של בדיקות קופסה לבנה, מתבצעת תמיד בסביבת הפיתוח על ידי מפתחים. מפתחים עשויים גם לבצע בדיקות קופסה לבנה כאשר וכאשר יש צורך בכך, כדי לאמת את אופן פעולתם של אלמנטים שונים של קוד או כדי לבדוק שבאגים תוקנו כהלכה.
היתרונות של בדיקת קופסה לבנה
בדיקת הקופסה הלבנה מאפשרת למפתחים ומהנדסי תוכנה לבדוק יותר היבטים של קוד מאשר בדיקת קופסה שחורה.
בעוד שבדיקת קופסה שחורה יכולה לספר לנו כיצד בניית תוכנה פועלת עבור משתמשי קצה, קופסה לבנה יכולה לספר לנו יותר על אופן פעולת קוד התוכנה. קוד נקי ויעיל חיוני בפיתוח תוכנה, במיוחד אם מפתחים רוצים לעשות שימוש חוזר בקוד מאוחר יותר או להוסיף תיקונים ושדרוגים בעתיד.
1. למקסם את כיסוי הבדיקה
בדיקת קופסה לבנה יכולה לעזור לבודקים למקסם את כיסוי הבדיקה. בדיקת כמה שיותר קוד תוכנה ממקסמת את הסיכוי לזהות באגים או שגיאות כלשהן בקוד, ומטרת בדיקת הקופסה הלבנה היא בדרך כלל לבדוק כמה שיותר מהקוד.
בדיקת קופסה שחורה, לעומת זאת, היא פשוט על ביצוע מקרי בדיקה שעשויים להציע או לא להציע כיסוי קוד רחב.
2. מצא שגיאות ובאגים נסתרים
אחד היתרונות הגדולים ביותר של בדיקת קופסה לבנה הוא שמכיוון שבדיקת קופסה לבנה מאמתת את הפונקציונליות הפנימית, זה מקל על מפתחים למצוא שגיאות ובאגים שאחרת עלולים להיות מוסתרים עמוק בתוך הקוד.
בנוסף לזהות את נוכחותם של באגים, בדרך כלל קל יותר לאתר בדיוק היכן בבסיס הקוד נמצא באג בעת ביצוע בדיקת קופסה לבנה בגלל האופי הספציפי ביותר של טכניקת בדיקה מסוג זה.
3. קלות אוטומציה
קל מאוד להפוך את בדיקת הקופסה הלבנה לאוטומטית, במיוחד בעת ביצוע בדיקות יחידות. בדיקות יחידות בדרך כלל דורשות מהמפתחים לבדוק פיסות קוד קטנות בנפרד כדי לראות אם הן פועלות כמצופה. זה קל מאוד לאוטומטי מה שאומר שזו צורה מהירה ויעילה של בדיקת תוכנה.
זו אחת הסיבות לכך שבדיקות יחידה מבוצעות לפני סוגי בדיקות אחרים שגוזלים יותר זמן.
4. חסכוני בזמן
בדיקת קופסה לבנה יעילה בזמן ממספר סיבות.
כפי שהוזכר לעיל, קל יחסית להפוך את רוב סוגי בדיקות הקופסה הלבנה, מה שאומר שלעיתים קרובות מהיר יותר לבצע בדיקות קופסה לבנה מאשר בדיקות קופסה שחורה. בנוסף לכך, בדיקת קופסה לבנה מקלה על מפתחים לאתר את הבאגים והשגיאות שהם מזהים בקוד מכיוון שהם מוצאים אותם בזמן בדיקת הקוד עצמו.
5. איכות קוד
בדיקת הקופסה הלבנה מאפשרת למפתחים להסתכל שנית על הקוד שכתבו ולהעריך את איכותו ונקיונו.
מעבר על הקוד חלק אחר חלק נותן למפתחים את ההזדמנות להסיר קטעי קוד מיותרים ולנקות קוד, מה שמקל על שימוש חוזר ועריכה של קטעי קוד בעתיד.
זה עשוי גם לאלץ מפתחים לשקול כיצד מיושם הקוד והאם זה יתאים היטב בעתיד.
האתגרים של בדיקת קופסה לבנה
בדיקת הקופסה הלבנה אינה חפה מאתגרים. ישנן מספר סיבות לכך שצוותי פיתוח מסוימים עשויים למצוא קושי רב יותר לבצע את בדיקת הקופסה הלבנה מבדיקת הקופסה השחורה, כמו גם סיבות אחרות לכך שאנשים מסוימים יראו בכך פחות חשיבות מבדיקת הקופסה השחורה.
1. חסמים טכניים
בדיקת הקופסה הלבנה נושאת מחסומים טכניים שבדיקת הקופסה השחורה אינה עושה. כדי לבצע בדיקות קופסה לבנה, בודקים דורשים ידע על פעולתה הפנימית של המערכת, אשר בבדיקות תוכנה, פירושו בדרך כלל ידע בתכנות.
זו הסיבה שבדיקת הקופסה הלבנה מתבצעת כמעט תמיד על ידי מהנדסי תוכנה ומפתחי תוכנה ואינה מבוצעת על ידי בודקי QA שלעיתים רחוקות יש להם את הכישורים הטכניים הדרושים לביצוע בדיקות מסוג זה.
2. עלות
בדיקת קופסה לבנה יכולה להיות יקרה יותר לביצוע בהשוואה לבדיקת קופסה שחורה בגלל מידת היסודיות של בדיקות מסוג זה.
מפתחים חייבים להשקיע זמן רב בכתיבת בדיקות יחידות אינטנסיביות, ולעתים קרובות לא ניתן לעשות שימוש חוזר במבחני קופסה לבנה עבור יישומים אחרים, מה שאומר שבדיקת קופסה לבנה עולה בדרך כלל די הרבה לביצוע.
3. דיוק
בדיקת הקופסה הלבנה היא לא תמיד שיטת בדיקת התוכנה המדויקת ביותר ואם צוותי הפיתוח היו מסתמכים רק על בדיקות הקופסה הלבנה זה היה גורם להרבה באגים ומקרים שהוחמצו.
בדיקת קופסה לבנה מאמתת רק תכונות שכבר קיימות, בעוד שניתן להשתמש בבדיקת קופסה שחורה כדי לבדוק תכונות מיושמות חלקית או לזהות תכונות שחסרות למעשה בתוכנה ויש לכלול אותן באיטרציות מאוחרות יותר.
4. היקף
בדיקת קופסה לבנה בדרך כלל לא מספרת לנו הרבה על חווית המשתמש או התוצאה הסופית של הפונקציות המובנות בתוכנה.
בעוד שמפתחים יכולים להשתמש בבדיקת קופסה לבנה כדי לוודא אם הקוד עובד כמו שצריך, הם לא יכולים אז להסיק שקוד העבודה מספק את הפלטים הנכונים למשתמשי הקצה מבלי לשלב בדיקת קופסה לבנה עם בדיקת קופסה שחורה.
זה אומר שיש מגבלות לגבי היקף בדיקות הקופסה הלבנה וכמה היא יכולה לספר לנו על תוכנה.
המאפיינים של מבחני קופסה לבנה
ניתן להגדיר את בדיקת הקופסה הלבנה על ידי מאפיינים מסוימים המבדילים אותה מצורות בדיקה אחרות כגון קופסה שחורה ובדיקת קופסה אפורה.
ניתן לשקול את רוב המאפיינים הללו מנקודת המבט של איך הם שונים מהמאפיינים של בדיקת קופסה שחורה וכיצד זה מייחד את בדיקת הקופסה הלבנה ובדיקת הקופסה השחורה.
1. תחזוקה
בדיקת קופסה לבנה מובילה לרמה גבוהה יותר של תחזוקה בקוד שלך, ומפשטת את העבודה שהצוות שלך צריך לעשות קדימה.
מכיוון שיש עין מתמדת על הקוד ועל מה שהוא עושה עם נתונים, התחזוקה שלו הרבה יותר פשוטה מכיוון שאתה מבין היכן מתעוררות בעיות ומדוע הן עושות זאת. זה גם שומר על קוד פשוט יותר עבור עדכונים עתידיים, מכיוון שאתה לא מפתח תיקונים גדולים ומורכבים לבעיות לא ידועות ופשוטות.
2. גמישות
בדיקת הקופסה הלבנה מתבצעת על קוד גמיש מספיק כדי לקבל שינויים במהירות יחסית. קוד לא גמיש, כמו זה שהוא חלק ממודול או אינטגרציה של צד שלישי, מונע מבוחן קופסה לבנה לבצע שינויים מהירים.
התמקדות בקוד שאתה יכול לשנות ברגע שאתה מגלה בעיה הופכת את בדיקת הקופסה הלבנה לניתנת להתאמה גבוהה ומשמעותה שהבעיות של תוכנית נפתרות הרבה יותר מוקדם.
3. מודולריות
בדיקת הקופסה הלבנה משגשגת בקוד שיש לו מידה של מודולריות, כלומר שלאלמנטים נפרדים של התוכנה יש הבחנה ברורה אחד מהשני.
אם לתוכנית יש בעיה של "קוד ספגטי" שבה כל היבט קשור לאחר, בדיקת הקופסה הלבנה הופכת למורכבת לאין שיעור שכן בודק חייב לבחון את התוכנית כולה ולא יחידה ספציפית.
4. אינטגרציה
בדיקת קופסה לבנה שימושית ביותר עבור בדיקות אינטגרציה. בודקים יכולים לראות אם פונקציה עובדת עד לנקודה שהיא עוזבת את התוכנה המדוברת והאם היא חוזרת מהמערכת המשולבת פונקציונלית כצפוי.
זה מאוד אינפורמטיבי ומאפשר לארגון לדעת אם הבעיה היא מקומית או חלק מהפלטפורמה המשולבת.
מה אנחנו בודקים במבחני קופסה לבנה?
בדיקות קופסה לבנה משמשות לבדיקת תכונות של הקוד שלא ניתן לאמת על ידי שיטות בדיקת קופסה שחורה. המשמעות עשויה להיות בדיקת אופן הפעולה של הקוד עצמו, מה שמאפשר למפתחים להבין את הסיבה והתוצאה של היבטים שונים של הקוד.
מפתחים משתמשים בבדיקת קופסה לבנה כדי לבדוק חורי אבטחה, הצהרות ופונקציות, פלטים ונתיבים בקוד.
1. חורי אבטחה פנימיים
ניתן להשתמש בבדיקת קופסה לבנה כדי לחפש פערי אבטחה ופגיעויות בקוד שהאקרים ופושעי סייבר יוכלו לנצל בעתיד.
ניתן להשתמש בבדיקת קופסה לבנה כדי לבדוק אם בוצעו שיטות עבודה מומלצות לאבטחה במהלך שלב הפיתוח ולחפש פרצות אבטחה שניתן לתקן לפני שהקוד יעבור לבדיקות נוספות.
2. נתיבים בתהליכי קידוד
בדיקת הקופסה הלבנה מאפשרת למפתחים לבדוק את הנתיבים המחברים אלמנטים שונים של קוד יחד. מפתחים לא רק בודקים את ההיגיון של הקוד, אלא הם יכולים גם לחפש מבנה קוד והיגיינה.
לקוד טוב ונקי אין קווים מיותרים או אלמנטים שבורים שאינם פועלים כמצופה, גם אם הפלטים החיצוניים של בדיקת הקופסה השחורה הם כצפוי.
3. תפוקות צפויות
בדיקת קופסה לבנה יכולה גם לבדוק את הפלטים הצפויים של קוד בדיוק באותו האופן שבו בדיקות קופסא שחורה יכולות, אם כי בודקים עושים זאת על ידי התחשבות בקוד ולא על ידי שימוש באפליקציה כפי שהבודקים עשויים לעשות בבדיקת קופסה שחורה.
מפתחים בודקים את התפוקות הצפויות על ידי אימות התשומות בזה אחר זה ובודקים שהפלט המתקבל תואם את הציפיות.
4. הצהרות, אובייקטים ופונקציות
על ידי ביצוע טכניקות בדיקת קופסה לבנה, מפתחי תוכנה יכולים להבטיח שהצהרות, אובייקטים ופונקציות בקוד מתנהגים בצורה הגיונית ומביאים לפלטים הצפויים.
5. פונקציונליות של לולאות מותנות
ניתן להשתמש בבדיקת קופסה לבנה גם כדי לבדוק את הפונקציונליות של לולאות מותנות, כולל לולאות בודדות, משורשרות ומקוננות. מפתחים יבדקו האם לולאות אלו יעילות, עומדות בדרישות לוגיקה מותנות, והאם הן מטפלות נכון במשתנים מקומיים וגלובליים.
מנקה קצת בלבול:
בדיקת קופסה לבנה לעומת קופסה שחורה לעומת תיבה אפורה
בדיקת קופסה לבנה, בדיקת קופסה שחורה ובדיקת קופסה אפורה הם מונחים שבהם משתמשים בוחני תוכנה כדי להתייחס לקטגוריות שונות של בדיקות או לשיטות בדיקה שונות.
תפיסה מודרנית של הבחנות בדיקות אלו היא שהקווים הנמתחים בין סוגים שונים של בדיקות קופסאות הולכים ומטשטשים, מכיוון שסוגי בדיקות שונים משלבים לעתים קרובות אלמנטים של בדיקות קופסה לבנה ושחורה וגוזרים בדיקות ממסמכים ברמות שונות של הפשטה.
עם זאת, עדיין יש הבחנות חשובות בין צורות בדיקה אלו.
1. מהי בדיקת קופסה שחורה?
בדיקת קופסה שחורה היא סוג של בדיקת תוכנה שבה בודקים את פונקציונליות התוכנה על ידי בודקים שאין להם ידע במבנה הפנימי של הקוד או כיצד ליישם את הקוד ברמה טכנית יותר.
בדיקת קופסה שחורה בודקת רק את הפלטים החיצוניים של התוכנה, או במילים אחרות, היא בודקת מה יחווה משתמש הקצה בעת הפעלת התוכנה.
בדיקת קופסה שחורה ידועה גם כבדיקת התנהגות מכיוון שהיא בודקת כיצד התוכנה מתנהגת בתנאים מסוימים.
בודקים יכולים להשתמש בבדיקת קופסה שחורה כדי להעריך כיצד פונקציות שונות של התוכנה מתנהגות ולבדוק אותן מול הציפיות כדי לוודא שהתוכנה עומדת בדרישות המשתמשים. בדיקת קופסה שחורה משמשת בבדיקות מערכת ובדיקות קבלה כדי לאמת פונקציות שונות ולבדוק שהמערכת פועלת כמצופה כאשר היא פועלת כמכלול.
בעת ביצוע בדיקת קופסה שחורה, משתמשים כותבים מקרי בדיקה כדי לאמת אלמנטים שונים בנפרד. מכיוון שבדיקת הקופסה השחורה אינה דורשת את אותן מיומנויות טכניות כמו בדיקת הקופסה הלבנה, בדיקת הקופסה השחורה מבוצעת בדרך כלל על ידי בודקים בסביבת QA ולא על ידי מפתחים.
אוטומציה של בדיקות קופסה שחורה היא בדרך כלל קלה יותר לאוטומציה בהשוואה לבדיקת קופסה לבנה על ידי שימוש בכלי אוטומציה מקצה לקצה כמו ZAPTEST.
מה ההבדלים בין בדיקת קופסה לבנה לבדיקת קופסה שחורה?
ההבדל העיקרי בין בדיקת קופסה שחורה לבדיקת קופסה לבנה הוא מה שנבדק.
בדיקת קופסה שחורה עוסקת בבדיקת הפלטים החיצוניים של בניית התוכנה, בעוד שבדיקת קופסה לבנה עוסקת בבדיקת מה שעובר מתחת למכסה המנוע.
כמה מההבדלים העיקריים בין בדיקת קופסה שחורה לקופסה לבנה הם:
מַטָרָה
מטרת בדיקת הקופסה השחורה היא לוודא שהמערכת פועלת כמצופה עבור משתמש הקצה, בעוד שמטרת בדיקת הקופסה הלבנה היא לבדוק את איכות ותקינות הקוד של התוכנה.
לדוגמה, בדיקת קופסה שחורה למשחק וידאו יכולה לראות משתמש קצה מנסה את המשחק וסוקר אותו לניסיון שלו, כאשר בדיקת קופסה לבנה באותו פרויקט מבטיחה שהזנת קלט ספציפי מובילה לדמות להשלים את הפעולה הנכונה.
תהליך
התהליכים המשמשים בבדיקת קופסה לבנה ושחורה שונים מאוד. בדיקת קופסה לבנה היא הרבה יותר קלה לאוטומטית מאשר בדיקת קופסה שחורה, ובדרך כלל, בדיקת קופסה שחורה חייבת להיות אוטומטית בעזרת כלי אוטומציה של תוכנה .
לדוגמה, בעת בדיקת מסד נתונים, בדיקת קופסה לבנה כוללת אוטומציה של הזנת נתונים כדי לבדוק שכל התוצאות נכונות, כאשר בדיקת קופסה שחורה כוללת משתמשים משכפלים תהליכים ידניים ומדווחים עליהם ללא שימוש במערכת אוטומציה.
בודקים
בדיקת קופסה שחורה מתבצעת כמעט תמיד בתוך סביבת QA על ידי בודקי תוכנה מקצועיים, בעוד שבדיקת קופסה לבנה מבוצעת על ידי מפתחי תוכנה ומהנדסים שיש להם ידע טכני מפורט יותר של מקור הקוד.
טכניקות
בדיקת הקופסה השחורה משתמשת בטכניקות שונות כגון חלוקת שוויון, ניתוח ערכי גבולות ובדיקת טבלת החלטות. בדיקת קופסה לבנה משתמשת בטכניקות כמו כיסוי החלטות, כיסוי מצב וכיסוי הצהרות.
פעולות
מתודולוגיות הבדיקה של בדיקת קופסה שחורה מתאימות לפעולות בדיקה ברמות גבוהות יותר כמו בדיקות מערכת ובדיקות קבלה, בעוד שבדיקת קופסה לבנה מתאימה יותר לפעולות ברמה נמוכה יותר כמו בדיקת יחידות ובדיקות אינטגרציה.
מסיבה זו, בדיקת קופסה לבנה מתבצעת בדרך כלל לפני רוב צורות בדיקת הקופסה השחורה.
2. מהי בדיקת קופסה אפורה?
בדיקת תיבה אפורה היא טכניקת בדיקת תוכנה המשמשת לבדיקת מוצרי תוכנה ויישומים על ידי בודקים שאולי יש להם ידע חלקי במבנה הפנימי של האפליקציה אך לא ידע מלא בו.
בדיקת תיבה אפורה עשויה לשלב אלמנטים של בדיקת קופסה שחורה ובדיקת קופסה לבנה כדי לאפשר למפתחים ולבודקים לזהות פגמים בקוד ולאתר שגיאות ספציפיות להקשר.
בדיקת קופסה אפורה משלבת תכונות של בדיקת קופסה שחורה וגם של בדיקת קופסה לבנה. בודקים חייבים להיות בעלי ידע מסוים על פעולתה הפנימית של המערכת כמו בבדיקת קופסה לבנה, אך הם משתמשים בידע זה כדי ליצור מקרי בדיקה ולבצע מקרי בדיקה אלה ברמת הפונקציונליות כפי שקורה בבדיקת קופסה שחורה.
בדיקת הקופסה האפורה מציעה רבות מהיתרונות של בדיקת הקופסה השחורה והקופסה הלבנה, תוך שהיא יעילה וגמישה בזמן יחסית.
מה ההבדלים בין בדיקת קופסה לבנה לבדיקת קופסה אפורה?
מכיוון שבדיקת קופסה אפורה מציעה חלק מאותה פונקציונליות כמו בדיקת קופסה שחורה, ישנם כמה הבדלים גדולים בין בדיקת קופסה אפורה לבדיקת קופסה לבנה, אם כי אולי לא רבים כמו בדיקת קופסה שחורה.
כמה מההבדלים הגדולים ביותר בין בדיקת קופסה אפורה לבדיקת קופסה לבנה הם:
ידע מבני
בבדיקת קופסה לבנה, העיצוב הפנימי והמבנה של הקוד צריכים להיות ידועים במלואם לאדם שמבצע את הבדיקה. בבדיקת קופסה אפורה, המבנה הפנימי של הקוד ידוע בדרך כלל רק חלקית.
אנשים מעורבים
בדיקות קופסה לבנה מבוצעות כמעט אך ורק על ידי מפתחי תוכנה ומהנדסי תוכנה, בעוד שבדיקת קופסה אפורה יכולה להתבצע על ידי משתמשי קצה, בודקים ומפתחים.
יְעִילוּת
בדיקת קופסה לבנה נחשבת לסוג בדיקות התוכנה שגוזל זמן רב ביותר, בעוד שבדיקת הקופסה האפורה שואלת חלק מהיעילות של בדיקת הקופסה השחורה כדי להפחית את הזמן שלוקח לביצוע בדיקות.
מבצע
בבדיקת קופסה לבנה, מפתחים פשוט כותבים קוד כדי ליישם מבחני תיבה לבנה ולהפעיל את הקוד הזה. בבדיקת קופסה אפורה, כמו בדיקת קופסה שחורה, בודקים מבצעים בדיקות פונקציונליות כדי להעריך כיצד המערכת פועלת חיצונית.
כיסוי
בדיקת קופסה לבנה היא הסוג הממצה ביותר של בדיקות, בעוד שהכיסוי של בדיקות קופסאות אפורות יכול להשתנות בהתאם לשאלה אם סוג מקרי הבדיקה המבוצעים מבוסס על קוד או GUI.
סיכום:
קופסה לבנה לעומת קופסה שחורה לעומת בדיקת קופסה אפורה
בדיקת קופסה לבנה, בדיקת קופסה שחורה ובדיקת קופסה אפורה הם מונחים המשמשים להתייחסות לטכניקות בדיקת תוכנה שונות. באופן כללי, ניתן להגדיר כל סוג בדיקה בהתבסס על המידה שבה בודקים חייבים להיות בעלי ידע על בסיס הקוד והטמעת הקוד:
1. בדיקת קופסה שחורה:
המבנה הפנימי של הקוד אינו ידוע.
2. בדיקת קופסה לבנה:
המבנה הפנימי של הקוד ידוע.
3. בדיקת קופסה אפורה:
המבנה הפנימי של הקוד ידוע בחלקו.
במהלך בדיקות תוכנה, כל שלושת סוגי הבדיקות חשובים באימות התפקוד והתקינות של התוכנה. בעוד שבדיקת קופסה לבנה מספרת לנו יותר על המבנה הבסיסי של הקוד, בדיקת קופסה אפורה ובדיקת קופסה שחורה יכולות לאמת כיצד המערכת פועלת והאם היא עומדת בדרישות משתמש הקצה.
אולי ההבדלים הגדולים ביותר בין שלושת סוגי הבדיקות הללו נוגעים למי מבצע כל סוג בדיקה, לדרישות הבדיקה עצמה ומה כוללת הבדיקה.
לבדיקת הקופסה הלבנה יש את החסם הגבוה ביותר לכניסה מכיוון שהם מבוצעים על ידי מפתחים עם ידע מפורט על בסיס הקוד עצמו ומכיוון שמדובר בסוג הבדיקות שגוזל זמן רב ולעתים קרובות יקר.
לעומת זאת, בדיקת קופסה שחורה היא הקלה ביותר לביצוע והיא יכולה להתבצע על ידי בודקים ללא ידע בקוד הבסיסי.
סוגי מבחני קופסה לבנה
ישנם סוגים רבים ושונים של מבחני קופסה לבנה, כאשר בכל אחד מהם ניתן לבדוק היבטים מעט שונים של המבנה הפנימי של הקוד.
להלן כמה מהסוגים הנפוצים ביותר של בדיקת קופסא לבנה המשמשים כיום.
1. בדיקת נתיב
בדיקת נתיב היא סוג של בדיקת קופסה לבנה המבוססת על מבנה הבקרה של תוכנית. מפתחים משתמשים במבנה הבקרה כדי ליצור גרף זרימת בקרה ולבדוק מסלולים שונים בגרף.
בדיקת נתיב היא סוג של בדיקה שתלויה במבנה הבקרה של התוכנית, מה שאומר שהיא דורשת שלבודקים תהיה הבנה מעמיקה של מבנה זה.
לדוגמה, אם מערכת אמורה ליצור קשר עם לקוחות עם הודעות מוגדרות בנקודות מסוימות במשפך המכירה, בדיקת נתיב כוללת הבטחה שהיא מבצעת את השלבים הנכונים בהתאם לתנאים שהנתונים קובעים.
2. בדיקת לולאה
בדיקת לולאה היא אחד הסוגים החשובים ביותר של בדיקת קופסה לבנה הבודקת לולאות בתוך הקוד של התוכנית. לולאות מיושמות באלגוריתמים בתוך הקוד ובדיקת לולאה מוודאת אם לולאות אלו תקפות.
בדיקת לולאה יכולה להעריך האם קיימות נקודות תורפה בתוך לולאות ספציפיות ולהדגיש אזורים שבהם מפתחים עשויים להצטרך לתקן את הקוד כדי להבטיח שהלולאה פועלת כפי שהיא צריכה.
דוגמה לבדיקת לולאה היא מעקב אחר הלולאה עם קבוצה מסוימת של נקודות נתונים שמבקשות את המשך הלולאה, כגון סירוב לקבל תנאים והגבלות מסוימים, לפני הזנת נתון שפורץ את הלולאה באופן ספציפי. אם הלולאה מתנהגת כמצופה, הבדיקה הצליחה.
3. בדיקה מותנית
בדיקה מותנית היא סוג של בדיקת קופסה לבנה הבודקת אם התנאים הלוגיים לערכים בתוך הקוד הם אמת או שקר.
בדיקה מותנית היא צורה מרכזית של בדיקת קופסה לבנה האומרת למפתחים אם הקוד הוא הגיוני ועומד בדרישות של לוגיקה תכנותית.
דוגמה לבדיקה מותנית היא בתוך פלטפורמה חשבונאית. הזנת סדרה של הוצאות והכנסות אמורה להביא לסיכומים שוטפים נכונים, כאשר התוכנה מספקת תוצאות מדויקות לאורך מבחן מוצלח.
4. בדיקת יחידות
בדיקת יחידות היא שלב חשוב בבדיקות תוכנה שבו מפתחים בודקים רכיבים ומודולים בודדים ומוודאים שהם עובדים כמצופה לפני שילוב יחידות שונות יחד.
מהנדסי תוכנה משתמשים בשיטות בדיקת קופסה לבנה בבדיקת יחידות כדי לבדוק פיסות קוד קטנות בכל פעם. זה מקל על זיהוי באגים ושגיאות כאשר הם מתרחשים במהלך הבדיקה.
דוגמה לבדיקת יחידות היא בשלב מוקדם בפיתוח, שכן חברה יוצרת כפתור פשוט באתר האינטרנט שלוקח את המשתמש לעמוד אחר. אם היחידה עובדת כצפוי, אז היא מצליחה, כאשר מפתחים מבצעים שינויים עד שהיא עושה זאת.
5. בדיקת מוטציות
בדיקת מוטציות היא סוג של בדיקה הבודקת שינויים ומוטציות. בבדיקת מוטציות, מפתחים מבצעים שינויים קטנים בקוד המקור כדי לראות אם זה יכול לחשוף באגים בקוד.
אם מקרה המבחן עובר, זה מצביע על כך שיש בעיה כלשהי בקוד מכיוון שהוא לא אמור לעבור לאחר ביצוע השינויים. באופן אידיאלי בבדיקת מוטציות, כל מקרי הבדיקה ייכשלו.
דוגמה לבדיקת מוטציות היא למידת מכונה. תוכניות למידת מכונה "מוטות" באופן אוטומטי בהתאם למידע חדש, כך שבדיקת תוכניות אלה באופן עקבי לסטנדרט של "מוטציה" מודיעה למפתחים האם התוכנה פועלת כמצופה.
6. בדיקת אינטגרציה
בדיקות אינטגרציה הן שלב מרכזי של בדיקות תוכנה שבמהלכו בודקים מוודאים אם מודולים שונים פועלים כהלכה כשהם משולבים עם מודולים אחרים.
טכניקות בדיקת קופסה לבנה משמשות במהלך בדיקת אינטגרציה כדי לבדוק שהקוד מתפקד גם כאשר מספר מודולים – שלעתים קרובות קוידו על ידי מפתחים שונים – עובדים יחד.
כאשר מסד נתונים שואב מידע ממקור מקוון, למשל, בדיקות אינטגרציה מבטיחות שהנתונים שהוא שואב מדויקים ומתעדכנים בקצב עקבי סביר.
7. בדיקת חדירה
בדיקת חדירה היא סוג של בדיקת קופסה לבנה שניתן להשתמש בה כדי לדמות התקפות סייבר ספציפיות על המערכת.
בבדיקות חדירה, בודקים מקבלים גישה לנתוני רשת ומערכת מלאים כגון סיסמאות ומפות רשת. לאחר מכן הם מנסים לגשת או להשמיד נתונים בתוך המערכת על ידי נסיון כמה שיותר נתיבי התקפה שונים.
בדיקת חדירה היא היבט חשוב של בדיקות אבטחה שיש לבצע בכל בניית התוכנה.
פלטפורמת משאבי אנוש, למשל, תשלים בדיקות חדירה ותחפש נקודות תורפה בקוד כדי לוודא שהפלטפורמה מאובטחת מספיק כדי להחזיק נתוני עובדים.
טכניקות בדיקת קופסא לבנה
ישנן טכניקות רבות לבדיקת קופסה לבנה שניתן להשתמש בהן כדי לבצע את בדיקות הקופסה הלבנה המפורטים לעיל. כמו תמיד, טכניקות שונות מתאימות ביותר לבדיקת היבטים שונים של הקוד, אך כל טכניקות הקופסה הלבנה המפורטות להלן חשובות.
1. כיסוי הצהרות
אחת המאפיינים המגדירים של בדיקות קופסה לבנה היא שבודקים צריכים לנסות לכסות כמה שיותר מקוד המקור בעת ביצוע בדיקות קופסה לבנה.
כיסוי קוד הוא מדד חזק לכך, וכיסוי הצהרות הוא טכניקה כזו שבה בודקי קופסה לבנה יכולים להשתמש כדי להגדיל את הכיסוי של הצהרות בתוך הקוד.
כיסוי הצהרות הוא מדד שמודד את מספר ההצהרות שבוצעו חלקי המספר הכולל של ההצהרות ומכפיל ב-100. בודקי קופסה לבנה צריכים לשאוף לכיסוי הצהרות גבוה.
2. כיסוי סניף
כיסוי סניף, כמו כיסוי הצהרות, משקף עד כמה רחב הכיסוי של רכיבים מסוימים של הקוד בבדיקת קופסה לבנה. ענפים מקבילים להצהרות 'IF' בלוגיקה, כאשר הקוד מסתעף לאפשרויות אמיתיות ושקריות המשפיעות על תוצאות הפעולה.
בעת שימוש בטכניקות כיסוי סניפים, בודקי קופסה לבנה בודקים אם כל ענף מעובד לפחות פעם אחת ומאמתים ששני הסניפים פועלים כהלכה.
3. כיסוי נתיב
טכניקות כיסוי נתיבים מעריכות את הנתיבים בתוך יישום תוכנה. מקסום כיסוי נתיב הבדיקה פירושו להבטיח שכל הנתיבים בתוך התוכנית נחקרים לפחות פעם אחת. זהו סוג דומה של טכניקת בדיקה לכיסוי ענפים אך הוא נחשב ליותר יסודי ויעילה.
בדיקת כיסוי נתיב נחשבת בדרך כלל למתאימה ביותר לבדיקת יישומים שלמים ולא בנייה חלקית.
4. כיסוי החלטות
כיסוי החלטות הוא אחת מטכניקות התיבה הלבנה החשובות ביותר מכיוון שהיא מספקת נתונים על התוצאות האמיתיות והשגויות של ביטויים בוליאניים בקוד המקור.
בדיקת כיסוי החלטות מאמתת את קוד המקור על ידי הבטחה שכל מותג של כל החלטה פוטנציאלית עוברת לפחות פעם אחת במהלך הבדיקה.
נקודות ההחלטה כוללות כל מקרים שבהם יש אפשרות לשתי תוצאות שונות או יותר.
5. כיסוי מצב
כיסוי מצב ידוע גם ככיסוי ביטוי. טכניקת הקופסה הלבנה הזו מעריכה את המשתנים המשתנים בהצהרות מותנות בתוך הקוד כדי לאמת את התוצאה של כל מצב לוגי.
סוג זה של בדיקה מתייחס רק לביטויים עם אופרנדים לוגיים, בעוד שבדיקת כיסוי החלטה ובדיקת כיסוי ענפים משמשים כדי להבטיח פעולות לוגיות אחרות.
6. כיסוי מצבים מרובים
במבחני כיסוי תנאים מרובים, הבודקים מאמתים שילובים שונים של תנאים ומעריכים את ההחלטה שהקוד מקבל עבור כל שילוב.
יכולים להיות מקרי בדיקה רבים ושונים עבור בדיקות כיסוי מצב מרובות בגלל המספר העצום של שילובים של תנאים שקיימים, ולכן סוג זה של בדיקות הוא לעתים קרובות מאוד זמן רב.
7. כיסוי מכונת מצב סופי
כיסוי מכונות סופיות הוא סוג חשוב של בדיקות אך גם אחת הדרכים הקשות ביותר להשיג כיסוי קוד גבוה בבדיקת קופסה לבנה. זה עובד על הפונקציונליות של העיצוב ודורש מהמפתחים לספור את מספר הפעמים שבהן מבקרים או עוברים במדינה במהלך תהליך הבדיקה, כמו גם כמה רצפים מכילה כל מערכת מצב סופי.
8. בדיקת זרימת בקרה
בדיקת זרימת בקרה היא טכניקת בדיקת קופסה לבנה המבקשת לקבוע את סדר הביצוע של התוכנית באמצעות מבנה בקרה פשוט.
מפתחים בונים מקרי בדיקה של בדיקת זרימת בקרה על ידי בחירת קטע ספציפי של התוכנית ובניית נתיב בדיקה. בדיקת זרימת בקרה משמשת בדרך כלל בבדיקת יחידות.
מחזור החיים של בדיקת קופסה לבנה
בפיתוח תוכנה
בדיקת קופסה לבנה היא שלב חשוב במחזור החיים של פיתוח התוכנה, אם כי אין לה 'מקום' קפדני במחזור.
מפתחים יכולים לבצע בדיקות קופסה לבנה כאשר ומתי שהם צריכים לבדוק את תפקוד הקוד, ומפתחים מסוימים עשויים להיות יסודיים יותר מאחרים לגבי בדיקת קוד חדש שנכתב כדי לוודא שהוא נקי וללא שורות מיותרות.
עם זאת, בדיקת קופסה לבנה מתבצעת לרוב במהלך בדיקת יחידות ובדיקות אינטגרציה. גם בדיקות יחידות וגם בדיקות אינטגרציה מבוצעות בשלב הפיתוח על ידי מפתחים.
הם מתרחשים לפני שמתקיימות בדיקות פונקציונליות כמו בדיקות מערכת ובדיקות קבלה, והם נותנים למפתחים את ההזדמנות לזהות, לאתר ולתקן באגים גדולים בשלב מוקדם של שלב הבדיקה לפני מסירת המוצר לצוות ה-QA.
בדיקות ידניות או אוטומטיות של קופסה לבנה?
כמו סוגים אחרים של בדיקות תוכנה, אפשר להפוך את בדיקות הקופסה הלבנה לאוטומטית. זה יכול להיות ידני או אוטומטי, אם כי ברוב המקרים קל יותר להפוך את בדיקת הקופסה הלבנה לאוטומטית מאשר להפוך את בדיקת הקופסה השחורה.
מכיוון שבדיקת קופסה לבנה היא סוג של בדיקות שגוזל זמן רב, האוטומציה הופכת פופולרית יותר ויותר בקרב צוותי תוכנה.
בדיקת קופסה לבנה ידנית: יתרונות, אתגרים ותהליכים
בדיקת קופסה לבנה ידנית פירושה ביצוע בדיקות קופסה לבנה באופן ידני, והיא דורשת מהמפתחים את הכישורים והזמן לכתוב מקרי מבחן בודדים כדי לבדוק כל שורת קוד בבניית תוכנה אפשרית. זה יכול לקחת הרבה זמן, אבל זה גם מביא לתוצאות ותפוקות הבדיקה היסודיות ביותר.
כמה מהיתרונות של ביצוע בדיקת קופסה לבנה באופן ידני כוללים:
1. עומק
בדיקה ידנית מאפשרת לבודקים לחקור קוד תוכנה לעומק יותר מאשר בדיקות אוטומטיות אם הם בוחרים בכך, למשל על ידי קריאה של כל קוד המקור של אפליקציה במקום פשוט לבצע אוטומציה של משימות שנוגעות בפונקציונליות פני השטח.
2. מיקום באג
בדיקה ידנית מקלה על איתור באגים ופגמים מכיוון שמפתחים צריכים להיות מסוגלים לזהות באיזו שורת קוד בדיוק נמצא הבאג.
לדוגמה, לראות שתמונה לא נטענת ואז בחינת הקוד עבור שורות הכוללות טעינת תמונות מצמצמת משמעותית את הסיבה.
3. מהירות
בדיקות ידניות בדרך כלל נמשכות זמן רב יותר מבדיקות אוטומטיות, אך אם מפתחים רוצים להריץ רק בדיקה אחת או שתיים מהירות, כנראה שיהיה מהיר יותר לבצע אותן באופן ידני מאשר להגדיר אוטומציה.
לדוגמה, בדיקת יחידה כוללת הסתכלות על תכונה ובדיקה אם היא עובדת, במקום איסוף כמויות אדירות של נתונים על ידי אוטומציה של התהליך. עם זאת, ישנם גם חסרונות לבדיקת קופסה לבנה ידנית.
חלק מהאתגרים לבדיקת קופסה לבנה ידנית כוללים:
1. דיוק
בדיקות ידניות עשויות לאפשר למפתחים לכסות מגוון רחב של קוד, אבל בודקים אנושיים תמיד נוטים יותר לטעויות ושגיאות מאשר תוכניות מחשב, מה שאומר שבדיקה ידנית נחשבת לרוב לפחות מדויקת מבדיקות אוטומטיות.
2 פעמים
בדיקה ידנית נמשכת זמן רב יותר מבדיקה אוטומטית, ובדיקת קופסה לבנה ידנית היא חלק מהבדיקות שגוזלות זמן רב מכולן. זה מגדיל את זמן האספקה ויכול להקשות על עמידה בלוחות זמנים צפופים של פיתוח.
3. עלות
בגלל כמות כוח האדם והמשאבים הכרוכים בבדיקות ידניות של קופסא לבנה, זה לרוב יקר יותר לצוותי פיתוח מאשר בדיקות אוטומטיות, שלרוב דורשות פחות מפתחים ופחות זמן.
4. מדרגיות
בדיקה ידנית באמת מתאימה לשימוש רק בעת בדיקת יישומים קטנים או בדיקת רכיבים בודדים של יישומים גדולים יותר. עבור יישומים גדולים יותר כמו מסד נתונים המתארח בענן עם אלפי כניסות לדקה, בדיקה אוטומטית עדיפה בהרבה כשיטה להדמיית עומסים סטנדרטיים.
בדיקת קופסה לבנה אוטומטית: יתרונות,
אתגרים ותהליכים
טכנולוגיית אוטומציה מקלה על אוטומציה של היבטים של בדיקות תוכנה בכל יום. המהלך של התעשייה לעבר אוטומציה היפר-אוטומציה נובע בחלקו מהיעילות והחיסכון בעלויות שמציעה אוטומציה לצוותי פיתוח שתמיד מרגישים דחוסים.
White box הוא אחד מסוגי הבדיקות המתאימים והמתאימים ביותר לאוטומציה מכיוון שקל יחסית לבצע אוטומציה והחיסכון בזמן ובעלות של אוטומציה של White Box יכול להיות משמעותי.
בדיקת קופסה לבנה אוטומטית יכולה לכלול מפתחים בכתיבת סקריפטים לבדיקה בעצמם, או שניתן להאיץ את התהליך בעזרת שימוש בכלים מלאים כמו ZAPTEST, המספקים טכנולוגיית בדיקות תוכנה מקצה לקצה.
כמה מהיתרונות של אוטומציה של בדיקות קופסה לבנה כוללים:
1. דיוק
בדיקות מבוססות מחשב מונעות את הסיכון לשגיאות מכיוון שמחשבים לא מתעייפים או עושים טעויות.
2 פעמים
בדיקת קופסה לבנה אוטומטית מהירה משמעותית מבדיקת קופסה לבנה ידנית ומפנה זמן שמפתחים יכולים להשקיע במשימות אחרות, כגון תיקון באגים או כתיבת תיקוני שדרוג.
3. קנה מידה
בדיקות אוטומטיות מתרחבות הרבה יותר מבדיקות ידניות, כך שאם יישום התוכנה שלך גדל או אם אתה רוצה לבצע בדיקות בקנה מידה גדול בבת אחת, אוטומציה היא האפשרות הטובה יותר.
לדוגמה, הגדלה של הזנת נתונים כרוכה בבקשת יותר תשומות באוטומציה, בהשוואה לשכירת אנשי צוות נוספים בבדיקות ידניות.
4. עלות
עלות הבדיקה האוטומטית היא בדרך כלל, לאחר שהסכימה, נמוכה מעלות הבדיקה הידנית בגלל מספר שעות העבודה החוסכות באוטומציה. החזר ה-ROI של ZAPTEST פי 10 מדגים כיצד אוטומציה יכולה לחסוך למפתחים כסף ולהוביל לתשואות גבוהות יותר. עם זאת, אוטומציה אינה חפה מחסרונותיה.
חלק מהאתגרים של אוטומציה של בדיקות קופסה לבנה כוללים:
1. מעקב אחר באגים
אוטומציה לא תמיד מקלה על איתור באגים בקוד בהתאם לאופן שבו מפתחים אוטוממים את הבדיקות או באילו כלי בדיקה משתמשים, במיוחד בהשוואה לבדיקות ידניות של תיבה לבנה שבה הבודקים יכולים לראות את הקוד המופעל בכל פעם שבאג מופיע.
2. מיומנויות
לא כל המפתחים יודעים כיצד לבצע אוטומציה של בדיקות או כיצד להשתמש בכלי בדיקה אוטומטיים, כך שמעבר לאוטומציה עשוי לדרוש השקעה מסוימת בהכשרת מיומנויות עיקריות כגון קידוד בשפת פלטפורמת הבדיקה הספציפית ושימוש במיומנויות ניתוח נתונים כדי להבין את הגורם לבעיות ב- מבחן קופסה לבנה.
מסקנה: בדיקת קופסה לבנה ידנית
או אוטומציה של בדיקת קופסה לבנה?
בסך הכל, בדיקת קופסה לבנה בהנדסת תוכנה היא אחד מסוגי הבדיקות המתאימים ביותר להסתגלות לבדיקות אוטומטיות, בעיקר בשל האופי שלוקח את הזמן והמורכב של בדיקת הקופסה הלבנה הידנית.
בדיקת קופסה לבנה אוטומטית היא מהירה יותר, זולה יותר, יעילה יותר ומדויקת יותר מבדיקה ידנית, במיוחד כאשר עובדים עם יישומים גדולים יותר.
במידת האפשר, מפתחי תוכנה צריכים להפוך את בדיקות הקופסה הלבנה בבדיקות תוכנה לאוטומטיות כדי להגביר את מהימנות הבדיקות ולכסות שטח גדול יותר של יישומים גדולים יותר באמצעות בדיקות ממה שמתאפשר באופן מעשי בעת ביצוע בדיקות באופן ידני. זה נובע מהעלויות והמומחיות המשמעותיות הנדרשות כאשר אתה משלים בדיקות קופסה לבנה בשיטות ידניות בלבד.
מה אתה צריך כדי להתחיל
בדיקת קופסה לבנה?
לפני שתתחיל בבדיקת קופסא לבנה, ודא שיש לך את כל מה שאתה צריך כדי להתחיל. תלוי אם אתה מבצע בדיקת קופסה לבנה ידנית או אוטומטית, אתה לא צריך הרבה משאבים מלבד זמן וכסף.
עם זאת, תצטרך לוודא שלצוות שלך יש את הידע והכלים המתאימים כדי לבצע כראוי בדיקות קופסה לבנה.
1. הבנה של קוד המקור
בדיקת White Box היא בדיקה שמבצעים מפתחי תוכנה ומהנדסים בעלי ידע מלא בקוד המקור ובמבנה הפנימי של התוכנה.
אם אתה בודק QA ללא הידע הזה, תצטרך להעביר את התוכנה למישהו אחר לפני שניתן להתחיל בדיקת קופסה לבנה.
2. מקרי מבחן
יש צורך לכתוב מקרי בדיקה לפני ביצוע בדיקת קופסה לבנה. מקרי בדיקה הם סטים בודדים של הוראות המתארות פעולות שבודקים או מפתחים יכולים לבצע כדי לבדוק את הפונקציות והפעולה של מערכת.
בבדיקת קופסה לבנה, מקרי בדיקה מתוכננים על ידי אנשים עם ידע מלא של המבנה הפנימי של המערכת ונוצרים כדי לוודא אם זה עובד כמו שצריך.
3. כלי בדיקת קופסה לבנה
יש הרבה כלים זמינים לבדיקת קופסה לבנה התומכים בגישה לקוד מקור ומסמכי עיצוב לצד השלמת אוטומציה של בדיקות. אלה מגיעים גם במבחר נקודות מחיר למשתמשים, כגון גרסאות ZAPTEST FREE ו-ZAPTEST ENTERPRISE המספקות יותר גמישות.
בחר את הכלים שבהם ברצונך להשתמש לפני שתתחיל בבדיקה, עם דגש על הבטחת הפונקציונליות הנכונה כמו תפעול חוצה פלטפורמות וטכנולוגיית Computer Vision , כדי שתראה מה רואים בדיקות אוטומטיות.
ודא שכל המפתחים והמהנדסים המעורבים בבדיקה יודעים כיצד ומתי להשתמש בהם.
תהליך בדיקת הקופסה הלבנה
בדיקת קופסה לבנה כוללת הרבה יותר ידע על פעולתה של מערכת מאשר בדיקת קופסה שחורה, וחלק מהשלבים בבדיקת הקופסה הלבנה מעט שונים.
בודקי הקופסה הלבנה חייבים לזהות תחילה את התכונות או הרכיבים של המערכת שהם רוצים לאמת לפני שהם מתווים נתיבים אפשריים לבדיקה וכתיבת מקרי בדיקה לביצוע.
תהליך בדיקת הקופסה הלבנה עשוי גם להיות שונה בהתאם לטכניקת בדיקת הקופסה הלבנה שבה אתה משתמש. בצע את השלבים שלהלן כדי לגלות כיצד לבצע בדיקות קופסה לבנה תוך מיקסום כיסוי הנתיב.
שלב 1: זהה את התכונות שיש לבדוק
לפני שאתה מבצע בדיקת קופסה לבנה, שקול בדיוק מה אתה רוצה לבדוק ואיך אתה הולך לבדוק את זה. זה בדרך כלל כרוך בהתמקדות בקבוצה קטנה של פונקציות או תכונות ויצירת קבוצה של מקרי בדיקה רק כדי לבדוק אותם.
אתה תבצע את הצעד הזה שוב ושוב עבור אזורים שונים של המערכת כדי למקסם את כיסוי הבדיקה, אך חשוב לפרק אזורים שונים לבדיקות בודדות.
ככל שהמיקוד שלך צר יותר, כך הבדיקות שלך עשויות להיות אמינות ומדויקות יותר.
שלב 2: שרטט את כל הנתיבים האפשריים בתרשים זרימה
חלק משמעותי מעבודת ההכנה שלך לבדיקת קופסה לבנה הוא התוויית כל הנתיבים האפשריים שאתה צריך לבדוק בגרף זרימה.
שלב זה יכול לעזור לך למקסם את כיסוי הנתיבים ולהבטיח שאתה מאמת את כל הנתיבים האפשריים בכל מקרה בדיקה שאתה יוצר. צייר גרף זרימה המכסה את כל הנתיבים האפשריים עבור כל תכונה או רכיב שאתה בודק, למשל על ידי תיאור נתיבים שונים שעולים כאשר ערכים שונים מוזנים.
שלב 3: זהה את כל הנתיבים האפשריים
תסתכל על גרף הזרימה שלך וזהה את כל הנתיבים האפשריים שמשתמשים יכולים ללכת, החל מהשלב הראשון של גרף הזרימה שלך וכלה בשלב האחרון.
ככל שיופיעו יותר ענפים והחלטות בגרף הזרימה שלך, כך יתקיימו יותר נתיבים ייחודיים. הבנת כמה נתיבים אפשריים ייחודיים קיימים יכולה לעזור לך לוודא שמקרי הבדיקה שלך מכסים כל אפשרות.
שלב 4: צור מקרי בדיקה
השלב הבא של בדיקת הקופסה הלבנה הוא כתיבת מקרי בדיקה המאמתים את כל הנתיבים שזיהיתם למעלה.
חשוב לוודא שמקרי הבדיקה שלך מכסים את כל הנתיבים האפשריים ומתארים בבירור את הפעולות שעל הבודקים או המפתחים לנקוט כדי לבצע כל מקרה בדיקה.
עבור כל מקרה בדיקה, כלול מזהה מקרה בדיקה ושם לצד תיאור קצר וכן את התוצאות הצפויות של כל בדיקה.
שלב 5: ביצוע מקרי בדיקה
הגיע הזמן לבצע את מקרי הבדיקה, וזה מה שרוב האנשים מחשיבים כביצוע בדיקת הקופסה הלבנה בעצמה.
הבודקים מבצעים את מקרי הבדיקה על ידי ביצוע קבוצת ההוראות הקצרה המפורטת בכל מקרה בדיקה ודיווח על התוצאה של כל מקרה בדיקה. ניתן להשוות זאת מול התוצאות הצפויות המתוארות במקרה המבחן כדי לוודא אם כל מבחן קופסה לבנה עבר או נכשל.
שלב 6: חזור על המחזור לפי הצורך
כמו צורות אחרות של בדיקות תוכנה, בדיקת קופסה לבנה עוסקת בהשוואה של האופן שבו המערכת פועלת בפועל עם הציפיות שיש לבודקים לגבי אופן הפעולה של המערכת.
אם הבודקים מגלים שהמערכת לא מתנהגת כפי שהם מצפים ממנה, פירוש הדבר שבדיקת הקופסה הלבנה נכשלה, והמפתחים חייבים לתקן שורות קוד לפני ביצוע בדיקות נוספות.
חזור על התהליך שלמעלה כדי לבצע בדיקות נוספות של הקופסה הלבנה עד שהמערכת נבדקה ביסודיות ושגיאות כלשהן תוקנו.
שיטות עבודה מומלצות לבדיקת קופסה לבנה
שיטות עבודה מומלצות בבדיקת קופסה לבנה תלויות באיזה סוג בדיקה אתה מבצע ובאיזה שלב של תהליך הבדיקה אתה נמצא.
מכיוון שרוב בדיקות הקופסה הלבנה מתרחשות במהלך בדיקת יחידות ובדיקות אינטגרציה, רוב השיטות המומלצות של בדיקת הקופסה הלבנה חלות על שלבים אלה.
1. למקסם את כיסוי הבדיקה
בהגדרה, חשוב למקסם את כיסוי הבדיקה בעת ביצוע בדיקת קופסה לבנה כדי להבטיח שאחוז גבוה מהתוכנה נבדק בשלב זה.
אתה יכול לעשות זאת על ידי מיקסום כיסוי המסלולים והכיסוי הסניף וכתיבת מקרי מבחן החוקרים את כל הנתיבים והתוצאות האפשריות בשלב ההכנה.
2. ודא התנהגות וביצועים
כאשר אתה כותב מקרי בדיקה בבדיקת קופסה לבנה, אתה רוצה ליצור מקרי בדיקה המאמתים שהמערכת פועלת כפי שאתה מצפה ממנה, כמו גם מקרי בדיקה המאמתים את ביצועי המערכת .
לדוגמה, בנוסף לבדוק שפעולות מסוימות מובילות לתוצאות מסוימות, תוכל גם לוודא באיזו מהירות המערכת יכולה לבצע משימות מסוימות או כיצד הביצועים מושפעים ממשתנים שונים.
3. כתבו מקרי מבחן ללא תלות זה בזה
אם ברצונך לאמת שתי תכונות נפרדות, למשל, אם מחלקה של קוד תלויה במסד נתונים מסוים, צור ממשק מופשט המשקף את חיבור מסד הנתונים הזה והטמיע ממשק עם אובייקט מדומה כדי לבדוק את החיבור הזה.
זה מבטיח שמקרי הבדיקה שלך מאמתים את הקשרים שאתה רוצה שהם יאמתו ולא משהו אחר.
4. מכסים את כל השבילים והלולאות
מקסום כיסוי הבדיקה פירושו כיסוי כל הנתיבים האפשריים, תוך התחשבות בלולאות מותנות וסוגים אחרים של לולאות בקוד.
ודא שאתה מעצב מקרי בדיקה שחוקרים באופן מלא נתיבים אפשריים ומוודא שלולאות מתנהגות כפי שאתה מצפה מהם, לא משנה מה הקלט.
7 טעויות ומלכודות מתי
יישום מבחני White Box
כשאתה מתחיל בבדיקת קופסה לבנה, חשוב להיות מודע לכמה מהמלכודות הנפוצות ביותר שלעתים קרובות מפתחים נופלים אליהן בעת ביצוע בדיקת קופסה לבנה. טעויות נפוצות של בדיקת קופסה לבנה עלולות לגרום לעיכובים ולאי דיוקים שעלולים לפגוע באיכות ובלוח הזמנים של מהדורת התוכנה.
1. חושבים שאין צורך בבדיקת קופסה לבנה
יש בודקים שחושבים שבדיקת קופסה לבנה אינה הכרחית, מכיוון שבדיקת קופסה שחורה בודקת את כל הפלטים החיצוניים של התוכנה, ואם אלה פועלים כהלכה אז ההנחה היא שגם העבודה הפנימית של המערכת עובדת.
עם זאת, בדיקת קופסה לבנה יכולה לעזור למפתחים לאתר בעיות ובאגים שאולי לא תמיד יופיעו בבדיקות הקופסה השחורה וזה חיוני לאמת את האבטחה של מערכות תוכנה.
לדוגמה, אם לתוכנית יש דליפת זיכרון שגורמת לירידה בביצועים על פני תקופות זמן ממושכות שבדיקת הקופסה השחורה לא בודקת, בדיקת הקופסה הלבנה היא האפשרות היחידה לעקור את הקוד ולמצוא את הבעיה לפני פרסום ציבורי רחב.
2. ביצוע כל בדיקות הקופסה הלבנה באופן ידני
חלק מהמפתחים עשויים לחשוב שקל לבצע בדיקות קופסה לבנה באותה מידה שקל לבצע בדיקת קופסה שחורה.
עם זאת, בדיקת הקופסה הלבנה גוזלת הרבה יותר זמן ומפתחים המנסים לבצע בדיקת קופסה לבנה באופן ידני לחלוטין עלולים לגלות שאי אפשר לבצע בדיקות ידניות בסטנדרטים הרצויים או תוך מיקסום כיסוי הבדיקה.
3. הקצאת בודקים לביצוע מקרי בדיקה
בדיקת הקופסה הלבנה צריכה להתבצע לחלוטין על ידי מפתחים, מהנדסי תוכנה ואנשים שמבינים לחלוטין את פעולתה הפנימית של מערכת התוכנה.
חלק מהמפתחים חושבים שהם יכולים להעביר בדיקות קופסה לבנה על בודקי QA לאחר שכתבו את מקרי הבדיקה בעצמם, אבל זה רק יביא לביצוע לקוי ויקטין את איכות התיעוד .
4. למהר בבדיקות
בדיקות תוכנה הן תהליך ארוך וגוזל זמן, וחלק מהמפתחים עשויים להתפתות למהר לעבור בדיקות קופסה לבנה כדי לעבור לשלב הבא של הפיתוח. חשוב להקצות מספיק זמן ומשאבים לבדיקת קופסה לבנה כדי להבטיח שמפתחים לא ירגישו ממהרים ושיש להם מספיק זמן כדי למקסם את כיסוי הבדיקות.
5. תיעוד לקוי
שמירה על תיעוד מתאים לפני, במהלך ואחרי הבדיקה מבטיחה שלכל מי שעוסק בפיתוח ובדיקות תוכנה תהיה גישה למידע הנכון בזמן הנכון.
ודא שכל חבר בצוות הפיתוח יודע לכתוב תיעוד ברור וכיצד לדווח על תוצאות בדיקות הקופסה הלבנה.
6. שימוש לא נכון בכלי אוטומציה
כלי אוטומציה יכולים להקל על ביצוע בדיקות קופסה לבנה, אך חשוב לוודא שכל הצוות שלך מבין באילו כלי אוטומציה אתה משתמש וכיצד להשתמש בהם.
כלים שונים מתאימים לסוגים שונים של בדיקות, לכן חשוב לבחור בכלי אוטומציה המתאימים לבדיקות White Box וללמוד כיצד להשתמש בתכונות שלהם נכון.
לדוגמה, חלק מהכלים אינם משלבים אוטומציה ובמקום זאת מתמקדים באיסוף מידע וארגון כרטיסים, אשר רחוק מלהיות אידיאלי עבור בדיקות אוטומטיות. להיפך, כלי ערימה מלאה כגון ZAPTEST מכסים את כל תהליך הבדיקה באמצעות תכונות כגון Any Task Automation, מה שהופך אותם למתאימים לעבודת בדיקת קופסה לבנה יעילה יותר.
7. לא עובד עם צוות ה-QA
רק בגלל שבדיקות הקופסאות הלבנות מתוכננות ומבוצעות על ידי מפתחים, זה לא אומר שצוות ה-QA לא צריך להיות מעורב בשום צורה.
חשוב להעביר את תוצאות בדיקת הקופסה הלבנה לצוות ה-QA כדי שיבינו מה נבדק עד כה וכיצד תוצאות בדיקת הקופסה הלבנה עשויות להשפיע על האופן שבו צוות QA ניגש לבדיקת הקופסה השחורה.
בכך שאתה לא מערב את צוות ה-QA אתה מציג ניתוק פוטנציאלי בין מחלקות שונות, מה שמוביל לתקשורת לקויה ולמשוב גרוע יותר בהמשך הבדיקה. התוצר הסופי של זה הוא רמת איכות נמוכה משמעותית במוצר הסופי.
סוגי פלטים מבדיקות קופסה לבנה
כאשר אתה מבצע בדיקות תוכנה לבנה, תקבל פלטים שונים בהתאם לתוצאות הבדיקות שאתה מבצע. הבנת הפלטים הללו מבדיקות קופסה לבנה יכולה לעזור לך להבין אילו צעדים לנקוט בשלב הבא.
1. תוצאות הבדיקה
תוצאות הבדיקה של בדיקות הקופסה הלבנה שלך יגידו לך האם עליך להמשיך בבדיקות נוספות, האם יש פגמים שיש לתקן, והאם כל מקרה בדיקה בודד עבר או נכשל. יש צורך בתיעוד יסודי מכיוון שהוא עוזר למפתחים ולבודקים להבין את התוצאות של בדיקות קופסה לבנה.
2. פגמים
ניתן לזהות פגמים בבדיקת קופסה לבנה, ולפעמים הפלט של בדיקות הקופסה הלבנה שלך יהיה פגמים ובאגים.
אם מערכת התוכנה אינה מתנהגת כפי שאתה מצפה ממנה במהלך בדיקת הקופסה הלבנה, הדבר עשוי להצביע על כך שיש פגמים חמורים בתוכנית שיש לתקן לפני המשך הפיתוח והבדיקה.
3. דוחות בדיקה
דוחות בדיקה הם דוחות שנאספו על ידי מפתחים ובודקים במהלך ואחרי בדיקות תוכנה.
הם מכילים פירוט של תוצאות הבדיקה, לרבות מקרי הבדיקה שעברו ונכשלו, כל ליקוי שנמצא במהלך הבדיקה והמלצות לשלבים הבאים.
מפתחים משתמשים בדוחות בדיקה כדי לתקשר עם מפתחים אחרים שתפקידם עשוי להיות לתקן באגים ושגיאות שנמצאו במהלך הבדיקה.
דוגמאות למבחני קופסה לבנה
בדיקת הקופסה הלבנה מאפשרת למפתחים לבדוק שהמבנה הפנימי של מערכת התוכנה עובד כמו שצריך, ללא קשר לתוצאות ולתפוקות החיצוניות של המערכת.
הדוגמאות שלהלן ממחישות כיצד בדיקת קופסה לבנה יכולה לעזור למפתחים לאמת את הפונקציות הפנימיות של התוכנה.
1. דוגמה לדף רישום מסחר אלקטרוני
דוגמה אחת לבדיקת קופסה לבנה שוקלת כיצד מפתחים בודקים את תפקודי האתר. אם אתם מנסים לבדוק את דף הרישום של אתר מסחר אלקטרוני, בדיקת קופסה לבנה יכולה לאפשר למפתחים להבין האם הפונקציות והמעמדות המעורבים ברישום פועלים כפי שהם צריכים כאשר פונקציית הרישום מתבצעת.
זה כולל באופן ספציפי את כל המידע שהמשתמש מזין ומעריך את הפרמטרים מאחורי הטופס, כולל התאריכים שהם ואינם תקפים ומה שהטופס רואה ככתובת מייל לגיטימית.
לאחר מכן, הצוות נכנס לסדרה של מחרוזות שבודקות את הטופס, כאשר חלקם נועדו להיכשל ואחרים נועדו להצליח, לפני שמעריכים את התוצאות מול התוצאות החזויות.
בדיקת קופסה שחורה, לעומת זאת, תבדוק רק אם הדף עצמו עובד, ללא כל ניתוח נוסף של למה או איך.
2. דוגמה למחשבון
מחשבוני יישומים מספקים דוגמה נוספת לבדיקת קופסה לבנה.
אם אתה יוצר מחשבון המשמש כחלק מיישום, בודקי הקופסה השחורה פשוט יבדקו אם הפלט של המחשבון נכון כאשר משתמשים במחשבון כמתוכנן.
בודקי קופסה לבנה יבדקו את החישובים הפנימיים של המחשבון כדי לוודא כיצד חושב הפלט והאם זה נכון. זה שימושי יותר עבור חישובים מורכבים יותר עם מספר שלבים, כגון מסים. בודקים בוחנים את הקוד כדי לראות את השלבים שהמחשבון עושה ואת סדר השלבים, לפני שהם רואים את התוצאה לאחר כל שלב.
אם קלט המחשבון הוא (7*4) – 6 והפלט הוא 22, זה נכון, ובדיקת קופסה שחורה תעבור את המבחן הזה. עם זאת, הסיבה לכך היא ש-7*4 = 28, ו-28 – 6 זה 22. בדיקת קופסה לבנה יכולה לגלות שהתוכנה מצאה תוצאה זו על ידי ביצוע 7*4 = 32, ו-32 – 6 = 22, שאף אחת מהן אינה נכונה.
תובנה גדולה יותר זו מראה שהחישוב מדויק לאחר כל שלב ספציפי, מוצא את השלב שבו הוא עשוי להיות לא מדויק, ופותר אותו מהר יותר, מכיוון שהבודק יכול לראות בבירור היכן הבעיה מתרחשת.
סוגי שגיאות ובאגים בבדיקת קופסה לבנה
במהלך בדיקת הקופסה הלבנה, ניתן לזהות ולאתר באגים שעשויים להשפיע על אופן פעולת המערכות מתחת למכסה המנוע. באגים אלה יכולים להשפיע על פונקציות חיצוניות או שהם יכולים להשפיע על ביצועים או אמינות.
כמה מהסוגים הנפוצים ביותר של שגיאות ובאגים המתעוררים במהלך בדיקת קופסה לבנה מפורטים להלן.
1. שגיאות לוגיות
שגיאות לוגיות מתעוררות בבדיקות הקופסה הלבנה מכיוון שבדיקות הקופסה הלבנה מציגות אזורים שבהם התוכנה אינה פועלת בצורה לוגית או שבהם נעשה שימוש לרעה בפונקציות ובתנאים בתוך הקוד של התוכנה.
שגיאות לוגיות עשויות להופיע ככשלים במערכת או פשוט לגרום להתנהגויות ותפוקות בלתי צפויות.
2. טעויות עיצוב
בדיקת קופסה לבנה יכולה לעזור למפתחים לזהות שגיאות עיצוב בקוד. שגיאות עיצוב מתעוררות כאשר יש הבדל בין הזרימה הלוגית של התוכנה לבין היישום בפועל של התוכנה. הם עלולים לגרום להתנהגויות בלתי צפויות ולשגיאות ביצועים.
3. שגיאות דפוס
שגיאות טיפוגרפיות ופגמי תחביר הן טעויות הנובעות בגלל טעות אנוש – למשל בגלל שמפתח הקליד שגוי של ביטוי מסוים או הוסיף סימני פיסוק שגויים לשורת קוד. שגיאות קטנות כמו זה עלולות לגרום לפונקציות והצהרות שבורות שהתוכנה לא יכולה לקרוא, מה שעלול לגרום לשגיאות גדולות במערכת.
מדדי בדיקת קופסה לבנה נפוצים
כאשר אתה מבצע בדיקות של קופסה לבנה, מדדי בדיקה נפוצים יכולים לעזור לך למדוד עד כמה בדיקות הקופסה הלבנה שלך מוצלחים ומקיפים, כמו גם להבין את איכות העבודה של המפתחים שלך.
מדדי בדיקה מודיעים לתהליך הפיתוח מכיוון שהם עשויים לזהות אזורים לשיפור או להנחות את תהליך הבדיקה קדימה.
1. כיסוי קוד
אחד המאפיינים העיקריים של בדיקת קופסה לבנה הוא שהיא צריכה לכסות כמה שיותר מהקוד, ותוכלו למדוד כמה קוד כיסיתם בעזרת מדדי כיסוי קוד.
מדדי כיסוי קוד מראים כמה מהקוד הכולל של האפליקציה אימתת באמצעות בדיקת קופסה לבנה. בדרך כלל, מפתחים שואפים לכסות קרוב ל-100% מקוד התוכנה ככל האפשר באמצעות בדיקת קופסה לבנה.
ניתן להפריד את כיסוי הקוד למדדים נפרדים, כולל נתיב, פלח, הצהרה וכיסוי ענף.
כיסוי תנאי מורכב הוא סוג נוסף של מדד כיסוי קוד שבודק שכל תנאי בתוך קבוצה נבדק לצד מספר נתיבים ושילובים של נתיבים.
2. מדדי ליקויים
מדדי פגמים משקפים כמה פגמים נמצאו, כמה טובות בדיקת הקופסה הלבנה שלך בזיהוי פגמים, ואילו אחוזים מהקוד עוברים או נכשלים בבדיקת הקופסה הלבנה.
מדדי פגמים עשויים להיות מוצגים כמספר הפגמים לאלף שורות קוד או מספר הפגמים הכולל בתוכנית. בעוד שמספר נמוך של פגמים עשוי להיראות חיובי, על המפתחים לוודא שזה לא בגלל שחסרים פגמים בבדיקה.
3. ביצוע בדיקה
מדדי ביצוע בדיקות יכולים לעזור למפתחים לראות במהירות מה השיעור מסך הבדיקות שבוצעו עד כה וכמה בדיקות שלא בוצעו נותרו. מדדי ביצוע טקסט עוזרים לצוותי תוכנה להבין עד כמה רחוקה ההתקדמות של בדיקת התיבה הלבנה והאם בדיקות תוכנה אוטומטיות פועלות כמצופה או לא.
עם זאת, ייתכן שיהיו תוצאות חיוביות שגויות ושליליות שגויות שיכולות להשפיע על הדיוק של מדד זה.
4. משך הבדיקה
מדדי משך הבדיקה מספרים לנו כמה זמן לוקח להפעיל בדיקות אוטומטיות, מה שחשוב במיוחד בבדיקת קופסה לבנה מכיוון שאוטומציה חיונית כדי למקסם את יעילות הבדיקה וכיסוי הבדיקה.
משך הבדיקה הוא לעתים קרובות צוואר בקבוק בפיתוח תוכנה זריז, כך שהבנת כמה זמן לוקח לבדיקות תוכנה לרוץ יכולה לעזור לצוותי הפיתוח להאיץ את תהליך הפיתוח.
עם זאת, חשוב לזכור כי מדדי משך הבדיקה אינם אומרים לך דבר על איכות הבדיקות שאתה מפעיל.
כלי בדיקת קופסה לבנה
כלים וטכנולוגיה יכולים להפוך את בדיקת הקופסה הלבנה להרבה יותר מדויקת, יעילה ומקיפה. כלי בדיקת הקופסה הלבנה יכולים לעזור למהנדסי תוכנה להפוך את בדיקות הקופסה הלבנה לאוטומטית, לתעד ולתעד את תהליך בדיקת הקופסה הלבנה ולנהל את בדיקות הקופסה הלבנה מההתחלה ועד הסוף.
5 הכלים הטובים ביותר לבדיקת קופסא לבנה בחינם
אם אינך רוצה להשקיע עדיין בכלים יקרים לבדיקת קופסאות לבנה, אתה יכול לנסות שורה שלמה של כלי בדיקת קופסאות לבנות בחינם באינטרנט מבלי לשלם דבר.
כלי בדיקה חינמיים לא תמיד מציעים את כל אותה פונקציונליות כמו כלים ארגוניים, אבל הם נקודת זינוק טובה למתחילים לבדיקות קופסה לבנה והם יכולים לעזור לצוותי פיתוח להבין טוב יותר אילו כלים וטכנולוגיות הם דורשים .
1. מהדורה חינמית של ZAPTEST
ZAPTEST הוא כלי לבדיקת תוכנה ותוכנה רובוטית לאוטומציה של תהליכים המאפשרת למפתחים ולבודקי QA להפוך את בדיקת הקופסה הלבנה וגם את בדיקת הקופסה השחורה.
הגרסה החינמית של ZAPTEST מאפשרת מספר משתמשים וירטואליים, מספר איטרציות ותמיכה בפורום משתמשים. האפליקציה עובדת עם מקורות נתונים מקומיים וחיצוניים כאחד ומשתלבת עם HP ALM, Rally ו-JIRA. משתמשים שאוהבים את ההצעה החינמית של ZAPTEST ורוצים לראות עוד ממה שהחברה מציעה יכולים גם לברר לגבי שדרוג למהדורת הארגונית ברגע שהם מוכנים.
2. באגזילה
Bugzilla הוא כלי פופולרי מאוד לבדיקת תוכנה בקוד פתוח המאפשר למפתחים לעקוב אחר באגים ופגמים בתוכנה ולנהל את מחזור החיים של באגים.
Bugzilla מאפשר להקצות באגים למפתחים, לתעדף ולאמת באגים ולסגור אותם לאחר שתוקנו. Bugzilla הוא כלי נהדר עבור צוותים שעדיין מנסים לתקן את הגישה שלהם לדיווח באגים והוא לגמרי בחינם לשימוש.
3. OpenGrok
OpenGrok הוא דפדפן קוד פתוח ומנוע חיפוש עבור בסיס קוד. זה תואם לקוד שנכתב ב-Java C++, JavaScript ו-Python לצד שפות תכנות אחרות.
אם אתה רוצה להיות מסוגל לנווט במהירות בסיס קוד גדול במהלך בדיקת קופסה לבנה, OpenGrok הוא חינמי לחלוטין וקל לשימוש.
4. SQLmap
SQLmap הוא כלי נוסף בקוד פתוח שנחשב כמעט חיוני בבדיקת קופסה לבנה. SQLmap מסדיר את זרימת הניצול ואיתור באגים בהזרקת SQL.
"כלי בדיקת חדירה" המתואר בעצמו, SQLmap יכול לעזור לבודקי קופסה לבנה לזהות ולאתר שגיאות אבטחה בקוד המקור ולתקן אותן לפני שממשיכים הלאה.
5. אמה
Emma היא ערכת כלים בקוד פתוח שיכולה למדוד את כיסוי הקוד שלך אם אתה עובד ב-Java. זוהי דרך סופר מהירה לברר את כיסוי הקוד שלך במהירות ולעקוב אחר כמה קוד כיסה כל אחד מחברי צוות הפיתוח על בסיס אישי.
אמה תומכת בכיסוי מחלקה, שיטה, קו ובלוק בסיסי והיא מבוססת Java לחלוטין.
5 הכלים הטובים ביותר לבדיקת קופסאות לבנה של Enterprise
אם אתה מחפש כלים המציעים פונקציונליות רבה יותר או תמיכה טובה יותר, כלי בדיקת קופסא לבנה ארגונית עשויים להתאים יותר לצוות הפיתוח שלך.
1. מהדורת ZAPTEST ENTERPRISE
המהדורה הארגונית של ZAPTEST היא הגרסה המשופצת של ZAPTEST החינמית. בגרסה זו, משתמשים יכולים להפיק תועלת מתבניות OCR בלתי מוגבלות, איטרציות בלתי מוגבלות וסקריפטים ללא גבול של VBScript ו-JavaScript.
המהדורה הארגונית של ZAPTEST מציעה חבילה שלמה יותר של כלים עבור צוותי פיתוח המעוניינים לעבור לאוטומציה, והגרסה הארגונית מגיעה גם עם תמיכה של מומחים כדי לוודא שהצוות שלך מפיק את המרב מאוטומציית בדיקות התוכנה וטכנולוגיית RPA של ZAPTEST.
2. כנר
Fiddler היא חבילת כלים של Telerik המיועדת לבדיקת יישומי אינטרנט של קופסה לבנה. Fiddler יכול לרשום את כל תעבורת ה-HTTP בין המערכת שלך לאינטרנט ולהעריך נקודות עצירה מוגדרות כמו גם להתאים נתונים יוצאים ונכנסים. זה זמין בפורמטים שונים בהתאם לתקציב ולדרישות שלך, כך שיש מהדורת Fiddler כמעט לכל צוות.
3. HP Fortify
HP Fortify, הידוע בעבר בשם Fortify, הוא כלי נוסף לבדיקת אבטחה המציע פתרונות אבטחה מקיפים לבדיקת קופסה לבנה. חבילת הכלים Fortify כוללת את הכלי Fortify Source Analysis, אשר יסרוק אוטומטית את קוד המקור שלך לאיתור נקודות תורפה שעלולות להשאיר את האפליקציה שלך פתוחה להתקפות סייבר.
4. יחידת ABAP
הגרסה הארגונית של ABAP Unit מאפשרת למפתחי תוכנה לבצע הן בדיקות יחידות ידניות והן אוטומטיות במהירות ובפשטות. מפתחים כותבים בדיקות יחידה בתוך אפליקציית ABAP ומשתמשים בבדיקות אלו כדי לאמת פונקציות קוד ולזהות שגיאות בבדיקות יחידות.
צוותי תוכנה שרוצים לנסות את הכלי הזה יכולים להתחיל עם הגרסה החינמית של ABAP Unit לפני שהם עוברים למהדורה הארגונית.
5. LDRA
LDRA היא חבילה קניינית של כלים שניתן להשתמש בהם לכיסוי הצהרות, כיסוי ענפים וכיסוי החלטות בעת ביצוע בדיקות קופסה לבנה. זהו כלי מצוין אם אתה רוצה לבדוק שקוד המקור שלך עומד בדרישות הסטנדרטיות לתאימות, מעקב והיגיינת קוד.
מתי כדאי להשתמש בארגון
לעומת כלי בדיקת קופסה לבנה של freemium?
לכלי בדיקות תוכנה ארגוניים וגם של freemium יש את מקומם בכל צוות פיתוח תוכנה מודרני. ככל שהצוות שלך גדל והבדיקות האוטומטיות הופכות חשובות יותר לגישת בדיקת הקופסה הלבנה שלך, סביר להניח שתרצה לשדרג מעבודה בעיקר עם כלי בדיקה בחינם לעבודה עם כלים ארגוניים שמציעים יותר פונקציונליות ושימושים בלתי מוגבלים.
עם זאת, ישנם תרחישים ספציפיים שבהם כלי freemium עשויים להתאים יותר מכלים ארגוניים.
מפתחים רבים בוחרים להתחיל עם כלי freemium כאשר הם מתנסים בתכונות וטכנולוגיות חדשות, בעיקר כדי להעריך אם הטכנולוגיות הללו מתאימות לצוות שלהם לפני השקעה בטכנולוגיות ארגוניות.
תוכל גם לנסות גרסאות חינמיות של כלים ארגוניים כמו ZAPTEST כדי שתוכל לנסות אותם לפני הקנייה ולגלות עוד על מה שהכלים הארגוניים מציעים.
לבסוף, כמה כלי Freemium כמו אמה ובוגזילה מתמחים בנישה אך בתכונות חשובות המציעות יתרונות מתמשכים אפילו לצוותי תוכנה המוכנים לשלם עבור טכנולוגיות ארגוניות.
בדיקת קופסה לבנה: רשימת בדיקה, טיפים וטריקים
כאשר אתה מוכן לבצע בדיקת קופסה לבנה, ודא שיש לך את כל מה שאתה צריך לפני שתתחיל. להלן רשימה של דברים שכדאי לזכור לפני שתתחיל בבדיקת קופסה לבנה כדי למקסם את כיסוי הבדיקה שלך ולשפר את הדיוק של תוצאות בדיקת הקופסה הלבנה שלך.
1. השתמש בכלי אוטומציה
כלי אוטומציה יכולים להאיץ באופן מסיבי את תהליך ביצוע בדיקות הקופסה הלבנה, כמו גם להפחית את שיעור השגיאות ולהגדיל את הדיוק הכולל.
כמעט כל צוותי התוכנה כיום משתמשים ברמה מסוימת של אוטומציה כדי לבצע בדיקות לבנה, כך שהתנסות בכלי אוטומציה וטכנולוגיות שונות לפני שתתחיל בבדיקת קופסה לבנה עשויה לעזור לך לבחור את הכלים שבהם תרצה להשתמש לפני תחילת הבדיקה.
2. שאפו ל-100% כיסוי מבחן
סביר להניח שלא תגיע ליעד שלך של 100% כיסוי מבחן, אבל השאיפה להתקרב לנתון הזה ככל האפשר היא הטובה ביותר בעת ביצוע בדיקת קופסה לבנה.
השתמש בכלי כיסוי בדיקה כדי לעקוב ולמדוד מדדים בודדים כגון כיסוי נתיבים וכיסוי ענפים ולוודא שכל הנתיבים והענפים החשובים ביותר בתוכנה שלך כוסו במהלך בדיקת הקופסה הלבנה.
3. הפקת דוחות בדיקה ברורים
כפי שקורה בצורות אחרות של בדיקות תוכנה, ודא שהצוות שלך יודע להרכיב דוחות בדיקה מדויקים וברורים לאחר כל שלב בבדיקה.
דוח בדיקה צריך להיכתב בפורמט קל להבנה ולכלול פירוט של גישת הבדיקה וכן סיכום של התפוקות והתוצאות של כל מקרה בדיקה שבוצע. הדוח הסופי צריך לנמק את הצעדים שננקטו ולהציע המלצות לצעדים הבאים.
4. מדדו את הצלחתכם בעזרת מדדי בדיקה
מדדי בדיקה עוזרים לצוותי תוכנה לעקוב ולתעד את ההתקדמות של בדיקות קופסה לבנה ולהציע מידע רב ערך שיכול להודיע לתהליכי פיתוח עתידיים.
חשוב שמפתחים ישתמשו במדדים כדי להבין עד כמה יעילה הבדיקה שהם מבצעים ועד כמה הקוד הראשוני שלהם נקי היה כדי שיוכלו לשפר את עבודתם בעתיד.
בדיקת קופסה לבנה:
סיכום
בדיקת קופסה לבנה בהנדסת תוכנה היא סוג חיוני של בדיקת תוכנה המאמתת את המבנה הפנימי והלוגיקה של קוד המקור של יישום תוכנה.
בשילוב עם בדיקת קופסה שחורה, בדיקת קופסה לבנה מוודאת לא רק שהתוכנה פועלת כמצופה אלא שהקוד הפנימי הוא הגיוני, נקי ומלא.
בדיקות הקופסה הלבנה מבוצעות לרוב בבדיקות יחידות ובדיקות אינטגרציה, והן תמיד מבוצעות על ידי מפתחים ומהנדסי תוכנה עם ידע מלא של הקוד הפנימי של התוכנה.
בעוד שחלק מבדיקות הקופסה הלבנה ניתנות לביצוע באופן ידני, כיום הרבה בדיקות קופסאות לבנה הן אוטומטיות בשל השיפורים במהירות, ביעילות ובכיסוי שמציעה אוטומציה של בדיקת קופסה לבנה.
שאלות נפוצות ומשאבים
אם תרצה ללמוד עוד על בדיקת קופסא לבנה, יש המון משאבים מקוונים בחינם שתוכל להתייעץ בהם. אתה יכול להשתמש בסרטונים, ספרים ומשאבים אחרים כדי ללמד את עצמך כיצד לבצע בדיקות קופסה לבנה ולהבטיח שתקני בדיקת הקופסה הלבנה שלך עומדים בשיטות העבודה המומלצות.
1. הקורסים הטובים ביותר על אוטומציה של מבחני קופסה לבנה
אם אתה רוצה ללמוד עוד על אוטומציה של בדיקות קופסה לבנה, תוכל לקחת קורס על בדיקות תוכנה ובדיקת קופסה לבנה. חלק מהקורסים הללו מוסמכים ומציעים כישורים פורמליים, בעוד שאחרים הם קורסים מקוונים בלתי רשמיים שנועדו לעזור למפתחים ולבודקי תוכנה שרוצים לשפר את הידע שלהם בנושא מסוים.
כמה מקורסי בדיקת הקופסה הלבנה הטובים ביותר הזמינים היום באינטרנט כוללים:
2. מהן חמש שאלות הראיון המובילות בנושא אוטומציה של מבחני קופסה לבנה?
אם אתה מתכונן לראיון שבו אתה עשוי לדון בבדיקת קופסה לבנה, טכניקות של קופסא לבנה וכלי אוטומציה, חשוב שתדע.
- מה ההבדל בין בדיקת קופסה לבנה לבדיקת קופסה שחורה?
- מדוע חשובה בדיקת הקופסה הלבנה?
- מהן כמה מהגישות השונות שאתה יכול לנקוט לבדיקת קופסה לבנה?
- אילו תהליכים מעורבים בבדיקת קופסה לבנה וכיצד נוכל לשפר אותם?
- מהם כמה מהכלים והטכנולוגיות שבהם תוכל להשתמש כדי להפוך את בדיקת הקופסה הלבנה למהירה יותר או מדויקת יותר?
3. המדריכים הטובים ביותר ביוטיוב על בדיקת קופסה לבנה
אם אתה רוצה ללמוד עוד על בדיקת קופסה לבנה, צפייה במדריכי YouTube יכולה לעזור לך להבין כיצד פועלת בדיקת קופסה לבנה ולראות הסברים חזותיים של התהליכים והגישות הכרוכים בבדיקת הקופסה הלבנה.
כמה מהמדריכים האינפורמטיביים ביותר של YouTube באינטרנט כוללים כעת:
- Udacity: דוגמה לבדיקת קופסה לבנה
- Guru99: מהי בדיקת קופסה לבנה?
- בדיקת קופסה לבנה לעומת בדיקת קופסה שחורה
- טכניקות בדיקת קופסה לבנה
- מנטור בדיקות תוכנה: מה זה בדיקת קופסה לבנה?
4. כיצד לשמור על בדיקות קופסה לבנה
תחזוקת בדיקות תוכנה מבטיחה שפעם אחר פעם, הבדיקות שאתה עורך יהיו יסודיות ומתאימות למטרה. חשוב לתחזק את כל סוגי בדיקות התוכנה הן בבדיקת Blackbox והן בבדיקת Whitebox מכיוון שהקוד שאתה מבצע עליו בדיקות משתנה כל הזמן עם כל תיקון ואיטרציה של באג. המשמעות היא שתסריטי הבדיקה שלך חייבים להשתנות יחד איתו.
שמירה על בדיקות קופסה לבנה כרוכה בשמירה על עדכנית מסגרת האוטומציה של הבדיקות שלך ואכיפת תהליכים שנועדו להבטיח שבדיקות ומקרי בדיקה מתעדכנים באופן קבוע.
אתה יכול לעשות זאת על ידי:
תחזוקת מבנה בתכנון הבדיקה שלך:
התחשבות בעתיד של בדיקות קופסה לבנה כאשר אתה בונה ומתכנן לראשונה את בדיקות הקופסה הלבנה שלך תקל על תחזוקה של בדיקות בעתיד.
אפשר תקשורת ברורה בין צוותים:
ודא שלכל חברי צוות הפיתוח שלך יש מספר ערוצי תקשורת, כך שברגע שנעשו שינויים בקוד, אלה יוכלו לבוא לידי ביטוי במהירות בבדיקות.
להיות מסתגל:
לפעמים, אתה עשוי לבצע שינויים בקוד שלא תכננת עבורם. ודא שהצוות שלך יודע להסתגל במהירות לשינויים אלה ויש לו את הכישורים לעקוב אחר השינויים הללו בבדיקות.
להעריך מחדש כל הזמן את פרוטוקולי הבדיקה:
פרוטוקולי הבדיקה שהטמעת בתחילת הבדיקה עשויים שלא להיות מתאימים לאחר שהתוכנה שלך עברה שינויים ושיפורים שונים. הערך מחדש את פרוטוקולי הבדיקה שלך בשלבים קבועים כדי לוודא אם הם עדיין מתאימים.
5. הספרים הטובים ביותר על בדיקות קופסא לבנה
בדיקת קופסה לבנה היא נושא עמוק שיכול לקחת שנים לשלוט בו. אם ברצונך להפוך למומחה בבדיקת קופסה לבנה מודרנית בבדיקות תוכנה, תוכל לקרוא ספרים על בדיקת קופסה לבנה שנכתבו על ידי מפתחים, אנשי אקדמיה ומהנדסים.
כמה מהספרים הטובים ביותר על בדיקות קופסא לבנה ואוטומציה של בדיקות כיום כוללים:
- The Art of Software Testing, מהדורה שלישית מאת גלנפורד ג'יי מאיירס, קורי סנדלר, טום באדג'ט, טוד מ. תומס
- Testing Software: A Craftsman's Approach, מהדורה רביעית, מאת Paul C. Jorgensen
- כיצד לשבור תוכנה: מדריך מעשי לבדיקות מאת ג'יימס וויטאקר
- The Just Enough Test Software Automation מאת דן מוסלי וברוס פוזי
אתה אמור להיות מסוגל למצוא ספרים אלה בחלק מחנויות ספרים וספריות וכן באינטרנט. אתה יכול גם למצוא חומרי קריאה ומשאבי למידה אחרים ברשימות הקריאה של קורסים ותכניות טובות לבדיקות תוכנה.