воскресенье, 29 апреля 2018 г.

Roadmap тестировщика в контуре

У нас в контуре есть гайд о том, каким мы видим проектировщика.

Уже больше года мы пишем аналогичный текст о том, кто такой тестировщик в большой продуктовой компании. Мне помогают несколько коллег, но большая часть текста моя.

Этот текст должен использоваться для оценки специалистов и для идей о том, что делать и как развиваться дальше. Не всегда успешно, но все же.

Когда нибудь придет время  и он будет торчать наружу, пока же лежит в корпоративном гите.

Итак:

Тестировщик в Контуре

Per aspera ad astra

О чем речь?

Текст поможет ответить на вопросы **Кто я и как мне стать круче?** и понять, кем хочешь быть в профессии и что сделать, чтоб стать лучше.

Стажер, младший тестировщик (0)

Чтоб стать

Связная речь, обучаемость, интерес к профессии и минимум один из следующих пунктов:
  • Высшее техническое образование
  • Серьезный объем подготовки
  • Опыт работы в профессии

 Что ждем

  • Тестирование в паре с наставником, заведение багов, создание артефактов тестирования
  • Понимание со второго раза и не повторение вопросов
  • Восприятие критики: аргументированные возражения, признание ошибок

Переход в линейные тестировщики

  • Без контроля с требуемым качеством выполнять стандартные задачи тестировщика в проекте
  • Команда доверяет результатам работы
  • Перепроверка не требуется
  • Со старшими товарищами сформулировал свой план на год

Время

Стажер учится работать в команде и проекте от полугода до года.

Линейный тестировщик (1)

Что ждем

Расширения и углубления знаний и навыков в тестировании и смежных областях — программировании, проектировании, администрировании, аналитике, управлении - позволяющее быстро и качественно работать. Тестировщик умеет:
  • Как аналитик — декомпозировать задачу и работать с еще не реализованым приложением
  • Как проектировщик — тестировать с точки зрения достижения целей клиента
  • Как программист — тестировать белым ящиком, читать код
  • Как тестировщик — расширять набор инструментов, показывать быстрый и интуитивный выбор подходящих техник
  • Как менеджер — проявлять системное мышление, движение от решения задач к решению проблем

Аналитическое направление

1. Продукт
Актуальные знания о функциональности. Как в продукте выполнить тот или иной пользовательский сценарий.
2. Предметная область
Знания о бизнесе и целях продукта. Зачем, как и в каких обстоятельствах используют клиенты, какие проблемы должен решать продукт.
3. Теория тестирования: ведение дефектов
Работа с баг- и таск-трекерами, понимание ценности действий в них, соответствие формулировок и оформления принятым в продукте правилам.
4. Теория тестирования: техники
Создание максимального, а затем эффективного набора сценариев.
Термины: области определения данных, тестирование путей, состояний, репрезентативных значений,
ограничений ввода, вывода, хранения, компиляции, оракулы в тестировании, эвристики,
альфа, бета, гамма тест, 18 видов нефункционального тестирования, модель здоровья, рисков.
Обладающий этими знаниями и навыками способен выбрать эффективный подход к решению любой задачи тестирования.
5. Теория тестирования: артефакты
Кроме умения создавать документацию, специалист понимает цену ее поддержки, сложность изменения, потребителей, влияние на проект.
6. Теория тестирования: автоматизация
Осознание, что проектирование автотестов отличается от проектирования тестов, исполняемых человеком.
Другие оракулы, подходы, способы, уровни проверок.
Понимание, что автоматизация усиливает то, что есть. В том числе бардак.
Понимание, что "ручное" и "автоматизированное" тестирование это не конкурирующая деятельность.
Понимание, что автоматизированные регрессионные тесты находят меньшую часть ошибок.
Понимание, что автотестер, не умеющий тестировать - не тестировщик.
Понимание, что тестируемость продукта является лучшей инвестицией, чем автоматизация.
7. Техподдержка
Работа с техподдержкой, экспертами, аналитиками, работа второй или третьей линией, свободная Касса.
Сбор обратной связи о качестве работы тестировщика.
Знакомство с пользователями, обогащение знаний о предметной области и продукте.
8. ISTQB Foundation level
Общая с миром терминология и контекст. Помогает уложить неструктурированные знания в систему.
9. Передача знаний
Доклады, статьи, мастер-классы, курсы.

Техническое направление

1. Администрирование
Windows, затем *nix и Mac. От каких параметров окружения зависит работа продукта, какие с этим связаны настройки.
Как для клиентской, так и для серверной части.
2. Базы данных
Подцепиться к базе и вытащить простым запросом нужную информацию ничего не испортив.
3. Архитектура продукта
Из каких компонент состоит продукт и какой сервис за что отвечает, как взаимодействуют друг с другом.
Знания, достаточные для функционального тестирования и чтения нужных логов. Консультирует коллег, способен локализовать баг с учетом знаний.
Способен отличить дефекты от проблем конфигурации и настройки локализации.
4. Техническая грамотность
Тысячи мелочей. Локализация, интеграции, программные интерфейсы, покрытие, знакомство с html, js, css, apache, понимание принципов работы браузера.
Для каждого проекта свой набор необходимых инструментов, которыми надо обладать.
5. Код
C#, Java и др. Полезное применение языков, как при написании автотестов, так и при тестировании белым ящиком.
Способен писать автотесты по аналогии с существующими.
Git/SVN/whatever: работа по правилам, принятым в проекте разработчиками. Мерж, ребейз, разрешение конфликтов.
6. Скрипты
Bash, PowerShell, Python. Полезное применение этих языков, скрипты для ускорения работы, подготовки данных.
7. CI
Понимает, как работает и как пользоваться CI своего проекта.
Делает простые правки (добавить параметр, добавить билд по шаблону) в конфигурации CI.
Сложная настройка CI: новые шаблоны, новые проекты, цепочки билдов, интеграция тестов в CI.
8. Спецбиблиотеки и драйвера
Selenium, Xunit, testNG, Моки и др.
Успешное присобачивание этого к проекту.
8. Администрирование трекера
Как и зачем. Оптимизирует необходимое с помощью workflow.

Менеджерское направление

1. Инициатива
Работа и нанесение пользы, даже если никто не ставит задачи. Деятельность по улучшению помимо основных обязанностей.
2. Организация
Оценка времени выполнения задачи, информирование о срывах сроков и иных проблемах.
Самостоятельная приоритезация и организация работ.
Выпуск релиза. Ответственность за задачи временной небольшой группы, менеджмент выпуска большой фичи.
3. Наставничество
Подопечный стал линейным тестировщиком.
4. Сообщество
Активное участие в жизни сообщества тестировщиков внутри компании и пассивное в городе, стране и мире.
5. Профессиональная самоидентификация
Не делать лишнего. Понимать и соблюдать границы того, что должен делать тестировщик, а что нет. Лишние для тестировщика работы доверять компетентным людям.
6. Сходить на стажировку
Каждый тестировщик раз в год имеет право сходить на месяц на стажировку в другой проект.
7. Участие
Активное участие в ретроспективах и скрам-мастерство. Опыт проведения встреч в качестве организатора или ведущего.
Визуализация процесса тестирования для команды и контура.
Предоставление информации о ходе разработки и тестирования, прогрессе, проблемах и успехах.
Умение давать и принимать конструктивную критику достаточно деликатно, чтобы без конфликтов и во благо улучшений.

Ведущий тестировщик (2)

Чтоб стать

Ведущий специалист обязательно проявил себя в трех аспектах
  • Проверка своей квалификации и ответственность за пределами проекта
  • Передача знаний
  • Успешная работа в команде

Аналитическое направление

1. Тексты
Пишет общеконтуровские тексты, статьи, вакансии, этот документ. Публикуется вовне.
2. Теория тестирования: основы
Знание теории тестирования переходит от изучения прикладных техник к фундаментальным основам.
Теория познания, критерии остановки тестирования.
Приемы и техники обеспечения качества - от поиска ошибок к поиску способов их предотвращения.
Расширяются источники информации о продукте: от спецификаций и требований к коду, совещаниям, маркетинговым исследованиям, метрикам в бою и многого другого.
Признак глубоких знаний - анализ пропущенных ошибок и синтез решения предотвращающего повторные факапы.
В это время приходит понимание стоимости заведенных багов.
3. Теория тестирования: процесс
Знание теории тестирования переходит от изучения прикладных техник к процессам.
Способы организации команды тестирования: как сервис, временные группы, общая команда и так далее.
Альфа, бета, гамма тест, 18 видов нефункционального тестирования, модель здоровья, рисков.
Обладающий этими знаниями и навыками тестировщик способен внятно рассказать, что, как и почему он делает.
Занимается тестируемостью приложения, как важнейшим способом обеспечения качества.
4. Продукт
Экспертные знания, консультации коллег, тестирование аналитики, знание смежных систем.
5. Предметная область
Экспертные знания, консультации коллег, тестирование аналитики, бизнес-области смежных областей. Уровень - аналитик.
6. UX/UI
Применение знаний в инженерной психологии, проектировании интерфейсов.Общается с юзабилистом. Берет часть работы юзабилиста. Собирает обратную связь от пользователей. Отвечает пользователям.
Проводит интервью или посещает пользователей.
Консультации по спорным вопросам о использовании продукта.
Уметь смотреть метрики веба, понимать смысл, делать полезные выводы, вовремя предпринимать действия для предотвращения негативных ситуаций.
7. Пиар
Лицо компании. Помощь и организация выступлений коллег.

Техническое направление

1. Железные метрики продукта
Следить, понимать смысл, делать полезные выводы, вовремя предпринимать действия для предотвращения негативных ситуаций.
2. Нагрузочное тестирование
Модели, сценарии, инструменты. Применение в проектах.
3. DBA
Понимает структуру БД, пишет сложные запросы. Установка, настройка, локализация проблем с неконсистентными данными, тюнинг производительности.
4. Безопасность
Модели, сценарии, инструменты. Применение в проекте. Является резидентом ОИБ в проекте или отделе тестирования.
5. Программирование
Способность писать код тестируемого приложения на уровне линейного программиста проекта.
Проектирование системы тестов с учетом роста количества тестов и людей, использующих ее.

Менеджерское направление

1. Тимлид
Ведение задач проекта, работа с бэклогом + оценка времени на задачу + делегирование и управление группой тестирования, оценка группы, найм в нее.
Создание культуры сервиса, а не контроля. Планирование работы группы.
Создание стратегии тестирования. Участие в создании стратегии работы команды разработки.
2. Влияние
Советуются другие проекты. Аудит.
3. Обучение
Внутренние или внешние курсы, наставничество во внешнем проекте.
4. Наймы
Группа найма, организация мероприятий по хантингу, активный хантинг.
5. Первый тестер
Прошел путь от отсутствия тестировщика в проекте до процесса в котором ты можешь уйти на месяц в отпуск и ничего не взорвется.
6. Сообщество
Свой проект в рамках сообщества.
7. Резидент
Выполнение обязанностей руководителя отдела в рамках группы проектов или бизнес-направления.

Переход на следующий уровень

Индивидуально.

QA (3)

Hic sunt dracones.

Комментариев нет:

Отправить комментарий