Если коротко — тестирование необходимо для того, чтобы возможные неполадки на вашем сайте были обнаружены не клиентом, а разработчиками. А также для того, чтобы исправить их максимально быстро и, в течение гарантийного срока, бесплатно.
Проявление ошибок и дефектов — это естественная часть процесса разработки. Даже опытному программисту при добавлении нового функционала сложно предугадать, как он повлияет на уже существующие функции.
При этом усилия и расходы, необходимые для устранения появившихся ошибок, будут напрямую зависеть от того, в какой момент они были обнаружены. Избавиться от неполадок на начальном этапе проектирования или разработки намного проще, чем решать экстренные проблемы, возникшие на уже готовом работающем сайте.
Более того, существуют ошибки, которые вообще невозможно исправить. Одна из них — это утрата доверия. Если на сайте при оформлении заказа возникает критическая ошибка, то клиент уйдёт и вряд ли к вам когда-либо вернётся, а репутация компании будет испорчена.
Почему программист сам не может проверить качество своей работы?
В основном потому, что тестирование требует совершенно других навыков. Грубо говоря, если разработчик думает о том, каким образом сайт будет работать, то тестировщик целенаправленно ищет места, где что-то может сломаться
Кроме того, над разработкой сайта обычно работают backend- и frontend-специалисты. Они подходят к созданию сайта «с разных сторон» и не всегда видят общую картину. Тестировщик же рассматривает каждую функцию в широком контексте, проверяет, не мешают ли они друг другу работать, а также анализирует то, как их реализация влияет на пользовательский опыт.
Какими могут быть ошибки?
Самыми разнообразными — от безобидных до фатальных. Неровно расположенный на кнопке текст тоже является ошибкой, так как явно бросается в глаза и не соответствует дизайну, но он окажет меньшее влияние на репутацию и бизнес-показатели компании, чем, например, неправильный расчёт стоимости товара.
Пример 1:
При оформлении заказа его общая стоимость рассчитывается верно, а при переходе к оплате стоимость доставки «слетает» и не плюсуется к стоимости товара. Менеджер вынужден связываться с клиентом и просить его оплатить доставку отдельно. Это отнимает время и плохо сказывается на репутации. А если менеджер вовремя не заметит эту ситуацию, то компания понесёт и финансовые потери.
Пример 2:
Бонусная карта при достижении максимального статуса пропадает из «личного кабинета» и пользователь не может увидеть свой процент скидки и количество накопленных бонусов. В этом случае лояльность клиента к компании также может понизиться.
Тестирование необходимо, чтобы вовремя заметить такие проблемы и оперативно устранить их.
Как работают тестировщики Alente?
Тестировщик — неотъемлемый член команды разработки, он подключается к работе над проектом на этапе написания технического задания. Хорошее чёткое ТЗ напрямую влияет на качество итогового проекта: чем раньше будет замечена ошибка в требованиях, тем дешевле и проще её исправить.
Представьте, что перед вами масштабный проект: интернет-магазин с «Личным кабинетом», бонусной системой, с разными сценариями работы с физическими и юридическими лицами, с различными акциями, ценами и способами оплаты. Этот сайт ещё и имеет разные разделы с уникальным дизайном.
За тестирование такого проекта нужно браться системно:
- составить документацию, по которой будет проходить тестирование;
- продумать и прописать тест-кейсы;
- подготовить чек-лист проверок.
Необходимо учесть каждый нюанс, и рассмотреть возможные негативные сценарии, которые могут сломать сайт как со стороны пользователя, так и со стороны менеджера, работающего в административной панели.
Тестировщик к этапу тестирования и отладки уже имеет некоторую тестовую документацию по проекту, наработанную на предыдущих этапах, тест-кейсы, бизнес-сценарии, на которых основывались требования и которые обсуждались командой разработки. Перед началом тестирования эта документация тщательно дорабатывается, фиксируются все разделы и функции, которые должны работать на проекте.
В первую очередь специалист проверяет, выполняются ли требования к сайту, установленные:
- в макете,
- техническом задании,
- стандартах качества компании.
А также оценивает соблюдение бизнес-логики. Вопросы юзабилити и бизнес-логики прорабатываются на ранних этапах разработки, но в конкретных сценариях они проверяются уже в тестировании.
Тестировщик фиксируется на каждой функции и продумывает все возможные сценарии взаимодействия с ней. Проверяет как позитивные (когда все работает так, как ожидается и как описано), так и негативные ситуации (когда система начинает работать с ошибками).
Тестировщик не просто тыкает на страницу и убеждается, что все кнопки работают и ведут, куда задумано. Он оценивает:
- работу api;
- взаимодействие между интерфейсом и пользователем или админом сайта;
- кросс-браузерность и адаптивность вёрстки;
- выполнение требований для успешной SEO-оптимизации;
- соответствие макету;
- поведение интерфейса на реальных мобильных устройствах;
- корректность перевода на другой язык (при необходимости), а также точность определения геолокации;
- скорость загрузки и безопасность сайта;
- и многое другое.
Объём работы тестировщика гораздо больше, чем может показаться со стороны.
Тестирование — не тот этап, на котором нужно экономить. Тестировщик защищает ваш бизнес от репутационных потерь. Его работа делает продукт качественнее, пользовательский опыт — позитивнее, а потери, связанные с поиском и исправлением ошибок, — минимальными.