В каждой профессии есть книги из категории «маст хэв» — те, которые любой уважающий себя специалист должен обязательно прочитать в целях самообразования. Какая полезная книга помогла бы углубить профессиональные знания тестировщика? Представляем обзор изданий, которые наверняка займут достойное место в библиотеке.
Если бы мы не писали обзор книг, а составляли их рейтинг, то на первое место с большим отрывом обязательно поставили бы книгу Ольги Назиной «Что такое тестирование. Курс молодого бойца». Да, это издание — для начинающих, для тех, кто хочет «вкатиться в профессию», но именно в этой нише конкурентов у нее практически нет.
И дело даже не в том, что книга последовательно, шаг за шагом вводит читателя в мир тестирования программ, а в том, как именно она это делает. При чтении книги невозможно отделаться от ощущения, что о секретах профессии тебе рассказывает лучший друг — настолько простым и понятным языком изложен материал. Автор приводит интересные примеры и истории из собственной практики, приводит аналогии, шутит, причем делает это действительно весело и непринужденно: вы не найдете здесь того натужного юмора, который встречается иногда в других технических книгах.
Но главное — картинки. Их очень много, из-за чего книга немного напоминает комикс, и предназначены они не столько для развлечения читателя (хотя картинки веселые!), сколько для лучшего запоминания материала. Главный герой книги Ольги Назиной — тестировщица по имени Катька, которая чуть ли не на каждой странице сталкивается с различными профессиональными задачами, решает сложные проблемы, общается с коллегами, разработчиками, пользователями… В общем, старается объяснить «на пальцах» сложные вещи — как изучить техническое задание, составить тест-кейсы и чек-листы, выделить классы эквивалентности, работать с баг-трекерами, автоматизировать тестирование, писать отчеты… В конце каждой главы приводятся вопросы для самопроверки и практические задания, которые можно выполнить, чтобы набить руку. Если набраться терпения пройти их все, получится портфолио, которое пригодится, например, при устройстве на работу.
В общем, это написанная простым и доходчивым языком книга-тренинг, выгодно отличающаяся по стилю и содержанию от классической технической литературы. К слову, автор этой замечательной книги есть на Хабре, и с ней вполне можно пообщаться — Ольга Назина охотно отвечает на вопросы читателей. Даже на самые заковыристые.
***
Еще одно полезное издание для начинающих — книга Билла Лабуна «Дружеское знакомство с тестированием программ». Она намного тоньше и лаконичней предыдущей, а форма арбуза на обложке, вероятно, намекает на форму головы неофита, которую та обретает при попытке усвоить кучу непонятных терминов из сферы тестирования. Все эти «непонятки» и призвана разъяснить книга: она рассказывает об основах профессии, о видах тестирования — дымовом, приемочном и исследовательском, о юнит-тестировании, о попарном, комбинаторном, стохастическом тестировании и тестировании на основе свойств, о тестировании производительности и безопасности. Отдельная глава посвящена приемам разработки ПО через тестирование.
Сам Билл Лабун — признанный эксперт в сфере качества ПО и преподаватель, обучающий студентов на факультете компьютерных технологий Университета Питтсбурга.
В общем, эта книга чуть более академична по сравнению с предыдущей и представляет собой неплохое справочное пособие по классификации тестирования, которое имеет смысл держать под рукой просто на всякий случай.
***
Обе упомянутые выше книги можно найти в книжных магазинах — разумеется, за деньги. Но есть и достойные бесплатные издания по этой тематике. Одно из них — это книга Святослава Куликова «Тестирование программного обеспечения. Базовый курс».
Да, это тоже пособие для начинающих, но, что называется, из категории «маст хэв». Книга постоянно обновляется, а ее автор обладает более чем десятилетним опытом обучения специалистов. Это издание часто рекомендуют новичкам, и не зря: здесь приводится разъяснение базовой терминологии, подробно описаны необходимые тестировщику навыки, дается классификация тестирования (есть даже здоровенная таблица с перечислением и разъяснением всех видов тестов). Кроме того, в книге кратко описаны правила составления тест-кейсов и чек-листов, приведены типичные ошибки при их разработке, и все это изложено доходчивым разговорным языком (правда, местами автор все же скатывается в академический стиль, но лишь местами). Очень важно, что за счет регулярного обновления книга не теряет своей актуальности.
***
Если вам лень читать толстые фолианты из категории «многабукв», у нас есть хорошие новости: в книге Романа Савина «Тестирование dot com» букв мало — она небольшая, но это ничуть не влияет в худшую сторону на ее содержательность. Книгу можно купить на бумаге или раздобыть в электронном виде — она присутствует на всех популярных литературных площадках.
Книга ориентирована в первую очередь на начинающих, на тех, кто желает освоить основы профессии. Издание выдержано в легком стиле, охватывает основные понятия в сфере тестирования ПО. В конце каждой главы приведены вопросы для самопроверки. В целом — неплохой вариант, если вы хотите не просто «вкатиться» в профессию, а понять, нужно оно вам или нет.
«До того как записался на курс по тестированию, изучал этот вопрос самостоятельно, по статьям и роликам на YouTube. Сейчас как раз начал читать книгу Романа Савина. Все описано доступно, понятно. Даже тот человек, который никогда не сталкивался с этим направлением, поймет, о чём там говорится», — рассказал Сергей Деянов, выпускник профессии «Инженер по тестированию» в Skillbox.
***
Книга Джеймса Уиттакера «Как тестируют в Google» вышла в свет уже довольно давно — в 2014 году, — но своей актуальности тем не менее не утратила. Это издание скорее заинтересует опытных тестировщиков, стремящихся изучить подход к тестированию в известной на весь мир корпорации. Если кратко — за качество продукта там отвечают все. Если не кратко — читайте книгу, процесс тестирования продуктов в Google там описан довольно подробно. При этом функции тестировщиков и разработчиков в корпорации совмещены: специалисты по тестированию сами улучшают продукт наравне с девелоперами, а программисты пишут юнит-тесты для своего кода. Зато никто не считает тестлаб вольером для дрессированных мартышек, которые только и умеют, что запускать автотесты. В общем, передовой опыт самой крутой IT-компании планеты наверняка будет интересен, хотя в небольших коллективах далеко не всегда применим на практике.
***
«Ключевые процессы тестирования» Рекса Блэка — это серьезное издание для серьезных людей, то есть для профессионалов, которые, что называется, «глубоко в теме». Книга сложная и тяжелая для восприятия, но если запастись корвалолом терпением и осилить её целиком, на страницах издания можно найти много ценной и полезной информации.
Автор описывает процессы тестирования, свойственные в первую очередь крупным командам и корпорациям, которые при работе над маленькими и скромными проектами не всегда применимы. Зато рассказ о фундаментальных подходах позволяет понять, «как это работает у больших ребят», и, возможно, перенять что-то полезное. В тексте встречаются занимательные и временами забавные истории о тест-менеджере Джамале, работающем над проектом «Суматра», которые периодически разбавляют довольно монотонное повествование. Описаны все стадии развития этого проекта — от идеи до завершения, что позволяет составить наглядное представление об этапах тестирования, да и вообще о жизненном цикле разработки сложного продукта.
***
Что ж, теперь от российских изданий давайте перейдем к англоязычным. Среди которых нельзя не отметить книгу Ли Копланда (Lee Copeland) A Practitioner's Guide to Software Test Design, по мнению множества специалистов — лучшую книгу по тест-дизайну из представленных сегодня на рынке. Несмотря на то что эта книга на английском, написана она довольно простым языком, поэтому серьезных трудностей в процессе чтения представлять не должна. В книге подробно описаны два метода тестирования методом «белого ящика», семь — методом «черного ящика», приведено множество примеров тест-кейсов на все случаи жизни. В конце каждой главы даны вопросы для самопроверки. Специалисты по тестированию, прочитавшие это издание, единодушны: книга безусловно заслуживает того, чтобы стать настольной для всех, кто желает изучить тест-дизайн и углубить свои профессиональные знания.
***
Рон Петтон (Ron Patton), Software Testing — еще одна книга, содержащая огромный объем полезной информации и вопросы для самопроверки в конце каждого раздела. Рассчитана на начинающих и охватывает весь спектр основ тестирования ПО. Каждая тема в книге Петтона рассматривается очень подробно (в чем ее несомненное достоинство); это поможет новичкам освоить азы, а профессионалам — лучше уложить в голове технологические подходы к тестированию и описанные на страницах издания методики. Впрочем, добравшись до конца Software Testing, новички, скорее всего, уже перестанут быть таковыми, поскольку обретут необходимый запас теоретических знаний — останется только наработать практические навыки. В общем, книга крайне полезная, особенно для тех, кто находится на старте карьеры.
***
Кристин Жаквони (Kristin Jackvony), The Complete Software Tester: Concepts, Skills, and Strategies for High-Quality Testing — книга не только о тестировании, но и о тестировщиках, о тех знаниях и навыках, которыми должен обладать такой специалист. В издании подробно рассматриваются и практические аспекты: ручное разведочное тестирование, тестирование API, тестирование безопасности, — описаны основы автоматизации тестирования, рассказано об использовании инструментов для контроля версий. Автор дает читателю советы по созданию планов тестирования, формулированию стратегий и эффективной работе в команде. Ну и по традиции в конце каждой главы даются вопросы для самопроверки.
Самое интересное, что для подписчиков Kindle Direct книга бесплатна, поэтому если у вас есть учётка на Amazon, вы сможете насладиться творчеством Кристин, не потратив ни цента. Впрочем, по имеющейся у нас информации, одно из российских издательств сейчас готовится выпустить эту работу на русском языке. Так что, если вы готовы немного подождать, очень скоро можно будет ознакомиться с этой замечательной книгой в переводе.
***
Безусловно, мы рассмотрели в этом обзоре далеко не все доступные сегодня читателям издания по тестированию программного обеспечения. Мы не упомянули довольно популярные How to Break Web Software и How to Break Software Security (James A. Whittaker), Perfect Software: And Other Illusions about Testing (Gerald M. Weinberg), Exploratory Software Testing (James Whittaker). Однако описанные нами книги вполне могут занять достойное место в библиотеке тестировщиков — это тот «обязательный и необходимый» минимум, который следует прочитать всем, кто связан с этой профессией. Если у вас есть любимые книги по тестированию, о которых мы забыли рассказать, — обязательно делитесь своими отзывами в комментариях!
Holmogorov
Поддерживаю! Книга Ольги Назиной - мастхев для начинающих и просто интересующихся темой.