הפוסט המקורי פורסם באפריל 2013 ממליץ לקרוא טוב טוב
המושג TDD הוא כל כך שימושי בעולם התוכנה, לצערי הרב לא תמיד משתמשים בו נכון. בפוסט זה אני רוצה לנסות לתאר טיפה מה זה בשבילי TDD , הדגש הוא בשבילי, אני בטוח שלא כולם יסכימו איתי!
TDD Test Driven Development או בעברית פיתוח מונח בדיקות זו תפיסת פיתוח המתבססת על כתיבת הבדיקה לפני שכותבים את הקוד שהולך לייצור.
הרעיון הוא מאוד פשוט, בואו נכתוב את הבדיקה שמבטאת את הדרישה של הלקוח. יש מקומות שעושים זאת מאוד יפה ואז נקרא לשיטה BDD או פיתוח מונחה התנהגות.
השיטה מבוססת על אוטומציה של בדיקות ולכן בדיקה שנכתבה בצורה נכונה תהייה ערכית כל עוד הדרישה שלנו קיימת.
TDD זו הדרך המהירה ביותר להבין אם אנחנו מבינים את הדרישות.
TDD זו הדרך הטובה ביותר לשמור עלינו שאנחנו לא משנים את ההתנהגות של מה שכתבנו כל עוד הדרישה לא משתנה.
באופן אישי TDD זו הדרך הטובה ביותר לראות האם הארכיטקטורה היא טובה וכל חלקי המערכת מתחברים.
כמובן שאני רוצה להגדיר מה זה לא TDD
-
TDD זה לא הדרך המהירה להצלחה
-
TDD לא אומר שאנחנו לא צריכים לבצע עיצוב.
-
TDD זה לא משהו שניתן להכניס אותו על רגל אחת, זה דורש הרבה הרבה הרבה תרגול, לדעתי לפחות 3 חודשים למפתחים מנוסים.
-
TDD זה לא אומר שלא יהיו לנו באגים בפרויקט, זה כן אומר שכאשר יהיה באג נכתוב קודם כל בדיקה שתדמה את התרחיש של הבאג.
אני מרגיש שאני חייב להראות דוגמה קטנה .
את הדוגמה ניתן להריץ גם ב .NET וגם ב JAVA .
בואו ננסה לכתוב פונקציה אשר מחליפה בין 2 משתנים.
כמובן שבדרך המסורתית קודם הינו כותבים את הפונקציה ולאחר מכן את הבדיקה.
בואו ננסה לעשות זאת בדרך ה TDD