{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Записать и запомнить: 8 главных мифов о тестировании

Об ИТ с Любовью...

Сколько я вижу громких рекламных слоганов и объявлений о “самом легком и простом способе” войти в ИТ! Почему-то все уверены, что быть тестировщиком - это просто, и высокого уровня компетенций не требуется. Вообще к сервису тестирования в современном мире относятся не так серьезно, как следовало бы. И зря.

Всем привет, меня зовут Любовь Татаринова, и я – руководитель направления тестирования компании “Девелоника” (ГК Softline). Сегодня хочу разобрать главные мифы о тестировании, которые рождают неверное представление о природе этого процесса.

Девелоника имеет серьезный уровень подготовки специалистов-тестировщиков и большие проекты, связанные со “спасением” заказчиков всех отраслей. Мы знаем, о чем говорим. За спиной более 300 завершенных проектов. В команде – около 200 QA специалистов. В арсенале – 150 тестовых устройств.

  • Тестирование – это нетрудно, справится любой!

Если найдете такого гения, покажите мне! Увы, зачастую позицию о “непыльной” работе в этом ИТ-направлении можно услышать от ребят из смежных направлений: менеджеров проекта, разработчиков, генерального директора, дизайнеров. Каждый видит тестирование по-своему. Поэтому давайте определим границы: что такое тестирование и кто может его проводить.

Тестирование – это структурированная деятельность, с описанными процессами, имеющая цель и планирование. Не просто игра с продуктом и бессмысленное кликание кнопками. Это получение жизненно важной информации о рисках, данные о продукте или ПО на функциональном и нефункциональном уровнях, она дает объяснение о внутреннем устройстве.

Иногда можно встретить исполнителей Фейкового тестирования (Fake testing). Оно приводит к ошибочной уверенности в корректности работы продукта, хотя на самом деле существуют критические ошибки, которые остались незамеченными. В итоге продукт может просто не соответствовать требованиям. Подобное часто случается, если тестирование проводится неспециалистами или без применения правильных методик. Поэтому очень важно убедиться, что тестирование, проводимое на проекте, выполнено по профессиональным стандартам и лучшим практикам.

  • Цель тестировщика – сломать продукт

Работа тестирования состоит в том, чтобы выявлять несоответствия в логике, неправильное поведение, проблемы, возникающие во время работы ПО. Не “замучать” систему и вызвать ее поломки, а найти точки и механики, которые сейчас работают иначе.

Тестирование – это, своего рода, расследование. В нем ты ищешь некорректное поведение, чтобы задокументировать процесс, который его вызывает. Далее появляется целый пласт аналитики: поиск причин, последствий и участников, которых затронет проблема, если продолжит существовать.

  • Тестирование – это неточно…

Когда кто-то (менеджер, руководитель проекта или заинтересованное лицо) подходит к тестировщикам и спрашивает: «Есть ли какие-нибудь ошибки?», на самом деле он хочет знать: «Если выпустить такой продукт завтра, есть ли риск для наших клиентов? Может ли тестирование выявить проблему, которая нанесет вред нашей репутации поставщика услуг или продуктов?».

Тестирование – это деятельность, которая может только «показать наличие ошибок, но не их отсутствие». И основной выгодой от его проведения становится знание что это за ошибки есть в вашем релизе, и насколько они критичны в данный момент.

  • Тестирование ПО — это “просто поиск ошибок”

“Работа тестировщика заключается в поиске ошибок или дефектов” – это заявление настолько же несправедливо, как и фраза “разработка программного обеспечения – это просто написание кода”. Для наших заказчиков дефект – это невозможность использовать услугу или продукт, за которые они заплатили, а также потеря пользователей и потребителей, выручки и бюджетов. Дефект для нас – обычно это ошибка в коде. Может быть опечатка, логическое недоразумение. Или же неверная интерпретация требований, их отсутствие. Может быть плохой дизайн или неожиданная зависимость. Тестирование заключается не столько в поиске дефектов, сколько в изучении рисков, которые из-за них возникают в ПО.

Например в одном из проектов компания осуществляла разработку нового веб-решения и доверила нам обеспечение его качества. Команда специалистов нашла 250 критических дефектов при тестировании веб-сайта компании по производству ювелирных изделий. Четыре наших инженера составили 4127 тест-кейсов. Они уменьшили число дорогостоящих доработок на поздних стадиях. В итоге, веб-сайт выпущен на рынок, главное внимание уделяется качеству модулей регистрации, оформления и доставки заказов, добавления новых позиций и создания акций. Финальный продукт отвечает требованиям функциональности и производительности Заказчик увеличил посещаемость и лояльность, а также усилил конкурентные преимущества.

  • Тестирование – “Ой, да успеется…”

Контроль качества на ранних стадиях SDLC повышает качество программного обеспечения, сокращает время выхода на рынок, снижает стоимость разработки и обслуживания. Наиболее безболезненно и наименее затратно выпустить продукт в релиз можно в случае, если тестирование на предмет существования дефектов вводить как можно раньше. Уже на этапе формирования требований или во время разработки проекта. Представьте себе систему, архитектура которой не выдерживает и 30 одновременных пользователей. Что будет с бюджетом и сроками, когда выясниться, что масштабирование до 20 000 тысяч требует откатывания параметров, разбора внутренних процессов, изменений в базе.

Одна из историй, которая станет хорошим примером – это работа Девелоники с платформой, которая предоставляет удобный сервис для 2 типов пользователей: работодатель и подрядчик. Она позволяла быстро находить подходящего исполнителя для решения различных задач. По завершении проекта удалось обеспечить удобство использования веб-сервиса для работодателя и мобильного приложения для исполнителя.

Оказалось, что многие части приложения не подвергались тестированию до выпуска. Это становилось причиной недостаточной пропускной способности в организации для ручного тестирования. Более того, заказчик нес затраты на процессы, которые можно было автоматизировать: процент регресса в его процессах занимал много сил и времени. Для поддержки была назначена независимая команда функционального тестирования. Девелоника помогла компании восстановить инвестиции в автоматизацию в течение 4,8 месяцев. А за счет применения ряда автоматизированных скриптов мы ускорили циклы испытаний с 7 дней (с ручным тестированием) до 1.

Оптимизация позволила обеспечить высокое качество выпускаемого сервиса в продуктив (более 98%) и высокую высокую доступность сервиса (более 99,9%). Помимо этого, путем ранней идентификации возможных неисправностей в системе удается и на сегодняшний день поддерживать существующую активность на площадке. А если бы тестирование было проведено заранее, то заказчик сократил и время, и приличные вложения, которые насчитывают миллионы рублей.

  • Тестирование ПО – неоправданно и дорого

Тут у меня один простой и доступный совет: НЕ хочется платить за тестирование в процессе разработки – придется смириться с неоднократными затратами на тех. поддержку и исправления после релиза.

Раннее тестирование помогает сэкономить средства, в то время как отказ или пренебрежение тестированием могут самым печальным образом отразиться на качестве вашего продукта в самом неожиданном для вас месте.

  • Тестирование ПО – это неважно…

Тестирование не поможет сделать ценный продукт – это то, о чем должны позаботиться сам заказчик, его идеи и стратегия. Но тестирование поможет не потерпеть неудачу из-за низкого качества и ошибок, которые могут возникнуть и привести к серьезным последствиям для вас или ваших клиентов.Шанс произвести хорошее первое впечатление всего один. Если пользователь загружает ваше приложение и находит в нем недостатки, он вряд ли когда-либо воспользуется им снова. Ведь они обнаружат себя, как только пользователь откроет приложение, войдёт в систему и т.д. Силы и средства, инвестированные в продвижение продукта, были потрачены впустую. И вам придется начинать все сначала. Система аналитики Kissmetrics говорит о том, что получение нового клиента стоит в 7 раз дороже, чем удержание старого. Поэтому вы просто не можете позволить себе допустить ошибки новичка в коде.

Расскажу, как тестирование помогает усилить команды банковских продуктов. Три года назад под одного из заказчиков Девелоника собрала команду экспертов, состоящую из Team Lead, 7 ручных и 6 авто QA инженеров среднего и старшего уровней, что составило около 30% от текущей команды заказчика. Основным критерием стал большой опыт тестирования многопользовательских мобильных и web-приложений с конфиденциальными данными.

Работа велась в несколько итераций по нескольким разным направлениям, куда были распределены сотрудники. Удалось “подтянуть” разные процессы: ввести метрики для отслеживания статистики ошибок, обеспечить корректную работу служб идентификации KYC при верификации пользователей, актуализировать и автоматизировать порядка 90% регресса. Наши специалисты выполнили распределение тестовой нагрузки, освободив время перед критическим релизом.

По итогу рабочий процесс QA усилен, с нуля разработана необходимая документация, связанной с тестированием, обеспечено качество выпускаемого в продуктив ПО (за 2021 показатель 97%). Более того, по результатам 2022 года, путём оптимизации процессов аналитики, разработки и тестирования, релизный цикл сократился до 2 месяцев (~6 релизов в год) без сокращения задач в каждом релизе. Вот так запрос на проведение тестирования стал поводом для оптимизации смежных процессов и усилил итоговый продукт..

  • С тестированием ПО справятся роботы

Ну вот это точно случится еще очень нескоро.

Тестирование основано не на готовых инструкциях, а на взаимодействии, одновременном сборе информации, оценке и действиях в соответствии с этой информацией. Да, мы можем обеспечить автоматизацию регресса, настроить шаблоны и код для поиска ошибок в релизе. Но тестирование – это эксперимент, исследование и разложение утверждений, которые другие (разработка, менеджмент и так далее) считают верными.

Используя все это, мы должны предоставить актуальную информацию о риске и самом продукте.Тестирование нельзя автоматизировать, как нельзя автоматизировать исследование. Технологии могут помочь человеку, но не заменить его. С помощью автоматизации тестирования можно только проверять значение, которое мы ожидаем, но нельзя изучать продукт. Поэтому еще приличный промежуток времени тестированием будут заниматься специалисты и опытные мастера своего дела. Те, кто умеет применять знания и компетенции, в том числе, используя нейросети или ИИ в качестве инструмента для решения задач.

Здесь мы можем рассказать больше о тестировании и поделиться наглядным опытом по всем видам тестирования в решении задач для разных компаний. Также о новостях компании рассказываем в ТГ-канале Девелоники, подписывайтесь, с нами интересно!

0
Комментарии
-3 комментариев
Раскрывать всегда