Сейчас часто говорят об гибкой разработке.
Что такое гибкая разработка?
Гибкая разработка — это возможность разработки программного обеспечения, отвечающая быстро меняющимся потребностям. Их конкретные названия, концепции, процессы и терминология различаются. По сравнению с « негибкими » они подчеркивают тесное сотрудничество между командами программистов и бизнес-экспертами, общение лицом к лицу (которое считается более эффективным, чем письменная документация) и часто выпускают новые версии программного обеспечения, небольшие и самоорганизующиеся группы для небольших компаний . и написание ценных функций, и подходы к организации команды, которые адаптируются к меняющимся потребностям, с большим акцентом на роли людей в разработке программного обеспечения.
Однако существует несколько похожих версий методов гибкой разработки TDD, таких как TDD: BDD, DDD и ATDD. Позвольте мне кратко представить эти методы, прежде чем подробно рассказывать о TDD:
TDD: разработка через тестирование
Разработка через тестирование (TDD) — это процесс разработки программного обеспечения, основанный на преобразовании требований к программному обеспечению в тестовые сценарии до того, как программное обеспечение будет полностью разработано, и на отслеживании всей разработки программного обеспечения путем многократного тестирования программного обеспечения для всех тестовых случаев. Это противоположно сначала разработке программного обеспечения, а затем созданию тестовых случаев. Некоторые популярные модели очень хорошо поддерживают TDD, например MVC и MVP .
BDD: Behavior Driven Development (Разработка, управляемая поведением)
Разработка, управляемая поведением (BDD), также является гибким процессом разработки программного обеспечения. Он поощряет сотрудничество между разработчиками, тестировщиками обеспечения качества и представителями клиентов в проектах программного обеспечения. Он побуждает команды использовать обсуждения и конкретные примеры для формализации общего понимания того, как должно работать приложение. Это происходит из разработки через тестирование (TDD).
ATDD: разработка, основанная на приемочных испытаниях
Чтобы способствовать реализации функционального кода с помощью модульных тестов, команда должна определить ожидаемые стандарты качества и правила приемки, а также продвигать практику TDD разработчиков и производительность тестировщиков с помощью четкого и последовательного плана приемочного тестирования (включая серию тестов). сценарии). Для разработчиков это подчеркивает, как внедрить систему и как ее протестировать.
DDD: Дизайн доменного диска
DDD относится к проектированию, управляемому предметной областью, т.е. разработке, ориентированной на предметную область. DDD фактически построен на этом фундаменте, потому что он фокусируется на проектировании сервисного уровня, фокусируется на бизнес-реализации, сочетает аналитику и дизайн и больше не держит его в разделенном состоянии, чтобы правильно и всесторонне реализовать потребности клиентов и построить модель бизнеса. масштабируемость.
План реализации TDD
Через тестирование для продвижения всей разработки, но разработка через тестирование — это не просто тестовые работы, а процесс количественного анализа требований, проектирования и контроля качества.
Принципы разработки
Сначала напишите тестовый код, а затем напишите код функции.
- Напишите тестовый код в соответствии с документом требований, а не для реализации функции;
- Не хочу быть толстой с одного укуса. При тестировании больших функциональных блоков вы должны сначала разделить их на более мелкие функциональные блоки для тестирования;
- Помните, что не нужно писать код для завершения функции, используйте максимально простой код для реализации функции;
- Если требования можно протестировать, напишите тестовый код и откажитесь от тех, которые невозможно протестировать или которые не нуждаются в тестировании;
- Прежде чем изменять/добавлять какой-либо код функции, вы должны сначала подумать о том, хотите ли вы изменить/добавить тестовые примеры;
- Код функции/теста, неразумная структура, повторяющийся код и т. д. рефакторинг во времени после прохождения теста.
Процесс разработки TDD
- Проанализировать и определить целевой тестовый сценарий;
- Добавьте модульный тест для проверки ввода и вывода тестового сценария;
- Запустите тест и получите результат неудачного теста;
- Напишите простейший код функции, чтобы пройти тест;
- Запустите тест еще раз и убедитесь, что тест проходит успешно;
- Провести рефакторинг кода, включая функциональный код и код модульного тестирования;
- Повторяйте вышеуказанные шаги, пока разработка не будет завершена.
Преимущества TDD
- Снизить нагрузку на разработчиков . Благодаря четкому процессу давайте сосредоточимся только на одной точке за раз, и нагрузка на размышления уменьшится.
- Сетка защиты . Полное модульное тестирование обеспечивает защитную сетку для кода продукта, позволяя легко реагировать на изменения в требованиях или улучшать дизайн кода. Так что, если требования вашего проекта стабильны, выполняются сразу и последующих изменений нет, преимущества TDD меньше.
- Заранее уточняйте требования . Сначала написание тестов может помочь нам подумать о требованиях и заранее прояснить детали требований, а не обнаруживать неясные требования только на полпути к коду.
- Быстрая обратная связь . Многие говорят, что при TDD объем моего кода увеличивается, поэтому эффективность разработки снижается. Однако, если у вас нет модульных тестов, вам придется тестировать их вручную, вы тратите много времени на подготовку данных, запуск приложений, изменение интерфейсов и т. д., а обратная связь происходит медленно. Чтобы быть точным, быстрая обратная связь является преимуществом модульного тестирования.
Принципы Agile и Scrum
- Agile-манифест и двенадцать принципов
- 10 наиболее часто упоминаемых основных правил Scrum
- Как работает Скрам-команда? — Краткое руководство
priligy buy Men s stress levels have been demonstrated to significantly increase after diagnosis of male infertility, follow- up appointments, and failed in- vitro fertilization IVF treatments