Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639057)
Контекстум
Руконтекст антиплагиат

Разработка через тестирование для iOS (2000,00 руб.)

0   0
Первый авторЛи
ИздательствоМ.: ДМК Пресс
Страниц273
ID795273
АннотацияГибкий и понятный программный код, легко поддающийся модификации и не скрывающий неприятных сюрпризов для своих создателей. Как оказывается, это не сказка! Всего этого позволяет добиться методика разработки через тестирование (Test-Driven-Development, TDD). Она основана, на первый взгляд, на парадоксальной идее — создавать тесты до написания тестируемого прикладного кода. В первых главах книги автор раскрывает теоретические основы методики TDD, знание которых, кстати, может пригодиться не только разработчикам приложений для iOS. В последующих главах он подробно демонстрирует применение этой методики на примере разработки действующего приложения, целиком и полностью реализованного с использованием TDD. За рассмотрением примера следует обсуждение различных тем, связанных с проектированием программных продуктов при использовании методики TDD, применение этой методики к унаследованным проектам, и краткий обзор будущих возможностей, уже реализованных для некоторых платформ, но пока не поддерживаемых в iOS. О модульном тестировании написано множество книг. Это отличные книги, но они не содержат специализированной информации, например, для разработчиков приложений на основе фреймворка Cocoa Touch. Предоставляя примеры на языке Objective-C, используя Xcode с сопутствующими инструментами и оперируя идиомами Cocoa, автору удалось сделать принципы, лежащие в основе разработки через тестирование, более доступными для разработчиков приложений для iOS.
ISBN978-5-97060-587-5
УДК004.451iOS
ББК32.973.26-018.2
Ли, Г. Разработка через тестирование для iOS / Г. Ли .— Москва : ДМК Пресс, 2018 .— 273 с. — ISBN 978-5-97060-587-5 .— URL: https://rucont.ru/efd/795273 (дата обращения: 17.06.2024)

Предпросмотр (выдержки из произведения)

Разработка_через_тестирование_для_iOS.pdf
УДК 004.451iOS ББК 32.973.26-018.2 Л55 Л55 Грэхем Ли Разработка через тестирование для iOS. Пер. с англ. Киселев А. Н. – М.: ДМК Пресс, 2018. – 272 с.: ил. ISBN 978-5-97060-587-5 Гибкий и понятный программный код, легко поддающийся модификации и не скрывающий неприятных сюрпризов для своих создателей. Как оказывается, это не сказка! Всего этого позволяет добиться методика разработки через тестирование (Test-Driven-Development, TDD). Она основана, на первый взгляд, на парадоксальной идее – создавать тесты до написания тестируемого прикладного кода. В первых главах книги автор раскрывает теоретические основы методики TDD, знание которых, кстати, может пригодиться не только разработчикам приложений для iOS. В последующих главах он подробно демонстрирует применение этой методики на примере разработки действующего приложения, целиком и полностью реализованного с использованием TDD. За рассмотрением примера следует обсуждение различных тем, связанных с проектированием программных продуктов при использовании методики TDD, применение этой методики к унаследованным проектам, и краткий обзор будущих возможностей, уже реализованных для некоторых платформ, но пока не поддерживаемых в iOS. О модульном тестировании написано множество книг. Это отличные книги, но они не содержат специализированной информации, например, для разработчиков приложений на основе фреймворка Cocoa Touch. Предоставляя примеры на языке Objective-C, используя Xcode с сопутствующими инструментами и оперируя идиомами Cocoa, автору удалось сделать принципы, лежащие в основе разработки через тестирование, более доступными для разработчиков приложений для iOS. Original English language edition published by Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236-3290. Copyright © 2012 Pearson Education, Inc. Russian-language edition copyright © 2012 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-32-177418-7 (англ.) ISBN 978-5-97060-587-5 (рус.) © 2012 Pearson Education, Inc. © Оформление, перевод на русский язык ДМК Пресс
Стр.5
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ..................................................9 БЛАГОДАРНОСТИ ............................................. 11 ОБ АВТОРЕ ...................................................... 12 ГЛАВА 1. О тестировании программного обеспечения и модульном тестировании .............. 13 Зачем тестировать программное обеспечение? ...................... 13 Кто должен тестировать программы? ...................................... 15 Когда следует тестировать программы? .................................. 19 Примеры из практики тестирования ........................................ 21 Как в общую картину вписывается модульное тестирование? .. 22 Что все это означает для разработчиков iOS? .......................... 27 ГЛАВА 2. Приемы разработки через тестирование ... 29 Сначала тест............................................................................ 29 Красный, зеленый, рефакторинг ............................................. 32 Проектирование приложений при разработке через тестирование .......................................................................... 36 Подробнее о рефакторинге ..................................................... 37 Вам это не понадобится .......................................................... 38 Тестируйте до, во время и после создания кода ...................... 41 ГЛАВА 3. Как писать модульные тесты .................. 44 Требования.............................................................................. 44 Запуск кода с известными исходными данными ...................... 45 Получение ожидаемых результатов ......................................... 47 Проверка результатов ............................................................. 48 Увеличение удобочитаемости тестов ....................................... 50 Организация множества тестов ............................................... 51 Рефакторинг............................................................................ 55 В заключение .......................................................................... 57 ГЛАВА 4.Инструменты для тестирования .............. 58 OCUnit и Xcode......................................................................... 58
Стр.7
Оглавление 7 Альтернативы фреймворку OCUnit ........................................... 70 Google Toolkit for Mac ................................................................. 70 GHUnit ........................................................................................ 72 CATCH ........................................................................................ 72 OCMock...................................................................................... 74 Непрерывная интеграция ........................................................ 77 Hudson ....................................................................................... 79 CruiseControl .............................................................................. 83 В заключение .......................................................................... 84 ГЛАВА 5. Разработка приложений для iOS через тестирование .......................................... 86 Цель проекта ........................................................................... 86 Порядок использования .......................................................... 87 План атаки ............................................................................... 89 Начало ..................................................................................... 90 ГЛАВА 6. Модель данных ................................... 92 Темы ........................................................................................ 93 Вопросы .................................................................................. 99 Люди ..................................................................................... 102 Соединение класса Question с другими классами .................. 103 Ответы .................................................................................. 108 ГЛАВА 7. Проектирование приложений ............... 114 План атаки ............................................................................. 114 Создание объекта Question.................................................... 116 Создание объектов Question из данных в формате JSON ....... 132 ГЛАВА 8. Взаимодействие с сетью ..................... 142 Архитектура класса NSURLConnection ................................... 142 Реализация StackOverflowCommunicator ............................... 144 В заключение ........................................................................ 156 ГЛАВА 9. Контроллеры представлений ............... 157 Организация классов ............................................................ 157 Класс контроллера представления ........................................ 159 TopicTableDataSource и TopicTableDelegate ............................ 164 Создание нового контроллера представления ....................... 181 Источник данных со списком вопросов .................................. 192 Что дальше ............................................................................ 204 ГЛАВА 10. Собираем все вместе ....................... 205 Завершение реализации логики приложения ........................ 205
Стр.8
8 Оглавление Отображение аватара пользователя ...................................... 220 Завершение и наведение порядка ......................................... 224 Отправка приложения! .......................................................... 235 ГЛАВА 11. Проектирование при разработке через тестирование ........................................ 237 Проектируйте интерфейсы, а не реализацию ........................ 237 Сообщайте, а не спрашивайте ............................................... 240 Маленькие, узкоспециализированные классы и методы ........ 241 Инкапсуляция ........................................................................ 243 Использование лучше повторного использования ................. 244 Тестирование кода, выполняющегося параллельно ............... 245 Не мудрите больше, чем это необходимо .............................. 246 Отдавайте предпочтение широким и неглубоким иерархиям наследования ........................................................................ 247 В заключение ........................................................................ 248 ГЛАВА 12. Применение приема разработки через тестирование к существующим проектам .. 249 Первый тест – самый важный ................................................ 249 Рефакторинг в поддержку тестирования ............................... 250 Тестирование в поддержку рефакторинга .............................. 253 Действительно ли необходимо писать все эти тесты? ........... 255 ГЛАВА 13. За рамками сегодняшних возможностей разработки через тестирование ... 257 Выражение диапазонов входных и выходных значений .......... 257 Разработка на основе определения функциональности ......... 258 Автоматическое создание тестов .......................................... 260 Автоматическое создание кода для прохождения тестов ....... 263 В заключение ........................................................................ 264 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ ............................... 265
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст