מיקרוסופט שוברת את הקירות עם Visual Studio 2010 Team Foundation Server

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

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

מיקרוסופט נתנה שם לצורת העבודה הזאת – Working in Silos. כל אחד מהגורמים עובד במחסן שלו ולא באמת מתקשר ומסתנכרן עם שאר הצדדים. אחת מהמטרות העיקריות של החברה ב-VS2010 היא בעצם לשבור את הקירות בין הארכיטקטים, המפתחים והבודקים על ידי ריכוז כל העבודה בסביבה אחת שהיא הTeam Foundation Server.

אז מה הולך שם בעצם?

הTFS הוא פתרון Application Lifecycle Management שלם הכולל בתוכו כלים לניהול דרישות פיתוח, פיתוח בפועל ובדיקות תוכנה, היות שתחום העניין של כותב מאמר זה הוא בדיקות תוכנה אציין רק בכמה מילים את פתרונות הארכיטקטורה והפיתוח.

דרישות פיתוח נקראות כעת Work Items , הארכיטקט בונה את עץ המוצר ומזין בו תכנים, פעילות זאת נעשית ישירות מתוך Visual Studio 2010, עם פתיחת פרוייקט חדש ניתן לבחור מבין 2 מתודלוגיות פיתוח , Waterfall מסורתית או Agile , הבחירה משפיעה על כיצד ינוהלו הדרישות, ובאופן דומה – הבדיקות. המפתחים, באופן דומה, כותבים את הקוד הרלוונטי לדרישה וכאשר הם מבצעים Check_In מדווחים לאיזו דרישה מקטע הקוד רלוונטי.

No More Not Reproducible וחסל סדר פואטיקה

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

כמו שהזכרנו מקודם – הכל סובב סביב הWork-Items. כעת איש הבדיקות יתכנן את הבדיקות שלו על סמך אותו Work Item ואף יבצע אותן – באותה סביבה בדיוק כמו המפתח והארכיטקט. שוברים את הקירות כבר אמרנו?

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

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

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

תודה מיוחדת לשי רייטן על עזרתו בהכנת הכתבה.

הפוסט נכתב במקור בניוזגיקvisualstudio2010.

חגי יעקובסון

מגיל צעיר שובר דברים (ומשתדל להרכיבם מחדש מבלי להשאיר ברגים בחוץ) משחק במשחקי מחשב עוד מימי הויק-20 והסגה מסטר סיסטם, בימים אלו נראה חורש על האקסבוקס-360.

הגב

Be the First to Comment!

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
wpDiscuz

תגיות לכתבה: