Обязанности:
- формирование отдела автоматизации тестирования, определение требуемых компетенций, подбор сотрудников
- составление индивидуальных планов развития сотрудников
- формирование стратегии автоматизации тестирования более 27 проектов
- разработка и внедрение процесса тестирования в feature-бранчах
- постановка целей отдела автоматизации тестирования
- разработка метрик качества покрытия кода
- внедрил процесс написания автоматизированных тестов командой web-разработки (составление документации, обучение, поддержка в сложный кейсах, объяснение принципов работы фреймворка для автоматизации тестирования)
- настройка и создание инструментов автоматизации тестирования Web-приложений, доработка и выпуск плагинов (каждый плагин выпускался в виде npm пакета, и публиковался в приватный namespace компании)
- настройка инфраструктуры запуска инструментов автоматизации (GitLab CI/CD, GitHub Actions, Docker)
- администрирование Jira, настройка проектов, workflow, создание кастомных полей, настройка правил и триггеров, написание скриптов обработки задач на GROOVY
Разработал:
- инструмент тестирования гибридных приложений на "живых" девайсах (webdriver.io + appium + интеграция с OpenSTF)
- инструмент тестирования web-приложений на IE11
- стратегию оценки качества покрытия кодовой базы UI тестами на Cypress (code-coverage + cypress + grafana + clickhouse)
- графики метрик прохождения автотестов (скорость прохождения каждого теста, статистика падений тестов)
- скрипт параллелизации Cypress тестов на одной машине, разбиение процессов по ядрам
- плагин для Cypress, который добавляет возможность поиска web-элементов по картинке, с использованием библиотеки OpenCV https://www.npmjs.com/package/cypress-image-selector
- скриншотное тестирование на Cypress, адаптация существующих плагинов под особенности проектов службы FrontEnd разработки
- web-приложение для запуска автотестов всех видов через GitLab API, преимуществом приложения было автоматическое заполнение полей в зависимости от выбираемых параметров
Навыки:
- администрирование Jira
- публикация npm-пакетов
- управление устройствами по adb
- работа с эмуляторами: xcode, android studio, qemu
- написание Dokerfile'ов, сборка и публикация образов
- настройка pipeline'ов в GitLab CI/CD, GitHub Actions
- Ведение и актуализация тестовой документации
- Автоматизация тестирования на внутренних технологиях (JavaScript + WebDriver.io)
- Введение новых сотрудников в проект (менторство)
- Обучение автоматизации тестирования на внутренних технологиях
- Разработка и улучшение процессов тестирования
- Разработка жизненного цикла задач, с учетом особенностей команды
- Разработка и внедрение новых инструментов для ручного и автоматического тестирования
- Ускорение производства в части тестирования и выпусков новых версий продукта
- Ведение и улучшение процесса учета и исправления дефектов
- Сокращение наличия и пропусков ошибок в проекте
- Повышение прозрачности и формализация процесса тестирования
Разработал систему compare-testing на живых данных, это ускорило проверку генерируемых страниц.
- Управление ресурсами отдела тестирования.
- Подбор сотрудников на должности: "Младший тестировщик", "Тестировщик", "Старший тестировщик".
- Организация командной работы в отделе тестирования, распределение обязанностей.
- Обучение сотрудников отдела тестирования.
- Построение бизнес-процесса тестирования с нуля.
- Разработка методик и стратегий тестирования продукта.
- Построение процесса коммуникации тестирования с разработчиками и продукт- менеджерами.
- Организация планирования рабочего процесса и взаимодействия всех этапов разработки (от требований заказчика к передаче готового функционала).
- Организация релизов.
- Развитие автоматизированного тестирования (Selenium WebDriver).
- Развитие нагрузочного тестирования средствами WebDriver.
- Взаимодействие со службой техподдержки.
- Построение процесса тестирование API (ручное тестирование и автоматизация).
- Составление и проверка документации для функционального тестирования.
- Контроль над ходом исправления ошибок.
- Контроль над соблюдением бизнес-процесса обработки ошибок и доработок по части их тестирования.
Языки программирования :
- PHP
- JavaScript
- Java
- Golang
Так же знание:
- HTML
- CSS
- SQL
Автоматизация UI-тестирования :
- Java + Selenium WebDriver (page object паттерн)
- Golang + chromedp (реализация собстренной архитектуры на основе идей взятых из page object паттерна)
Автоматизация API - тестирования :
- Runscope
- Postman
- PHP (с использованием библиотеки curl)
Операционные системы (включая мобильные):
- Mac OS X
- Linux
- Windows
- iOS
- Android
Самостоятельно развернул web-сервер Nginx на операционной системе CentOS с PHP 7.0 и фреймворком Phalcon.
Анализ требований к программному продукту
- Проведение обследований бизнес-процессов заказчика с целью повышения качества требуемой автоматизации
- Разработка концепций, постановок
- Согласование технической документации с заказчиком
- Верификация требований на доработку программного продукта
- Верификация документации к программному продукту
- Проведение презентаций/показов программного продукта
- Консультирование смежных подразделений по вопросам функционирования программного продукта
- Координация действий проектной команды, в рамках планирования работ на итерацию (период от выпуска к выпуску), с использованием методологии TFS
- Оценка экономической эффективности предлагаемой доработки.
Тестирование доработок корпоративной информационной системы
- Разработка тест-планов, тест-кейсов
- Заведение ошибок в bugtracker
- Отслеживание исправления ошибок
- Участие в планировании итераций в TFS, в частности указание приоритетов по исправлению ошибок.
- Проведение регрессионного тестирования
- Развитие автоматизированного тестирования web-приложения
- Консультирование пользователей касательно использования функционала
- Написание инструкций пользователя
Достижения:
- Снижение количества внешних ошибок в зоне ответственности на 80% (за 2 года)
- Поднятие стабильности продукта на уровень соответствующий существующему SLA
- Написание удобной обертки под Selenium WebDriver для java, для дальнейшего использования в написании авто-тестов.