2013-04-23 2 views
0

У нас есть проект, разработанный 2 годами с плохо спроектированной архитектурой. Сейчас дней нет никаких модульных тестов.Генерация кода тестового кода

Текущая версия системы работает удовлетворительно, но нам жизненно необходима рефакторинг основных модулей.

Бюджет также ограничен, поэтому мы не можем нанять достаточное количество разработчиков для написания модульных тестов.

Возможна ли стратегия автоматического генерации кода для модульных тестов, которая охватывает, например, взаимодействие с данными, в предположении, что в настоящее время система работает нормально, а текущий выход системы может быть преобразован в XML-светильники для модульного тестирования?

Этот подход дает нам возможность быстро начать рефакторинг существующего кода и получить немедленную обратную связь, если некоторые основные функции повреждены из-за изменений.

ответ

1

Я бы с осторожностью относился к любым инструментам, которые утверждают, что могут автоматически определять и кодировать требования любого приложения в хорошие модульные тесты.

Вместо этого я потратил бы немного времени на установление хотя бы некоторых высокоуровневых функциональных тестов. Они могут быть в коде, используя полный стек для загрузки предопределенного набора входов и, например, для проверки известных результатов. Или, возможно, даже более высокий уровень с помощью инструмента автоматизации, такого как Selenium или FitNesse (в зависимости от того, какое приложение вы создаете). Сначала сосредоточьтесь на проверке наиболее важных частей вашей системы, поскольку время всегда ограничено.

Перемещение вперед, я бы рекомендовал получить копию Michael Feathers 'Working Effectively with Legacy Code, которая касается именно той проблемы, с которой вы сталкиваетесь: необходимо сделать обновления для большой, непроверенной кодовой базы, при этом убедитесь, что вы не нарушаете существующие функции в процесс.

Смежные вопросы