Библиотека QA: 8 книг по тестированию программного обеспечения
В подборке есть книги с базовой информацией, классика литературы по тестированию и «углубленка», которая поможет сделать очередной рывок в карьере (и попрактиковать английский).
База
Книга содержит подробную информацию о том, как планируется, выполняется и контролируется тестирование в реальных проектах. Первая половина книги содержит подробное объяснение основ тестирования ПО, а вторая посвящена пошаговому прохождению реального проекта. Это поможет понять принцип работы QA от начала до конца, а также место тестирования в проекте.
Пособие даст базовые знания о тестировании ПО с примерами, которые вам понадобятся при поиске первой работы.
Классика
The art of Software Testing (Glenford J. Myers)
В этом издании автор раскрывает природу и цели тестирования программного обеспечения, методологии для разработки эффективных тестовых случаев. Параллельно он дает информацию о психологических и экономических принципах, управленческих аспектах, инструментах тестирования, тестировании высокого порядка, проверке кода и отладке.
В общем, книга содержит всю ключевую информацию, необходимую для успешного тестирования, и будет полезна как новичкам, так и опытным тестировщикам.
Гриффины рекомендуют
Chaos Engineering: System Resiliency in Practice 1st Edition (Casey Rosenthal)
Опытные специалисты активно советуют читать эту книгу тестировщикам, хоть она и не совсем по профилю.
Chaos Engineering — дисциплина экспериментирования с системой, направленная на то, чтобы укрепить способность системы противостоять турбулентным условиям. Это практическое руководство показывает инженерам, как ориентироваться в сложных системах, оптимизируя их для достижения бизнес-целей, а также и предотвращая сбои до того, как они повлияют на ваших клиентов.
Авторы подробно рассказывают про методологию Chaos Engineering, а также публикуют истории практикующих отраслевых экспертов из Google, Microsoft, Slack, LinkedIn и других больших компаний.
Когда вы создаете программное обеспечение, оно может вести себя не так, как вы предполагали. Исследовательское тестирование снижает эти риски. Про него в книге и пойдет речь:
- Часть 1 знакомит с базовыми навыками, необходимыми для тестировщика-исследователя.
- Часть 2 учит исследовать, варьируя взаимодействия, последовательности, данные, время и конфигурации, показывает, как включить в арсенал вашего исследователя методы анализа, такие как моделирование состояния, данных и определение контекстных диаграмм.
- Часть 3 внедряет методы в контекст программного проекта, учит применять навыки и методы на практике.
Тестирование и менеджмент
Perfect Software And Other Illusions about Testing (Gerald M. Weinberg)
Вайнберг ловко разделяет ожидаемое, важное и возможное в тестировании программного обеспечения. Он разрушает популярные заблуждения вокруг работы тестировщика и отвечает на вопросы, которые ставят в тупик большинство людей: возможно ли идеальное программное обеспечение? Почему бы просто не протестировать все подряд? Почему мы не можем принять несколько ошибок?
Темы включают:
- невосприимчивость к информации;
- факторы, которые делают тест «хорошим»;
- основные заблуждения о тестировании;
- определение значимости сбоев;
- как провести тестирование без оборудования.
Широкое распространение agile-методов разработки привлекло внимание к необходимости эффективного тестирования. Какова истинная роль тестировщика в такой команде?
В книге рассказывается об итерации agile-разработки программного обеспечения с точки зрения тестировщика и объясняются ключевые факторы успеха agile-тестирования, а именно:
- как вовлечь тестировщиков в agile-разработку;
- место тестировщиков и QA-менеджеров в agile-команде;
- как перейти от традиционного цикла к гибкой разработке
- как выполнить тестирование за короткие итерации;
- как использовать тесты для успешного управления разработкой;
- как преодолеть барьеры на пути к автоматизации тестирования.
Скорость, с которой пишешь автотесты после книги
Автоматизированное тестирование
Effective Software Testing: A developer’s guide (Mauricio Aniche)
Написанная для разработчиков, эта книга будет полезна и для QA Automate, в частности, первые несколько глав. Здесь автор рассказывает о различных типах тестирования — от отдельных модулей до целых компонентов.
В содержании раскрывается:
- эффективное и систематическое тестирование программного обеспечения;
- тестирование на основе спецификаций;
- структурное тестирование и покрытие кода;
- разработка контрактов;
- тестирование на основе свойств;
- тестовые двойники и макеты;
- написание больших тестов с примерами на основе Java.
Книга продвинутого уровня для практикующих тестировщиков автоматизаторов. Здесь более чем 20 000 строк реальных примеров кода для автотестов на C#. Однако автор убеждает, что подходы и практики, описанные в книге, пригодятся в любом языке (в том числе популярном Java).
Чему вы научитесь:
- оптимизировать и стабилизировать ненадежные тесты;
- обрабатывать асинхронные веб-страницы в своих тестах, автоматически работать с AJAX и jQuery;
- улучшите читабельность тестов, удобство сопровождения, возможность повторного использования и расширяемость за счет включения более 10 шаблонов проектирования;
- узнаете, что такое принципы SOLID и как они могут улучшить ваш тестовый код;
- узнаете, как оценить и выбрать наилучший возможный дизайн для вашего фреймворка или библиотеки;
- как спроектировать и создать инфраструктуру для обработки тестовых данных и различных тестовых сред.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: