Основы тестирования программного обеспечения
Что такое тестирование, чем оно отличается от QA, цепочка ошибка→дефект→сбой, верификация и валидация, виды проверок и роли в команде.
Подготовка среды и создание первого теста
Юнит-тест представляет собой автоматизированную проверку отдельной единицы программного кода.
Проверка взаимодействия компонентов
Практическое занятие и реализация интеграционного теста.
Проверка пользовательского сценария
Практическое занятие и реализация ручного тестирования.
Проверка надежности под нагрузкой
Практическое занятие и реализация нагрузочного тестирования.
Практикум Java — JUnit и REST Assured
Первый автотест на Java для QA: JUnit 5, REST Assured и проверка HTTP API без браузера.
Практикум JavaScript — Playwright и Jest
Первый автотест на JavaScript для QA: Jest для unit-проверок и Playwright для E2E в браузере.
Классификация видов тестирования
Тестирование разных признаков - доступ к коду, модульное, интеграционное, системное, приёмочное и прочие.
Жизненный цикл тестирования
Основные фазы - планирование и контроль, анализ и проектирование, реализация и выполнение, оценка критериев, отчетность.
Артефакты качества в проекте
Что такое артефакты, каким целям и принципам они служат.
End-to-End и системное тестирование
Системное тестирование, в чём суть и чем отличается E2E.
Автоматизация тестирования
Использование программных средств для выполнения проверок без вмешательства человека.
Последовательность этапов тестирования
Порядок тестирования, как правильно проектировать стратегию реализации контроля качества.
Объекты и уровни тестирования
Тестирование программного обеспечения предполагает верификацию поведения отдельных компонентов и системы в целом при контролируемых и воспроизводимых условиях.
Инструменты для ручного и автоматизированного тестирования
Locust — это инструмент для нагрузочного тестирования, который устанавливается как обычная библиотека Python. Для корректной работы необходимо наличие среды выполнения Python версии 3.7 или новее.
Selenium
Специальный инструмент для автоматизированного тестирования.
Playwright
Playwright для QA и SDET — архитектура UI-автотестов, локаторы, SPA/React, Page Object, pytest, Allure, CI и карьера.
Документация тестировщика
Тестовая документация - материалы, описывающие цели, стратегию, процессы, методы и результаты тестирования.
Юнит-тестирование
Верификация отдельных единиц кода - отдельных функций, методов, классов или структур.
Интеграционное тестирование
Проверка корректности взаимодействия отдельных компонентов системы после их соединения.
Нагрузочное и стресс-тестирование производительности
Специализированные методы верификации, направленные на оценку устойчивости, пропускной способности и предсказуемости поведения системы.
Тестирование информационной безопасности
Процесс выявления, анализа и документирования уязвимостей ПО.
Особенности тестирования мобильных приложений
Процесс проверки ПО, предназначенного для работы на мобильных устройствах.
Мутационное тестирование
Целенаправленное внесение изменений в код программы с последующей проверкой способности тестов обнаружить изменения.
Покрытие кода и метрики полноты тестирования
Критерии, позволяющие оценить, насколько полно проведено тестирование.
Техники проектирования тестов
Тест-дизайн, с целью максимизировать эффективность тестирования.
Самовосстанавливающиеся тесты
Самовосстанавливающиеся тесты адаптируются к изменениям интерфейса и API, снижая стоимость поддержки автотестов.
Инструменты с низким кодом для тестирования
Low-code и No-code платформы представляют собой класс программного обеспечения, позволяющий создавать приложения и автоматизировать процессы через визуальные интерфейсы и конфигурацию параметров.
Тестирование нейроморфных систем
Специализированный подход к проверке нейроморфных чипов — нишевый материал, не входит в базовый маршрут QA.
Дополнительные модули для тестировщика
Git, HTTP, алгоритмы, soft skills и английский — маршрут бонус-модулей для QA и ссылки на языковые практикумы Java, JavaScript и Python.
Ручное тестирование веб-приложений
Чек-листы и практический порядок проверки сайта глазами пользователя — формы, сессии, сеть, кроссбраузерность и типичные баги.
SQL для тестировщика
Десять типовых SQL-запросов для проверки данных после API и UI — мост к разделу SQL энциклопедии.
White-box — тестирование потоков управления и данных
Black-box проверяет поведение снаружи. Этого хватает для API и UI. Но внутри модуля может быть 12 веток if, и один сценарий не покрывает опасную комбинацию.
Unit, Integration, UI, E2E, TDD и BDD
Как связаны уровни тестирования и практики TDD/BDD, когда что выбирать и как внедрять в проекте.
Основы тестирования веб-приложений — маршрут для QA
Полная карта тем веб-тестирования — браузер, HTTP, backend, формы, SPA, нефункциональные проверки и ссылки на материалы энциклопедии.
Тестирование и анализ API
API testing. Как исследовать API и проверять - подходы, порядок.
Тестирование программного обеспечения — итоги
Краткое резюме раздела "Тестирование" — ключевые темы, связи между статьями и куда идти дальше.
Тестирование программного обеспечения — чек-лист
Чек-лист раздела «Тестирование программного обеспечения» — вопросы для самопроверки.
Тестирование программного обеспечения — о разделе
Маршрут изучения раздела "Тестирование" — от основ QA до API, автоматизации и нагрузки в энциклопедии Вселенная IT