Организация тестирования в команде разработчиков
Цели и задачи
- Цель: сформировать представление о процессе обеспечения качества (QA) как о непрерывном цикле в рамках командной разработки ПО.
- Образовательная задача: изучить роли в команде тестирования, этапы жизненного цикла тестирования (STLC) и уровни тестирования.
- Развивающая задача: проанализировать экономическую эффективность раннего тестирования на основе графика стоимости исправления ошибок.
- Воспитательная задача: способствовать формированию ответственного отношения к результатам коллективного интеллектуального труда.
- Профориентационная задача: познакомить учащихся со спецификой профессий QA Engineer, Automation Engineer и SDET.
Планируемые результаты
Личностные
- Готовность к осознанному выбору будущей профессии в сфере информационных технологий.
- Понимание значимости командной работы и распределения ролей для достижения качественного результата.
- Критическое отношение к информации и результатам собственной деятельности.
Метапредметные
- Умение анализировать сложные процессы и структурировать их в виде алгоритмов (жизненный цикл дефекта).
- Навыки смыслового чтения технической документации и выделения ключевых артефактов.
- Способность аргументированно выбирать инструменты для решения задач (ручное vs автоматизированное тестирование).
Предметные
- Знание определений QA, STLC, Unit-тестирования, интеграционного и системного тестирования.
- Умение различать основные тестовые артефакты: тест-план, тест-кейс, баг-репорт.
- Владение базовым представлением о жизненном цикле дефекта и статусах багов.
Универсальные учебные действия (УУД)
Личностные УУД
- Формирование профессионального самоопределения.
- Развитие навыков этичного взаимодействия в профессиональной среде (общение разработчик-тестировщик).
Регулятивные УУД
- Планирование последовательности действий при проверке программного продукта.
- Осуществление самоконтроля и коррекции при составлении описания ошибок.
Познавательные УУД
- Моделирование процесса прохождения теста по шагам.
- Сравнение и классификация уровней тестирования по их целям и объектам.
Коммуникативные УУД
- Умение с достаточной полнотой и точностью выражать свои мысли в баг-репорте.
- Инициативное сотрудничество в поиске и сборе информации о дефектах.
Подготовка учителя к уроку
- Подготовить презентацию на основе материалов источника (слайды: роли, STLC, уровни, Bug Life Cycle, артефакты, стоимость ошибки).
- Распечатать карточки с «кейсами» для практической работы (описание некорректного поведения программы для составления баг-репорта) — 15 шт.
- Подготовить на доске или флипчарте схему жизненного цикла дефекта с пустыми блоками для заполнения.
- Проверить работоспособность проектора и компьютера.
- Распечатать листы самооценки (Exit Tickets) для этапа рефлексии.
Ход урока
Этап 1. Мотивация и актуализация (5 мин)
Цель этапа: вызвать интерес к теме через осознание масштабов последствий программных ошибок.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | «Здравствуйте! Представьте ситуацию: 1996 год, ракета Ариан-5 взрывается через 40 секунд после старта. Ущерб — 370 миллионов долларов. Причина? Ошибка приведения типов в коде. Как вы думаете, почему разработчики, написавшие этот код, не заметили проблему сами? И кто в современной IT-команде должен был поймать эту ошибку до запуска?» | Выдвигают гипотезы: «Разработчик привык к своему коду и не видит опечаток», «Нужен свежий взгляд», «Нужны специальные люди — тестировщики». |
3 мин | «Верно. Сегодня мы разберемся, что тестирование — это не просто "потыкать кнопки", а целая наука обеспечения качества. Запишите тему урока: "Организация тестирования в команде разработчиков". Посмотрите на график стоимости исправления ошибок на экране. Что вы можете сказать о зависимости цены ошибки от этапа, на котором она найдена?» | Анализируют график из источника, делают вывод: «Чем позже найдена ошибка, тем дороже она обходится бизнесу. На этапе релиза цена взлетает в десятки раз». |
Завершение этапа: учитель подводит итог: «Итак, мы поняли, что тестировать нужно как можно раньше. Теперь давайте узнаем, кто именно этим занимается и как устроен этот процесс изнутри».
Этап 2. Открытие нового знания: Роли и STLC (12 мин)
Цель этапа: изучить профессиональные роли и этапы жизненного цикла тестирования.
Время | Действие учителя | Действие учеников |
|---|---|---|
5 мин | «В тестировании есть своя иерархия и специализация. Посмотрите на слайд. QA Engineer проектирует процессы, Manual Tester проверяет всё руками, Automation Engineer пишет код для тестов, а SDET создает целые инструменты. Как вы думаете, в чем главное отличие Automation Engineer от обычного разработчика?» | Обсуждают, приходят к выводу: «Разработчик создает продукт, а автоматизатор — программы, которые проверяют этот продукт на прочность». |
7 мин | «Тестирование — это не разовое действие в конце, а процесс STLC (Software Testing Life Cycle). Откройте тетради и зарисуем схему. Всё начинается с анализа требований. Зачем нам анализировать требования до того, как написан код? Затем идет планирование, разработка тестов, выполнение и завершение цикла. Какие документы, или артефакты, мы получаем на каждом этапе?» | Зарисовывают схему STLC. Отвечают: «Анализ требований нужен, чтобы найти ошибки в логике еще до программирования». Записывают определения артефактов: тест-план, тест-кейс, чек-лист. |
Посмотрите план целиком
Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.
Запись в тетрадях
- STLC: Анализ требований → Планирование → Разработка тестов → Выполнение → Завершение.
- Тест-кейс — пошаговое описание действий для проверки конкретной функции.
- Баг-репорт — описание ошибки с шагами воспроизведения.
Завершение этапа: учитель подводит итог: «Мы увидели структуру процесса. Но что происходит, когда мы действительно находим ошибку? Какой путь она проходит?»
Этап 3. Уровни тестирования и жизненный цикл бага (10 мин)
Цель этапа: познакомиться с уровнями тестирования и логикой обработки дефектов.
Время | Действие учителя | Действие учеников |
|---|---|---|
5 мин | «Тестирование идет от малого к большому. Сначала Unit-тесты (проверка функций), потом интеграционные (как детали стыкуются), затем системные и, наконец, приёмочные (UAT). Представьте, что вы собираете автомобиль. Что будет Unit-тестом, а что системным?» | Приводят примеры: «Проверка работы одной свечи зажигания — Unit, а тест-драйв всей машины — системное тестирование». |
5 мин | «Когда мы нашли баг, он рождается со статусом NEW. Посмотрите на диаграмму Bug Life Cycle. Учитель открывает баг (OPEN), разработчик исправляет (FIXED). Что должен сделать тестировщик после статуса FIXED? Почему мы не можем сразу закрыть задачу?» | Изучают схему. Отвечают: «Нужна перепроверка. Если баг остался — REOPEN, если исправлен — CLOSED». |
Завершение этапа: учитель подводит итог: «Теперь, когда мы знаем теорию, давайте попробуем себя в роли тестировщиков и составим главный документ — баг-репорт».
Этап 4. Практическая работа (10 мин)
Цель этапа: отработка навыка составления технической документации (баг-репорта) по заданному кейсу.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | «Раздаю карточки с описанием ситуации. Кейс: "В мобильном приложении банка при вводе суммы перевода 0.01 рубль кнопка 'Отправить' становится неактивной, хотя минимальная сумма — 0.01". Ваша задача — составить баг-репорт по структуре: Заголовок, Шаги, Ожидаемый результат, Фактический результат». | Получают карточки, уточняют структуру документа. |
8 мин | Учитель проходит по рядам, консультирует. «Обратите внимание на заголовок — он должен отвечать на вопросы Что? Где? Когда? Не пишите просто "Кнопка не работает"». | Индивидуально составляют баг-репорт в тетрадях. Обмениваются тетрадями для взаимопроверки по приёму «Две звезды и пожелание». |
Эталон решения
Summary: Кнопка «Отправить» неактивна при вводе минимально допустимой суммы (0.01 руб).
Steps: 1. Открыть экран перевода. 2. Ввести в поле суммы «0.01». 3. Посмотреть на состояние кнопки «Отправить».
Expected: Кнопка активна.
Actual: Кнопка серая (disabled).
Steps: 1. Открыть экран перевода. 2. Ввести в поле суммы «0.01». 3. Посмотреть на состояние кнопки «Отправить».
Expected: Кнопка активна.
Actual: Кнопка серая (disabled).
Завершение этапа: учитель подводит итог: «Отлично! Вы научились говорить с разработчиками на одном языке. Это критически важный навык в IT».
Этап 5. Рефлексия и домашнее задание (8 мин)
Цель этапа: обобщение знаний и самооценка достигнутых результатов.
Время | Действие учителя | Действие учеников |
|---|---|---|
5 мин | «Давайте подведем итоги. Используем приём "Билет на выход". Напишите на листочках ответы на три вопроса: 1. Какая роль в QA вам ближе всего? 2. Почему автоматизация не заменяет ручное тестирование полностью? 3. Что самое сложное в пути бага от NEW до CLOSED?» | Заполняют листки рефлексии. Формулируют выводы: «Ручное тестирование нужно для UX/UI, так как скрипт не оценит удобство», «Самое сложное — воспроизвести баг, который проявляется редко». |
3 мин | «Записываем домашнее задание. Оно будет дифференцированным. Базовый уровень — по учебнику, продвинутый — исследовательский. Спасибо за работу!» | Записывают задание, задают уточняющие вопросы. |
Критерии оценивания практической работы
- «5» — баг-репорт содержит четкий заголовок (Что? Где? При каких условиях?), логичные шаги воспроизведения, корректно указаны ожидаемый и фактический результаты.
- «4» — баг-репорт составлен верно, но заголовок слишком общий или пропущен один из шагов воспроизведения.
- «3» — нарушена структура баг-репорта, описание не позволяет однозначно понять суть ошибки без дополнительных пояснений.
Рефлексия
Вопрос для ученика | Цель вопроса |
|---|---|
«Какая стадия STLC кажется вам самой важной и почему?» | Проверка понимания непрерывности процесса и значимости анализа требований. |
«Смогли бы вы работать QA-инженером? Какие качества для этого нужны?» | Личностное самоопределение и анализ soft skills (внимательность, коммуникабельность). |
«В чем разница между поиском ошибок и обеспечением качества?» | Осознание философского сдвига от деструктивного тестирования к конструктивному QA. |
Завершающее слово учителя
«Сегодня мы заглянули за кулисы создания программных продуктов, которыми пользуемся каждый день. Вы увидели, что за каждой кнопкой стоит труд не только программиста, но и целой команды обеспечения качества. Помните: идеального кода не существует, но существует процесс, который делает его надежным. На следующем уроке мы попробуем написать свои первые автоматизированные тесты на Python. До встречи!»
Домашнее задание
Уровень сложности | Задания | Описание |
|---|---|---|
Базовый (обязательный) | Конспект и схема STLC | Выучить определения уровней тестирования и статусов баг-репорта. |
Средний (повышающий) | «Охота на баги» | Найти 1 реальную ошибку в любом школьном веб-ресурсе или приложении и составить на неё профессиональный баг-репорт. |
Продвинутый (дополнительный) | Эссе «QA будущего» | Подготовить краткое сообщение о том, как искусственный интеллект меняет работу тестировщика сегодня. |
Контрольный вопрос: «Если баг исправлен разработчиком, но при проверке он все еще воспроизводится, какой статус должен присвоить ему тестировщик?»