
הטקסט המלא של הדקות הראשונות בהרצאה «Integration Testing» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעורים הקודמים עשינו התאמה בין רמות הבדיקה לבין הנקודה על המחזור חיים של פיתוח תוכנה שבו אנחנו נמצאים. אמרנו ש- Software Development Lifecycle, המחזור חיים של פיתוח תוכנה מחולק לנקודות או ליחידות על ציר המחזור, אחד מהם זה פיתוח, תחילת הפיתוח.
תחילת הפיתוח זה בעצם פיתוח של רכיבים בודדים, יחידות בודדות בתוך המערכת. הרמה המתאימה לזמן זה, זה רמת בדיקה של רכיב.
רמת בדיקה של רכיב בודקת את הרכיב הספציפי שפותח בנקודת הזמן מסוימת ב-software development life cycle. הרמה השנייה שנרצה לדבר עליה, שמתאימה מבחינת ה-software development life cycle לשלב האינטגרציה, השלב שבו הרכיבים מתחילים לדבר אחד עם השני, זה שלב בדיקות האינטגרציה.
האינטגרציה אומר שרכיב מתחיל להיות מודע לרכיבים אחרים במערכת, אם ניתן דוגמא באפליקציה שכולנו מכירים, פייסבוק, אז יש לנו רכיב של כתיבת פוסט עם הרכיב של הפרופיל האישי, כל הדברים האלה הם רכיבים בתוך המערכת, עוד רכיב בפייסבוק יכול להיות התמונות יחד עם החברים,
כל מיני פעולות כאלה שמרכיבות בעצם בסופו של דבר את המוצר לשלם את כל המערכת. אז רכיבים, לראות איך הם עובדים אחד עם השני, בעצם אנחנו צריכים להגיע לשלב בדיקות אינטגרציה.
מה המטרות של בדיקות אינטגרציה? הפחתת סיכונים, וידוא שההתנהגות הפונקציונלית והלא פונקציונלית של הממשקים הן בהתאם לייצוא ולאפיון, זאת אומרת, אנחנו צריכים לבדוק גם את הפונקציונליות של הרכיבים, אבל גם רמה של פעילות לא פונקציונלית, כמו זליגת זיכרון,
אנחנו רוצים לראות שכל הרכיבים עובדים בצורה תקינה ולא מכבידים על המערכת. בניית אמון באיכות הממשקים, כשאנחנו בעצם בודקים את כל הממשקים אחד עם השני, אז אנחנו מתחילים לראות איך המערכת בעצם יציבה ועומדת, איך הביצועים של המערכת.
מציאת פגמים, לפעמים הרכיב עצמו לא יחשוף פגמים, אלא מתי שיש בעצם את האינטגרציה עם רכיבים אחרים. מניעת זליגה של פגמים לרמות בדיקה גבוהות יותר.
אנחנו נרצה לזהות אינטגרציה בשלב האינטגרציה הבסיסי בין רכיב אחד, שניים או יותר, למנוע בעצם סדיגה של תקלות ברמות יותר גבוהות של פגמים ורמות יותר גבוהות של אינטגרציה.
בדיקות רכיבים, במקרים בהם מיישמים בדיקות נסיגה אוטומטיות ברמה זו, הן מספקות אמון בכך שהשינויים שנעשו לא שברו מערכת.
אנחנו יכולים לצרף לכמה רכיבים שכבר בדקנו רכיב נוסף ולראות שהרכיב הנוסף לא פוגע בעבודה הקודמת של הרכיבים אחד עם השני. בדיקות אינטגרציה של רכיבים מתמקדות בממשקים ופעולות, מתקיימות בין הרכיבים.
הבדיקות אינטגרציה יבואו אחרי בדיקות הרכיב, אחרי ה-Unit Testing, אחרי ה-Component Testing תבוא בדיקת האינטגרציה. בדיקות אינטגרציה של מערכות מתמקדות בממשקים וביחסי הגומלין בין המערכות, חבילות וה-Micro Services.
לא תמיד בדיקות אינטגרציה יהיו בין חלקים שמפותחים באותו ארגון. הרבה פעמים בדיקות אינטגרציה יכללו ממשקים ושירותים שהארגון מבקש מגורמים חיצוניים.
לדוגמה, חברה שנותנת שירות של שליחות של מוצר מסוים ואנחנו רוצים לקבל את המספר אישור לשליחות, אז אנחנו נבצע בדיקת אינטגרציה של החלקים שלנו עם אותה מערכת שמספקת את המספר אישור למשלוח.