ISTQB Foundation Level - הסמכת אבטחת איכות

מק"ט: #1032 | משך קורס: 40 שעות אק'
| מספר מפגשים: 5


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

ארגון ISTQB (International Software Testing Qualification Board ) הינו ארגון בינלאומי שמטרתו לקדם את מקצוע בדיקות התוכנה ע"י פיתוח וקידום של סילבוס אחיד, שפה מקצועית אחידה ומסלול התקדמות מקצועית מוכר ואחיד בכל העולם. הארגון מאגד בתוכו כ- 41 מדינות (אירופה ,ארה"ב, הודו ,יפן, ישראל ועוד) ומדינות נוספות נמצאות בתהליכי אישור מתקדמים.

הקורס המכין להסמכת "Certified Tester - Foundation Level" כולל הכרה תיאורטית ומעשית עם עקרונות מעולם הבדיקות, שילוב הבדיקות כחלק ממחזור חיי הפיתוח, ניהול ושליטה בפרויקט, תיעדוף הבדיקות בהתאם לניתוח סיכוני הפרוייקט, בדיקות מנקודת המבט של המפתח, ראש הצוות ומנהל  הפרוייקט. הקורס עוסק גם בבדיקות בשלבים מוקדמים בתהליך הפיתוח, בקרת מסמכים, בדיקות טרום כתיבת הקוד, במהלך כתיבת הקוד ובהטמעת הקוד(static testing and white box techniques).

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

לפרטים נוספים, מלא את פרטיך או התקשר 03-7100673
*שדות חובה
PDF version

תנאי קדם

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

קהל יעד

• מנהלי פרויקטים, בודקים, מפתחים, מנתחי מערכות, אנשי QA וכל גורם המעורב בתהליכי הפיתוח והבדיקות.
• סטודנטים שנה ג'/ בוגרי תואר ראשון/ מהנדסים/ הנדסאים במגמות המחשוב (מדעי המחשב, מערכות מידע).
 

מטרות הקורס

הכנת המשתתפים לבחינת ההסמכה הבינלאומית ISTQB ברמת FOUNDATION ולימוד כל הרקע המתודולוגי הנדרש לאנשי QA.

נושאי הקורס

Introduction To ISTQB

  • Foundation syllabus- הצגת הסילבוס, מבנה הקורס, מטרות הקורס וחוברת הקורס
  • ISTQB- הצגת הארגון העולמי והישראלי ומטרותיו
  • Mock Exam- ביצוע בחינת כניסה ומעבר קצר על התוצאות(אופציונאלי)

Module A - Fundamentals of testing

  • Why is testing necessary- כולנו בני אדם וכולנו עושים טעויות, דוגמאות אמיתיות לתקלות תוכנה שגרמו לאסונות בעולם
  • What are defects and what causes errors- סיווגים שונים לתקלות (Error, Fault, Failure), כיצד נגרמות טעויות אנוש ואיך ניתן להקטין תקלות אלו בצורה משמעותית (נהלים, בקרה, גלופות וכיוב')
  • What is quality- הגדרות קלאסיות ומתקדמות, הגדרת האיכות על פי דארווין בהתאם לאופי המוצר/ השירות, Validation & Verification.
  • What is testing- הצגת הנושא והגדרות קלאסיות ומתקדמות
  •  General Test Principles- עקרונות מרכזיים בבדיקות תוכנה, כגון: חשוב להתחיל את הבדיקות בשלבים מוקדמים בכדי לאתר תקלות שתיקונן בשלבים מתקדמים יותר יעלה הרבה מאוד כסף, חשוב להפריד בין הבדיקות לפיתוח- כל אחד והתמחותו הוא, חובה להגדיר את התוצאות הצפויות מראש על בסיס מסמך הדרישות/ אפיון, חשוב לבצע בדיקות ואלידיות ולא ואלידיות, לא ניתן לבדוק הכל - צריך לבדוק בהתאם לתיעדוף שהוגדר מראש (על בסיס ניתוח סיכונים) וכדומה.
  • Fundamental test processes- תהליך הבדיקות מורכב מחמישה שלבים בסיסיים: תכנון פרויקט הבדיקות, עיצוב תרחישי בדיקה, ביצוע הבדיקות, תיעוד הבדיקות ובחינת העמידה בתנאי הסף לסיום הבדיקות.
  • Psychology of testing- הפרדוקס של בודק התוכנה, היחסים בין צוות הבדיקות לצוות הפיתוח, דגש לתקשורת הבינאישית והחשיבות של בדיקות ע"י צוות עצמאי בלתי תלוי.

Module B - Testing in the life cycle

נתייחס למחזור החיים של פרויקט הפיתוח ולשלבי וסוגי הבדיקות השונות לאורך מחזור זה

  • SDLC (waterfall, incremental, V-Model) - הצגת המודלים השונים של מחזור חיי הפיתוח, בדגש על ה-  V modelועל המודל האיטרטיבי והיתרונות שלו בפיתוח "גמיש" לשינויים.
  • Test levels (unit, integration, system, acceptance, maintenance)- הצגת שלבי הבדיקות השונים המתבצעים לאורך מחזור חיי הפרוייקט, כולל התייחסות לסוג הבדיקות, סביבת הבדיקות, מי עושה את הבדיקות ומה הן צריכות לכלול.
  • Test types- סוגי הבדיקות נחלקים לארבעה: functional testing, non functional, testing of SW structure (white box), testing related to changes
  • Functional testing - בדיקות שמטרתן לוודא שהמערכת עושה מה שהיא צריכה לעשות ולא עושה מה שהיא לא צריכה. בדיקות אלו תמיד יתבססו על מסמך הדרישות/ האפיון.
  • Non functional testing- בדיקות שמטרתן לוודא איך המערכת מתפקדת. קיימים סוגי בדיקות רבים, כגון: Load, Stress, Performance, volume, data, configuration, Usability, Backup & Recovery.
  • ISO 9126 (software quality characteristics)- הצגת ששת מאפייני האיכות הבסיסיים למערכות ITבהתאם ל- ISO 9126, כולל: functionality, reliability, usability, efficiency, maintainability, portability
  • White box testing- בדיקות המבוסות על הבנת מבנה הקוד/ התוכנית, כולל טכניקות למדידת כיסוי הבדיקות (coverage)
  • Testing related to changes- בדיקות המשויכות לשינויים/ תיקונים כגון: retesting, regressionו - sanity.

Module C - Static testing techniques

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

  • Types of static testing- הצגת הבדיקות הסטטיות, מיקומן במחזור חיי הפרויקט, וחשיבותן (מציאת תקלות בשלב בקרת המסמכים חוסכת הרבה כסף לארגון).
  • Informal review- ביצוע בקרת מסמכים בצורה לא פורמאלית אינו יעיל ואינו אפקטיבי במרבית המקרים. הצגת הנושא ונקודות הכשל בבקרה מסוג זה. 
  • Types of formal reviews (Inspection, Technical, Walkthrough)- קיימות שלוש בקרות שונות המתקיימות בשלבים שונים במהלך כתיבת המסמכים בפרוייקט (לעיתים אותה בקרה יכולה להתבצע יותר מפעם אחת). לכל בקרה מטרה שונה, משתתפים שונים ומערכת חוקים משלה (פורמאלית יותר או פחות). נציג את שלוש השיטות, כולל:
  • The inspection review process- הטכניקה הפורמאלית והמעמיקה ביותר לבקרת מסמכים ולאישור לפני הפצתם, כוללת הגדרת "חוקי משחק" ותפקידים.
  • Technical review- בקרה טכנית של מומחי ידע בתחום ספציפי.
  • Walkthrough- בקרת מסמך ברמת פורמאליות מועטה לאישור ה"דרך" או לאישור סופי לפני העברת המסמך לעבודה.
  • Static code analysis- בקרת קוד. בד"כ תבוצע ע"י הפיתוח/ ר"צ פיתוח בהתייחס למבנה הקוד, עמידה בסטנדרטים מקובלים וכדומה. תוצג רשימת תיוג לביצוע code inspectionוטכניקה לחישוב רמת המורכבות של הקוד (complexity measurement).

Module D - Test design techniques

  • Test specification process- על מנת לבצע בדיקות דינאמיות (הרצה של הקוד) חייבים לתכנן ולבנות תרחישי בדיקה בצורה פורמאלית (scripted code). תהליך תכנון וכתיבת תרחישי הבדיקה עד ההרצה מתחלק לארבעה שלבים:
  • Test design specification- זיהוי הרכיבים, התהליכים והפונקציונאליות שיש לבדוק במסמך הדרישות (what to test).הגדרת תנאי הבדיקה.
  • Test case specification- הגדרת הנתונים לבדיקה והתוצאה הצפויה
  • Test procedure specification- הגדרת תהליך הבדיקה בצורה מסודרת שלב אחר שלב
  • Test execution schedule- בניית סטים של תרחישי בדיקה כולל תזמון בין בדיקות ותיעדוף.
  • Specification based techniques (black box)- קיימות טכניקות רבות ליצירה ותכנון של תרחישי בדיקה לבדיקות פונקציונאליות. בפרק זה נתמקד במספר שיטות מרכזיות ונלמד להשתמש בהן בעזרת יישום בתרגול בכיתה:
  •  Equivalence partitioning(קבוצת שקילות)
  • Boundary value analysis(ניתוח ערכי הגבול)
  • Decision testing table
  • State transition testing
  • Use case testing
  • Structure based techniques (White Box)- הסבר והדגמה קצרה של בניית תרחישי בדיקה על בסיס מבנה הקוד לטובת בדיקות "קופסא לבנה" ולמדידת הכיסוי של המערכת. יוצגו הטכניקות הבאות:
  • Statement coverage
  • Branch/ decision coverage
  • Condition coverage
  • Experienced based techniquesטכניקות בדיקה לא פורמאליות, ללא תכנון מקדים של תרחישי בדיקה, כולל:
  • Error guessing- טכניקת בדיקות לא פורמאלית המבוססת על ניסיון וידע קודם של הבודק
  • Exploratory testing- טכניקת בדיקות מתקדמת הכוללת תכנון וביצוע של הבדיקות במקביל.                                                                      

Module E - Test management

  • Testing Team organization- מאילו תפקידים צריך להיות מורכב צוות הבדיקות, מה רמת החופש/ העצמאות הדרושה לאנשי הבדיקות (האם כפיפות למנהל הפיתוח או גוף עצמאי?). מה תפקידו של מנהל הבדיקות ומה תפקידו ואחריותו של הבודק עצמו.
  • Software Test Plan (STP)- תוכנית על לתכנון הבדיקות הינה מסמך בדיקות ראשון ובעל חשיבות רבה. בפרק זה יוצג המבנה הפורמאלי של תוכנית STPעל בסיס הסטנדרט המקובל לתיעוד פרויקט בדיקות -  IEEE 829.כולל דוגמאות ודגשים לפרקים מרכזיים במסמך תכנון הבדיקות (מה בודקים ומה לא, אסטרטגיית הבדיקות, תנאי סף להתחלה ולסיום הבדיקות וכדומה).
  • Testing time estimation- אמידה מדויקת של לוחות הזמנים והמשאבים הנדרשים בפרויקט בדיקות היא מלאכה כמעט בלתי אפשרית. נציג את הבעייתיות, טיפים ומודלים שיכולים לעזור לנו לחשב אומדן קרוב יותר למציאות.
  • Monitoring & Control- כמו בכל פרויקט גם בפרויקט בדיקות ישנה חשיבות רבה מאוד לבקרה ודיווח במהלך חיי הפרויקט. נציג את החשיבות של מעורבות אנשי הבדיקות בדיווח מדויק ונדגים סוגים שונים של דיווחים לאורך שלבי פרויקט הבדיקות.
  • Software Test Result (STR)- מסמך המסכם את תוצאות הבדיקה ומוכנות המערכת לעבור לשלב הבא/ ללקוח. מבוסס על IEEE 829(summery test report).
  • Configuration management - הסבר קצר מה זה ניהול תצורה, למה הוא חשוב לארגון, אילו תקלות נובעות מניהול תצורה לא תקין ומאילו אלמנטים בנוי ניהול תצורה נכון (Identificationand Control)
  • Risk Management/ Assessment- זיהוי הסיכונים (product and project risks), הגדרת פרמטרים המשפיעים על הסיכון, בניית טבלת סיכונים ומטריצת סיכונים (כולל תרגול מותאם ללקוח)
  • Incident/ Problem management- מחזור החיים של הטיפול בתקלות חדשות כולל קביעת סוג התקלה (תוכנה, אפיון, תשתית), הסטטוס שלה, החומרה שלה, תיעדוף לתיקון וכיוב'. בפרק זה נסביר את החשיבות בתיעוד מדויק של כל תקלה/ אירוע, כיצד צריך להיות בנוי טופס דיווח תקלות (שדות קלט מרכזיים) ובנוסף, יוצגו הגורמים השונים המטפלים בכל תקלה והשלבים אותם היא עוברת עד לסגירתה בסטטוס כזה או אחר. נושא זה יוצג בצורה מעשית בסדנת ה- TestDirector.

Module F - Testing tools Overview

  • Why test tools are useful?- הסבר קצר על תפקידם של הכלים האוטומטיים בבדיקות.
  • Test tools per life cycle phase- הצגת סוגי הכלים השונים בהתאם למחזור החיים של פרויקט הפיתוח (כולל דוגמאות לכלים קיימים), כגון:
  • כלים לניהול ובקרה של פרויקט הבדיקות: test management tools,incident management tools, requirements managements tools and configuration management tools
  • כלים לבדיקות סטטיות: static analysis tools, modeling tools and review process support tools
  • כלים תכנון הבדיקות: test design tools, data preparation tools
  • כלים להרצת בדיקות כולל כלים לסביבת הפיתוח ( coverage tooling, debugging) וכלים לסביבת הבדיקות (load, performance, functional, security, comparators).
  • בחירה והטמעה של כלי אוטומטי בארגון- מעל ל- 25% מהכלים מוצאים דרכם למדף ולא מנצלים את היכולות שלהם. בפרק זה נדון במספר עקרונות שיש לבדוק וליישם כאשר בוחרים כלי ומטמיעים אותו בארגון. בנוסף תחולק רשימת תיוג לבחירת כלי אוטומטי.

 

תרגול והכנה למבחן ההסמכה

בסיום הקורס תבוצע הכנה למבחן ההסמכה אשר תכלול:

  • תרגולים על מבחנים לדוגמא
  • טיפים למעבר מוצלח
  • טיפים כיצד יש להתכונן למבחן
תגיות