בדיקות תוכנה מערכתיות


מיכל ג', יונה ס' – רפאל מערכות לחימה מתקדמות
לאה גולדין – Golden Solutions

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

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

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

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

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