Сегодня компании-разработчики программных продуктов все чаще привлекают в проектную команду независимых специалистов по тестированию. И эта тенденция набирает силу с каждым днем. Недавно и у меня появилась возможность примерить на себя роль независимого консультанта по тестированию.
Необходимость в независимом специалисте возникает в тех случаях, когда команда не может самостоятельно решать сложные технические и процессные задачи. Как правило, это касается какого-то узкого направления тестирования, например, мобильного, как это было в моем случае. Часто, именно независимый специалист способен вывести процесс тестирования на новый уровень, что помогает увеличить количество довольных пользователей.
Свою работу в качестве мобильного консультанта я начал на телеком проекте. Одним из клиентов нашей компании является крупный оператор мобильной связи, который использовал, телеком-систему для предоставления сервисов. Тестирование системы проводилось силами наших специалистов.
В рамках расширения клиентской аудитории компания решила обзавестись мобильным приложением для наиболее популярных платформ. Приложение было предназначено для пользователей услуг мобильной связи и позволяло изменять тарифы и номера, приобретать дополнительные пакеты звонков и трафика.
Задача по запуску приложения стала настоящим вызовом для всей команды. Профессионалы в сфере тестирования веб-приложений и телеком-систем оказались неспособными учесть все аспекты и тонкости тестирования мобильных приложений. Проекту нужен был человек, который бы не выполнял заданий по тестированию, а лишь консультировал бы команду по всем возникающим вопросам и корректировал стратегию с учетом особенностей мобильного мира. Так было принято решение о привлечении независимого консультанта на проект
Обязанности консультанта
Проекты в сфере телеком-систем, как правило, достаточно объёмные. Они обладают сложной бизнес-логикой и развернутой архитектурой. Без детального понимания работы системы простому тестировщику не удастся успешно справляться со своими задачами. А вот для консультанта, который не будет выполнять тестовые сценарии, некоторые аспекты бизнес-логики можно опустить. Именно поэтому погружение в проект занимает значительно меньше времени.
С другой стороны, эксперт должен детально изучить те архитектурные компоненты, которые непосредственно взаимодействуют с мобильным клиентом. И вот здесь уже мелочей не будет. Нужно понимать абсолютно всё: от структуры базы данных до протоколов передачи.
Так как на проекте была возможность отдельно тестировать администраторскую часть, не прибегая к функциональности самого мобильного клиента, зона ответственности эксперта не была слишком обширной. Она включала в себя понимание работы мобильного клиента, его архитектуру, специфику, а также входящие и исходящие, транслируемые с клиента в администраторскую часть и обратно.
В зону анализа входили особенности работы самого мобильного приложения, а следовательно, необходимо было проработать все возможные тестовые сценарии. И если с функциональными кейсами запросто могли справиться инженеры без опыта работы с мобильными приложениями, то набор специфичных сценариев для мобильных устройств выпадал как раз на плечи консультанта. Необходимо было обеспечить пользователя максимально качественным приложением и избежать каких-либо событий в системе (входящий звонок, потеря связи с сетью, переполнение памяти и т.д.), которые могли вызвать критическую ошибку приложения, и потерю личных данных пользователя. Поэтому необходимо было детально прорабатывать специфические проверки, определять приоритетность задач, грамотно распределять наборы кейсов по тестовому графику на протяжении всего цикла тестирования.
Особенно сложной частью тестирования на проекте бы процесс передачи данных между клиентом и администраторской частью. На этом этапе проекта нужно учитывать не только физическую реализацию механизма передачи, но и целый ряд внешних факторов, способных вносить коррективы. Различные виды мобильной связи, уровни приема сигнала, переключение между режимами передачи данных и многое другое не должны приносить пользователю неудобства. Помимо этого, специфичные для мобильных устройств кейсы также обязательно нужно подготовить и регулярно выполнять.
Консультант должен был обеспечить команду тестирования всеми необходимыми гайдами, подробными шагами выполнения тестовых сценариев и полноценным инструментарием. Подбор тестовых утилит для различных тестов и проверок, быстрый поиск необходимых десктопных и мобильных утилит входили мои первоочередные обязанности.
Корректировка тестовой стратегии
Одним из важнейших параметров тестовой стратегии на проектах по мобильному тестированию является парк устройств. Он должен максимально соответствовать реальному сценарию использования системы. Для этого выбираются, как правило, самые популярные модели и версии операционных систем иконсультант должен всегда держать руку на пульсе статистики использования тех или иных телефонов и планшетов в целевом регионе.
Среди основных областей, за которыми он должен следить, стоит выделить следующие:
- Популярность мобильных платформ и фокус тестирования на наиболее распространенных версиях;
- Появление новых устройств и анализ их потенциальной популярности;
- Популярность уже существующих устройств на рынке;
- Особенности новых версий операционных систем и новых устройств.
Подобный подход позволит выявлять потенциальные узкие места и предотвращать ошибки приложений уже на начальных этапах. Кроме того, тесное сотрудничество консультанта с командой тестирования и командой разработки позволит первым пользователям качественное приложение.
Заключение
С учетом темпов развития мобильных рынков, можно сказать, что специалисты по мобильному тестированию будут все чаще привлекаться на проекты в качестве независимых экспертов. Роскошь это или необходимость – решается отдельно в каждом конкретном случае, но наверняка уже сейчас большинству проектных команд не хватает такого эксперта.
И все-таки, почему выгодно привлекать человека «со стороны» на проект? В ответ приведу несколько основных преимуществ такого решения:
- единственное авторитетное мнение в вопросах мобильного тестирования, а значит отсутствие разногласий между участниками команды;
- единая точка синхронизации по всем накопленным знаниям в мобильном тестировании;
- объективный взгляд со стороны на проектную ситуацию.
Опираясь на собственный опыт, могу сказать, что привлечение независимого эксперта на проект помогло мобильному оператору вовремя выпустить на рынок качественное приложение для пользователей. Наверняка, это один самых весомых аргументов для принятия решения.