Тестировщик доступности: все тонкости профессии
Екатерина Шевичева («Школьный вестник» №10 за 2022 год)
ТЕСТИРОВЩИК ДОСТУПНОСТИ: ВСЕ ТОНКОСТИ ПРОФЕССИИ
В мире IT-профессий существуют специалисты, которые делают онлайн-инфраструктуру максимально удобной и доступной для обычных пользователей. Таких профессионалов называют тестировщиками или QA-инженерами (Quality Assurance — обеспечение качества). Тестировщик ищет ошибки в работе мобильных приложений, сайтов или компьютерных программ в различных операционных системах и на разных устройствах, проверяет, насколько качественно IT-продукт выполняет задачи, поставленные разработчиками. Тестируя IT-продукты, специалист руководствуется как технической документацией, так и просто здравым смыслом. Ведь ему нужно посмотреть на работу тестируемого приложения не только глазами эксперта, но и обычного пользователя.
Существуют тестировщики разных уровней, выполняющие задачи определённой сложности. Одной из таких задач является тестирование доступности IT-продукта для людей с инвалидностью.
Что это за профессия и чем занимаются тестировщики доступности, нам рассказал Артём Плаксин, руководитель отдела тестирования сайтов и мобильных приложений компании Everland, автор онлайн-курса «Тестирование сайтов и мобильных приложений на доступность для людей с инвалидностью».
— Артём, кто такой тестировщик доступности и чем он отличается от обычного тестировщика?
— Вообще тестировщик — это специалист, который может взглянуть на IT-продукт со стороны большинства пользователей ПК и найти все возможные ошибки, тормозящие его работу. С точки зрения информационных технологий тестирование представляет собой проверку не пользовательского функционала. Это тестирование на ошибки, всевозможные баги (нарушение в работе программы, вызванное ошибкой в программном коде или дизайне продукта) и тому подобное. Это практически всегда автоматизированное тестирование с использованием самописных скриптов (последовательность команд для выполнения конкретных операций) и прочее. В этом случае тестировщику нужно знать языки программирования, например, Java или Python.
Тестирование доступности подразумевает в большей мере ручное тестирование, и проводится оно незрячими специалистами с целью определения доступности ресурсов для пользователя с инвалидностью.
— А к какому типу тестировщиков вы относите себя?
— Я скорее тестировщик-аналитик. Я руковожу работой других тестировщиков доступности. При этом в мои обязанности входит ещё и анализ найденных ошибок. Когда тестировщики находят какие-то сбои в работе IT-продукта, я анализирую их и нахожу оптимальное решение. Кроме того, мне нужно не просто устранить проблему, а продумать, как всё это максимально адаптировать для конечного пользователя.
— Давно ли вы работаете в сфере IT-технологий, в частности, занимаетесь тестированием доступности?
— Web-программированием и созданием сайтов я занимаюсь более восьми лет. В области тестирования доступности, так называемого web-accessibility, я работаю около пяти лет. Конечно, за годы работы я приобрёл не только теоретические навыки, но и реальный практический опыт. Например, мне довелось тестировать на доступность и адаптировать сайты таких компаний как ВКонтакте, Альфа-Банк, Тинькофф, Росбанк, Билайн. Работы тестировщику в сфере accessibility хватает с лихвой. Ведь компьютерные технологии и интернет-браузеры постоянно обновляются, поэтому приходится оперативно находить решение возникающих проблем.
— Что, на ваш взгляд, должен знать и уметь тестировщик доступности?
— Он должен уметь пользоваться NVDA и другими скринридерами (программа экранного доступа). Иметь хотя бы базовые представления о вёрстке и спецификациях HTML, а также WAI-ARIA (спецификация атрибутов HTML, необходимая для адаптации интернет-ресурсов для незрячих). Эти знания существенно расширяют возможности незрячего тестировщика, позволяя ему работать не только с мобильными приложениями, но и с сайтами.
Тестировщик должен обладать так называемой IT-грамотностью. Например, он должен понимать, что значит кнопка или ссылка в мобильном приложении, чем они отличаются, что такое поля и текстовая метка, знать, где эта метка может располагаться, и так далее.
Тестировщик должен быстро перемещаться по web-документу, по заголовкам разных уровней, по лэндмаркам (ориентиры). Понимать, что такое объектная навигация.
Конечно же, он должен владеть специфической терминологией, чтобы общаться на одном уровне с разработчиками.
Кроме того, существуют нормативы WCAG (Web content accessibility guideline) — это основной документ о веб-доступности консорциума W3C, в которых тестировщику также нужно разбираться.
Вот приблизительно всем этим должен владеть на начальном этапе работы тестировщик доступности.
— Какими личностными качествами должен обладать тестировщик?
— Я так не люблю все эти красивые слова про усидчивость и стрессоустойчивость! На мой взгляд, совершенно не важно, обладает ли всем этим тестировщик. Для меня главное, чтобы он укладывался в предоставленные сроки и выполнял свою работу качественно. А как он это делает, нервничает он, психует и прочее — дело десятое, если он сам со своими психологическими проблемами справляется. Но если он приходит ко мне и выливает на меня свою истерику, то меня, конечно же, это начинает волновать.
В работе тестировщика важен, как мне кажется, особый склад ума. Когда специалисту нужно выявить скрытые баги, то здесь важны не коммуникабельность и усидчивость, а хорошие аналитические способности и человеческая смекалка. Ведь тестировщику нужно предусмотреть самые невероятные варианты взаимодействия пользователя с IT-продуктом, выявить самые незначительные факторы, влияющие на работу той или иной программы.
Важна также вариативность мышления. Хороший тестировщик всегда предложит несколько вариантов решения одной задачи. Кроме того, тестировщик в своей работе не должен зацикливаться на доступности какой-либо программы исключительно для незрячих пользователей. Нужно уметь мыслить широко. Ведь важно, чтобы продукт был доступен для всех, кто использует клавиатуру. А это могут быть не только люди с нарушением зрения, но и слуха, речи, моторики и даже те пользователи, у которых, например, просто сломалась мышка.
Так что совершенно разные люди могут работать тестировщиками доступности, главное, чтобы они работали эффективно.
— Артём, расскажите непосредственно об этапах работы тестировщика, в чём заключается каждый из них?
— Если говорить кратко, аналитики компаний-разработчика пишут, как должна работать программа, как она будет обрабатывать входящие данные, какой должен получиться результат. В свою очередь тестировщики доступности проверяют продукт на соответствие этим требованиям и доступность его для людей с инвалидностью, затем составляют детальный отчёт. Происходит это приблизительно так. Компания-заказчик обращается с конкретным запросом, например, хочет адаптировать какую-либо программу.
Далее формируется коммерческое предложение и подписывается договор с заказчиком. В договор обязательно включается список сценариев, по которыму будет работать группа тестировщиков. Над каждым IT-продуктом обычно работает пара тестировщиков. Поясню, что значит сценарий. Это своего рода алгоритм действий пользователя при работе с каким-либо IT-продуктом. Например, сценарий входа в какой-нибудь интернет-магазин. Он включает вход по E-mail или номеру телефона, пароль, восстановление и сброс пароля, регистрацию, авторизацию через социальные сети. Таких сценариев в пределах одного сайта может быть, как вы понимаете, много. Это сценарии работы с корзиной, оформления заказа, выбора адреса, просмотра информации об условиях доставки и возврате товара, о компании и так далее. Главная страница сайта также выделяется в отдельный сценарий.
Затем составленный список сценариев согласуется с заказчиком и отделом тестирования сайтов и мобильных приложений.
Когда согласование пройдено, я и мой отдел берём всё это в работу.
Все тестировщики, участвующие в работе, получают список сценариев и техническое задание к ним. Техническое задание содержит отчёт, дедлайны (сроки), уровни критичности оценки, на что обращать при этом внимание и прочее. Далее тестировщик начинает со всем этим работать. Он скачивает тестируемое приложение или заходит на требуемый сайт как пользователь и начинает разными способами взаимодействовать с IT-продуктом. Он проверяет разные кнопки, ссылки, иконки на кликабельность, использует различные свайпы (специальный жест, когда на экран смартфона или планшета пользователь кладёт палец и безотрывно проводит им в нужном направлении). Или, например, на платформе iOS проверяет зигзагообразный жест для возврата назад, что в QA не всегда реализуется. Если у тестировщика в процессе работы возникают вопросы, он отправляет их ко мне. Сам тестировщик не уполномочен принимать самостоятельные решения, он — исполнитель. Я взаимодействую напрямую с разработчиками или отделом контроля качества компании заказчика, уточняю спорные моменты и прочее.
По результатам своей проверки тестировщик пишет отчёт, своего рода пошаговую инструкцию по устранению найденных ошибок и слабых мест в работе продукта. Отчёт направляется ко мне. Я его проверяю, если нужно — корректирую. Далее отчёт отправляется заказчику. На этом глобальная работа тестировщика доступности заканчивается.
Дальше тестировщик осуществляет сопровождение по созданному им отчёту. Если у разработчиков возникают какие-то вопросы, он поясняет, что и как. Как правило, визуальную доступность интерфейсов незрячие тестировщики не проверяют. Это привилегия дизайнеров интерфейсов и UX-специалистов. Именно они занимаются изучением визуального дизайна, в частности, оценивают размер шрифтов, лейблов, иконок, проверяют контрастность цветов и прочее. Незрячему тестировщику для проверки доступности интерфейса достаточно собрать фокус-группу и получить отзывы.
— А сколько времени обычно затрачивает тестировщик, чтобы полностью осуществить проверку какого-нибудь мобильного приложения?
— Это длительный процесс. В моей практике был лишь один продукт, который мы тестировали восемь месяцев. В целом адаптация сайта или приложения занимает от одного до двух лет.
— Используют ли тестировщики доступности в своей работе автоматические программы тестирования?
— На самом деле мы предлагаем нашим заказчикам использовать тот или иной автотестер на определение, например, визуальной доступности ресурса, даже поясняем, какие автотестеры для этого нужны. Все эти программы есть в открытом доступе. Разработчики вполне могут получить по ним отчёт самостоятельно. Но автоматические сканеры выявляют лишь около 30% всех недочётов. Мы же проводим полное тестирование (аудит) вручную. Такая проверка имеет большую ценность, поэтому и наиболее востребована.
— Артём, где требуются тестировщики доступности?
— Такие тестировщики нужны везде, где возможно обслуживание клиентов с инвалидностью. Это могут быть различные банки, телекоммуникационные компании, IT-компании, сфера розничной торговли, доставка товаров и продуктов.
— Насколько мне известно, у вас есть своя лаборатория. Чем она занимается?
— Да, я возглавляю лабораторию RHVoice Lab. Это первая в мире лаборатория по созданию новых голосов для отечественного синтезатора речи RHVoice от Ольги Яковлевой. На сегодняшний день RHVoice — это единственный отечественный синтезатор речи с открытым исходным кодом, который незрячие могут использовать на любом телефоне или ПК. Все голоса создаются на основе записи реального человеческого голоса. С этой целью мы привлекаем дикторов-волонтёров. Нам очень приятно, когда эти волонтёры — известные люди. Например, в качестве дикторов у нас записывались дизайнер Артемий Лебедев и комик Евгений Чебатков.
По мнению специалистов, чтобы стать тестировщиком, необязательно иметь высшее техническое образование или быть программистом. Важен интерес к IT-сфере и желание постоянно расширять и совершенствовать свои знания. Возможности карьерного роста тестировщика зависят от его личных амбиций и целей в жизни. Конечно, люди, имеющие образование и опыт работы в IT-сфере, продвигаются по карьерной лестнице быстрее. Но практика показывает, что это не единственные факторы, влияющие на карьерный рост. Например, тестировщик может оставаться так называемым мануальщиком и продолжать тестировать IT-продукты вручную. Это востребованная профессия, но она имеет свои ограничения по оплате труда.
Тестировщик может изучить языки программирования и писать автоматические тестеры. Некоторые тестировщики становятся узкоспециализированными профессионалами в области тестирования безопасности систем или нагрузочного тестирования. Таких специалистов очень мало, и они всегда на вес золота. Кроме того, тестировщик может перейти на уровень аналитика или менеджера по продвижению продукта. В конце концов, человек, имеющий соответствующий опыт работы, образование, практические знания и навыки, может возглавить команду тестировщиков, стать техническим директором компании или руководителем всех её QA-проектов.
Хотя тестировщиков не готовят в учебных заведениях, на программах подготовки, связанных с информатикой и программированием, дают общие знания, которые позволят быстрее освоить профессию. Тем, кто задумывается о получении среднего профессионального образования, подойдёт специальность «Информационные системы и программирование». Обучение по этому направлению можно пройти в некоторых средних специальных учебных заведениях:
Колледж информатики и программирования Финансового университета при Правительстве Российской Федерации (Москва);
Политехнический колледж городского хозяйства (Санкт-Петербург);
Новосибирский колледж электроники и вычислительной техники;
Колледж связи Поволжского государственного университета телекоммуникаций и информатики (Самара).
Высшее техническое образование может стать преимуществом при работе тестировщиком, хотя оно требуется не всегда. Этот путь самый длительный из всех возможных, но диплом может способствовать карьерному росту в будущем. Для поступления в вузы необходимо сдать ЕГЭ по русскому языку, математике, физике или информатике. Во многих университетах России есть программы, имеющие отношение к информационным технологиям. Принципиального обучения на инженера по тестированию в России не существует.