Неклассическое тестирование в МКБ |
11.10.2023 00:00 |
Привет! В этом посте мы хотим рассказать о том, как мы в МКБ построили тестирование. Про наши процессы, путь новичка, технологии, планы и про то, почему скрам-команду на самом деле можно собрать не из 8-10, а из 20-40 человек — под катом. Руководители команд занимаются их администрированием, а за прокачку практик и ревью у нас отвечают лидеры разработки и тестирования, которые есть в каждой команде. Каждая команда прокачивает практики тестирования самостоятельно. Да, на уровне банка у нас задекларированы определенные процессы, но, как говорил Барбосса в «Пиратах Карибского моря», кодекс — это просто свод указаний, а не жёстких законов. Поэтому команда может посмотреть на эти процессы, оценить их эффективность конкретно для себя и своих задач, убрать ненужное и внедрить что-то более полезное. Если надо, проводят своеобразную трансформацию устоявшихся практик. Точно так же инициатива и экспертиза команды помогают ей самой решать, сколько именно специалистов по тестированию нужно взять для продуктивной работы. Например, в команде, занимающейся ипотекой, 22 человека (из которых тестировщиков — 6), а вот в команде нецелевых кредитов и кредитных карт — 46 (из них 7 тестеров). Путь новичкаПредставим ситуацию, когда в команду приходит новый человек. Прежде всего мы постарались избавиться от организационных проблем, связанных с доступами и техникой. Если вам приходилось когда-нибудь устраиваться на работу, потом пару недель ждать всех новых доступов, заводить заявки, пароли, получать нужную технику для работы и отдельно — для тестирования, то вы представляете, как это может расстраивать. Мы создали матрицы доступов, которые помогают выдать коллеге все необходимые права в первый же день, и улучшили процесс закупки устройств. Как только новый сотрудник выходит на работу, он может сесть за выданное и настроенное оборудование и начать знакомиться с нашими информационными системами. Мы стремимся к тому, чтобы новый человек получал максимально полезную информацию и не забивал себе голову излишне формализованными регламентами. Поэтому всё важное у нас написано простым языком и заботливо структурировано в Confluence. Вся остальная нужная для работы документация — у конкретной команды в профильных разделах. Помогает не только железо, но и люди — каждый новичок получает ментора и бадди. В ряде компаний это часто решается одним человеком, который и по работе подскажет, и не даст затеряться на тернистом пути от кофемашины до переговорки, но мы решили разделить сущности. Поэтому у нас есть ментор, отвечающий за чисто профессиональное развитие новичка и технические вопросы, и есть бадди, который помогает нормально влиться в коллектив, подсказывает по процессам и прочее. Если у новичка любой вопрос, который не касается профразвития и конкретных рабочих задач — то это к бадди. Кстати, подобная помощь касается не только ИТ-блока, бадди есть у каждого новичка в банке. Итак, у новичка всё есть и всё работает, приступаем к задачам. Первые месяца полтора человека минимально нагружают задачами, наша цель тут — сделать так, чтобы он нормально адаптировался и понял, как и что у нас работает. Если говорить о рабочих задачах, то начинаем мы чаще всего с регресса (разной функциональности), обычно под контролем какого-то более опытного сотрудника, чтобы новичок узнал, как функциональность устроена изнутри и как именно мы ее тестируем. Все уникальные компетенции тщательно задокументированы, а не живут лишь в уме у экспертов, поэтому наставником может побыть любой опытный сотрудник. Затем даем похожую задачку уже для самостоятельной работы, без наставника, но с проведением ревью. Могут прилетать и какие-то узконаправленные задачи (включая бизнесовые), зависит от специфики команды, в которую выходит человек. С чем и как работаемОбщие и привычные инструменты:
Функциональное тестирование:
Специализированные инструменты конкретных видов тестирования: Автоматизированное тестирование:
Нагрузочное тестирование:
Конечно, есть в работе и ряд сложностей. Например, всё не так однозначно с тем, чтобы полноценно нагрузить и проверить условную монструозную высоконагруженную систему. В случае с банком это может быть автоматизированная банковская система, где мы эмулируем десктопное приложение и интеграцию со сторонними системами. Таким образом главными задачами, которые будут стоять перед нами — подготовка стенда, повтор всех интеграций, их функционала для получения корректной работоспособности системы. Это позволит нам получить наиболее точные и корректные результаты при проведении нагрузочного тестирования. ПланыОдна из наших основных целей — выстроить в МКБ настоящий, полноценный fullstack QA. Для этого надо будет весьма и весьма масштабно перестроиться. Мы уже начали разрабатывать специальные курсы по работе с инструментами автоматизации — уже готов курс по обучению функциональных тестировщиков инструментам, позволяющим осуществлять запуск автоматизированных тестов и читать их. На очереди — курс по Java. И таких полезных курсов будет больше. Мы постараемся приложить все усилия, чтобы это были не просто обучалки ради галочки. Ребята с автоматизации тестирования будут помогать обучающимся на пути освоения автоматизации. Кроме этого, серьезно подумываем над тем, чтобы обновить командные церемонии — как мы работаем с дефектом на протяжении всего его жизненного цикла. Для этого надо будет переформализовать груминги, добавив лучшие практики Agile testing. Это когда вы с командой уже на этапе груминга сразу вырабатываете ключевые проверки и понимаете, какими видами тестирования будете все эти вещи закрывать. С оглядкой на этот проведенный груминг должны порождаться нужные артефакты. После разбора груминга хотим формализовать ретро как четкую рабочую сущность, которая поможет нам финально работать с дефектом. В случае каких-то непредвиденных проблем тогда получится сесть и провести командный разбор ошибок. А ещё мы сейчас заканчиваем разворачивать сразу несколько новых контуров нагрузочного тестирования. К концу года постараемся создать контур нагрузочного тестирования и для систем ДБО. Само нагрузочное тестирование внедрим в общий релизный цикл и будем прогонять нагрузку при старте регрессионного тестирования. Параллельно с этими работами решаем ряд проблем, связанных с автоматизированным попиксельным тестированием. Уже написаны около 80 автотестов, умеющие снимать скриншоты и автоматически находить расхождения в верстке и дизайне. Вишенкой — планируем добавить мониторинг, который будет показывать не только различные железные метрики и параметры, или статус сервисов, но в который получится загнать автотесты. Это поможет нам прогонять их с нужной периодичностью и следить за работоспособностью ключевого бизнес-функционала на различных приложениях. Так мы, во-первых, сможем вести превентивную работу по обнаружению каких-то проблем и ошибок, а во-вторых — более предметно общаться и тратить на разбор интеграционных ошибок и поиск причины гораздо меньше времени. Собственно, это всё, что мы хотели вам рассказать, если вдруг что-то упустили и вам интересны другие аспекты работы QA в МКБ — пишите в комментариях, расскажем подробнее. |