בדיקות קופסה לבנה – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
מ הסבת תג ref לתבנית:הערה# |
||
שורה 1:
[[קובץ:WhiteBoxTesting1.png|ממוזער|בדיקות קופסה לבנה]]
'''בדיקות קופסה לבנה''' (באנגלית '''Whitebox testing''') הן בדיקות תוכנה המתייחסות למבנה הפנימי של הרכיב או המערכת.
בניגוד ל[[בדיקות קופסה שחורה]], שמטרתן היא לבדוק את קיום ה[[דרישה (הנדסה)|דרישות]] של הרכיב,
בדיקות קופסה לבנה בודקות את נכונות החלקים הפנימיים של הרכיב.
הבדיקות מבוססות על קוד המקור, ולכן נכתבות בעיקר על ידי מתכנתים, ולא על ידי בודקי קוד. בדיקות קופסה לבנה נעשות בעיקר ברמת [[בדיקות יחידה]], אך יכולות להתבצע גם ברמת [[בדיקות אינטגרציה]] ו[[בדיקות נסיגה]].
== טכניקות הבדיקה ==
שורה 11:
דרך טובה להתחיל היא להבטיח כיסוי שורות קוד מרבי, שכל שורת קוד תרוץ פעם אחת לפחות.
לצורך כך, אפשר להיעזר ב[[תרשים זרימה|תרשימי זרימה]] של הרכיב, ולכתוב בעזרתם בדיקה לכל מסלול אפשרי.
שיטה זו נקראת בדיקת מסלולי בסיס, והיא מספקת מספר מינימלי של בדיקות שצריך לקבלת כיסוי שורות קוד מקסימלי.
בנוסף לכיסוי שורות קוד, חשוב גם לבדוק תקינות לולאות שמופיעות בקוד. בדיקת לולאות היא בדיקה שמריצה קלטים הבודקים לולאה מסוימת בקצוות שלה ובטווח הפעולה שלה.
==יתרונות וחסרונות==
'''יתרונות:'''
* הבדיקות עוזרות לגלות מקרי-קצה ושגיאות חבויות בקוד.
* הבדיקות מעודדות את הכותב להבין את קוד המקור היטב, ולשפר אותו.
* בגלל שהבדיקות מבוססות על הקוד, כאשר בדיקה נכשלת, יותר קל למצוא את שורות הקוד שאחראיות לבעיה.
'''חסרונות:'''
* הבדיקות מסובכות יחסית לכתיבה, ולכן הבודק חייב להיות בעל ידע במבנה הפנימי של המערכת ועם יכולות תכנות גבוהות.
* בגלל מספר המסלולים האפשריים הרב בקוד, לא תמיד ניתן לכתוב בדיקות לכל מסלול וחלק מהם לא יבדקו.
* אף על פי ששיטת בדיקה זו יכולה לגלות הרבה בעיות ושגיאות, היא לא בהכרח תגלה דרישות חסרות או חלקים לא ממומשים בקוד.
== אוטומציה==
כיום, ישנם מספר כלים לייצור אוטומטי של בדיקות קופסה לבנה. כלי [[בדיקות תוכנה ממוכנות|אוטומציה]] כמו [[Pex(software)|Pex]] יודעים לנתח את הקוד ולמצוא ערכי קלט מייצגים שיאפשרו מעבר במסלולים שונים בקוד.
==אבטחת תוכנה==
|