
Электронная
1200 ₽960 ₽
Это бета-версия LiveLib. Сейчас доступна часть функций, остальные из основной версии будут добавляться постепенно.

Ваша оценкаЖанры
Ваша оценка
Авторы данного пособия убедительно настаивают на внедрение в процесс разработки программного обеспечения так называемого конвейера развёртывания. Технология преподносится как технологическая новинка в IT-сфере, являющаяся практически гарантированной на успех стратегией выпуска качественного и функционального программного обеспечения.
Затрагиваются также вопросы управления модульным, приёмочным, нагрузочным тестированием, естесственно, автоматическим. Рассматривается, как управлять конфигурациями ПО, тестовыми и рабочими средами запуска приложений, хранилищами сборочных артефактов. Не обошли стороной и управление версионированием выпускаемых релизов. Авторы включили в состав издания достаточно подробную главу, посвящённую описанию систем контроля версий (за что им отдельный респект!), из которой читатель может выяснить для себя, чем отличается централизованная система контроля версий (например, Subversion) от распределённой системы (git, Merkurial). Также в этой главе даётся краткое описание поточного управления ветвлением.
Книга безусловно будет полезна командам разработки, включая разработчиков, тестировщиков, devops, администраторов проектов, аналитиков.
К недостаткам самого русскоязычного издания традиционно стоит отнести трудности перевода некоторых не особо известных в IT-среде терминов. Местами можно наткнуться на опечатки. В некоторых главах, посвящённых регуляторным аспектам среды существования комапаний, описываются особенности, специфичные только для США.

Важно помнить, что не всё следует автоматизировать. Есть много аспектов системы, которые лучше тестируются вручную. Например, удобство использования и согласованность интерфейса и функций невозможно оценить автоматически. Невозможно также выполнить автоматически исследовательское тестирование, хотя, конечно, тестировщики могут применять автоматизацию в исследовательском тестировании, например для установки сценариев и создания тестовых данных. Во многих ситуациях ручного тестирования либо достаточно, либо оно качественнее автоматических тестов. В общем случае мы рекомендуем ограничить автоматизацию приёмочного тестирования полным покрытием счастливых маршрутов и наиболее важных компонентов системы. Это безопасная и эффективная стратегия, конечно, если уже есть хороший набор автоматических регрессионных тестов других типов. Под словом "хороший" мы понимаем набор, покрывающий не менее 80% кода.

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

Существуют два важных следствия из принципа "Встраивайте качество в продукцию". Во-первых, тестирование - это не стадия процесса и уж, конечно, не стадия, начинающаяся после развёртывания. Если отложить его на конец процесса, будет слишком поздно. Времени на устранение дефектов обычно не остаётся. И во-вторых, тестирование - не "царство" тестировщиков. Каждый член команды поставки постоянно отвечает за качество приложения.




















Другие издания

