Перфекционизм, насмотренность, внимательность, настойчивость, безграничная креативность, умение оформлять свои мысли грамотно и понятно, справляться с ударами от всего отдела разработки за «маленький баг-репортик» и иногда ронять прод — немало должен уметь успешный тестировщик!
Жизнь хардверного тестировщика отличается от софтверного, но не во многом: все еще надо обладать той же силой духа и внимательностью, которые и в написании юзкейсов помогут, и разработчику передать в деталях, а что собственно не так.
Иван Политов и Антон Васин, инженеры из департамента разработки и проектирования опорной 5G-сети в YADRO, уже рассказывали, чем занимается QA-команда в телекоме. Их жизнь ярка на события: выезжают в поле, «трясут» базовые станции и проверяют handover’ы. Мы попросили их посоветовать литературу: откуда они черпали вдохновение и набирались опыта?
Тестировщики из телекома дали много полезных рекомендаций. Мотайте на ус! Или на антенны ваших базовых станций :)
Г. Майерс, Т. Баджетт, К. Сандлер, «Искусство тестирования программ»

Книга Майерса — это популярное фундаментальное руководство по принципам тестирования и отладки программ. Книга была написана как методическое пособие для широкого круга специалистов и студентов. В ней большое внимание уделяется вопросам психологии и экономики тестирования. При этом автор подчеркивает, что тестирование является неотъемлемой частью разработки и составляет от 30% до 60% общих трудозатрат на создание программы.
В книге подробно описываются различные подходы к разработке тестов. Про основные из них вы, вероятно, слышали: тестирование по принципу «черного» и «белого» ящиков. Первый подход подразумевает тестирование программы без учета ее внутренней структуры или без доступа к коду. Тестирование «белого ящика» предполагает исследование внутренней логики программы путем анализа ее структуры: покрытие операторов, решений, простое и комбинаторное покрытие условий. Дополнительно рассматриваются методы эквивалентного разбиения, анализа граничных значений и применение функциональных диаграмм для создания эффективных тестовых наборов.
В целом «Искусство тестирования программ» Г. Майерса — это ценный ресурс для всех, кто занимается разработкой и проверкой программного обеспечения, но стоит иметь в виду, что книга может в некоторых моментах оказаться устаревшей, так как первое издание увидело свет в далеком 1979 году.
Это была самая первая книжка по тестированию, которую я прочитал. В ней на очень простых примерах автор объясняет, что же такое процесс тестирования. Вспоминая времена, когда я ее читал, невольно себя ловлю на мысли, что автору отлично удалось излагать материал. Ты невольно увлекался процессом чтения и контекстом написанного, так что самому на практике хотелось начать применять знания, которые были почерпнуты из нее. Идеально подойдет для разработчиков, которые хотят себя попробовать в тестировании.

Андрей Михайлов
Эксперт по тестированию в телеком-дивизионе YADRO
Б. Бейзер, «Тестирование черного ящика»

Классика Бориса Бейзера, изданная в 1994 году и переведенная на русский спустя почти 10 лет, — это практическое, доступное руководство по конкретным методам тестирования «черного ящика».
Бейзер нескромно писал: «…Планировалось, что эта книга заменит устаревший шедевр Майерса». Однако в отличие от «Искусства тестирования программ» Майерса, где автор фокусировался преимущественно на тестировании «белого ящика» (покрытие логики), книга Бейзера концентрируется на методах «черного ящика» (поведенческое тестирование). Хотя Майерс и затрагивал некоторые «поведенческие» техники, такие как эквивалентное разбиение и анализ граничных значений, Бейзер исследует весь спектр функционального тестирования подробно.
Книга будет интересна тестировщикам и программистам, стремящимся повысить качество своей работы, а также полезна студентам.
Автор подчеркивает, что тестирование должно быть направлено на обнаружение дефектов, а не на доказательство их отсутствия, и формулирует «парадокс пестицида». Бейзер также указывает, что тестирование «черного ящика» хоть и является критически важным, но не исчерпывает все аспекты тестирования. В целом что Майерс, что Бейзер были уверены: тестирование в принципе не может быть исчерпывающим.
Книжка, которая была в моей личной библиотеке. Она, как и предыдущая была прочитана в начале 2000-х. Но эту, в отличие от Майерса, я читал, уже имея опыт в тестировании, набив шишки и получив пострелизные дефекты. Отлично продуманный и последовательно представленный материал, рассказывающий про все основные аспекты процесса тестирования. Если Майерс — для того, чтобы увлечь тестированием, то Бейзер — для увлекшихся, чтобы они тестировали правильно с точки зрения научного подхода.

Андрей Михайлов
Эксперт по тестированию в телеком-дивизионе YADRO
Труд Бейзера популярен среди тестировщиков — он заимел репутацию книги для «маньяков». Ваши предположения, почему?

Александр Заболев
Инженер по тестированию в группе тестирования физического уровня базовой станции в телеком-дивизионе YADRO
С. Куликов, «Тестирование программного обеспечения. Базовый курс»

Книга Святослава Куликова «Тестирование ПО. Базовый курс» основана на пятнадцатилетнем опыте автора в проведении тренингов для тестировщиков. Она предназначена как для «совсем начинающих», так и для тех, кто уже имеет некоторый опыт в тестировании, помогает быстрее погрузиться в профессию и избежать типичных ошибок.
Автор подчеркивает: «Это не исчерпывающее руководство или справочник, поскольку область тестирования слишком обширна для одного тома». Куликов охватывает ключевые аспекты, начиная с моделей разработки и жизненного цикла ПО, а также основных принципов тестирования. Большое внимание уделяет тестированию документации и требований, а также техникам тестирования и типичным ошибкам.
В книге подробно рассматривается многообразие видов и направлений тестирования, включая классификации
по доступу к коду (к «черному» и «белому» ящикам добавляется «серый»),
по степени автоматизации,
по уровню детализации приложения (модульное, интеграционное, системное),
по важности функций (дымовое, критического пути, расширенное),
по целям тестирования (функциональное, нефункциональное, инсталляционное, регрессионное, приемочное, юзабилити, безопасности и др.).
Куликов подробно описывает работу с чек-листами и тест-кейсами, их жизненный цикл, атрибуты и свойства качественных тест-кейсов, а также принципы создания эффективных проверок и типичные ошибки при их разработке.
Значительная часть книги посвящена автоматизации, разбору ее преимуществ, недостатков и того, что именно надо автоматизировать в тестировании. Автор раскрывает особенности автоматизированных тест-кейсов и описывает различные технологии автоматизации (data-driven, keyword-driven, BDD, фреймворки, Record & Playback). Также освещается автоматизация задач, выходящих за рамки непосредственно тестирования.
Куликов уверен, что тестирование должно показывать наличие дефектов, а не их отсутствие. Он поддерживает идею предыдущих авторов о невозможности исчерпывающего тестирования. Цель тестирования — найти максимум важных ошибок в ограниченное время.
QA Bible

«Библия QA» — это огромная, постоянно обновляемая база знаний, развернутая на GitBook. В ней собраны ответы на самые популярные вопросы новичков о профессии и начале карьеры, множество ссылок и полезных ресурсов, а также конспект всевозможной теории и реальных вопросов с собеседований.
Важно понимать, что этот материал не задумывался как полноценный учебный курс для системного обучения. В «Библии QA» можно найти много всего, но это не значит, что изучать нужно каждую строчку. Это скорее копилка знаний, чем учебник.
Конспект теории — авторский, составленный одним человеком, который не является senior-специалистом. Проект находится в свободном доступе, не содержит рекламы и открыт для дополнений. Перечень тем, которые полезно знать джуну, собран в разделе FAQ, теория удобно организована в подглавы и в большинстве своем сопровождается дополнительными ссылками.
В. Смирнов, Виды тестирования производительности

Тестирование производительности проводят, чтобы узнать, выдержит ли система планируемую нагрузку и какие в ней есть узкие места. В интерактивном пособии автор из всего многообразия выделяет пять подвидов тестирования производительности: нагрузочное, стабильности, стрессовое, объемное и масштабируемости.
Каждый из пяти подвидов разбирается подробно: что он собой представляет, зачем существует, как помогает определить узкие места. Например, тестирование стабильности, согласно автору, — это длительное тестирование со средней нагрузкой, поиском отклонений и проверками корректности работы. Для тестирования стабильности выбирается точка между максимальной и средней интенсивностью, и в течение ночи или даже всех выходных выполняются качественные и функциональные проверки. В процессе такого тестирования стоит стараться всячески избегать неравномерной нагрузки. Автор дает рекомендации по тому, как этого можно достичь.
В этой книге описываются общие подходы Performance Testing (тестирование производительности) — это процесс оценки и анализа производительности по трафику, количеству user equipment и т. д., стабильности при длительной работе оборудования или компонента в различных условиях нагрузки.

Владимир Болдырев
Старший менеджер проектов в отделе тестирования производительности YADRO
БОНУС! Полезная подборка статей про написание автотестов от Константина Власова, ведущего инженера-программиста в отделе тестирования в телеком-дивизионе YADRO:
12 характеристик высокоэффективных тестов: Энди Найт описывает, какими характеристиками должны обладать высокоэффективные тест-кейсы.
Why is Automation Full of Duplicate Code? | Automation Panda: почему в автотестах везде копипаста и как ее избежать.
Why practicing DRY in tests is bad for you - DEV Community: почему в некоторых случаях все-таки стоит копипастить код.
How to compare two JSON objects that contains array using Karate tool and feature files: «если кто-то сказал вам, что для тестов нужно что-то “использовать повторно”, пожалуйста, не слушайте этого человека».
Google Testing Blog: Testing on the Toilet: Tests Too DRY? Make Them DAMP: почему в автотестах читабельность важнее уникальности.
Is there a way we can chain the scenarios in karate like java method chaining: как работает Scenario в Karate и почему не страшно использовать несколько в одной Feature.
In Karate how we can collaboratively work along with BA to automate business scenarios: почему Karate не предназначен для BDD.
Осваивая предложенную теорию, можно приступать и к практике. С чего начать тестировщику, читайте в статье Юлии Ковшовой, руководителя группы компонентного тестирования защиты данных YADRO.