Приветствую! Подскажите, пожалуйста, кто впервые придумал использовать модульные тесты и ввел термин unit-тестирование? Т.е. тесты, которые располагаются в модулях проекта и позволяют тестировать в автоматическом режиме. Это Кент Бек или, как всегда, модульные тесты были придуманы и применялись SmallTalk-сообществом еще в восьмидесятые годы?
Дело в том, что я пишу статью о тестировании и хотел бы проверить все факты, которые я указал в ней. Не говорите мне искать в википедии или гугле — ничего не удалось нарыть стопроцентно достоверного.
Здравствуйте, Aleksey Katorgin, Вы писали:
AK>Приветствую! Подскажите, пожалуйста, кто впервые придумал использовать модульные тесты и ввел термин unit-тестирование? Т.е. тесты, которые располагаются в модулях проекта и позволяют тестировать в автоматическом режиме. Это Кент Бек или, как всегда, модульные тесты были придуманы и применялись SmallTalk-сообществом еще в восьмидесятые годы?
AK>Дело в том, что я пишу статью о тестировании и хотел бы проверить все факты, которые я указал в ней. Не говорите мне искать в википедии или гугле — ничего не удалось нарыть стопроцентно достоверного.
как всегда smalltalk

Бек был популяризатором этой концепции в рамках методологии экстремального программирования.
Здравствуйте, Aleksey Katorgin, Вы писали:
AK>Приветствую! Подскажите, пожалуйста, кто впервые придумал использовать модульные тесты и ввел термин unit-тестирование? Т.е. тесты, которые располагаются в модулях проекта и позволяют тестировать в автоматическом режиме. Это Кент Бек или, как всегда, модульные тесты были придуманы и применялись SmallTalk-сообществом еще в восьмидесятые годы?
AK>Дело в том, что я пишу статью о тестировании и хотел бы проверить все факты, которые я указал в ней. Не говорите мне искать в википедии или гугле — ничего не удалось нарыть стопроцентно достоверного.
Попытки понять, кто "изобрёл" модульные тесты, кажется, будут обречены на провал. Дело в том, что отдельно и специально модульные тесты не изобретались, они употреблялись наравне с тестами, создаваемыми на других уровнях, причём для разных уровней использовались одинаковые инструменты, одинаковые шаблоны проектирования, а специфика заключалась в том, _что_ эти тесты должны были делать и _кто_ их должен разрабатывать. Такие вещи, как моки, которые явно выделили модульное тестирование в самостоятельный класс, появились существенно позже.
Кент Бек в 1989 году в статье "Simple Smalltalk Testing: With Patterns" (
http://www.xprogramming.com/testfram.htm) описал сложившиеся в сообществе смолтоковцев способы написания тестов. В этой статье упоминаются как модульные тесты, так и интеграционные, и, как я уже упомянул выше, различия по способам их проектирования не проводится.
Конечно же никакого экстремального программирования в то время ещё не существовало, согласно официальной версии первый проект по XP был выполнен в 1996 году (
http://www.extremeprogramming.org/). Более того, ещё до появления XP модульные тесты начали активно завоёвывать признание. А заслуга XP в том, что, во-первых, оно ещё добавило им популярности, а во-вторых, и это может быть даже важнее -- стала активно пропагандироваться идея написания тестов ДО кода, то есть модульные тесты перестали служить целям только тестирования, они обрели новое качество -- стали направлять разработку (хотя сохранили и прежнее значение "страховочной сети" при рефакторинге).
Как делали тесты до появления SUnit или JUnit? Использовалась техника "классов, которые могут тестировать себя" --
http://en.wikipedia.org/wiki/Self-testing_code (кстати, до сих пор ещё кое-где продолжаются споры о том, как правильнее -- делать модульные тесты отделёнными от кода или встроенными внутрь).
Есть стандарт на юнит тестирование 86-ого года ANSI/IEEE Std 1008-1987 Standard for Software Unit Testing
Например
тут