יונ' 16 2010

ביצוע בדיקות במיקרוסופט ישראל – כנס סיגיסט 2010

מאת: רם יוניש בשעה 2:49 נושאים: כללי

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

ניר קליב - מיקרוסופט

ניר קליב - מיקרוסופט

להלן תמצית הדברים של ניר (אני לא אחראי :) )

1. הגדרת תפקיד הבודק בחברה:

  • אמצעים לקבלת החלטה עבור המנהל
  • יותר prevention  – למצוא באגים מוקדם בתהליך
  • לתמוך במודלים של פיתוח מודרניים כמו agile
  • להיות פחות blocker ויותר enabler
  • להתייחס יותר ל- customer scenario ופחות לתקלות ברמת הקוד – היכן לשים את הדגש
  • מי אחראי לאיכות: כולם (ולא רק הבודק)

2. מסתכלים על test כבעיה של תוכנה/ הנדסה:

  • הבודקים יהיו כולם מתכנתים בהשכלתם
  • 40% מסה"כ העוסקים בתוכנה (90000 איש) עוסקים בבדיקות
  • השאיפה להפוך את כל הבדיקות לאוטומטיות

3. מה עושה הבודק במיקרוסופט:

  • קובע את האסטרטגיה
  • תיכנון בדיקות (תיכנון של התוכנה שתבצע את הבדיקות)
  • השפעה על ה- design של המוצר
  • ביצוע root cause analysis
  • Code reviews לבדיקות ולמוצר עצמו
  • כתיבת ופיתוח אוטומציה של בדיקות
  • ביצוע validation לבאגים מתוקנים
  • יחס בודק מפתח 1:1
  • Triodev, product, test

4. אסטרטגיה:

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

5. אוטומציה:

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

6. למצוא תקלות כמה שיותר מוקדם בתהליך:

  • מיקוד ב- prevention
  • לערב את המפתחים ומנהלי המוצר בבדיקות
  • לעשות אוטומציה ל- pre-check
  • Self host – ביצוע בדיקות "אמיתיות" על מוצרים אמיתיים בסביבת הפיתוח
  • ללמוד ולשפר – תקלות שהתגלו בשלב מאוחר להבין איך ניתן היה לדלות אותן מוקדם יותר
  • מבצעים unit test עם code review וטסטים אוטומטיים ברמת היחידה, מבצעים אוטומציה ברמת pre checks וגם כותבים טסטים אוטומטיים ברמת ה- build וזאת לפני בדיקות ואלידיות ורגרסיה.

7. טכניקות – Black box, white box and gray box ועוד הרבה…

8. Agile:

  • 4 שבועות כתיבת קוד + unit test מלא ואוטומטי
  • שבועיים עד שלושה של בדיקות stabilization (רגרסיות, אינטגרציה, מערכת, self host)
  • Post release – תמיכה במוצר לאורך 10 שנים לאחר סיום פיתוח מתאפשר בזכות אוטומציה מלאה.

סגור לתגובות

התגובות סגורות.