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

ניר קליב - מיקרוסופט
להלן תמצית הדברים של ניר (אני לא אחראי
)
1. הגדרת תפקיד הבודק בחברה:
- אמצעים לקבלת החלטה עבור המנהל
- יותר prevention – למצוא באגים מוקדם בתהליך
- לתמוך במודלים של פיתוח מודרניים כמו agile
- להיות פחות blocker ויותר enabler
- להתייחס יותר ל- customer scenario ופחות לתקלות ברמת הקוד – היכן לשים את הדגש
- מי אחראי לאיכות: כולם (ולא רק הבודק)
2. מסתכלים על test כבעיה של תוכנה/ הנדסה:
- הבודקים יהיו כולם מתכנתים בהשכלתם
- 40% מסה"כ העוסקים בתוכנה (90000 איש) עוסקים בבדיקות
- השאיפה להפוך את כל הבדיקות לאוטומטיות
3. מה עושה הבודק במיקרוסופט:
- קובע את האסטרטגיה
- תיכנון בדיקות (תיכנון של התוכנה שתבצע את הבדיקות)
- השפעה על ה- design של המוצר
- ביצוע root cause analysis
- Code reviews לבדיקות ולמוצר עצמו
- כתיבת ופיתוח אוטומציה של בדיקות
- ביצוע validation לבאגים מתוקנים
- יחס בודק מפתח 1:1
- Trio – dev, 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 שנים לאחר סיום פיתוח מתאפשר בזכות אוטומציה מלאה.
סגור לתגובות
