Это вторая книга из трилогии Ольги Назиной по тестированию ПО. Про первую книгу автор рассказала в своем блоге на Хабре, третью мы осветили в предыдущем посте. Мультяшный авторский стиль изложения с сотнями картинок-комиксов необычен для компьютерной литературы, но почему бы и нет? Книга легка в восприятии и помогает грамотно использовать техники проектирования тестов, знакомит с границами их применимости.
Спойлер: Хотя на обложке написано “Для начинающих”, эта книга рассчитана скорее на практикующих тестировщиков и слушателей ИТ-курсов, уже набравших самостоятельного опыта на практических занятиях. Совсем новичкам ее читать будет сложно и неинтересно, несмотря на все комиксы и интересные примеры. Для начинающих «молодых бойцов» предназначена первая книга автора.
«Тест-дизайн. Практическое руководство для начинающих» вышла в издательстве «БХВ-Петербург» в 2023 году. Электронная версия этой второй книги в цвете доступна на сайте издательства «БХВ». А будет еще и четвертая книга, которая уже в работе и ориентировочно появится в продаже во второй половие 2024 года.
У Ольги назиной есть блог на Хабре, и там пара очень эмоциональных статей, с каким трудом далась ей первая книга «Что такое тестирование. Курс молодого бойца» и почему был выбран необычный стиль изложения материала с забавными комиксами.
Напомним, рецензию на третью книгу о баг-трекинге, вышедшую в первом квартеле 2024 года, мы уже публиковали https://habr.com/ru/companies/ssp-soft/articles/807543/. Ее можно купить со скидкойв черно-белом бумажном варианте на сайте издательства «Баг-трекинг: локализация и оформление дефектов». В цветной печати книга доступна как подарочный вариант — у автора напрямую через Авито.
Чтобы купить книги Ольги Назиной и любую другую компьютерную литературу со скидкой 25% на сайте издательства БХВ, введите промокод SSPSOFT как подарок от нашего блога для читателей Хабра.
Зачем он нужен, этот тест-дизайн
Как пишет автор, если вы поговорите с врачами, то каждый из них скажет, что вирусы и бактерии адаптируются к лекарствам, которые со временем становятся менее эффективными. Также случается и с тестами ПО, — приложения усложняются, меняются среды разработки, обновляются клиентские устройства у пользователей, поэтому тесты тоже надо «держать в тонусе» и регулярно пересматривать.
Говоря более формально, тест-дизайн представляет собой методику тестирования программного обеспечения, предназначенную для оптимизации ресурсов QA-команды и повышения эффективности обнаружения ошибок. Это набор техник и навыков, которые помогают тестировщикам эффективнее использовать рабочее время, программные и аппаратные ресурсы, достигая при этом максимального покрытия тестируемых компонентов.
В контексте тестирования, это означает проведение минимального количества тестов при одновременном выявлении максимального числа ошибок в программном продукте. Эффективный тест-дизайн позволяет сосредоточить усилия на ключевых областях системы, где вероятность появления проблем выше всего.
С другой стороны, минимизация тестовых усилий за счет оптимального выбора тестовых сценариев и тестовых данных позволяет выявить дефекты ПО, которые могли бы остаться незамеченными при несистемном подходе к тестированию.
В книге есть бонус от автора — подборка чек-листов для стандартных операций тестирования. Они позволяют не забыть, что следует проверить в той или иной ситуации. Используйте их в работе, пополняйте и расширяйте в соответствии с особенностями своей системы.
Что внутри книги
Оглавление книги «Тест-дизайн: Как проектировать тесты, чтобы находить больше багов» опять размещено в конце издания, что необычно и, на мой взгляд, неудобно для компьютерной литературы. По этой причине, оглавление даже не попало в отрывок книги (превью) на сайте издательства. Но в этот раз не буду повторять оглавление в посте, просто назову основные темы, рассматриваемые в книге:
Темы ОГЛАВЛЕНИЯ:
1. Классы эквивалентности — методика разбиения входных данных на группы, представители которых ведут себя одинаково. Автор дает пошаговые рекомендации по применению этого подхода.
2. Граничные значения — анализ границ допустимых значений для различных типов данных (числа, даты, строки и т.д.). Приводятся примеры определения технологических, логических и произвольных границ.
3. Анализ тестов — техники оптимизации тестовых наборов путем объединения, исключения дублей и выявления избыточности.
4. Техника попарного тестирования (Pairwise) — способ генерации тестовых сценариев, покрывающих все возможные пары значений входных параметров.
5. Чек-листы — контрольные списки проверок для различных аспектов тестирования (поисковые фильтры, числовые и текстовые поля, формы, связи и т.д.).
6. Исследовательское тестирование — описание техник свободного, сценарного и направленного тестирования с использованием разнообразных эвристик и мнемоник.
7. Варианты использования — структурированный подход к описанию тестовых сценариев с учетом действующих лиц, их целей, шагов и альтернатив.
8. Таблицы решений — техника моделирования логики принятия решений в виде табличного представления.
9. Схемы состояний и переходов — наглядное графическое описание поведения системы в различных состояниях.
10. Дополнительные диаграммы и схемы — рассматриваются различные варианты визуального представления тестовых сценариев.
В сухом остатке
Книга «Тест-дизайн. Как проектировать тесты, чтобы находить больше багов» представляет собой ценное практическое руководство по тест-дизайну в сфере обеспечения качества программного обеспечения. Автор делится обширными знаниями и опытом в области проектирования тестов, которые позволяют выявлять больше дефектов в разрабатываемом ПО.
Преимущества книги:
Детальное и структурированное изложение различных методик тест-дизайна
Множество практических примеров применения подходов
Инструменты и инструментарий для реализации описываемых техник
Четкие рекомендации по применению и ограничениям методик
Акцент на поиске дефектов, а не просто на покрытии требований
Недостатки (это мнение может разделяться не всеми):
Книга ориентирована преимущественно на ручное тестирование, уделяя меньше внимания автоматизации
Тема исследовательского тестирования раскрыта гораздо подробнее, чем другие темы (само по себе, это может быть и достоинством)
Хотелось бы больше примеров реализации описываемых подходов в рамках конкретных инструментов/фреймворков.
В целом, книгу можно смело рекомендовать как практикующим тестировщикам, так и слушателям ИТ-курсов по специальности QA-тестирования. Овладение практиками тест-дизайна из книги поднимет ваш профессиональный уровень на достаточно высокую отметку.
Добавлю каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, разработчиков на Java, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).
Успехов в освоении профессии тестировщика!