Ponownie czytam Refaktoryzację autorstwa Martina Fowlera. W rozdziale 4, Testy budowlane, natrafiłem na następujący fragment.
W rzeczywistości jednym z najbardziej przydatnych czasów do pisania testów jest rozpoczęcie programowania. Gdy musisz dodać funkcję, zacznij od napisania testu. To nie jest tak zacofane, jak się wydaje. Pisząc test, zadajesz sobie pytanie, co należy zrobić, aby dodać funkcję. Pisanie testu koncentruje się również na interfejsie, a nie na implementacji (zawsze jest to dobra rzecz). Oznacza to również, że masz wyraźny punkt, w którym kończysz kodowanie - kiedy test działa.
Chociaż jestem teraz zwolennikiem rozwoju opartego na testach, nie pamiętałem, że zostałem wprowadzony do tej koncepcji, kiedy czytałem tę książkę prawie 5 lat temu.
Według Amazon.com ta książka została pierwotnie wydana 8 lipca 1999 r. Czy to pierwsze opublikowane odniesienie do programowania w pierwszej kolejności, czy jest coś jeszcze wcześniej?
Odpowiedzi:
Rozwój oparty na testach jest podobny do projektowania na podstawie umowy, w którym istnieją warunki wstępne, niezmienniki i warunki dodatkowe.
Metody formalne pochodzą z co najmniej 1983 r. I zostały zastosowane w systemach o krytycznym znaczeniu dla bezpieczeństwa, takich jak pozbawione kierowcy metro w Paryżu, wykorzystujące metodę B.
Mogą to być niektóre z rzeczy, z których Kent Beck „pomógł pionierowi… ponowne odkrycie programowania w pierwszej kolejności”.
Co więcej: najwyraźniej projekt Mercasa z początku lat 60. XX wieku był pierwszym projektem oprogramowania wykorzystującym programowanie testowe i inne zwinne praktyki. Nie mogłem znaleźć żadnej wczesnej dokumentacji, ale oto raport z 2003 roku, który cytuje komunikację członków projektu:
Reszta raportu jest również interesująca, mówi dalej:
Oprócz zautomatyzowanych testów raport z 1968 r. Zaleca kodowanie równoległe i testowanie, jeśli nie najpierw test:
źródło
Jon Bently w Programming Pearls (pierwotnie opublikowany w 1986 r.) Nie wspomina konkretnie o programowaniu w pierwszej kolejności. Ale w rozdziale „Pisanie poprawnych programów” opisuje pisanie algorytmu, najpierw definiując warunki wstępne, niezmienniki i warunki dodatkowe, aw następnym rozdziale opisuje zautomatyzowane ramy testowania.
Nie jest to pierwsza próba, ale zdecydowanie położył trochę fundamentów.
Również,
Magazyn CIO , marzec 1993, Bug Busters , autor: Lucie Juneau, str. 84 :
źródło
To był Kent Beck , w swojej książce Extreme Programming , również wydanej w 1999 roku .
źródło