Автоматизированное тестирование является краеугольным камнем гибкого процесса разработки. Эффективная стратегия тестирования позволяет быстро создать новую функциональность, ускорить обратную связь с пользователями и повысить качество готового продукта. Но для многих разработчиков создание эффективных автоматизированных тестов является новой и незнакомой задачей.
Книга Шаблоны тестирования xUnit может служить полным руководством по написанию автоматизированных тестов на основе xUnit – наиболее популярной инфраструктуры модульного тестирования.
Специалист по гибким процессам разработки и эксперт по автоматизации тестирования Джерард Месарош описывает 68 проверенных шаблонов, упрощающих написание, понимание и обслуживание тестов. Кроме того, в книге показан процесс получения устойчивых к изменениям повторяемых тестов, что делает их значительно более эффективными с точки зрения затрат.
Из-за большого объема полезной информации книга воспринимается как «три книги в одной». В части I приводится подробное описание процессов автоматизации тестирования, включающее в себя как обзор стратегий тестирования, так и низкоуровневые идиомы кодирования теста. В части II приводится каталог 18 часто встречающихся «запахов» тестов и даются рекомендации по определению основной причины проблемы и выбору шаблона, который позволит ее устранить. В части III подробно описан каждый шаблон, включая инструкции по рефакторингу, сопровождающиеся подробными примерами кода на нескольких языках программирования.
Достаточное время работаю с модульными тестами. Накопил определённый опыт работы с ними, но чувствовал, что в этих знаниях есть пробелы и нет системности. Эта книга хорошо подошла для уточнения и систематизации моих знаний. Книга разделена на 3 части грамотно. Первые 2 части дают комплексный обзор вопросов, без детального углубления. Это помогает составить себе общую картину. Третья часть детально описывает вопросы, которые рассматриваются в первых 2-х частях, и может считаться полноценным справочником. Книга не привязана к какому-либо каркасу модульного тестирования. И получаемые знания могут быть без проблем спроецированы на любой каркас.