האתר הישראלי להנדסת תכנה

דף ראשי | מפת האתר | רשימת מושגים | מקורות נוספים | אודות
בדיקות מעלה-מטה ומטה-מעלה בדיקת עומס

בדיקת ממשקים

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



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

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

בדיקות מעלה-מטה ומטה-מעלה לתחילת הדף בדיקת עומס
©איתן 2003. כל הזכויות שמורות למערכת המידע איתן