top of page
 WHITE BOX TESTING - בדיקות קופסא לבנה

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

בדיקות קופסא לבנה מבוצע ע"י מתכנת בלבד.

 

בדיקות קופסה לבנה ידועות גם כ:

Clear Box testing

Open Box testing

Structural testing

Transparent Box testing

Code-Based testing 

Glass Box testing

המקביל לבדיקות קופסא לבנה, היא בדיקות קופסא שחורה (black box) אשר מסתכלת על התוכנה מבחינה חיצונית כפי שמסתכל עליה משתמש הקצה, לעומת זאת בדיקות קופסא לבנה מבוססת על פעולתו הפנימית של היישום.

המונח קופסא לבנה ניתן בגלל היכולת להסתכל פנימה לתוך המערכת (שורות קוד)

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

בדיקות קופסא לבנה מתמקדות ב:

מבנה קוד

קוד לא נקי

קוד לא יעיל

בעיות אבטחת מידע

פונקציות / לולאות / תנאים / אובייקטים

הכנסת קלטים מתאימים לקוד

פלט (תוצאה צפוייה) מתאים

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

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

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

כיסוי קוד - Code Coverage Analysis: תיאור היקף (כיסוי) הבדיקות הנעשות על קוד התוכנה.

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

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

לדוגמא:

Read A

Read B

IF A+B > 20 THEN Print "A+B > 20"

ENDIF

If A > 10 THEN Print "A < 10" ENDIF

סך הנתיבים האפשריים אשר מכסים את האפשרויות הוא 2:

1. A+B>20 ,A<10 

2. A+B<=20, A<10

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

סוגי בדיקות קופסא לבנה:

בדיקות יחידה (Unit Testing): הבדיקה הראשונה אשר נעשית על היישום. בדיקת היחידה מבוצעת בכל יחידה או קבוצה של שורות קוד. המפתח בודק את הפונקציה או האובייקט ובודק אותו כדי לוודא שהוא פועל באופן תקין. זיהוי תקלות בשלב בדיקות היחידה מאוד קל לתקן ועלות התיקון נמוך מאוד.

בדיקת דליפת זיכרון (Testing for Memory Leaks): דליפת זיכרון גורמת לאיטיות באפליקציה, לכן נדרש לבצע בדיקות ע"י מומחה QA אשר יודע לזהות דליפות זיכרון בתוכנה.

בדיקות חדירה (Penetration Testing): סוג בדיקה זה מתאים גם לבדיקות מסוג קופסא לבנה וקופסא שחורה. הבודק QA או איש הפיתוח. המטרה לתקוף את הקוד כדי לזהות פרצות ואיומים.

bottom of page