В последнее время на рынке появилось множество сервисов, предлагающих за денежное вознаграждение свои услуги по обеспечению высокого качества вашего продукта. Точнее, по контролю этого самого качества. Однако за красивой вывеской часто скрываются проблемы, сводящие на нет всю пользу от такого “тестирования толпой”. Хотим поделиться нашим опытом и уберечь вас от повторения некоторых ошибок.
KamaGames Studio в своей работе пробовала сотрудничать с несколькими такими платформами. Наиболее долгосрочным оказалось сотрудничество с Utest. Кстати, недавно мы писали о том, что ребята подняли существенные инвестиции в размере 43 млн долларов. Мы на протяжении года были подписчиком одного из крупных пакетов услуг. Поэтому можем по собственному опыту судить о вещах, обязательных для создания максимально выгодных отношений с платформой для крауд-тестинга.
Советы по организации групп взаимодействия
Utest можно использовать для разных задач, решаемых QA. Отметим, что во всех случаях мы не полагались исключительно на внешнюю платформу. Всегда вместе с ними работал весьма квалифицированный QA-отдел внутри компании. Какие же типы нагрузки можно делегировать Utest и ему подобным?
1. Группа взаимодействия “Смок-тест”
Ежедневная проверка сервисом работоспособности жизненно важных элементов вашего приложения, находящегося в публикации, по чек-листам. В результате использования группы “Смок-тест” сервис регулярно предоставляет лакмусовую бумажку работоспособности вашего приложения (доступность для скачивания, корректность установки, запуск, работа магазина и т.д. и т.п.) и в случае возникновения проблем шлет алерты с уведомлением на почтовый ящик. Простая и понятная работа.
Эффективность: 7 из 10.
2. Группа взаимодействия “Реализация бизнес-требований”
Проверка реализации регламентированных бизнес-требований, по которым написан тест-дизайн (выполняется итерационно). Сервис в данном случае являет собой силу “ручного” тестировщика, выполняющего проверку реализации запланированной на эту итерацию функциональности.
Эффективность: 7 из 10.
3. Группа взаимодействия “Унифицированные кейсы”
Проверка соответствия приложения вашим корпоративным нормам качества (выполняется два раза (при альфа и бета) + возможны регрессии). В результате использования группы “Унифицированные кейсы” сервис являет собой силу “ручного” тестировщика, выполняющего проверку соответствия приложения вашим унифицированным корпоративным стандартам качества (нефункциональные тесты: корректность отработки приложением входящего звонка, корректность отработки приложением разряда батареи, корректность отработки приложением переноса с/на карту памяти и т.д. и т.п.)
Эффективность: 7 из 10.
4. Группа взаимодействия “Исследовательская”
Свободное плавание нерегламентированных кейсов. Выполняется параллельно с группой взаимодействия “Реализация бизнес-требований”. В результате использования группы “Исследовательская” сервис являет собой силу “ручного” бета-тестировщика, описывающего свои впечатления и проблемы в нерегламентированных тест-дизайном областях. Эффективность: 5 из 10.
5. Группа взаимодействия “Гарантия удобства использования”
Проверка соответствия приложения международным стандартам удобства использования (выполняется два раза (при альфа и бета) + возможны регрессии). В результате использования группы “Гарантия удобства использования” сервис являет собой альтернативу работе usability-тестировщика, выполняющего аргументированную проверку соответствия приложения международным стандартам качества удобства использования. Прислушиваться к их советам или нет – ваше право.
Эффективность: 5 из 10.
6. Группа “Гарантия серверной производительности под нагрузкой” (очень сложная для коммуникаций группа)
Нагрузочные тесты на ваш сервер плюс проверка реализации серверного протокола. В результате использования группы сервис являет собой альтернативу (или дополнение) работе тестировщика автоматизатора-нагрузочника, выполняющего реализацию скриптов нагрузочного тестирования (проверка реализации протокола) со своей площадки в назначенное время.
Эффективность: 4 из 10.
7. Группа “Локализаторская проверка”
Проверка корректности локализации. Сервис не имеет каких-то выраженных черт национальности и вероисповедания. Сервис здесь предоставляет “умноженного” “ручного” тестировщика, носителя языка и культуры, необходимой для проверки локализации.
Эффективность: 8 из 10.
8. Группа “Соответствие прогрессу”
Проверка работоспособности опубликованного приложения на вновь вышедших аппаратах и операционных системах. Работа “ручного” тестировщика, проверяющего работоспособность опубликованного приложения на новом аппарате. Вы всегда в курсе соответствия вашего приложения прогрессу, даже если соответствующего девайса у вас нет в наличии.
Эффективность: 8 из 10.
Общие советы по особенностям взаимодействия и “грабли”
Выше мы рассказали, “зачем” можно использовать Utest и ему подобные сервисы. Однако путь к целям будет тернист: ниже простые, но важные советы, как избежать фейла в работе.
1. Всё взаимодействие происходит на английском языке, необходимо это учитывать при разработке тест-дизайна документации и найме тестировщиков, которые будут работать с Utest, в штат.
2. Коммуникации и менеджмент отнимает практически все рабочее время штатного QA-менеджера: необходимо постоянно пинговать менеджера сервиса и отслеживать происходящее, т.к. менеджер сервиса имеет отношения и с другими клиентами, редко, но случаются казусы. Чаще всего из-за того, что стороны не поняли друг друга. Порой это пригодится для торга и для давления.
Реальные примеры из практики:
- Менеджер со стороны сервиса единовременно взял в работу четыре сборки разных приложений (по группе взаимодействия “Исследовательская”). Через сутки делаем контрольный пинг, и выясняется, что тестирование начато лишь по трем сборкам (он запустил четыре, но не обозначил сроки и задачи – “день за зря”);
- Менеджер сервиса взял в работу одну сборку приложения (по группе взаимодействия “Исследовательская”). Через сутки обнаруживаем, что сервис (здесь и везде в тексте под понятием “сервис” подразумеваются все участники платформы, которые принимали участие в тестировании наших продуктов) не выявил ни единой проблемы, что странно для альфа-версии. После “пингования” менеджер сервиса отправил “магическое” сообщение тестерам, в результате чего были выявлены “полезные” проблемы.
3. Взаимодействие происходит через систему баг/таск-трекинга сервиса, без возможности интеграции в вашу систему.
В трекинге сервиса реализовано множество функционала (единая база регистрации/авторизации тестировщиков, оценка QA-менеджером найденных проблем, всевозможная аналитика, таск/баг-оборот и т.д. и т.п.), не позволяющего интегрировать его в вашу систему баг/таск-трекинга, поэтому очень много времени уходит на копипаст проблем и задач. Организовать импорт в Redmine нам так и не удалось.
4. Внутреннему QA-менеджеру необходимо вычитывать каждую проблему, заведенную тестировщиками сервиса в трекере, и воспроизводить у себя.
Участники тестировщицкого сообщества Utest после оценки QA-менеджером критичности выявленной проблемы получают денежное вознаграждение от сервиса. В связи с чем редко, но все же попадаются не совсем честные тестировщики, пытающиеся обмануть и Utest, и вас.
5. Необходимо сформировать требования к описанию проблемы тестировщиками сервиса.
Вы должны четко сформулировать менеджеру сервиса необходимый вам минимум информации описания проблемы (устройство, операционная система, воспроизводимость (как часто воспроизводится и на каких устройствах), шаги воспроизведения, результаты фактический и ожидаемый, логи, запись видеопроцесса и т.д. и т.п.) и требовать соблюдения этого минимума. Иначе получите кучу бесполезной информации.
6. Необходимо разработать шаблон постановки задачи менеджеру Utest.
Это крайне важно для экономии времени и исключения человеческого “забыл”. Шаблон должен включать минимум необходимых условий, например, состоять из пунктов:
- Наименование приложения — Проект;
- Сборка №;
- Группа взаимодействия (см. п.п. 1);
- Тело задачи (основной текст, особенности);
- Устройства покрытия;
- Операционные системы покрытия;
- Необходимые сроки выполнения задачи;
- Комментарии;
- Ссылка на место хранения сборки;
- Ссылка на хранение нормативной документации
- И т.д. и т.п.
Выводы
Использование Utest и ему подобных сервисов, безусловно, может быть полезным. Для нас эта польза заключалась в расширении “человеческих ресурсов” в любой момент времени и дополнительной проверке продуктов как на стадии разработки, так и на стадии эксплуатации.
Тем не менее сервис никогда не заменит доморощенного “жирного” (в самом лучшем смысле) тестировщика:
- По уровню знания и понимания специфики вашего продукта штатный тестировщик всегда будет сильнее на голову, хотя бы потому что тестировщики сервиса – явление приходящее и уходящее (часто явление одноразовое);
- Мотивация у штатного сотрудника выше, т.к. для него это продукт, в который он вложил очень много сил и энергии;
- Уровень теоретических и практических знаний в тестировании вашего тестировщика для вас очевиден, а тестировщика сервиса – нет;
- Контроль за ходом выполнения задачи (подсказки, степень завершенности, степень покрытия) штатного тестировщика осуществляется максимально эффективно, а за ходом выполнения задачи тестировщиком сервиса – с меньшей долей эффективности.
Используйте подобный сервис в качестве дополнительного инструмента для проверки качества по отношению к “доморощенному” штату – даже если этим штатом в вашей инди-команде выступаете вы сами. Будьте готовы тратить большое количество времени и сил на коммуникацию, и сервис обязательно ответит взаимностью в виде дополнительного показателя качества. И, конечно, смотрите на цены. На сайте Utest представлен калькулятор стоимости услуг, что означает не только непрозрачность цены, но и возможность некоторого торга.
Автор текста: Юрий Головин, руководитель отдела QA KamaGames Studio.
Автор: kamagames