נ' - על חייו הכפולים

מהפיכת הבדיקות בעולם התוכנה- חלק 2

9 באפריל, 2008 מאת נ'

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

בדיקות התוכנה בישראל

  •  תחום הבדיקות בארץ, כמו גם בעולם כולו, תופס תאוצה כבר כמה שנים. התחום, שכלל בתוכו בעבר רק סטודנטים שעבדו במשרה חלקית, כולל היום צוותים שלמים בהם חברים אנשי מקצוע מומחים בתחומם. אנשים עם ניסיון נחשקים יותר, וקורסים שונים נפתחים להכשרתם הבסיסית והמתקדמת. בדיקת איכות תוכנה הכרחית כיום להצלחת פרויקט. היחס הממוצע היום בשוק הוא 1:2- לכל 2 תוכניתנים מהנדס בדיקות אחד. בפרויקטים קריטיים היחס אף 1:1 ויותר…
  •  איכות תוכנה חולשת על כל שלבי החיים של הפיתוח- החל מבדיקת איכות דרישות הלקוח, דרך בדיקת איכות האפיון, העיצוב והפיתוח. המומחיות הנדרשת לשם בקרת התוצרים הנ"ל היא כשל מי שכותב ומייצר את אותם התוצרים.
  •  בדיקת איכות תוכנה קלאסית, היא בדיקות איכות המוצר הסופי ויכולה להיעשות ב-2 דרכים עיקריות:
    – בדיקות ידניות- מבוססות תסריטים או אינטואיטיביות שמבצע בודק התוכנה
    – בדיקות אוטומטיות- בדיקות ממוכנות בכלים (חינמיים או מסחריים) שרצות ללא התערבות בודק תוכנה.
  • בדיקות תוכנה עניין לא פשוט - בין אמנות למדע

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

  •  שינויים צפויים בשתי מגמות עיקריות:
    – כלים וטכנולוגיות
    – שיטות ומתודולוגיות עבודה (שינוי שורשי בתפיסת ההתנהגות של הענף, והבנה כי הוא מקצוע הנדסי, וצמצום פערי התנהלות הענף לכדי מקצוע הנדסי קונסרבטיבי)
  •  על רקע השינויים התכופים בעולם העסקי ובדרישות הלקוח, צמח מודל פיתוח חדש Agile development. התדירות הגבוהה בה מתבצעים שינויים בדרישות הלקוחות העסקיים, מביאים יותר ויותר מפתחי תוכנה לנטוש את מודל הפיתוח המקובל ה-Watefall לטובת מודל ה-Agile. כחלק מכך, משולבות בדיקות הקוד והמערכת בשלבים מוקדמים מאוד של הפיתוח, ותהליך הבדיקה שזור לכל אורך תהליך הפיתוח. זאת, בניגוד למודל ה-Waterfall, בו מתבצע שלב הבדיקות לקראת סיום תהליך הפיתוח כאשר המערכת קרובה לגרסתה הסופית.
  •  חברות המתכוונות ברצינות להעלאת איכות מוצריהן תצבענה לכיוונם של המומחים ויהיו מוכנים לשלם מחיר הוגן עבור שירותי מומחה, מתוך הכרה ברורה כי הנדסת בדיקות תוכנה היא שתכריע- ביו ארגון טוב למצוין, בין טכנולוגיה מסחרית למחקרית שלא תראה אור.
  • יש לכם מה לומר על תפיסת העולם המקצועית שהצגתי כאן? אשמח לנהל דיון באמצעות התגובות.
    שלכם,
    נ'.

    נושאים: כללי |

    

    4 תגובות

    1. דני, 15 באפריל, 2008 14:28

      יש בכלל חברות שלא מתייחסות בחרדת קודש לבדיקות תוכנה?
      אני כבר לא מכיר כאלה. היום זה הבסיס של הבסיס של חברה רצינית.

      דבר נוסף: לא משעמם לך בתחום הזה ולא מתסכל?
      אחרים מבצעים את העבודה היצירתית ואנחנו רק בודקים אותם.
      (:

    2. נ', 15 באפריל, 2008 15:25
      יש בכלל חברות שלא מתייחסות בחרדת קודש לבדיקות תוכנה?אני כבר לא מכיר כאלה. היום זה הבסיס של הבסיס של חברה רצינית.

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

    3. משה פורת, 28 באפריל, 2008 0:21

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

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

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

      משה

    4. נ', 28 באפריל, 2008 10:33
      אנחנו עדיין לא שם, אבל בהחלט המצב הוא לא כמו שהיה לפני עשר שנים ויותר…

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

    הוספת תגובה

    שימו לב: לציטוט טקסט או תגובה ליחצו עליה והיא תופיע אוטומטית בתיבת התגובה