Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

ATDD — разработка программного обеспечения через приемочные тесты

Покупка
Артикул: 442759.02.99
Доступ онлайн
439 ₽
В корзину
Применяя методику разработки через приемочные тесты (ATDD), заказчики, разработчики и тестировщики получают возможность совместно сформулировать тестопригодные требования, что позволяет создавать высококачественное программное обеспечение в сжатые сроки. Однако на практике многие не понимают, в чем истинный смысл ATDD. Настоящая книга — первое практическое руководство начального уровня по внедрению и успешному применению этой методики. На примерах автор показывает, как применять ATDD, используя различные языки и каркасы. В результате проработки примеров порождаются различные артефакты: классы для автоматизации тестирования, определения шагов и полные реализации. На этих вполне реалистичных примерах автор иллюстрирует фундаментальные принципы ATDD, показывает место ATDD в общем процессе разработки, делится своим обширным опытом и предостерегает против типичных ошибок. Эта книга будет полезна тестировщикам, разработчикам, бизнес-аналитикам и руководителям проектов. Она позволит заложить прочный фундамент для получения первых результатов от внедрения ATDD уже сейчас и поможет добиться еще большего в будущем, по мере накопления опыта.
Гэртнер, М. ATDD — разработка программного обеспечения через приемочные тесты : практическое руководство / М. Гэртнер ; пер. с англ. А. А. Слинкина. - 2-е изд. - Москва : ДМК Пресс, 2023. - 233 с. - ISBN 978-5-89818-641-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2108535 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Маркус Гэртнер

ATDD – разработка 
программного 
обеспечения через 
приемочные тесты

ATDD by Example

A Practical Guide to Acceptance
Test-Driven Development

Markus G¨artner

Upper Saddle River, NJ • Boston • Indianapolis • San Francisco
New York • Toronto • Montreal • London • Munich • Paris • Madrid
Capetown • Sydney • Tokyo • Singapore • Mexico City

ATDD – разработка 
программного 
обеспечения через 
приемочные тесты

Маркус Гэртнер

Москва, 2023

2-е издание, электронное

УДК 004.054ATDD
ББК 32.973-018
Г21

Г21
Гэртнер, Маркус.
ATDD — разработка программного обеспечения через приемочные тесты / 
М. Гэртнер ; пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 233 с. — 
Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо 
Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.
ISBN 978-5-89818-641-8

Применяя методику разработки через приемочные тесты (ATDD), заказчики, 
разработчики и тестировщики получают возможность совместно сформулировать 
тестопригодные требования, что позволяет создавать высококачественное программное обеспечение в сжатые сроки. Однако на практике многие не понимают, в чем 
истинный смысл ATDD. Настоящая книга — первое практическое руководство начального уровня по внедрению и успешному применению этой методики.
На примерах автор показывает, как применять ATDD, используя различные 
языки и каркасы. В результате проработки примеров порождаются различные артефакты: классы для автоматизации тестирования, определения шагов и полные реализации. На этих вполне реалистичных примерах автор иллюстрирует фундаментальные принципы ATDD, показывает место ATDD в общем процессе разработки, 
делится своим обширным опытом и предостерегает против типичных ошибок.
Эта книга будет полезна тестировщикам, разработчикам, бизнес-аналитикам и 
руководителям проектов. Она позволит заложить прочный фундамент для получения первых результатов от внедрения ATDD уже сейчас и поможет добиться еще 
большего в будущем, по мере накопления опыта.

УДК 004.054ATDD 
ББК 32.973-018

Электронное издание на основе печатного издания: ATDD — разработка программного обеспечения через приемочные тесты / М. Гэртнер ; пер. с англ. А. А. Слинкина. — Москва : ДМК 
Пресс, 2016. — 232 с. — ISBN 978-5-97060-418-2. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было 
форме и какими бы то ни было средствами без  письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических 
ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность 
приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-641-8
© 2013 Pearson Education, Inc.
©  Оформление, перевод на русский язык 
ДМК Пресс, 2016

Мой жене Дженнифер, 
моему пасынку Леону 
и нашей дочери Катрин 
за то, что они не обижались, когда я 
проводил с ними слишком мало времени, 
работая над этой книгой

ОГЛАВЛЕНИЕ

Предисловие Кента Бека ................................... 10

Предисловие Дэйла Эмери ................................ 12

Вступление ..................................................... 15
О названии ......................................................................... 15
Зачем нужна еще одна книга по ATDD? ............................... 17
Терминология ..................................................................... 18
Как читать эту книгу ............................................................ 19

Благодарности ................................................. 21

Об авторе ........................................................ 22

ЧАСТЬ I. Парковка в аэропорту ............................ 23
Глава 1. Рабочая встреча по калькулятору 
стоимости парковки .......................................... 25
Парковка с доставкой в назначенное место ........................ 25
Краткосрочная парковка ..................................................... 27
Экономичная и длительная парковка .................................. 28
Существенные примеры ..................................................... 31
Резюме ............................................................................... 35

Глава 2. Автоматизация тестов для парковки 
с доставкой в указанное место............................ 39
Первый пример .................................................................. 40
Парная разработка первого теста ....................................... 46
Инициализация .......................................................................... 47
Проверка результатов ................................................................ 52
Табличные тесты ................................................................. 56
Резюме ............................................................................... 59

Глава 3. Автоматизация тестов для остальных 
типов парковок ................................................ 60
Краткосрочная парковка ..................................................... 60

Оглавление

Экономичная парковка ....................................................... 63
Резюме ............................................................................... 64

Глава 4. Предполагать и сотрудничать ................. 65
Рабочие встречи по выработке спецификаций .................... 66
Выдвижение пожеланий ..................................................... 67
Сотрудничество .................................................................. 69
Резюме ............................................................................... 71

ЧАСТЬ II. Система управления светофорами ......... 73
Глава 5. Приступая к работе ............................... 75
Светофоры ......................................................................... 75
FitNesse .............................................................................. 78
Вспомогательный код ......................................................... 79
Резюме ............................................................................... 80

Глава 6. Состояния светофора ............................ 82
Спецификация смены состояний ........................................ 82
Первый тест ........................................................................ 83
Займемся кодированием .................................................... 87
Рефакторинг ....................................................................... 91
Пакеты ................................................................................ 92
Перечисление LightState ..................................................... 92
Редактирование состояний светофора ............................... 98
Резюме ............................................................................. 108

Глава 7. Первый перекресток ............................ 110
Спецификации контроллера ............................................. 110
Управление разработкой кода контроллера ...................... 112
Рефакторинг ..................................................................... 120
Резюме ............................................................................. 133

Глава 8. Раскрывай и исследуй ......................... 135
Раскрытие предметной области ....................................... 136
Управление разработкой продуктового кода .................... 138
Тестируйте связующий код ............................................... 139
Цените свой связующий код ............................................. 141
Резюме ............................................................................. 143

ЧАСТЬ III. Принципы разработки через 
приемочные тесты .......................................... 145
Глава 9. Использование примеров ..................... 147

Оглавление

Используйте подходящий формат .................................... 149
Разработка на основе поведения ............................................. 150
Табличные форматы ................................................................. 152
Автоматизация, управляемая ключевыми словами................... 156
Связующий и вспомогательный код ......................................... 158
Подходящий формат ................................................................ 160
Уточнение примеров ......................................................... 162
Представительное тестирование ............................................. 163
Граничные значения ................................................................. 164
Попарное тестирование ........................................................... 165
Сокращение набора тестов ............................................... 167
Учет упущений .................................................................. 170
Сбор оркестра для тестирования ............................................. 171
Резюме ............................................................................. 173

Глава 10. Разрабатывайте спецификацию 
совместно ..................................................... 175
Сила трех .......................................................................... 176
Организуйте рабочие встречи ........................................... 178
Состав участников.................................................................... 178
Цель рабочей встречи .............................................................. 179
Частота и продолжительность .................................................. 180
Траление требований ....................................................... 181
Резюме ............................................................................. 183

Глава 11. Автоматизируйте буквально ................ 184
Используйте дружелюбную автоматизацию ...................... 185
Сотрудничайте в осуществлении автоматизации .............. 187
Изучайте предметную область .......................................... 190
Резюме ............................................................................. 192

Глава 12. Тестируйте рационально ..................... 193
Разрабатывайте код автоматизации тестов постепенно ... 195
Прислушивайтесь к тестам ............................................... 197
Подвергайте тесты рефакторингу ..................................... 201
Выделение переменной ........................................................... 204
Выделение ключевого слова .................................................... 204
Резюме ............................................................................. 206

Глава 13. Успешное внедрение ATDD .................. 208

Приложение А. Cucumber ................................. 211
Файлы функционала ......................................................... 211

Оглавление

Определения шагов .......................................................... 212
Продуктовый код .............................................................. 213

Приложение В. FitNesse ................................... 214
Структура вики ................................................................. 215
Таблицы SLiM .................................................................... 216
Вспомогательный код ....................................................... 217

Приложение C. Robot Framework ....................... 218
Секции .............................................................................. 219
Библиотечный код ............................................................ 222

Список литературы ......................................... 223

Предметный указатель .................................... 226

ПРЕДИСЛОВИЕ 
Кента Бека

Существует любопытная симметрия между тем, как в этой книге представлена методология разработки через приемочные тесты 
(ATDD – Acceptance Test-Driven Development), и тем, как с помощью 
этой методологии разрабатывается программное обеспечение. Умение 
выбрать конкретные примеры поведения программы, которые 
выявляли бы правильное поведение системы в целом, – это особое 
искусство, как и искусство подобрать такие примеры применения 
методики, подобной ATDD, которая дала бы читателю возможность 
освоить ее. Маркус проделал блистательную работу по выбору и 
представлению примеров.
Читая эту книгу, придется вникать в код. Продвигаясь вперед, вы 
поймете, как нужно изменить взгляд на проблему, чтобы успешно 
применять ATDD. В двух словах эта смена мировоззрения заключается в том, чтобы вместо «Вот эту функцию я хочу включить» говорить «А как мы будем ее тестировать? Вот пример». Изучая примеры, 
вы снова и снова будете встречаться с этим переосмыслением в разных контекстах.
Что мне нравится в построении изложения вокруг примеров 
кода, так это излучаемая автором уверенность в вашей способности 
учиться. Это не просто «12 простых правил тестирования веб-приложения», отпечатанных на тонкой папиросной бумаге, которая расползается при первом соприкосновении с влажной реальностью. Вы 
узнаете о конкретных решениях, принимаемых в конкретных контекстах, о решениях, с которыми вы можете (и обязательно будете, если 
хотите извлечь из книги максимум пользы) не соглашаться, спорить 
и делать по-своему.
Ближе к концу книги формулируются общие выводы, подводящие итог принципам, продемонстрированным на примерах. Если вы 
из тех, кому легче усвоить материал, понимая общие идеи, то начать 
лучше с этого места. Но в любом случае эффект от прочтения этой 

Доступ онлайн
439 ₽
В корзину