הרצאת וידאו: כל מה שצריך לדעת על פיתוח ב-TDD
אמיתי הורביץ, מפתח תוכנה ב-Wix, מספר על העבודה היומיומית ב-TDD, מפוגג תפיסות מוטעות ומדבר על יתרונות המתודולוגיה ועל כל סוגי הבדיקות
מאת אמיתי הורביץ
בשנת 1996 החל קנט בק (Kent Beck) תנועה בשם Extreme Programming שביקשה לקחת את הסטנדרטים בעולם הנדסת תוכנה לקצה. ב-2001 פירסמו 17 מפתחים בארה"ב את ה-Manifesto for Agile Software Development – הצהרה ששינתה את עולם מתודולוגיות הפיתוח באופן רדיקלי.
שני האירועים הללו השפיעו רבות על עולם הנדסת התוכנה בחברות סטארטאפ ובחברות מוצר. לפני מספר שנים Wix Engineering קיבלה החלטה לעבור לעבודה לפי TDD, והמעבר הזה העלה את איכות התוצרים, חסך זמן רב והטיס את ה-Velocity קדימה.
אמיתי הורביץ, מפתח תוכנה ב-Wix, מסביר בהרצאתו באופן אבסטרקטי כיצד מפתח מתמודד עם עבודה ב-TDD. לאורך ההרצאה עולות שאלות ממפתחים בקהל שמעוניינים להבין איך המפתח אמור לתפקד בשלל מקרים המוכרים לכולנו מעבודת הפיתוח היומיומית.
לקבל פידבק מהיר מהקוד
אמיתי מפוגג מספר תפיסות מוטעות לגבי עבודה ב-TDD ומספר על יתרונות השיטה, כמו דוקומנטציה שמתעדכנת כל הזמן, קליטה קלה יותר של מפתחים חדשים, חוסר פחד בעבודה והיכולת לקבל פידבק מהיר מהקוד. בהמשך הוא מסביר את תאוריית 3 הכובעים של עבודה במתודולוגיה, וכיצד הוא עושה זאת בפועל.
לאחר מכן עולה נושא הבדיקות – סוגי הבדיקות הקיימות ומתי מריצים כל סוג בדיקה – משלב הפיתוח, דרך ה-Continuous Integration Server ועד להעלאה ל-Production. אמיתי מסביר כיצד לכתוב בדיקה באופן גרנולרי, כיצד לכתוב בדיקה שתקדם את המפתח לשלב הבא בפתרון, איך בודקים קוד עם הרבה תלויות ועוד. שאלה נוספת שעולה היא כיצד להתמודד עם Legacy Code שלא נכתב ב-TDD, ומה אפשר לעשות כדי להסב אותו לקוד נקי על פי עקרונות השיטה.
אמיתי עונה למפתחים שמתארים מצב שבו הם יודעים במדויק מה הם רוצים לכתוב, ומסביר למה חשוב להתאפק ולא לרוץ קדימה ומדוע עבודה בצעדים קטנים היא מהירה בהרבה ממתודולוגיות פיתוח אחרות.
לסיום, אמיתי נוגע בתכונות האישיות שכדאי למפתח לסגל לעצמו כדי לעבור לעבוד ב-TDD ובאמת להצליח.

הכתבה בחסות Wix Engineering
Wix היא פלטפורמה לפיתוח Online Presence באינטרנט, עם למעלה מ-160 מיליון משתמשים ב-190 מדינות. אנחנו ב-Wix Engineering מפתחים אפליקציות ענן מהמתקדמות בעולם, מקדישים זמן להתפתחות מקצועית ולמידה ולוקחים גם את ההנאה שלנו באותה הרצינות. תרבות הפיתוח שלנו מבוססת על חדשנות, יצירתיות ועל הצורך והרצון להמשיך לאתגר את עצמנו ואת גבולות הטכנולוגיה. אנו משתמשים בטכנולוגיות המתקדמות ביותר (Scala, Node, React, and Angular), בפלטפורמות מבוססות ענן (Google, Amazon and Azure) ומיישמים מתודולוגיות כגון Continuous Delivery ו-TDD. ל-Wix שלושה מרכזי פיתוח בישראל - בתל-אביב, חיפה ובבאר-שבע. מוזמנים לעקוב אחרינו גם ב-Twitter וב-Facebook.
הגב
17 תגובות על "הרצאת וידאו: כל מה שצריך לדעת על פיתוח ב-TDD"
* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.
מעניין כמה זמן TDD ישרוד?
עוד מטודולוגיה מטופשת שבתיאוריה היא יפה כמו ה Exream Development וחברותיה
היינו תיפתח תפקיד חדש שהוא ארכיטקט שיהנדס את המערכת ויעביר זאת למפתח ה טסטים בכדי לפתח טסטים לבדיקה לפני שבכלל מוצר השתנה
אהה נכון בשביל זה יש את ה BDD – שזה גם מטופש אותו הראיון אך יותר מופשט,
יאללה כמה זמן ה TDD ישרוד בחברה הזאת? או שמא הם "יחטאו" ימשיכו מידי פעם לפתח ב OLD SCHOOL עם בירות ו QUICK AND DIRTY…
עצרתי ב״Exream Development״, מראה כמה אתה מבין בתחום.
זה נשמע שאתה לא מההכי חדים בתחום…
נשמע שאתה חמור אה
אני מבין שלא ראית את ההרצאה
כשכתבתי "עוד מטודולוגיה מטופשת שבתיאוריה היא יפה כמו ה Exream Development וחברותיה"
לא השוותי שהמטודולוגיות מאותו האיזור. הינו TDD ExDev הם שונות!
אבל כפי שהמטודולוגיה של ExDev לא הצליחה כך גם המטולוגיה מטופשת של TDD לא מצליחה.
זה היה פירוש קצר וחידוד הבנת הנקרא לכל הטוקבקיסטים המאותגרים למעלה?
כשכתבתי "עוד מטודולוגיה מטופשת שבתיאוריה היא יפה כמו ה Exream Development וחברותיה"
מקווה שהטוקבקיסטים לא עובדי WIX… אחרת זה יהיה משעשע ש WIX מבקשת מעובדיה להגיב תגובות בכדי "לחסל" תגובות שליליות…
לגופו של איש ולא לגופו של עניין, לא?
Extreme Programming, למען השם.
זה נחמד שאדם שקורא לכולם פה מאותגרים, קובע כעובדה שהדעה שלו ש TDD לא הצליח היא נכונה, על סמך, ובכן, כלום.
זה באמת נראה שאין לך מושג בכל מה שקורה בעולם הטכנולוגיה סביבך, אתה כנראה עובד באיזה חברה אפורה שלא מסתכל שמאלה וימינה….. מציע לך מאוד לצאת מהבועה ולהתעדכן במה שאמיתי….
תקרא מה כתבתי: "הטוקבקיסטים המאותגרים למעלה"
אם "כולם" אצלך זה הטוקבקסיטים מצבך לא יותר מאתגר משלהם.
במקום לענות לגופו של עניין, מחפש אתה לענות לגופו של איש.
"עובד בחברה אפורה",
מר או-טי(דידי)סיט. איך אומרים? הפוסל במומו פוסל?
Extreme Programming – מתה
וגם TDD – גוססת
וויקס, זו בערך הכתבה ה1000 שלכם על בדיקות, TDD, CI, אוטומציה של בדיקות, של unit testing, ארכיטקטורת בדיקות, בדיקות אינטגרציה, בדיקות מערכת ועוד כמה דברים שמתחילים בTDD.
אתם גם כותבים קוד ומפתחים או רק עושים תהליכי בדיקות? סתם שואל, כי אולי היה נחמד לקרוא מדי פעם על פיתוח שלא קשור לבדיקות אוטומטיות.
TDD לא נועד בשביל לפתח בדיקות, הוא נועד לכתיבת קוד ללא תלויות ודיזיין נכון.
המחשבה ש TDD נועד לבדיקות בלבד היא מחשבה של סטודנט שרק יצא מהאוניברסיטה ולא באמת יודע מה זה.
ו ci זה לא בדיקות, אתה צריך קצת לסדר את ה buzz words שאתה מכיר ולדעת לאן כל אחד קשור :)
אדון טידידיסט, אני יודע היטב מה זה TDD וגם כותב קוד 16 שנה. מה שאני אומר הוא שכל הבלוגים של וויקס הם בנושא תהליכים ומתודולוגיות כביכול "מאגניבים" כמו TDD, CI, שאגב רובם היו חדשניים בערך לפני 10 שנים ומאז נטחנו עד דק.
כל הבאז וורדס האלה נועדו להגדיר איך כותבים קוד ואילו תהליכים אוטומטיים הקוד עובר עד הגיעו לproduction.
זה מזכיר לי איך לפני עשור כולם כתבו על agile עד שזה גרם לכמה אנשים כמוני לבחילות.
היה נחמד לשמוע על איזה פיתוח חדש, אלגוריתם, פתרון לבעיה או אפילו הנושא הלעוס: שימוש בפרימוורק חדש במקום כל הTDD הזה.
תגיד העפת מבט על המנייה שלהם בשנה האחרונה שאתה רושם משהו טיפשי כזה?
מה הקשר למניה? אם הייתי בוחר בלוגים לפי ביצועי מניות הייתי הולך לקרוא בלוגים של צ'קפוינט או אמדוקס…
אין גם אתה סתום רצח אה
דימה תגיד לו
Tdd זה מתודולוגיית פיתוח, לא מתודולוגיה לטסטים. לויקס יש הרבה כתבות והרצאות על סקךביליות, טכנולוגיות ומה רק לא, כנראה שפשוט ראית רק את הכתבה הנוכחית…
פעם ראיתי טור אורח של WIX שלא מדבר על TDD
תגידו כל ההייטק זה גן ילדים או שרק לפה הילדים מגיעים להשתעשע למי יש גדול יותר.
פוסט מעניין תודה.