Сколько раз я читала на различных сайтах: «Это новейший тренд в тестировании!» QAOps, Big Data, IoT, ИИ и безопасность — за модными словами скрывается целая чудо-коробка задач, с которыми тестировщики встречаются каждый день.
1. QAOps — двое в лодке, не считая PM-а
Подход QAOps возник там, где мелькнул хвост кометы идеи, что тестировщики и разработчики могут работать вместе на каждом этапе. Там все друг друга понимают с полувздоха, работа идёт быстро, релизы вовремя, на митах всех только хвалят… К сожалению, на практике это что-то вроде "кто в лес, кто по дрова". Представьте себе тестировщика, которому приходится догонять разработчиков, чтобы протестировать код буквально «на ходу». QAOps обещает интеграцию и синхронность, но по факту — неудобно. Ловить баг, пока разработка не ушла далеко вперёд, – это работает в небольших стартапах. Для крупного проекта скоростью все можно залажать, и, как следствие, головная боль (хотелось бы сказать, у PM-а, но нет, мигрень будет у всей команды). Большим проектам нужна стабильность. Есть ещё SDET (Software Development Engineer in Test) — это будет покруче, тестировщик с навыками разработчика, когда две головы хорошо, а одна лучше. Но таких специалистов пока не так уж много.
2. Тестирование больших данных — тот ещё марафон
Сейчас каждый второй проект — «работа с большими данными». Ага, только почему-то забывают сказать, что обработка таких объёмов требует мощностей, а тестировщику понадобится сноровка 80lvl и время. Проверка данных для любого крупного бизнеса или стартапа — базовая необходимость. Хотя не все готовы тратиться на ресурсы. Так что Big Data — это не для слабонервных и под силу далеко не всем командам, но наверняка те, кто освоят этот тренд, получат немало ценной информации для улучшения своих сервисов и продуктов.
3. IoT-тестирование — кто кого перехитрит
Давайте признаем, с каждым днём вещи вокруг всё "умнее и умнее". Мир Internet of Thing сейчас очень разнообразен и раздувается во все стороны, как шарик в руках клоуна на празднике. Каждая компания стремится сделать свои продукты умнее. Но в IoT всё часто идёт немного не по плану. То гаджет «не видит» сеть, то датчики дают сбой… Протестировать «умные» холодильники или лампочки — это более непредсказуемо, чем лезть в электрощиток в подъезде с закрытыми глазами и свежим маникюром. А ведь в крупных компаниях устройств десятки… И всё же без надёжного IoT-тестирования для бизнесов нельзя.
4. ИИ и машинное обучение — "ой, а оно точно сработает?"
ИИ везде. И в тестировании тоже. Звучит заманчиво и круто: алгоритмы сами находят ошибки и предсказывают, где могут всплыть баги. Нюанс в том, что им нельзя доверять на 100% — ИИ может ошибиться и результаты будут искажены. Нужна подстраховка. И тщательные настройки. При этом машина обучаема и может предсказать проблемные зоны. Отличное дополнение к тестированию, но никак не замена рабочим рукам.
5. Тестирование безопасности — #musthave
И вот тут без шуток и скепсиса. Без тестирования безопасности любой проект рискует. Актуально для всех, особенно для компаний с крупными базами данных. Не то чтобы тренд, а скорее обязательный этап, на котором лучше не экономить – дороже обойдётся.
6. Автоматизация тестирования — жмём "старт" и отдыхаем?
К сожалению (или радости) многих "ручников" всё выглядит идеально только на этапе задумки. Чаще всего на "давайте всё автоматизируем" покупаются неопытные (начинающие) тестировщики: "О! тесты запускаются сами собой, а я просто буду наблюдать, как всё работает". Иногда и кто-то повлиятельнее. У нас был кейс, когда заказчик запросил полную автоматизацию примерно с такой аргументацией – "чтобы оно само всё проверялось". Но автоматизация нужна не всем и не всегда. В том кейсе профессионально сработала команда во главе с Senior manual QA и проблемы клиента были решены без автоматизации. Просто потому, что именно в том проекте нужны были совершенно другие методики, чтобы "всё проверялось". Но стоит признать, что автоматизация отлично справляется с рутинными задачами. Опять же – там, где она нужна и уместна.
7. Agile и DevOps – машина "нон-стоп"
Agile и DevOps стали почти основными практиками, когда нужна скорость работы. Быстрая интеграция, быстрые релизы — как и ИИ, заманчиво и здорово, но — пока команда успевает. Нужен жёсткий контроль, потому что с таким темпом можно и перегореть {и напрочь выгореть}. Agile и DevOps хороши для проектов, готовых подстраиваться под изменения.
8. Shift-Left – чем раньше, тем лучше
Тестирование "со сдвигом влево" по шкале икс, где "0" – это старт разработки. Проще говоря, тестировать нужно сразу, как только появилась первая версия кода (или ещё "левее", то есть раньше), чтобы не копить баги. Я работала на проекте, где мы начали ловить ошибки ещё на уровне прототипа. Опыт показал, что это неплохо ускорило работу. Команде разработчиков такое только плюсом.
9. Блокчейн: работа с децентрализованными данными
Прежде всего это про функциональность приложения. Почти всегда платёжные системы, а значит, работа тестировщика будет сконцентрирована на проверках выполнения смарт-контракта, всех этапов прохождения транзакций и т.д. в зависимости от видов блокчейна. Но в любом случае это несколько видов тестирования в одном. Тут и безопасность, и производительность, и функциональное, и нагрузочное. Блокчейн требует серьёзной проверки, потому что любая ошибка станет дырой в безопасности.
10. Тестирование в облаке — начало всемогущества?
Отличный выбор, когда требуется масштаб. Проверить сотни пользователей, провести нагрузочные тесты, в том числе на разных устройствах – "ол инклюзив", как мы любим, да? Но всегда есть "но". Полное погружение в облако требует отличного понимания, как работает платформа, высокого уровня навыков работы с такими платформами и серьёзных затрат. Так что Cloud testing – это своего рода вызов: если проект готов к этому, то и возможностей откроется масса.
Вот такие подходы мне захотелось разобрать после прочтения о них в той статье. Думаю, ИИ вполне неплохо уловил тенденции развития сферы. Интересно было бы прочитать об опыте тех, кто работал именно с этими так называемыми трендами
Мария Трутько, QA "Лаборатории качества"