בדיקות קופסה לבנה

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש
בדיקות קופסה לבנה

בדיקות קופסה לבנהאנגלית: Whitebox testing) הן בדיקות תוכנה המתייחסות למבנה הפנימי של הרכיב או המערכת.[1]

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

טכניקות הבדיקה[עריכת קוד מקור | עריכה]

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

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

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

יתרונות וחסרונות[עריכת קוד מקור | עריכה]

יתרונות:

  • הבדיקות עוזרות לגלות מקרי-קצה ושגיאות חבויות בקוד.[2]
  • הבדיקות מעודדות את הכותב להבין את קוד המקור היטב, ולשפר אותו.[2]
  • בגלל שהבדיקות מבוססות על הקוד, כאשר בדיקה נכשלת, יותר קל למצוא את שורות הקוד שאחראיות לבעיה.[1]

חסרונות:

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

אוטומציה[עריכת קוד מקור | עריכה]

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

אבטחת תוכנה[עריכת קוד מקור | עריכה]

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

ראו גם[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ 1.0 1.1 1.2 1.3 1.4 Williams, Laurie. "White-Box Testing". עמ' 60–61, 69. בדיקה אחרונה ב-30 בדצמבר 2017. 
  2. ^ 2.0 2.1 2.2 2.3 2.4 Ehmer Khan, Mohd (מאי 2010). "Different Forms of Software Testing Techniques for Finding Errors". IJCSI International Journal of Computer Science Issues 7 (3): 12. בדיקה אחרונה ב-12 בפברואר 2013. 
  3. ^ "Pex, Automated White box Testing".