Тестирование сайта – это проверка работоспособности всех его страниц и модулей, что обнаружения ошибок, их исправления и улучшения работы сайта. Для проведения тестирования существует большое разнообразие инструментов и методов обнаружения ошибок. Путем тестирования можно обнаружить ошибки кода валидатора, скорость загрузки страниц и многое другое.
Какая задача у тестирования?
Основная задача такой детализированной проверки сайта – это правильная настройка всех его параметров и показателей, все страницы должны отображаться грамотно и безошибочно. При этом тестирование помогает своевременно обнаружить проблемное или «слабое» место сайта и вовремя устранить эти «неудобства». Также тестирование сильно помогает разработчикам при создании адаптивного сайта, чтобы ресурс был доступен на устройстве с любой предустановленной ОС, любым разрешением экрана и на все возможных браузерах.
Тестирование неотъемлемая часть работы при добавлении нового функционала. Если вы планируете внедрить какие-то небольшие изменения, например, в виде новых, небольших иконок или изменения шрифта, естественно для начала, их необходимо тестировать, чтобы новые «фичи» или функционал не ломал общую логику и верстку сайта.
Особенности при тестировании сайта
Если мы говорим о профессиональном тестировании ресурса, которое может гарантировать «знак качества», тогда, естественно необходимо учитывать абсолютно все нюансы и мелочи в работе сайта, проверять абсолютно весь функционал, каждую кнопочку, иконку, шрифты. В общем проверка от самых простых настроек до анализа корректности работы его отдельных модулей.
После тщательного анализа ресурса и сбора всех необходимых данных, необходимо провести следующие виды тестов:
- Блочные, которые составляют разработчики для отдельных частей функционала, чтобы тестировать их в изолированном режиме;
- Интеграционные для проверки нескольких взаимодействующих функционалов, они имитируют действия реальных пользователей и отправляют отчет о проделанной работе;
- Функциональные для проверки работы всей системы, тест проверяет страницы целиком и подтверждает работу всех систем согласно прописанному ТЗ;
- Smoke-тесты для экспресс-проверки системы, они используются для самых простых и поверхностных проверок.
Если проводить такие тесты, вы сможете обезопасить свой ресурс от ошибок как во время тестирования, так и после него.
Способы тестирования
Тестировать свой ресурс можно в ручном режиме, но мы живем в современном мире, поэтому и автоматическое тестирование – давно уже полноценный игрок среди опытных специалистов по тестированию. Давайте разберем каждый из этих способов их преимущества и недостатки.
Автоматическое тестирование
Для того, чтобы задействовать такой способ тестирования, тестировщики используют специализированное программное обеспечение. Такими сторонними программами для проведения тестирования можно пользоваться несколько раз, что существенно повышает экономию времени. Автоматическое тестирование – отличный выбор при тестировании объемных проектов, в которых есть множество модулей, программы проверяют соответствует ли результат работы модуля ожиданиям пользователей. Тем не менее, без ручного тестирования обойтись нельзя.
Ручное тестирование
При ручном способе проверки сайта тестировщик всё делает «руками», если можно сказать он «прощупывает» каждый элемент ресурса, чтобы всё работало правильно. Это долгий процесс, которые требует концентрации и внимательности. Нужно детально и даже дотошно проверять каждый элемент, кнопку, значок и т.д. Автоматическое тестирование может показать общую картину и проверить «несложные» в работе модули. Ручное тестирование – покажет полную картину, как на самом деле обстоят дела у ресурса. Поэтому ручное тестирование — это неотъемлемая часть жизни хорошего тестировщика.
Результаты тестирования
Как исход, после проведения всех тестов и в автоматическом и в ручном режиме – вы увидите не только «какой функционал работает правильно» но и также, сможете обнаружить «сломанные или плохо работающие уязвимости».
Также вы получите ряд преимуществ:
- Экономия ресурсов для поддержания работы сайта,
- Обеспечение безопасности кода и возможность внести в него изменения даже через несколько лет,
- Улучшение архитектуры и безопасности кода.
Тестирование — это важная и неотъемлемая часть работы разработчика веб сайтов. Профессиональные веб-студии всегда имеют на своём борту несколько профессиональных тестировщиков, потому что они знают, насколько важно проводить тестирование ресурса перед тем, как сдать его заказчику.
Тестирование веб приложений и сайтов — полное руководство
В этой статье мы рассмотрим тестирование веб приложений и сайтов. Она довольно длинная, поэтому усаживайтесь по удобнее.
- Основные виды тестирования сайта (веб-приложения)
- Тестирование функциональности
- Проверьте все ссылки
- Проверьте формы
- Тестирование файлов cookie
- Проверьте HTML/CSS
- Тестирование базы данных
- Ссылки
- Формы
- База данных
- Тестирование удобства использования (юзабилити сайта)
- Проверка навигации
- Проверка контента
- Другая информация для пользователей
- Тестирование пользовательского интерфейса
- Проверка совместимости
- Совместимость с браузерами
- Совместимость с операционными системами
- Просмотр на мобильных устройствах
- Параметры печати
- Тестирование производительности сайта
- Скорость соединения
- Нагрузка
- Стрессовая нагрузка
- Тестирование безопасности
- Моменты, которые следует учитывать при тестировании сайта
- Пример сценариев тестирования сайта
- Тестирование функциональности;
- Тестирование удобства использования;
- Тестирование интерфейса;
- Тестирование совместимости;
- Тестирование производительности и скорости загрузки сайта;
- Тестирование безопасности.
Проверьте все ссылки, присутствующие на веб-странице, а также ссылки на базы данных, формы, используемые для подтверждения действий и получения информации от пользователей, файлы Cookie и т.д.
- Проверьте ссылки, исходящие от всех страниц к конкретному домену.
- Внутренние ссылки.
- Ссылки на другие элементы, расположенные внутри страниц.
- Ссылки для отправления электронной почты администратору или другим пользователям веб-страниц.
- Проверьте, нет ли ссылок на изолированные страницы.
Формы используются для получения информации от пользователей и взаимодействия с ними.
Что нужно проверить в формах:
- Правильность работы валидации в каждом поле формы.
- Значения полей, используемые по умолчанию.
- Опции для создания форм, удаления, просмотра и редактирования форм (если такие имеются).
Рассмотрим пример проекта поисковой системы, над которым я сейчас работаю. В проекте есть этапы регистрации рекламодателей и партнеров. Каждый шаг регистрации отличается от других, но зависит от остальных этапов. Поэтому весь процесс регистрации должен проходить правильно.
Есть различные виды валидации, например, проверка электронной почты, финансовой информации пользователя и т.д. Все поля с валидацией нужно протестировать в ручном или автоматическом режиме.
Cookie — это небольшие файлы, хранящиеся на компьютере пользователя. Чаще всего они используются для поддержки сеансов с авторизацией. Проверьте приложение, выключая и включая cookies в опциях браузера.
Проверьте, шифруются ли Cookie перед записью на компьютере. Протестируйте сеансы регистрации и статистику пользователя, когда сеанс посещения сайта закончится. Проверьте, влияет ли на безопасность приложения удаление файлов cookie.
Если вы оптимизируете сайт для поисковых систем, то валидация HTML/CSS особенно важна. Первым делом проверьте сайт на наличие синтаксических ошибок в HTML-коде. Проверьте, доступен ли сайт для различных поисковых систем.
Взаимодействие веб-приложения с базой данных является очень важным моментом. Проверьте целостность данных и проведите тестирование сайта на наличие ошибок при редактировании, удалении, изменении форм или других действиях, имеющих отношение к базе данных.
Проверьте, все ли запросы к базе данных выполняются правильно, данные извлекаются и обновляются должным образом.
При тестировании функциональности сайтов нужно проверить:
- Внутренние ссылки;
- Внешние ссылки;
- Ссылки на электронную почту;
- Битые ссылки.
- Валидация полей;
- Сообщения об ошибке при неверном вводе;
- Обязательные и необязательные к заполнению поля.
Следует проверить целостность базы данных.
Тестирование юзабилити — это анализ взаимодействия пользователя и сайта, поиск ошибок и их устранение.
При этом проверяется:
- Легкость обучения;
- Навигация;
- Субъективная удовлетворенность пользователей;
- Общий вид.
Под навигацией подразумеваются средства для просмотра страниц пользователем. Это кнопки, блоки. А также то, как посетитель сайта использует ссылки на другие страницы.
Проверка юзабилити:
- Сайт должен быть простым в использовании;
- Инструкции должны быть очень четкими;
- Проверьте, достигают ли предоставленные инструкции поставленной цели;
- Главное меню должно быть доступно на каждой странице;
- Главное меню должно быть построено в логической последовательности.
Контент должен быть логичным и простым для понимания. Проверьте текст на наличие ошибок. Применение темных цветов раздражает пользователей, не нужно использовать их в теме оформления.
Для контента и фона страницы лучше применять общепринятые стандарты, чтобы цвет шрифта, рамок и т.д. не раздражал пользователей.
Контент должен быть содержательным, ссылки работать надлежащим образом, изображения соответствующего размера. Это основные стандарты, соблюдаемые при веб-разработке. Ваша задача — проверить все в рамках тестирования пользовательского интерфейса.
Варианты поиска, карта сайта, справочные материалы и т.д. Проверьте работу всех ссылок в карте сайта. Функция «Поиск по сайту» должна помогать легко находить нужный контент.
Нужно проверить, правильно ли осуществляется связь с сервером. Следует проверить совместимость сервера с используемым программным обеспечением, аппаратными средствами, сетью и базой данных.
Основные интерфейсы:
- Интерфейсы веб-сервера и приложения.
- Интерфейсы сервера базы данных и сервера приложения.
Если база данных или веб-сервер для какого-либо запроса, исходящего от сервера приложения, возвращает сообщение об ошибке, сервер приложения должен фиксировать его и отображать пользователю.
Проверьте, что происходит, когда пользователь прерывает какое-либо действие. А также, что происходит при повторном подключении к серверу в ходе выполнения какой-либо операции.
Нужно проверить:
- Совместимость с браузерами;
- Совместимость с операционными системами;
- Просмотр на мобильных устройствах;
- Параметры печати.
Работа некоторых веб-приложений зависит от типа браузера. Сайт должен быть совместим с различной конфигурацией и параметрами разнообразных браузеров.
Верстка сайта должна быть кроссбраузерной. При использовании Java-скриптов и AJAX, обеспечивающего функциональность пользовательского интерфейса, проверки безопасности или валидации создают большую нагрузку на систему.
Проверьте работу веб-приложения в браузерах Internet Explorer, Firefox, Netscape Navigator, AOL, Safari, Opera разных версий.
Некоторые функции веб-приложения могут быть несовместимы с определенными операционными системами. Не во всех из них поддерживаются новые технологии, используемые в веб-разработке. Поэтому проверьте работу приложения в Windows, Unix, MAC, Linux, Solaris и их различных версиях.
Проведите тестирование сайта на мобильных устройствах и проверьте, как просматриваются веб-страницы с помощью мобильных браузеров. Проблемы с совместимостью также могут возникнуть из-за мобильных устройств. Также не стоит забывать о тестировании сайта на разных разрешениях.
Если вы предусматриваете возможность печати страницы, удостоверьтесь, что шрифты, выравнивание, графика и т. д. отображаются на бумаге должным образом. Страницы должны подходить под размеры, которые устанавливаются в опциях печати.
Тестирование производительности сайта или веб-приложения должно включать в себя:
- Нагрузочное тестирование.
- Стрессовое тестирование.
Проверьте производительность приложения на различной скорости интернета.
Нагрузочное тестирование сайта (веб-приложения) — это тестирование, при котором большое количество пользователей одновременно выполняют запрос к одной и той же странице. Выдерживает ли система пиковые нагрузки?
Стрессовое тестирование — нагрузка системы, выходящая за пределы установленных лимитов. Стрессовое тестирование выполняется с целью достичь сбоя в работе сайта или веб-приложения путем увеличения нагрузки. А также проверить, как система реагирует на стресс, и как она восстанавливается после сбоев. Стрессовой нагрузке подвергают поля для ввода информации, входа и регистрации.
ab тестирование функциональности также включает в себя проверку на ошибки, связанные с оперативной памяти.
Тест производительности можно применять для проверки масштабируемости сайта или оценки продуктивности при использовании стороннего программного обеспечения.
Сплит тестирование сайта при использовании различных вариантов интернет-соединения: через модем, ISDN и т.д.
- Количество пользователей, одновременно посещающих сайт;
- Проверьте работу системы при пиковых нагрузках;
- Пользователь осуществляет доступ к большому количеству данных.
- Непрерывная нагрузка;
- Производительность памяти, процессора, обработки файлов и т. д.
Ниже приведены некоторые наборы для тестирования веб-безопасности:
- Проверка с помощью вставки внутреннего URL в адресную строку браузера без авторизации. Внутренние страницы при этом не должны открываться.
- После авторизации с помощью логина и пароля, а также просмотра внутренних страниц попробуйте изменять URL. Например, вы проверяете какую-то статистику сайта под идентификатором ID= 123. Попробуйте изменить ID URL на другой ID сайта, который не имеет отношения к авторизованному пользователю. В любом случае доступ этого пользователя к просмотру других показателей должен быть запрещен.
- Попробуйте ввести неверные данные в поля формы для авторизации. Выясните, как система реагирует на ввод недопустимых данных.
- Каталоги или файлы не должны быть доступны напрямую, если для них не предусмотрена возможность скачивания.
- Проверьте работу капчи для защиты от автоматического входа с помощью программного кода.
- Проверьте, используется ли в целях безопасности SSL. Если да, то должно отображаться сообщение при переходе пользователя с незащищенных HTTP-страниц к защищенным и наоборот.
- Все операции, сообщения об ошибках, нарушения безопасности должны записываться в файл журнала на веб-сервере.
Основной причиной тестирования безопасности сайта является поиск потенциальных уязвимостей и их последующее устранение.
- Сетевое сканирование;
- Сканирование уязвимостей;
- Возможность потенциального взлома паролей;
- Обзор журнала;
- Средства для проверки целостности;
- Обнаружение вирусов.
Следует обратить внимание на взаимодействие HTML-страниц, интернет-подключение, брандмауэры, приложения, запускаемые на веб-страницах (апплеты, JavaScript, модульные приложения), а также приложения, работающие на стороне сервера (скрипты CGI, интерфейсы баз данных, генераторы динамических веб-страниц).
Есть множество типов серверов и браузеров различных версий. Между ними есть небольшие, но значимые различия.
Дополнительные факторы, которые следует учесть при тестировании сайта:
- Какова ожидаемая нагрузка на сервер (например, количество запросов за единицу времени)?
- Какая производительность требуется при различных видах нагрузки (время ответа веб-сервера, время отклика базы данных на запрос)?
- Какие инструменты потребуются для тестирования производительности?
- Кто является целевой аудиторией? Какие браузеры будут использовать пользователи? Какова скорость подключения? Предназначен ли сайт для использования внутри организации или будет доступен в интернете для широкого круга пользователей?
- Какую производительность ожидает получить клиент (насколько быстро должны загружаться страницы, как должны себя вести анимации, апплеты, нагрузка и запуск)?
- Будут ли разрешены простои сервера и техническое обслуживание, а также обновление контента? Если да, в каком количестве?
- Какие средства безопасности требуются (файерволы, шифрование, пароли и т.д.), и какую работу они будут выполнять? Как их можно проверять?
- Насколько надежным должно быть интернет-соединение? Как оно будет влиять на резервное копирование системы?
- Как будет выполняться управление обновлением контента сайта?
- Требования для технического обслуживания, отслеживания и контроля содержимого веб-страниц, графических элементов, ссылок и т.д.
- Какая спецификация HTML будет соблюдаться? Насколько точно?
- Как будут проверяться и обновляться внутренние и внешние ссылки? Насколько часто?
- Как будет происходить управление и проверка CGI апплетов, сценариев JavaScript, компонентов ActiveX и т.д.?
- Максимальный размер веб-страницы не должен превышать 3-5 экранов, кроме случаев, когда контент сосредоточен на одной теме. Если размер веб-страницы больше, предоставьте внутренние ссылки для навигации по ней.
- Разметка веб-страницы и элементы дизайна должны быть последовательными и логично связанными.
- Отображение веб-страниц должно быть независимо от типа браузера.
- На каждой странице следует указать ссылку для связи.
Контроль портала – важный этап перед запуском. Тестирование позволяет выявить ошибки, которые могут мешать аудитории пользоваться страницей. Некоторые баги отпугивают клиентов и они начинают использовать другие сайты для своих целей.
Зачем нужно тестировать сайт
Основная цель тестирования страницы – правильная настройка нужных показателей, страниц портала, быстрое обнаружение и устранение ошибок и дефектов. Также в проверку входит настройка и адаптация ресурса под нужные устройства. Главное, чтобы страница была удобна посетителям и могла привлекать большую аудиторию.
Для пользователей главное удобный интерфейс, и чтобы ресурс был грамотно наполнен информацией. Если вы хотите добавить даже минимальные изменения, ресурс обязательно нужно протестировать.
Особенности тестирования
Для эффективности проверки нужно учесть все нюансы и особенности страницы. Подлежат проверке все функции, от самых элементарных до анализа корректности функционирования.
Виды проверки:
- Интеграционные. Существуют для проверки нескольких функций, которые взаимодействуют между собой. Они создают вид реальных пользователей, выполняющих конкретные действия. После проверки отправляется отчет.
- Блочные. Их составляют разработчики для тестирования отдельных опций сайта. Они тестируются в изолированном режиме.
- Тесты для проверки сразу всей системы. Проверяют всю страницу на соответствие с ТЗ.
Цели и методы
Не всегда разработчики уделяют внимание устранению багов страницы перед запуском, а зря. Если не проверить ресурс, то потом могут обнаружиться ошибки, которые сложно будет исправить. Лучше сделать это до запуска веб – страницы. Если не обратить внимание на тестирование, работа может быть провалена и проект будет отправлен на доработку. В результате портится репутация исполнителя.
Ошибки влияют не только на функционал веб – страницы, но и на то, как ресурс воспримут пользователи. Такие неисправности, как медленная загрузка, зависание, неудобный интерфейс негативно воспринимаются пользователями. Не все готовы ждать, поэтому, если работа ресурса некорректна, аудитория может перейти к конкурентам.
Поэтому одна из основных целей тестирования ресурса – обнаружение неисправностей и устранение их до запуска. Для контроля приглашается опытный специалист — тестировщик. Он создаст ситуации, которые могут возникнуть при работе ресурса. После этого проводится анализ и устранение обнаруженных ошибок.
Тестирование делится на несколько этапов и проводится на разных браузерах для достоверных результатов. Вот основные из них:
- Проверка контента на функциональность
- Юзабилити – оценка удобства интерфейса для пользователей
- Проверка производительности
- Оценка уровня безопасности веб – страницы
- Анализ интерфейса
Контроль функциональности контента – один из самых важных этапов. Любая, даже самая банальная ошибка может привести к потере клиента или целой аудитории. К примеру, калькулятор. Если на нем обнаружена ошибка, дальнейшие расчеты будут неправильные. Если это торговый сайт, может быть ошибка в корзине. Это будет означать невозможность оформить заказ. В таком случае потребитель просто перейдет на площадку конкурентов.
Для обнаружения подобных ошибок нужно тщательно проверить навигацию, возможности поиска товара, методов оплаты, возможность связаться с технической поддержкой сайта или с продавцом напрямую. Проверяется возможность управлять контентом после того, как он будет запущен. В него входит добавление новых функций, дополнительных страниц.
Юзабилити дает возможность понять, удобен ли контент для аудитории. На этом этапе проверяется функциональность сайта, навигация. Проверяется, легко ли искать конкретный товар, получается ли сразу найти каталог с продукцией. Просматриваются картинки или видео. Часто аудиторию в торговых сайтах интересует не само описание, а картинки. Если пользователь поймет, что интерфейс ресурса ему неудобен, он больше к нему не вернется.
Для тестирования веб — сайта нужен чек – лист. Он означает:
- Контроль навигации. Специалист проверяет, все ли понятно пользователям в интерфейсе. Проверяется, есть ли доступ к странице, есть ли доступ к меню.
- Контроль самого ресурса. Происходит поиск грамматических ошибок контента. Проверяется информативность сайта, наличие картинок и видео. Важно, чтобы были оформлены все заголовки.
- Проверяется, удобен ли контент. Тестировщик выявляет, удобно ли перемещаться между страницами и разделами сайта.
- Поверка на мобильных приложениях. Важно, чтобы у сайта была адаптация на мобильных устройствах и планшетах.
Проверка производительности означает тестирование функциональности контента в период максимальной нагрузки. То есть, если пользователь заходит на сайт в «час пик» и тот не грузится, большая вероятность того, что он к нему больше не вернется. Во время проверки специалист создает искусственную ситуацию максимального трафика и проверяет поведение сайта.
Проверка безопасности – последний этап. Безопасность важна для любого контента. Во время тестирования специалист выявляет наиболее слабые места, через которые контент может быть подвержен хакерским атакам, и устанавливает более мощную защиту.
Как тестировать контент
Проверка ресурса – сложная задача, которая под силу опытным профессионалам. Каждый участник команды разработчиков занят своим делом. От тестирования зависит дальнейшее функционирование сайта. Оно проводится до тех пор, пока разработчики не поймут, что контент работает идеально.
Помимо вышеописанных этапов проверки, есть еще UI тестирование. Оно проверяет интерфейс сайта, удобен ли он пользователям или нет, сколько кликов до нужного раздела и куда ведут страницы. Основа UI тестирования – проверка соответствия графики интерфейса. Составляется чек – лист, указывающий на результаты проверки.
Рассмотрим более подробно вышеописанные этапы.
Функциональное тестирование
Данный вид проверки выявляет грубые ошибки во время функционирования портала. Они могут быть разные, все зависит от направления ресурса. Для функционального этапа составляется следующий чек – лист:
- Проверяется работоспособность основных опций контента
- Открываются ли ссылки, которые ведут на одну страницу
- Корректны ли внутренние ссылки, можно ли на них перейти, чтобы ознакомиться с конкретной информацией или продукцией
- Проверка функциональности со стороны пользователей. Можно ли добавить комментарии, пожелания. Проверяется возможность обратной связи
- Успешная авторизация. Во время максимальной нагрузки сайт может плохо загружаться и не всегда удается зайти в личный кабинет. А бывает так, что заказ нужно сделать как можно быстрее. В таком случае пользователь не станет ждать, а пойдет на страницу конкурента. Тестирование позволяет выявить проблемы, и сразу устранить
- Проверяется функциональность покупки и заказа товаров. Важно, чтобы пользователь с первого раза мог положить покупки в виртуальную корзину, а потом оформить заказ.
- Проверяется возможность удалить или отменить заказ. Иногда случается, что пользователь оформил заказ, потом передумал. Важно, чтобы на сайте была возможность отмены.
- Контент полностью сверяется с тем, который просит заказчик. Чтобы не тратить свое и заказчика время, разработчики создают контент, четко соблюдая ТЗ.
Юзабилити тестирование
Юзабилити позволяет проверить удобство интерфейса сайта для пользователя. Этот этап особенно важен если вы решили создать landing page. Чем проще контент, тем больше пользователей будет привлекаться. Важно, чтобы все действия были удобны для пользователя. UX тестирование – один из основных этапов проверки, если его не пройти, можно пропустить ошибки, которые в последствии отпугнут пользователей. Проверка комплексная, включает в себя несколько этапов.
Основной этап заключается в том, чтобы аудитории было удобно воспринимать контент. За удобство отвечает UI-дизайн. Он означает создание прототипа конкретной продукции или удобного для аудитории интерфейса.
Разница между UI и UX:
Для примера возьмем бутылку кетчупа. Создавая ее, дизайнер понимает, что она должна быть конкретного размера и формы. Чтобы удобно лежала в руке, помещалась в ладони, а крышка должна быстро и легко открываться. Это называется UI-дизайн. Как только эта бутылка передается разработчику, который считает ее дизайн бессмысленным, так как кетчупа в нее помещается мало и нет дозатора, это становится UX проверкой. То есть, продукция прошла проверку на практике. Так и с проверками контентов. Разработчик отдает конкретный ресурс, который его полностью устраивает до тех пор, пока проверка не обнаружит существенные недостатки.
Аудит – это полноценная проверка контента, показывающая, есть ли проблемы в зонах безопасности. Он помогает понять, соответствует ли контент заданной цели или нужны коррективы.
Почему этот этап тестирования важен?
Как только пользователь впервые заходит на контент, то у него формируется первое впечатление. Сначала аудитория обращает внимание на дизайн. Если он полностью устраивает, тогда пользователи остаются на ресурсе, интересуются, и, если это торговая площадка, начинают заказывать продукцию.
По статистике, если в течении 15 секунд пользователь сталкивается с трудностями, он перейдет на другой контент. Если сайт нормально функционирует, и клиенту все понятно, он останется, и будет дальше изучать интерфейс. Для того, чтобы понять важность юзабилити – тестирования, рассмотрим конкретный пример.
Клиент зашел на страницу, где нужно указать свой номер телефона в всплывающем окне. За то, что вы укажете номер телефона, с вами свяжется менеджер компании. И это окно всплывает постоянно, стоит только зайти на сайт. Многих это раздражает и они спешат покинуть ресурс. В результате, пользователи будут заказывать продукцию у конкурентов, несмотря на то, что будут посещать ваш сайт. Навязчивость отталкивает.
Если провести опрос среди аудитории, что больше всего раздражает в конкретном контенте – ответ очевиден. Это всплывающее окно. Юзабилити позволит выявить и ликвидировать эту проблему. Если проверку проигнорировать, его функциональность падает, в свою очередь, падает и посещаемость.
Рекомендации, как правильно произвести UI тестирование:
- Важно следить за правильной последовательностью категорий товаров, если это продающий сайт. Клиенты любят порядок вплоть до того, что продукция должна быть расставлена по цветам и в алфавитном порядке. Цвет желательно подбирать один на все виды продукции. К примеру, если это конкретная бытовая техника, то на странице она должна быть в одном цвете, а ниже примечание, что расцветка может быть разная.
- Следите, чтобы была правильная работа скролла. Полоса прокрутки не должна отвлекать внимание от самой продукции. Если она слишком большая, ее лучше откорректировать.
- Одна из самых распространенных ошибок, которая случается при обновлении страницы – ошибка в подвале контента. Нужно сразу исправить код.
- Дизайн должен быть ненавязчивым, а выравнивание должно быть по центру.
- Элементы должны быть одного, органического размера. Отличие в размерах не должно бросаться в глаза.
- При обнаружении некорректной верстки изображения, эту ошибку нужно исправить.
- На сайте не должно быть лишних всплывающих ссылок. Они отвлекают внимание от основного направления ресурса.
- Проверьте, чтобы интерфейс был адаптирован под мобильное приложение. Не всегда пользователь заходит на сайт с компьютера, иногда и с мобильного телефона или планшета.
- Нужно оптимизировать размер картинок. Приятно, когда картинки одного размера и формата.
Нагрузочное тестирование
Нагрузочный контроль означает проверку производительности сайта в период максимальной нагрузки. То есть в час, когда на сайте большое количество активных посетителей, он может зависать, плохо грузится и не функционировать. Это не понравится пользователям и они найдут другую компанию.
Основная задача тестирования проверить, выдержит ли сайт максимальную нагрузку. Важно, чтобы контент не «лег». Тестирование на стойкость – один из самых важных этапов. Клиенты должны быть уверены в стойкости портала. Этот этап контроля важно выполнить своевременно, чтобы вовремя обнаружить проблему и попробовать ее решить.
Когда лучше провести нагрузочное тестирование торговой площадки
Это плановая процедура, которую проводит приглашенный специалист. Ее часто делают перед крупными маркетинговыми мероприятиями. К примеру, перед черной пятницей или праздничными распродажами. В дни, когда на сайте максимум пользователей. Если клиент обнаружил, что портал стал плохо функционировать, его репутация сразу падает.
Варианты нагрузочного тестирования:
- Постоянный контроль. Этот сценарий предполагает постоянную имитацию нагрузки портала. При постоянной нагрузке количество виртуальных пользователей остается без изменений. Основная цель – обнаружить проблемы при максимальной нагрузке.
- Нарастающее тестирование. Нагрузка нарастает, число виртуальных пользователей постепенно увеличивается. Основная цель – выявить, какую конкретно нагрузку портал может выдержать.
Во время нагрузочного контроля чаще всего применяется инструмент Яндекс.Танк. Инструмент позволяет провести анализ производительности контента. Основное преимущество заключается в том, что все результаты сохраняются в архивах.
Этапы нагрузочного тестирования:
- Подготовка инструмента Яндекс.Танк
- Проверка лимита посещаемости и активности
- Сам тест. Его лучше провести несколько раз для более достоверных результатов.
Тестирование на уязвимости
Этот контроль проводится для проверки безопасности портала. Если он уязвим, то может быть подвергнутый хакерским атакам. Никому не понравится, что его персональные данные могут стать общим достоянием. Именно поэтому пользователи доверяют сайтам с высоким уровнем безопасности.
Основные принципы безопасности, которые нужно проверить перед использованием портала:
- Конфиденциальность персональных данных. Когда пользователь заходит на ресурс, он оставляет свои данные. Важно, чтобы они не выплывали за пределы конкретного сайта.
- Целостность и доступность информации. Она должна быть достоверная и в открытом доступе.
Уязвимость контента обнаруживается во время тестирования, поэтому этот этап проверки важно соблюсти.
Самые распространенные виды уязвимости:
- XSS (Cross-Site Scripting) – распространенный вид уязвимости. Он заключается в том, что на странице появляются различные вредные скрипты. Основная цель скриптов – атака пользователей.
- XSRF / CSRF (Request Forgery) – основан на недостатках НТТР протокола. Злоумышленники устанавливают ссылку на вредный портал прямо на странице ресурса. Сохраняются все данные пользователей, которые попадают в руки злоумышленников.
- Сode injections (SQL, PHP, ASP и т.д.) – появляется возможность получить код к конкретной программе. Он оказывается у злоумышленников и с его помощью они взламывают программу.
- Server-Side Includes (SSI) Injection – в этой ошибке используется запуск команд напрямую с портала.
После того, как контроль закончился, и ошибки устранены, можно запускать портал в пользование. Но контроль лучше проводить не один раз, а несколько. Тем более, если ресурс нуждается в редактировании, обновлении или добавлении новых, более современных и пользующихся спросом функций.
Разработка пользовательского портала – кропотливый процесс, требующий серьезной подготовки. Проверка контента перед запуском – важный этап, который нельзя игнорировать. Также важно тестирование функциональности торговых площадок, так как на сайтах клиенты выбирают конкретный продукт. Если не провести все этапы, портал может плохо функционировать, и тогда пользователи сделают выбор в пользу конкурентов.
Зачем тестировать веб-сайт?
Тестирование веб-сайта — это важный процесс выявления ошибок на веб-сайте, веб-микросервисе или любом другом веб-приложении. В статье вы узнаете, что необходимо учесть разработчику, чтобы оценить, насколько хорошо сайт выполняет свою задачу.
Веб-разработка
27 окт. 2020
Общая цель веб-тестирования — найти проблемы, также известные как ошибки или баги, проблемы или дефекты, которые могут отрицательно повлиять на работу веб-сайта или приложения. Веб-тестирование также можно использовать, чтобы добавить новый функционал, обнаружить определенные области или аспекты веб-сайта, которые можно улучшить и, таким образом, получить лучшие результаты, будь то больше запросов, больше продаж, больше повторных посетителей или более счастливые пользователи.
Процедура тестирования чрезвычайно тщательна. Веб-тестировщики проверяют всю веб-систему от начала до конца, прежде чем выпускать веб-сайт на рынок.
Итак, мы разобрались, что такое веб-тестирование и почему оно важно, поэтому следующий этап — разобраться, как это сделать. Процесс веб-тестирования включает в себя различные важные этапы тестирования, чтобы убедиться, что конечный пользователь веб-сайта удовлетворен использованием приложения. Для этого необходимо протестировать не только функциональность веб-сайта, но и различные интерфейсы веб-сайта, совместимость веб-приложений с браузером, производительность и многие другие аспекты.
Ниже приведем основные виды тестирования, которые потребуются для веб-сайта.
Виды тестирования
Функциональное тестирование
Функциональное тестирование веб-сайта — это тестирование форматирования веб-страниц, содержимого, различных функций, проверку работоспособности ссылок, форм и файлов cookie. Также включает проверку тегов HTML, CSS и JavaScript.
Тестирование производительности
Тестирование производительности проводится, чтобы убедиться, что сайт сможет выдержать различные нагрузки: от нормальной до пиковой. Благодаря тестированию производительности можно выявить части веб-страницы, выходящие из строя при высоких нагрузках и то, как приложение восстанавливается после сбоя из-за пиковых нагрузок.
Тестирование безопасности
Безопасность очень важна для веб-приложений, особенно для сайтов электронной коммерции, использующих конфиденциальную информацию, такую как данные кредитных карт, веб-сайты банков и т. д. Тестирование безопасности включает в себя проверку логинов и доступа к защищенным страницам, загрузку файлов без соответствующего доступа, тайм-аут сеанса после длительного бездействия пользователя, проверку полей CAPTCHA и многое другое.
Тестирование базы данных
Тестирование базы данных включает в себя процесс выявления ошибок при выполнении запросов, проверку корректности отображения данных, полученных из БД в веб-приложении и времени отклика.
Тестирование на совместимость
Каждый пользователь заходит на сайт с разных типов браузеров, операционных систем и устройств, от которых напрямую зависит отображение различных веб-элементов. Кнопки, изображения, текстовые поля, формы и т.п., часто изменяют свой вид в зависимости от ОС или браузера. Поэтому важно проводить тестирование совместимости веб-приложения с различными браузерами, операционными системами, представлениями мобильных устройств или параметрами печати.
Юзабилити-тестирование
Юзабилити-тестирование — это проверка удобства использования веб-сайта, включающая в себя:
- читаемость содержимого веб-сайта;
- исключение грамматических или орфографических ошибок;
- проверку навигации;
- проверку четкости инструкций для клиентов о том, как работать или выполнять что-либо на веб-сайте;
- тестирование функциональных возможностей поиска в приложении.
Тестирование интерфейса
Основными интерфейсами являются интерфейс веб-сервера и сервера приложений, а также интерфейс сервера приложений и сервера базы данных. Тестирование интерфейса связано с проверкой отлаженного взаимодействия между этими серверами, должного выполнения своих задач и отсутствие ошибок.
Способы тестирования
Тестировать сайт можно вручную или автоматически.
Автоматическое тестирование
Для автоматической проверки веб-сайта тестировщику понадобятся специальные программы. Программа настраивается под нахождение и проверку на соответствияе определенных параметров сайта. Такой тип тестирования в наибольшей степени подходит для объемных проектов, нагруженных сложным функционалом.
Ручное тестирование
Ручной тип тестирования программного обеспечения выполняется тестировщиком вручную без использования каких-либо автоматизированных инструментов. Ручное тестирование помогает находить критические ошибки в программном приложении, проверяет реальный клиентский опыт, навигацию и многое другое.
Результаты тестирования
Наличие профессионального и исправного веб-сайта — ключ к успеху бизнеса, позиционированию себя в интернете, как надежный ресурс и создание лучшего первого впечатления у клиентов, посещающих веб-сайт. Веб-тестирование гарантирует, что вы имеете веб-сайт без ошибок, за счет выявленных проблем, которые потенциально могли возникнуть на веб-сайте, еще до его запуска.
Мы – агентство DIGIMATIX – занимаемся созданием, модернизацией и поддержкой сайтов для наших клиентов. Одним из этапов работы с сайтом является тестирование. Тестирование – это шаг, который стоит выполнять по завершении работ с сайтом, так как он позволяет найти ошибки, которые могут негативно повлиять на работу ресурса.
В этой статье мы расскажем, что такое тестирование и какие его виды бывают, а также разберемся, какое тестирование лучше: автоматизированное или ручное.
Что такое тестирование сайта?
Тестирование сайта – это проверка страниц и бизнес-логики проекта разными способами:
- проверкой качества страниц;
- тестированием скорости загрузки;
- проверкой отображения на разных устройствах и в браузерах;
- юзабилити-тестированием и другими.
Главная цель тестирования – убедиться, что сайт отвечает заявленным требованиям клиента, и выявить ошибки, которые могут негативно повлиять на работу ресурса.
За тестирование сайта отвечает выделенный специалист – QA-инженер. Он должен проверить проект от начала до конца, прежде чем пускать его в работу.
Обычно процесс тестирования идет параллельно с разработкой. QA-инженер подключается еще в момент создания технического задания и составляет план тестирования и тест-кейсы. По мере готовности верстки специалист тестирует и ее. После внедрения проекта QA-инженер производит тестирование функционала, бизнес-логики и проверяет готовый проект на соответствие техническому заданию.
Мы определились, зачем нужно тестирование сайта. Теперь рассмотрим виды тестирования.
Виды тестирования
Существует 5 основных видов тестирования:
QA-инженер должен определить стратегию тестирования проекта и при необходимости добавить дополнительные виды тестирования в план работ. Далее подробнее поговорим об основных видах тестирования.
Тестирование юзабилити прототипа сайта
Данное тестирование проводится еще на этапе прототипирования сайта. UX-дизайнер и QA-инженер проверяют, насколько пользователю удобно использовать ресурс. Тестирование отвечает на следующие вопросы:
- понятны ли основная цель сайта и его функционал;
- удобна ли навигация для пользователя;
- создается ли у пользователя положительное впечатление при использовании ресурса.
Сравнение сверстанных страниц с согласованными дизайн-макетами и тестирование верстки проекта
На втором этапе специалист соотносит «живые» и статические макеты. QA-инженер проверяет, правильно ли перенесены все элементы будущего сайта.
Например:
- наличие всех блоков и их расположение;
- стили и правила использования текстовых элементов: заголовки Н1-Н6, подзаголовки, нумерованные и маркированные списки, таблицы;
- цветовые стили функциональных и нефункциональных объектов;
- стили элементов взаимодействия и ввода-вывода информации: ссылки, кнопки, поля, таблицы, чекбоксы и радиокнопки.
Также на данном этапе осуществляется тестирование верстки проекта. Каждое устройство имеет свой тип разрешения экрана. Они стандартизированы, но их много. Поэтому прежде чем выпускать сайт в жизнь, необходимо протестировать его на основных разрешениях экрана. Во время проведения этого тестирования специалист проводит следующие типы работ:
- просмотр сайта с разных браузеров и их версий;
- просмотр правильности отображения страниц сайта на мониторах и экранах, имеющих разное разрешение;
- проверка правильности отображения всех элементов сайта в разных браузерах и во всех их версиях, а также на всех типах разрешения экрана.
Функциональное тестирование
На данном этапе в работу включаются заранее разработанные тест-кейсы, по ним специалист проводит тестирование сайта. Оно занимает большое количество времени, так как требует проверки каждого реализованного функционала проекта, а также все сценарии разветвленной бизнес-логики. Например: что будет, если не ввести все данные в форме обратной связи, меняется ли способ доставки и оплаты исходя из месторасположения? Есть определенные базовые вещи, которые QA-специалисту нужно проверять.
Например:
- тестирование пользовательских форм;
- тестирование навигации на соответствие и отсутствие неработающих ссылок;
- проверка работоспособности поиска, а также релевантности результатов;
- добавление, удаление, редактирование карточек товаров;
- тестирование поиска и покупки товара.
Нагрузочное тестирование
Цель этого тестирования заключается в том, чтобы проверить и предотвратить неожиданную остановку работы ресурса в часы пик. Тестирование проводится с помощью специальных программ. Если скорость загрузки при нагрузке остается на уровне требуемых показателей, то тестирование считается пройденным. Мы на своих проектах, например, используем jmeter, а вы?
Тестирование безопасности сайта
Цель данного тестирования – проверка сайта на уязвимость к различным видам атак. Для каждого вида сайта будут использованы разные виды вредоносных атак. Тестирование безопасности диагностирует пути взлома ресурса, дает понимание, насколько защищен ресурс и могут ли злоумышленники получить доступ к конфиденциальным данным клиентов.
Во время аудита безопасности тестируют:
- контроль доступа;
- механизмы обработки ошибок;
- конфигурацию сервера;
- диагностику аутентификации и другое.
А программу Acunetix Web Vulnerability Scanner мы используем для проведения тестирования безопасности.
Какое тестирование лучше: автоматизированное или ручное?
Существует множество видов тестирования, их подразделяют по подходам, целям, знанию системы. В данной статье мы сравним два популярных вида тестирования: автоматизированное и ручное. В случае автоматизированного тестирования QA-инженер с помощью специализированных программ разрабатывает тесты, которые впоследствии можно запускать в автоматическом режиме. В ручном тестировании специалист имитирует возможное поведение пользователя на сайте, программы не применяются.
Поговорим о преимуществах и недостатках каждого вида тестирования подробнее.
Преимущества и недостатки автоматизированного тестирования:
Преимущества:
- Отсутствие человеческого фактора: программа не допустит ошибки по невнимательности.
- Высокая скорость проверки. Программа за несколько минут может обработать тот же объем, на который у QA-инженера уйдет несколько часов.
- Автоматическое тестирование может проходить в нерабочее время по написанным сценариям, а в рабочее тестировщик обработает полученные результаты.
- Отчет о результатах проверки формируется автоматически.
Недостатки:
- На разработку сценариев тестирования уходит большое количество времени.
- Если в проекте меняется бизнес-логика и это затрагивает тесты, то их надо дорабатывать, что увеличивает количество потраченного времени.
- Для проведения автоматического тестирования у специалиста должна быть высокая квалификация.
- Автоматическое тестирование выполняется строго по правилам, поэтому неожиданные ошибки, которые нашел бы специалист, программа не увидит.
Преимущества и недостатки ручного тестирования
Преимущества:
- Специалист оценивает не только функционал сайта, но и дизайн, что позволяет найти и устранить возможные недочеты.
- Специалист может найти те ошибки, которые не нашла программа.
- В случае если ваш проект не требует постоянных доработок и внедрения нового функционала, то ручное тестирование позволит сэкономить время и уменьшит финансовые затраты.
Недостатки:
- Присутствует человеческий фактор и возможность допуска ошибки по невнимательности.
- Ручное тестирование занимает больше времени, чем автоматизированное, при условии, что сценарии тестирования уже написаны.
Лучший вариант тестирования определяется исходя из задач проекта и планов его развития.
Вместо вывода
Тестирование сайта – важный этап разработки. Для успешного ведения бизнеса в интернете клиенту нужен профессиональный, заточенный под его цели и задачи ресурс. Именно тестирование поможет еще до полноценного старта работы проекта найти и устранить проблемы и недочеты, связанные с его работой. А для гарантированного успеха стоит определять вариант тестирования исходя из целей и задач проекта.