על מנת שתהיה לנו שפה משותפת, נצטרך קודם לערוך היכרות עם מספר מושגי יסוד בתחום הבדיקות.
נשתמש בעיקר במונחים באנגלית מהסיבה שכל התחום (בהייטק) משתמש בעיקר או רק באנגלית, אם בשליחת מיילים, בתיעוד מסמכים או בתיאור הבדיקות עצמן.
לא חייבים לדעת ישר את כל המונחים, אבל אני ארשה לעצמי בהמשך להשתמש במונחים אלה ללא הסבר, כך שתמיד יהיה ניתן לחזור לדף הזה (או לחילופין, לערוך חיפוש בבלוג) ולבדוק למה הכוונה.
Test Case / TC
תרחיש בדיקה יחיד. תיאור הבדיקה יכלול סדרת צעדים (steps) שיש לבצע ותוצאות (results) כדי לממש את הבדיקה.
Test Step
פעולה שעל הטסטר לבצע עבור הבדיקה. לרוב יידרשו מספר צעדים בסדר מסוים .
Test Result
התוצאה הצפויה להתקבל מהטסט כולו או מצעד בודד, תלוי ברמת הפירוט בה נכתב הטסט.
Test Suite
ריכוז של מספר טסטים שלרוב קשורים לאותו נושא או פונקציה שנבדקת.
Test Report / TR
מסמך הכולל דו"ח המפרט את הטסטים שבוצעו במהלך מחזור הבדיקות ואת התוצאות של טסט.
Test Cycle
מחזור בדיקות. סט מוסכם של בדיקות שיש לבצע, לפי התכנית.
Software Test Plan / STP
מסמך תכנית הבדיקות הכללית שיש לבצע. הפורמט משתנה מארגון לארגון, אך העיקר הוא התיאור הכללי של הבדיקות, ברזולוציה גבוהה, מבלי להכנס לפרטים הקטנים.
Software Test Description / STD
מסמך המתמקד בתיאור הטסטים בפירוט. לרוב יכלול כבר את הצעדים והתוצאות של כל טסט, שוב, בתלות בארגון.
Acceptance Test Plan / ATP
מסמך המתאר טסטים שנועדו לאשש את קיומם של רכיבי התוכנה כפי שהם מתוארים במסמך הטכני שלה (specification או בקיצור spec) או במסמך התכנון שלה (design).
הבדיקות לרוב, אינן מעמיקות ונועדו לתת ביטחון ללקוח שהתוכנה שהוא מקבל אכן עומדת בסטדנרטים שביקש, גם אם היא לא מושלמת.
Show Stopper
כישלון בטסט שעוצר את מחזור הבדיקה. יש להחליט מראש איזה כישלון או כמה כישלונות "שוברים" מחזור בדיקה , אך לרוב מדובר במקרה בה התכנית לא תבצע פונקציה מרכזית וקריטית או כאשר הכישלון מונע מה- QA לבצע חלק גדול ממחזור הבדיקה.
Regression
נסיגה, רגרסיה. גם נושא שצריך להחליט עליו מראש, אך לרוב מדובר במצב בו גירסה של התוכנה שנמסרה ל-QA לאחר תיקונים, נמצאה גרועה יותר מאשר היתה לפני התיקונים.
Build / Tag / Branch
גירסה של התוכנה שיוצאת לבדיקה ונמסרת ל-QA. אני לא אכנס כרגע להסברים מה ההבדל בין כל אחד מהמונחים, מבחינת ה-QA שמקבל את התוכנה המשמעות זהה.
Manual Test
בדיקה ידנית. תפעול הבדיקה יהיה ע"י טסטר בלבד. טסטים שכוללים למשל, חיבור וניתוק של ציוד או תוצאות התלויות בשיקול דעת אנושי, יכללו בקטגוריה זו.
Automatic Test
בדיקה אוטומאטית. תפעול הבדיקה יהיה לרוב ע"י סקריפט או תוכנת בדיקות ייעודית. לא אכנס כרגע לנושא כיון שהוא רחב מדי ואסתפק רק לומר שבדיקות אלו לרוב מבוצעות על תהליכים ארוכים ו / או שחוזרים על עצמם בתזמונים "לא אנושיים" כמו למשל להעלות ולהוריד תוכנה מאות או אלפי פעמים ברציפות.
Modules
כשלמוצר הנבדק מרכיבים שונים, מתייחסים לכל אחד מהם בנפרד בבדיקות. למשל, ברוב הטלפונים הסלולריים קיימים מספר מודולים כמו: שיחות רגילות, מצלמה, אינטרנט, משחקים ועוד.
Target
המוצר הנבדק. כשמדובר בתוכנה שנכתבת עבור מכשיר אלקטרוני כלשהו, משתמשים במינוח Target כדי לציין שהתוכנה נבדקה על המוצר ולא למשל על ה- PC שהקוד נכתב עליו.
Board
בשלבים הראשונים של המוצר, קיימת העדפה לעבוד על לוח אלקטרוני כלשהו עם רכיבים אלקטרוניים הדומים לאלה שיופיעו במוצר הסופי. קיימים Boardים לפי הזמנה מיוחדת וקיימים כאלה שמיועדים לכך מראש ומגיעים עם מערכת Linux מובנית שניתן להתאים אותה לצרכי הפיתוח.
Image
בהקשר של Boardים, מדובר בקובץ שנפרש בד"כ על כרטיס זיכרון או על הזיכרון הפנימי של ה- Board ושמכיל למעשה את כל הקבצים ומערכת ההפעלה הנדרשת ל- Board כדי לעלות ולאפשר את ריצת התוכנה המיועדת.
Research and Development / R&D
מחלקת המחקר והפיתוח בארגון המורכבת לרוב ממתכנתים, ר"צ ומנהל ה- R&D. בארגונים מסויימים ה- QA כפוף למנהל ה- R&D ובאחרים ל- QA יש מנהל משלו. מחלקת ה- R&D תשחרר את התוכנה ל- QA לבדיקה בהתאם ללוח הזמנים שתוכנן מראש.
Source Code
קוד מקור. קבצי טקסט המכילים את הפקודות לתוכנה שנכתבו בשפת תכנות כלשהי.
Compilation
קומפילציה. תהליך המאחד את כל קבצי ה- Source Code לקובץ יחיד הניתן להרצה (Binary)
Functionality / Positive Testing
בדיקות פונקציונאליות יוודאו שהתוכנה פועלת כנדרש ממנה באמצעות ביצוע פעולות לגיטימיות וצפויות שהמוצר יועד עבורן. לדוגמא, בטלפון סלולרי - ניהול / ניתוק שיחה.
Non Functional / Negative Testing
בדיקות שיבדקו התנהגויות לא צפויות של המשתמש על המוצר כדי לחזק את היציבות שלו גם כשקורים דברים לא מתוכננים מראש. לדוגמא, בטלפון סלולרי - כניסה לאזור ללא קליטה במהלך שיחה או שליחת נתונים.
Free-Style Test
מצב בו הטסטר ניגש לבדיקות בצורה חופשית, אינטואיטיבית ולא מסודרת. המטרה היא לרוב לקצר בזמנים, או לבדוק מוצר באופן חד פעמי כאשר עדיין לא כתובים לו מסמכים.
MiddleWare
תוכנה שנותנת שירותים לתוכנות אחרות מעל מערכת ההפעלה. לרוב, תוכנה זו תהיה חסרה UI ואינטראקציה של משתמש קצה אפשרית רק דרך תוכנה אחרת, Console Application או GUI.
נשתמש בעיקר במונחים באנגלית מהסיבה שכל התחום (בהייטק) משתמש בעיקר או רק באנגלית, אם בשליחת מיילים, בתיעוד מסמכים או בתיאור הבדיקות עצמן.
לא חייבים לדעת ישר את כל המונחים, אבל אני ארשה לעצמי בהמשך להשתמש במונחים אלה ללא הסבר, כך שתמיד יהיה ניתן לחזור לדף הזה (או לחילופין, לערוך חיפוש בבלוג) ולבדוק למה הכוונה.
Test Case / TC
תרחיש בדיקה יחיד. תיאור הבדיקה יכלול סדרת צעדים (steps) שיש לבצע ותוצאות (results) כדי לממש את הבדיקה.
Test Step
פעולה שעל הטסטר לבצע עבור הבדיקה. לרוב יידרשו מספר צעדים בסדר מסוים .
Test Result
התוצאה הצפויה להתקבל מהטסט כולו או מצעד בודד, תלוי ברמת הפירוט בה נכתב הטסט.
Test Suite
ריכוז של מספר טסטים שלרוב קשורים לאותו נושא או פונקציה שנבדקת.
Test Report / TR
מסמך הכולל דו"ח המפרט את הטסטים שבוצעו במהלך מחזור הבדיקות ואת התוצאות של טסט.
Test Cycle
מחזור בדיקות. סט מוסכם של בדיקות שיש לבצע, לפי התכנית.
Software Test Plan / STP
מסמך תכנית הבדיקות הכללית שיש לבצע. הפורמט משתנה מארגון לארגון, אך העיקר הוא התיאור הכללי של הבדיקות, ברזולוציה גבוהה, מבלי להכנס לפרטים הקטנים.
Software Test Description / STD
מסמך המתמקד בתיאור הטסטים בפירוט. לרוב יכלול כבר את הצעדים והתוצאות של כל טסט, שוב, בתלות בארגון.
Acceptance Test Plan / ATP
מסמך המתאר טסטים שנועדו לאשש את קיומם של רכיבי התוכנה כפי שהם מתוארים במסמך הטכני שלה (specification או בקיצור spec) או במסמך התכנון שלה (design).
הבדיקות לרוב, אינן מעמיקות ונועדו לתת ביטחון ללקוח שהתוכנה שהוא מקבל אכן עומדת בסטדנרטים שביקש, גם אם היא לא מושלמת.
Show Stopper
כישלון בטסט שעוצר את מחזור הבדיקה. יש להחליט מראש איזה כישלון או כמה כישלונות "שוברים" מחזור בדיקה , אך לרוב מדובר במקרה בה התכנית לא תבצע פונקציה מרכזית וקריטית או כאשר הכישלון מונע מה- QA לבצע חלק גדול ממחזור הבדיקה.
Regression
נסיגה, רגרסיה. גם נושא שצריך להחליט עליו מראש, אך לרוב מדובר במצב בו גירסה של התוכנה שנמסרה ל-QA לאחר תיקונים, נמצאה גרועה יותר מאשר היתה לפני התיקונים.
Build / Tag / Branch
גירסה של התוכנה שיוצאת לבדיקה ונמסרת ל-QA. אני לא אכנס כרגע להסברים מה ההבדל בין כל אחד מהמונחים, מבחינת ה-QA שמקבל את התוכנה המשמעות זהה.
Manual Test
בדיקה ידנית. תפעול הבדיקה יהיה ע"י טסטר בלבד. טסטים שכוללים למשל, חיבור וניתוק של ציוד או תוצאות התלויות בשיקול דעת אנושי, יכללו בקטגוריה זו.
Automatic Test
בדיקה אוטומאטית. תפעול הבדיקה יהיה לרוב ע"י סקריפט או תוכנת בדיקות ייעודית. לא אכנס כרגע לנושא כיון שהוא רחב מדי ואסתפק רק לומר שבדיקות אלו לרוב מבוצעות על תהליכים ארוכים ו / או שחוזרים על עצמם בתזמונים "לא אנושיים" כמו למשל להעלות ולהוריד תוכנה מאות או אלפי פעמים ברציפות.
Modules
כשלמוצר הנבדק מרכיבים שונים, מתייחסים לכל אחד מהם בנפרד בבדיקות. למשל, ברוב הטלפונים הסלולריים קיימים מספר מודולים כמו: שיחות רגילות, מצלמה, אינטרנט, משחקים ועוד.
המוצר הנבדק. כשמדובר בתוכנה שנכתבת עבור מכשיר אלקטרוני כלשהו, משתמשים במינוח Target כדי לציין שהתוכנה נבדקה על המוצר ולא למשל על ה- PC שהקוד נכתב עליו.
Board
בשלבים הראשונים של המוצר, קיימת העדפה לעבוד על לוח אלקטרוני כלשהו עם רכיבים אלקטרוניים הדומים לאלה שיופיעו במוצר הסופי. קיימים Boardים לפי הזמנה מיוחדת וקיימים כאלה שמיועדים לכך מראש ומגיעים עם מערכת Linux מובנית שניתן להתאים אותה לצרכי הפיתוח.
Image
בהקשר של Boardים, מדובר בקובץ שנפרש בד"כ על כרטיס זיכרון או על הזיכרון הפנימי של ה- Board ושמכיל למעשה את כל הקבצים ומערכת ההפעלה הנדרשת ל- Board כדי לעלות ולאפשר את ריצת התוכנה המיועדת.
Research and Development / R&D
מחלקת המחקר והפיתוח בארגון המורכבת לרוב ממתכנתים, ר"צ ומנהל ה- R&D. בארגונים מסויימים ה- QA כפוף למנהל ה- R&D ובאחרים ל- QA יש מנהל משלו. מחלקת ה- R&D תשחרר את התוכנה ל- QA לבדיקה בהתאם ללוח הזמנים שתוכנן מראש.
Source Code
קוד מקור. קבצי טקסט המכילים את הפקודות לתוכנה שנכתבו בשפת תכנות כלשהי.
Compilation
קומפילציה. תהליך המאחד את כל קבצי ה- Source Code לקובץ יחיד הניתן להרצה (Binary)
Functionality / Positive Testing
בדיקות פונקציונאליות יוודאו שהתוכנה פועלת כנדרש ממנה באמצעות ביצוע פעולות לגיטימיות וצפויות שהמוצר יועד עבורן. לדוגמא, בטלפון סלולרי - ניהול / ניתוק שיחה.
Non Functional / Negative Testing
בדיקות שיבדקו התנהגויות לא צפויות של המשתמש על המוצר כדי לחזק את היציבות שלו גם כשקורים דברים לא מתוכננים מראש. לדוגמא, בטלפון סלולרי - כניסה לאזור ללא קליטה במהלך שיחה או שליחת נתונים.
Free-Style Test
מצב בו הטסטר ניגש לבדיקות בצורה חופשית, אינטואיטיבית ולא מסודרת. המטרה היא לרוב לקצר בזמנים, או לבדוק מוצר באופן חד פעמי כאשר עדיין לא כתובים לו מסמכים.
MiddleWare
תוכנה שנותנת שירותים לתוכנות אחרות מעל מערכת ההפעלה. לרוב, תוכנה זו תהיה חסרה UI ואינטראקציה של משתמש קצה אפשרית רק דרך תוכנה אחרת, Console Application או GUI.