Когда я начала свой путь в тестировании, то это был для меня новый неизведанный мир, мне сразу приходилось решать сложные задачи на боевых проектах. Зачастую я не знала верного пути, а искала его путем проб и ошибок, заходила в тупики и начинала заново, было тяжело, так как не было поддержки: некому было сказать, что я делаю правильно, а что нет. Сейчас моя роль изменилась: я отвечаю за тренинг новых сотрудников в нашей команде. Как я писала в статье, 80% новых сотрудников не имеют опыта и знаний в сфере тестирования, однако имеют хороший базис в ИТ-области. Наша задача: помочь им выбрать дальнейший путь профессионального развития, избежать множества ошибок и напрасного потери времени.
Тренинг. Практическая часть
Обучение состоит из 2х частей: теоретической и практической. В рамках практической части тестировщики начинают работать с боевым продуктом под руководством наставника, который помогает не только непосредственно с тестированием, но и с подготовкой среды, разворачиваением новых сборок, работой в текущем таск-трекере проекта и тд. Зачастую для выбранного продукта есть достаточно различной документации и не только (тест-кейсы, чек-листы, вики, информация об установке, архитектуре системы, руководства по работе с продуктом, виртуалки с подготовленными тестовыми средами, таск-трекер проекта и т.д.); это позволяет сразу приступить к тестированию продукта. Кроме того, новый сотрудник с первых дней работает не изолированно, а вливается в работу команды: участвует в груммингах, планировании итераций, ежедневных стэндапах, ретроспективах, демо; что позволяет узнать не только о методах и процессах, но и о самом продукте.
Тренинг. Теоретическая часть
Основные положения
Тренинг по теоретической части рассчитан на 5 рабочих дней по 4 часа каждый (остальные 4 часа рабочего времени- это практическая часть), конечно же, весь объем материала невозможно детально изучить за это время, но здесь стоит другая задача: получить общее представление о профессии, систематизировать имеющиеся знания, сформировать дальнейшие пути развития. Обучение заключается в следующем: сотруднику предоставляет база знаний (с возможностью использования любых других источников), анализирую которую, он составляет краткий конспект согласно установленному плану (в качестве инструмента хранения используем Google-таблицы) с постоянным мониторингом результатов куратором, корректировкой, обсуждением возникающих по ходу обучения вопросов, выполнением сопутствующий заданий. Полученный конспект в будущем зачастую используется как хранилище информации, полезных ссылок, дополняется новой информацией. Самые большие проблемы у новичков возникают с терминологией, для их решения используем глоссарий ISTQB и SWEBOK. В процессе изучения материала, выполнения заданий и составления конспекта сотрудник также приобретает навыки работы с Google-таблицами, с инструментами для создания ментальных карт, с инструментами pairwise (PICT).
Тренинг: «Основы тестирования». План
Тема 1: Введение
- Качество ПО, стандарты качества ПО : Что такое качество ПО, Что такое тестирование, каковы его принципы. Какие существует международные стандарты, регламентирующие нашу работу. Какие из них целесообразно использовать и когда?
- Цели и задачи процесса тестирования: Перечислить основные цели и задачи процесса тестирования. От чего они зависят, могут ли варьироваться? Почему тестирование необходимо?
Тема 2: Основы тайм-менеджмента
- Тайм-менеджмент: Что это такое? Почему тестировщику важно уметь планировать рабочее время?
- Основные приемы тайм-менеждмента: (краткосрочное и долгосрочное планирование рабочий задач, разделение больших задач на маленькие, борьба с пожирателями времени, внутренняя мотивация.
- Привести примеры Ваших «пожирателей времени» и способов борьбы с ними.
Тема 3: Работа с требованиями
- Требования к ПО: Перечислить виды требований их классификации. Что может служить источниками требований?
- Анализ требований с точки зрения пригодности к тестированию: Анализ различных видов требований для планирования задач по контролю качества. Анализ полученных требований с точки зрения конечного пользователя.
- Выявление скрытых ограничений
- Тестирование требований: Необходимость тестирования требований. Тестирование требований с точки зрения предъявляемых к ним критериям качества.
Доп. задание: сделать MindMap схему видов требований.
Тема 4: Тестирование как процесс
- Активности процесса тестирования. Их особенности. Отметить обязательность каждой из активностей. Если активность не обязательна, то указать в каком случае
- Уровни тестирования: Юнит-тестирование, Компонентное, Интеграционное, Системное, Приемочное
- Виды/Типы тестирования: Функциональное тестирование. Нефункциональные виды тестирования. Тестирование структуры/архитектуры. Тестирование, связанное с изменениями: Регрессионное тестирование, Тестирование в период сопровождения.
Доп. задание: сделать MindMap активностей процесса тестирования, уровней и типов тестирования
Тема 5: Модели разработки ПО+Тестирование
- Модели разработки ПО: Перечислить основные методологии разработки ПО, Обозначить жизненный цикл ПО для каждой из указанных методологий.
- Обозначить место тестирования в рамках жизненного цикла по для каждой из моделей.
- Перечислить достоинства и недостатки моделей разработки ПО с точки зрения тестирования.
Тема 6: Работа с дефектами
- Что такое ошибка/дефект.
- Понятие критичности, приоритета.
- Системы отслеживания ошибок (bug tracking system).
- Жизненный цикл дефекта в баг-трекере текущего проекта.
Тема 7: Тестовая документация
- Документы, создаваемые в процессе тестирования: Перечислить список документов, создаваемых в процессе тестирования, согласно стандарту IEEE. Все ли документы необходимо создавать для каждого проекта?
- Чек-листы и Чит-листы: Методы и правила создания. Их назначение и необходимость. Аргументация их использования.
- Тест-кейсы: Методы проектирование тест-кейсов. Правила написания, степень детализации, независимость. Аргументация их использования.
- Составление отчетов по результатам тестирования: Цели и задачи такого отчета. Содержание.
Тема 8: Техники тест-дизайна
- Анализ граничных значений, Эквивалентное разбиение. Особенности использования техник, их достоинства и недостатки.
- Комбинаторика: Ручная комбинаторика, Pairwise. Особенности использования техники, ее достоинства и недостатки.
- Состояние и переходы. Последовательности Особенности использования техники, ее достоинства и недостатки.
- Исследовательское тестирование: Особенности исследовательского тестирования. Отличие исследовательского тестирования от скриптового. Для каких задач предпочтительно исследовательское тестирование, а не скриптовое.
Доп. задание: сделать MindMap схему техник тест-дизайна
Что мы ждем от сотрудника по истечению первого месяца работы:
- Понимание принципов, целей и задач тестирования
- Владение базовой терминологией
- Выполнение тестирование продукта, согласно разработанным тест-кейсам и чек-листам
- Участие в планировании итерации и оценке трудозатрат на тестирование
- Использование техник тест-дизайна при составлении тест-кейсов/чек-листов (граничные условия, эквивалентное разбиение, комбинаторика)
- Самостоятельная работа с таск-трекером, в том числе работа с багами в соответствии с установленным жизненным циклом.
Отличная статья на dojo.ministryoftesting об обучении начинающего тестировщика.
MindMaps
Ментальная карта с планом тренинга на русском