בחן את עצמך | טל פאר

אחת השאלות הראשונות שסטודנטים שואלים אותי בקורס שמכין לבחינת ISTQB® היא "מה כוללת הבחינה?". האם כל תוכן הבחינה נמצא בסילבוס?

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

איך בכל זאת נדע מה תכלול הבחינה? בתחילת כל פרק מופיעה רשימת יעדי לימוד (learning objectives) המתאימים לכל פרק. לכל יעד לימוד מוגדרת רמת ידע קוגניטיבית (K-level) שמגדירה את הנדרש בשאלה. הסברתי בפירוט על רמות הידע הקוגניטיביות בגיליון 2. כל שאלה בבחינה צריכה להיות מקושרת ליעד לימוד מוגדר ולהתאים לרמת הידע המוגדרת. החל מגיליון זה, בפתרון השאלה אסביר לאיזה יעד לימוד ורמת ידע מתאימה השאלה.

הסילבוס מגדיר תהליך בדיקות (test process) שמורכב ממספר רבות בדיקה (test levels). השאלה שלנו היום מדברת על ההבדלים בין רמות הבדיקה השונות.

המשפטים הבאים משווים בין בדיקות רכיבים (component testing) ובדיקות מערכת (system testing). איזה משפט ממשפטים אלה נכון?

א.  בדיקות רכיבים מוודאות את הפונקציונליות של יחידות תוכנה שניתן לבדוק בנפרד; בדיקות מערכת מוודאות את הממשקים בין רכיבים ובין חלקים שונים של המערכת.

ב.  מקרי בדיקה (test cases) לבדיקות רכיבים נגזרים בדרך כלל ממפרטי הרכיב, מפרטי העיצוב או מודלים של הנתונים; מקרי בדיקה לבדיקות מערכת נגזרים בדרך כלל ממפרטי דרישות או מקרי שימוש (use cases).

ג.    בדיקות רכיבים מתמקדות רק על מאפיינים פונקציונליים; בדיקות מערכת מתמקדות במאפיינים פונקציונליים ומאפיינים לא פונקציונליים.

ד.  בדיקות רכיבים הן באחריות הבודקים; בדיקות מערכת הן בדרך כלל באחריות משתמשי המערכת.

 

 

 

הפתרון לשאלה

תהליך הבדיקות שמציג הסילבוס מורכב מארבע רמות בדיקה (test levels):

-          בדיקות רכיבים (component testing)

-          בדיקות אינטגרציה (integration testing)

-          בדיקות מערכת (system testing)

-          בדיקות קבלה (acceptance testing)

לכל רמת בדיקה יש מטרות מוגדרות וייחודיות לאותה רמה, בסיס בדיקות (test basis) שביחס אליו מגדירים את מקרי הבדיקה (test cases), פגמים (defects) וכשלים (failures) אופייניים, וגישות ספציפיות לעיצוב וביצוע הבדיקות ברמה הזו.

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

שאלה זו באה מפרק 2, מטרת לימוד FL-2.2.1 והיא לרמה K2 שמבקשת מהסטודנט להבין ולהסיק מסקנות.

הבה נבחן את התשובות:

א.  בדיקות מערכת לא בודקות את הממשקים בין רכיבים וחלקים שונים של המערכת. בדיקות אלה נעשות ברמת בדיקות האינטגרציה (integration tests).

ב.  שני המשפטים מתארים נכון מפרטים שעשויים לשמש כבסיס הבדיקות (test basis) עבור בדיקות רכיבים ובדיקות מערכת.

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

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

לפי ההסברים הנ"ל התשובה הנכונה היא תשובה א'.

השאלה תורגמה משאלון דוגמה A של ISTQB®.

אם תרצו שאגיש שאלת דוגמה בנושא מסוים או אם יש לכם שאלות, אנא פנו אלי באימייל [email protected]