Тестирование веб. Основы тестирования и отладки веб-приложений. Реализация взаимодействия с браузером в TestCafe и NightWatch

Тестирование веб-приложений обычно включает в себя несколько шагов,чтобы обеспечить его функциональность и корректную работу, прежде, чем его увидят пользователи.

С каждым днём разрабатывается всё больше и больше веб-приложений, и с каждой новой строкой кода могут появляться новые ошибки. Однако чем позже будут найдены эти ошибки, тем выше денежные затраты на их исправление.

Systems Sciences Institute при IBM выявили, что стоимость исправления ошибки, выявленной после релиза, была в 4-5 раз выше, чем стоимость выявленной и исправленной ошибки во время разработки. Следовательно, стоит тщательно тестировать веб-приложение до его выпуска.

Ниже приведен обзор 6 шагов, которые помогут в этом.

Шаг 1. Функциональное тестирование (Functional Testing)

Первым шагом тестирования веб-приложения является проверка функциональности системы.

Функциональное тестирование (по Википедии) - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определенных условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.

Обычно функциональное тестирование включает в себя:

  • выявление функциональности, которую должно выполнять приложение,
  • ввод и вывод данных,
  • выполнение тест-кейсов,
  • анализ фактических результатов.

На протяжении функционального тестирования происходит имитация фактического использования системы. Цель этого типа тестирования - подойти как можно ближе к реальному использованию приложения и создать условия, которые близки к требованиям пользователя.

Шаг 2. Юзабилити тестирование (Usability Testing)

Юзабилити выходит за рамки функционального тестирования и сочетает в себе тестирование функциональности, а также общий пользовательский опыт. Юзабилити тестирование не следует путать с пользовательским приемочным тестированием (User Acceptance Testing). Несмотря на то, что они оба важны для успешной работы веб-приложения, каждое из них имеет разную цель и проводится на разных этапах жизненного цикла ПО.

Юзабилити тестирование включает в себя следующие шаги:

  • разработку тестовой стратегии, которая регулирует проверку всех функций веб-приложения,
  • подбор участников тестирования как внутри компании, так и извне,
  • запуск теста под наблюдением экспертов,
  • анализ результатов и улучшение веб-приложения.

Шаг 3. Тестирование интерфейса (Interface Testing)

Тестирование интерфейса позволяет убедиться, что все взаимодействия между веб-сервером и интерфейсом пользователя воспроизводятся в соответствии с требованиями. Также с помощью него проверяют корректность отображения сообщений об ошибке.

Шаг 4. Тестирование совместимости (Compatibility Testing)

Ключевой шаг в тестировании веб-приложений - это обеспечение совместимости приложения со всеми веб-браузерами и устройствами.

Совместимость с веб-браузерами.

Обеспечивает гарантию того, что приложение корректно функционирует на разных веб-браузерах. Оно позволяет убедиться, что JavaScript, AJAX, WebSockets, браузерные уведомления и запросы на аутентификацию работают так, как было указано в требованиях.

Кроме тестирования приложения на различных браузерах (и даже на Internet Explorer! :)), следует убедиться, что и другие версии одного и того же браузера обеспечивают корректную работу приложения.

Совместимость с мобильными устройствами.

Существенной частью тестирования веб-приложений также является проверка работы приложения и на разных мобильных устройствах, которые работают на Android, iOS и других мобильных операционных системах.

Шаг 5. Тестирование производительности.

После проверки работы веб-приложения на различных браузерах и устройствах, следует проверить его на производительность во время высокой нагрузки. С помощью данного вида тестирования, можно проследить, как работает приложение при различной скорости интернета, а также как приложение себя поведёт при нормальных и пиковых нагрузках (load testing).

Чтобы определить предел работы приложения, оно подвергается высокому (стрессовому) уровню нагрузки до тех пор, пока не нарушится его функциональность (stress testing). Также это помогает проверить, как приложение восстанавливается после сбоев.

Шаг 6. Тестирование безопасности.

Завершающий шаг в тестировании веб-приложений. Он помогает убедиться в том, что приложение защищено от несанкционированного доступа и вредоносных действий с помощью вирусов или другого вредоносного ПО.

Тестирование безопасности включает в себя следующие шаги:

  • проверка возможности доступа защищенных страниц без авторизации,
  • проверка того, что все сессии заканчивают свою работу после прекращения пользовательской активности (закрытия приложения),
  • проверка SSL-протокола приложения,
  • проверка того, что файлы с ограниченным доступом невозможно загрузить без предварительной авторизации.

Большую пользу приносит чек-лист тестирования безопасности, так как он поможет организовать и структурировать тестовую работу. Чек-лист должен включать в себя задачи из таких областей:

  • Безопасная передача данных;
  • Аутентификация;
  • Управление сеансом;
  • Авторизация;
  • Криптография;
  • Проверка данных;
  • Отказ в обслуживании (Denial of Service);
  • Специфические функциональные тесты;
  • Обработка ошибок.

Заключение.

Мы провели обзор 6 шагов в тестировании веб-приложений. Если выполнять эти действия в процессе разработки приложения, они помогут найти и исправить как можно больше ошибок до того, как уже будет поздно.

В этой статье мы рассмотрим тестирование сайта (веб-приложения ) с помощью наборов тестов. Она довольно длинная, поэтому усаживайтесь по удобнее.

Основные виды тестирования сайта (веб-приложения)

  1. Тестирование функциональности;
  2. Тестирование удобства использования;
  3. Тестирование интерфейса;
  4. Тестирование совместимости;
  5. Тестирование производительности и скорости загрузки сайта;
  6. Тестирование безопасности.

1. Тестирование функциональности

Проверьте все ссылки

  • Проверьте ссылки, исходящие от всех страниц к конкретному домену.
  • Внутренние ссылки.
  • Ссылки на другие элементы, расположенные внутри страниц.
  • Ссылки для отправления электронной почты администратору или другим пользователям веб-страниц.
  • Проверьте, нет ли ссылок на изолированные страницы.

Проверьте формы

Формы используются для получения информации от пользователей и взаимодействия с ними.

Что нужно проверить в формах:

  • Правильность работы валидации в каждом поле формы.
  • Значения полей, используемые по умолчанию.
  • Опции для создания форм, удаления, просмотра и редактирования форм (если такие имеются ).

Рассмотрим пример проекта поисковой системы, над которым я сейчас работаю. В проекте есть этапы регистрации рекламодателей и партнеров. Каждый шаг регистрации отличается от других, но зависит от остальных этапов. Поэтому весь процесс регистрации должен проходить правильно.

Есть различные виды валидации, например, проверка электронной почты, финансовой информации пользователя и т.д. Все поля с валидацией нужно протестировать в ручном или автоматическом режиме.

Тестирование файлов cookie

Cookie - это небольшие файлы, хранящиеся на компьютере пользователя. Чаще всего они используются для поддержки сеансов с авторизацией. Проверьте приложение, выключая и включая cookies в опциях браузера.

Проверьте, шифруются ли Cookie перед записью на компьютере. Протестируйте сеансы регистрации и статистику пользователя, когда сеанс посещения сайта закончится. Проверьте, влияет ли на безопасность приложения удаление файлов cookie .

Проверьте HTML/CSS

Если вы оптимизируете сайт для поисковых систем, то валидация HTML/CSS особенно важна. Первым делом проверьте сайт на наличие синтаксических ошибок в HTML-коде . Проверьте, доступен ли сайт для различных поисковых систем.

Тестирование базы данных

Взаимодействие веб-приложения с базой данных является очень важным моментом. Проверьте целостность данных и проведите тестирование сайта на наличие ошибок при редактировании, удалении, изменении форм или других действиях, имеющих отношение к базе данных.

Проверьте, все ли запросы к базе данных выполняются правильно, данные извлекаются и обновляются должным образом.

При тестировании функциональности сайтов нужно проверить:

Ссылки

  1. Внутренние ссылки;
  2. Внешние ссылки;
  3. Ссылки на электронную почту;
  4. Битые ссылки.

Формы

  1. Валидация полей;
  2. Сообщения об ошибке при неверном вводе;
  3. Обязательные и необязательные к заполнению поля.

База данных

Следует проверить целостность базы данных.

2. Тестирование удобства использования (юзабилити сайта)

Тестирование юзабилити - это анализ взаимодействия пользователя и сайта, поиск ошибок и их устранение.

При этом проверяется:

  • Легкость обучения;
  • Навигация;
  • Субъективная удовлетворенность пользователей;
  • Общий вид.

Проверка навигации

Под навигацией подразумеваются средства для просмотра страниц пользователем. Это кнопки, блоки. А также то, как посетитель сайта использует ссылки на другие страницы.

Проверка юзабилити:

  • Сайт должен быть простым в использовании;
  • Инструкции должны быть очень четкими;
  • Проверьте, достигают ли предоставленные инструкции поставленной цели;
  • Главное меню должно быть доступно на каждой странице;
  • Главное меню должно быть построено в логической последовательности.

Проверка контента

Контент должен быть логичным и простым для понимания. Проверьте текст на наличие ошибок. Применение темных цветов раздражает пользователей, не нужно использовать их в теме оформления.

Для контента и фона страницы лучше применять общепринятые стандарты, чтобы цвет шрифта, рамок и т.д. не раздражал пользователей.

Контент должен быть содержательным, ссылки работать надлежащим образом, изображения соответствующего размера. Это основные стандарты, соблюдаемые при веб-разработке. Ваша задача - проверить все в рамках тестирования пользовательского интерфейса.

Другая информация для пользователей

Варианты поиска, карта сайта, справочные материалы и т.д. Проверьте работу всех ссылок в карте сайта. Функция «Поиск по сайту » должна помогать легко находить нужный контент.

3. Тестирование интерфейса

Нужно проверить, правильно ли осуществляется связь с сервером. Следует проверить совместимость сервера с используемым программным обеспечением, аппаратными средствами, сетью и базой данных.

Основные интерфейсы:

  • Интерфейсы веб-сервера и приложения.
  • Интерфейсы сервера базы данных и сервера приложения.

Если база данных или веб-сервер для какого-либо запроса, исходящего от сервера приложения, возвращает сообщение об ошибке, сервер приложения должен фиксировать его и отображать пользователю.

Проверьте, что происходит, когда пользователь прерывает какое-либо действие. А также, что происходит при повторном подключении к серверу в ходе выполнения какой-либо операции.

4. Проверка совместимости

Нужно проверить:

  • Совместимость с браузерами;
  • Совместимость с операционными системами;
  • Просмотр на мобильных устройствах;
  • Параметры печати.

Совместимость с браузерами

Работа некоторых веб-приложений зависит от типа браузера. Сайт должен быть совместим с различной конфигурацией и параметрами разнообразных браузеров.

Верстка сайта должна быть кроссбраузерной. При использовании Java-скриптов и AJAX , обеспечивающего функциональность пользовательского интерфейса, проверки безопасности или валидации создают большую нагрузку на систему.

Проверьте работу веб-приложения в браузерах Internet Explorer , Firefox , Netscape Navigator , AOL , Safari , Opera разных версий.

Совместимость с операционными системами

Некоторые функции веб-приложения могут быть несовместимы с определенными операционными системами. Не во всех из них поддерживаются новые технологии, используемые в веб-разработке. Поэтому проверьте работу приложения в Windows , Unix , MAC , Linux , Solaris и их различных версиях.

Просмотр на мобильных устройствах

Проведите тестирование сайта на мобильных устройствах и проверьте, как просматриваются веб-страницы с помощью мобильных браузеров. Проблемы с совместимостью также могут возникнуть из-за мобильных устройств. Также не стоит забывать о тестировании сайта на разных разрешениях.

Параметры печати

Если вы предусматриваете возможность печати страницы, удостоверьтесь, что шрифты, выравнивание, графика и т. д. отображаются на бумаге должным образом. Страницы должны подходить под размеры, которые устанавливаются в опциях печати.

5. Тестирование производительности сайта

Тестирование производительности сайта или веб-приложения должно включать в себя:

  • Нагрузочное тестирование.
  • Стрессовое тестирование.

Проверьте производительность приложения на различной скорости интернета.

Нагрузочное тестирование сайта (веб-приложения ) - это тестирование, при котором большое количество пользователей одновременно выполняют запрос к одной и той же странице. Выдерживает ли система пиковые нагрузки?

Стрессовое тестирование - нагрузка системы, выходящая за пределы установленных лимитов. Стрессовое тестирование выполняется с целью достичь сбоя в работе сайта или веб-приложения путем увеличения нагрузки. А также проверить, как система реагирует на стресс, и как она восстанавливается после сбоев. Стрессовой нагрузке подвергают поля для ввода информации, входа и регистрации.

ab тестирование функциональности также включает в себя проверку на ошибки, связанные с оперативной памяти.

Тест производительности можно применять для проверки масштабируемости сайта или оценки продуктивности при использовании стороннего программного обеспечения.

Скорость соединения

Сплит тестирование сайта при использовании различных вариантов интернет-соединения: через модем, ISDN и т.д.

Нагрузка

  1. Количество пользователей, одновременно посещающих сайт;
  2. Проверьте работу системы при пиковых нагрузках;
  3. Пользователь осуществляет доступ к большому количеству данных.

Стрессовая нагрузка

  • Производительность памяти, процессора, обработки файлов и т. д.
  • 6. Тестирование безопасности

    Ниже приведены некоторые наборы для тестирования веб-безопасности:

    • Проверка с помощью вставки внутреннего URL в адресную строку браузера без авторизации. Внутренние страницы при этом не должны открываться.
    • После авторизации с помощью логина и пароля, а также просмотра внутренних страниц попробуйте изменять URL . Например, вы проверяете какую-то статистику сайта под идентификатором ID= 123 . Попробуйте изменить ID URL на другой ID сайта, который не имеет отношения к авторизованному пользователю. В любом случае доступ этого пользователя к просмотру других показателей должен быть запрещен.
    • Попробуйте ввести неверные данные в поля формы для авторизации. Выясните, как система реагирует на ввод недопустимых данных.
    • Каталоги или файлы не должны быть доступны напрямую, если для них не предусмотрена возможность скачивания.
    • Проверьте работу капчи для защиты от автоматического входа с помощью программного кода.
    • Проверьте, используется ли в целях безопасности SSL . Если да, то должно отображаться сообщение при переходе пользователя с незащищенных HTTP-страниц к защищенным и наоборот.
    • Все операции, сообщения об ошибках, нарушения безопасности должны записываться в файл журнала на веб-сервере.

    Основной причиной тестирования безопасности сайта является поиск потенциальных уязвимостей и их последующее устранение.

    • Сетевое сканирование;
    • Сканирование уязвимостей;
    • Возможность потенциального взлома паролей;
    • Обзор журнала;
    • Средства для проверки целостности;
    • Обнаружение вирусов.

    Моменты, которые следует учитывать при тестировании сайта

    Следует обратить внимание на взаимодействие HTML-страниц , интернет-подключение, брандмауэры, приложения, запускаемые на веб-страницах (апплеты, JavaScript , модульные приложения ), а также приложения, работающие на стороне сервера (скрипты CGI , интерфейсы баз данных, генераторы динамических веб-страниц ).

    Есть множество типов серверов и браузеров различных версий. Между ними есть небольшие, но значимые различия.

    Пример сценариев тестирования сайта

    Дополнительные факторы, которые следует учесть при тестировании сайта:

    • Какова ожидаемая нагрузка на сервер (например, количество запросов за единицу времени )?
    • Какая производительность требуется при различных видах нагрузки (время ответа веб-сервера, время отклика базы данных на запрос )?
    • Какие инструменты потребуются для тестирования производительности?
    • Кто является целевой аудиторией? Какие браузеры будут использовать пользователи? Какова скорость подключения? Предназначен ли сайт для использования внутри организации или будет доступен в интернете для широкого круга пользователей?
    • Какую производительность ожидает получить клиент (насколько быстро должны загружаться страницы, как должны себя вести анимации, апплеты, нагрузка и запуск )?
    • Будут ли разрешены простои сервера и техническое обслуживание, а также обновление контента? Если да, в каком количестве?
    • Какие средства безопасности требуются (файерволы, шифрование, пароли и т.д. ), и какую работу они будут выполнять? Как их можно проверять?
    • Насколько надежным должно быть интернет-соединение? Как оно будет влиять на резервное копирование системы?
    • Как будет выполняться управление обновлением контента сайта?
    • Требования для технического обслуживания, отслеживания и контроля содержимого веб-страниц, графических элементов, ссылок и т.д.
    • Какая спецификация HTML будет соблюдаться? Насколько точно?
    • Как будут проверяться и обновляться внутренние и внешние ссылки? Насколько часто?
    • Как будет происходить управление и проверка CGI апплетов, сценариев JavaScript , компонентов ActiveX и т.д.?
    • Максимальный размер веб-страницы не должен превышать 3-5 экранов, кроме случаев, когда контент сосредоточен на одной теме. Если размер веб-страницы больше, предоставьте внутренние ссылки для навигации по ней.
    • Разметка веб-страницы и элементы дизайна должны быть последовательными и логично связанными.
    • Отображение веб-страниц должно быть независимо от типа браузера.
    • На каждой странице следует указать ссылку для связи.

    Перевод статьи “Web Testing Complete Guide (Web Application Testing Tips and Scenarios) ” был подготовлен дружной командой проекта

    Тестирование веб-приложений

    В сегодняшнем постоянно меняющемся и конкурентном мире бизнес-сценариев организации всегда должны тестировать свои веб-приложения до запуска своего веб-сайта.

    При тестировании веб-приложений любая организация может быть уверена, что веб-приложение будет работать отлично и будет легко принято конечными пользователями. Методы тестирования веб-приложений также проверяют совместимость браузера веб-приложения. Проводятся нагрузочное тестирование, тестирование масштабируемости, стресс-тестирование и тестирование разрешения.

    Виды тестирования веб-приложений

    Вот несколько основных видов тестирования веб-приложений:

    1. Функциональное тестирование. Это тестирование используется для проверки всех ссылок веб-страниц; Тестирования форм, файлов cookie и подключение к базе данных.

    2. Тестирование удобства использования: это тестирование проверяет навигацию и удобство пользования веб-страницами. Благодаря этому тестированию гарантируется, правильность восприятия содержимого конечным пользователем. Оно также проверяет, правильно ли работают текстовые ссылки привязки, имеют ли файлы файлы справки необходимую информацию и все ли ссылки работают.

    3. Тестирование интерфейса. Проверяет, правильно ли взаимодействуют интерфейс веб-сервера и сервера приложений, сервер приложений и сервер баз данных. Этот тест гарантирует, что пользователи не будут видеть никаких сообщений об ошибках.

    4. Тестирование совместимостb. Тестирование на совместимость очень важно, так как оно проверяет совместимость браузера, совместимость с операционной системой, параметры браузера и печати.

    5. Тестирование производительности. Тестирование производительности включает в себя тестирование веб-нагрузки и стресс-тестирование сети. Тестирование веб-загрузки проверяет, могут ли многие пользователи одновременно получить доступ к одной и той же странице, и может ли веб-страница обрабатывать большую нагрузку на какой-либо конкретной странице. Веб-стресс-тестирование проводится на сайте, чтобы увидеть, как будет реагировать сайт и восстанавливаться во время стресса.

    6. Тестирование безопасности. Проверяет безопасность веб-приложений. В целях безопасности внутренние страницы не должны открываться, если вы не вошли на веб-сайт. Другая статистика не должна отображаться, даже если пользователь вошел в систему. Файлы должны быть доступны только при входе в аккаунт, и к ним нельзя получить доступ без этого. CAPTCHA для автоматизации входа должна быть также протестирована. SSL должен быть протестирован на меры безопасности.

    После завершения тестирования всех веб-приложений необходимо провести тестирование в реальном времени для веб-приложений и веб-сайтов. Затем загрузите сайт и выполните полное тестирование.

    Веб-приложения могут предоставляться большой и разнообразной аудитории, но существует риск подвергнуться большому набору возможных лазеек. Успешные результаты тестирования программного обеспечения:

      Возможны многочисленные способы использования приложения (Entry-Exit)

      Приложение может использовать люди различного происхождения и технических навыков. Кроме того, могут возникать кросс-платформенные проблемы и различиями в браузерах, типах сетей или скоростях сети, различия в Интернет-приложениях и т. д. - в результате возникают проблемы, связанные с программным обеспечением.

      Даже в том же браузере приложения могут выполняться по-разному в зависимости от локальных нюансов, таких как разрешение экрана / аппаратная / программная конфигурация системы

      Приложения могут потребовать тестирования на совместимость и удобство использования

    В заключение, весь процесс тестирования веб-приложений включает в себя некоторые действительно важные и критические шаги, которым необходимо тщательно следовать, чтобы конечные пользователи были удовлетворены результатом.

    А развить навыки успешного тестировщика Вам помогут наши - звоните и записывайтесь прямо сейчас!

    Описание курса:

    В наше время редко современное приложение обходится без API. Это справедливо как для простого сайта так и для высоконагруженных распределенных систем. Тестирование API — является одной из главных задач в процессе обеспечения качества. Неудивительно, что спрос на тестировщиков, которые умеют тестировать API повышается изо дня в день. На данном курсе вы получите понимание о методах, инструментах и подходах в тестировании API, приобретете необходимые знания, что несомненно благоприятно отразится на Вашей стоимости как специалиста в тестировании.

    Данный курс будет полезен слушателям знакомым с основами тестирования ПО, которые хотят расти дальше и повышать свои навыки.

    Программа курса:

    Занятие 1. Вводная. Протокол SOAP

    • Коротко о лекторе;
    • Цели курса;
    • Что такое API, WS и зачем они нужны;
    • Роль тестирования API в процессе обеспечения качества;
    • Обзор инструментария для тестирования WS;
    • Методики применяемые в тестировании WS;
    • История возникновения SOAP;
    • Терминология и главные понятия (XML, XSD, Endpoint, WSDL).

    Занятие 2: Протокол SOAP. Архитектура REST

    • Терминология и главные понятия (UDDI, XSLT, XPath, XQuery, HTTP methods, HTTP statuses);
    • Структура и главные компоненты SOAP;
    • Сфера применения;
    • Особенности работы;
    • Преимущества и недостатки;
    • Особенности REST архитектуры;
    • Терминология и главные понятия (WADL, RESTful, JSON, JSONPath);
    • Принципы REST;
    • Статус код и основные статусы;
    • CRUD глаголы;
    • Преимущества и недостатки.

    Занятие 3. Знакомство с SoapUI. Работа с REST проектом

    • Установка Java;
    • Установка SoapUI;
    • Обзор основных элементов интерфейса;
    • Подключение учебного проекта;
    • Обзор методов проекта;
    • Отправка запроса и анализ полученного ответа;
    • Изучение доступных веб-сервисов проекта;
    • Составление плана тестирования;
    • Написание тест-кейсов;
    • Элементы “TestSuite», “TestCase”, “TestSteps”.

    Занятие 4. Работа с REST проектом (XML)

    • Блок “Assertions”;
    • Запуск тестов на различных уровнях;
    • Элемент “Properties”, основные возможности;
    • Работа с Properties;
    • Элемент “Property Transfer”;
    • Работа с Assertions.

    Занятие 5. Работа с REST проектом (JSON)

    • Условия и ветвления;
    • Работа с Assertions;
    • TestRunner, особенности работы;
    • Запуск TS, TC из командной строки;
    • Работа с Test runner;
    • Работа с Groovy скриптами.

    Занятие 6. Работа с Groovy скриптами

    • Работа со статическими и динамическими данными;
    • Генерируем тестовые данные;
    • Получаем данные из “Properties”;
    • Запись и трансфер данных;
    • Условия и ветвления;
    • Script Assertion.

    Занятие 7. Дополнительные возможности

    • Подключение внешних библиотек и кастомных классов;
    • Mock-сервисы;
    • Зачем нужны Mock-сервисы;
    • Пример работы с Mock-сервисом;
    • А как же CI?
    • Устанавливаем Jenkins;
    • Запуск проекта на Jenkins.

    Тестирование веб-приложений 2.0

    Duration 11:28:40

    Тестирование веб-приложений 2.0 - Полный список уроков

    Развернуть / Свернуть
    • Урок 1. Общая теория. Что такое тестирование и что такое программа 00:07:27
    • Урок 2. Что нужно тестировать 00:09:53
    • Урок 3. Структура программы и её интерфейсы 00:10:45
    • Урок 4. Внутреннее устройство браузера 00:05:38
    • Урок 5. HyperText Markup Language (HTML) 00:11:02
    • Урок 6. Тестирование разметки 00:18:14
    • Урок 7. Тестирование текстового содержимого страниц 00:06:03
    • Урок 8. Тестирование ссылок 00:12:17
    • Урок 9. Тестирование локализации 00:06:51
    • Урок 10. Клиент-серверная архитектура 00:14:01
    • Урок 11. HyperText Transfer Protocol (HTTP) 00:09:58
    • Урок 12. Перехват запросов и ответов 00:14:52
    • Урок 13. HTTP. Продолжение 00:22:10
    • Урок 14. Протоколирование запросов и ответов на сервере 00:12:35
    • Урок 15. User-Agent - браузеры и боты 00:12:36
    • Урок 16. Отправка на сервер поддельных запросов 00:07:59
    • Урок 17. Адреса ресурсов. Domain Name Service (DNS) 00:13:47
    • Урок 18. Что происходит с запросом на сервере 00:14:08
    • Урок 19. Генерация полезной нагрузки 00:14:24
    • Урок 20. Источники данных (файлы, база данных) 00:15:46
    • Урок 21. Кеширование данных на стороне сервера 00:12:06
    • Урок 22. Многоуровневая архитектура 00:12:01
    • Урок 23. Аутентификация и авторизация 00:21:46
    • Урок 24. Тестирование прав доступа 00:13:19
    • Урок 25. Тестирование производительности серверной части 00:12:15
    • Урок 26. Ввод данных в формы 00:14:32
    • Урок 27. Типы запросов GET и POST 00:09:41
    • Урок 28. Неявные параметры запроса 00:07:32
    • Урок 29. Функциональное тестирование 00:18:04
    • Урок 30. Автоматизация функционального тестирования 00:19:35
    • Урок 31. Тестирование производительности 00:13:23
    • Урок 32. Тестирование защищенности 00:18:14
    • Урок 33. Cascading Style Sheets (CSS) 00:09:03
    • Урок 34. Cascading Style Sheets (CSS), продолжение 00:14:41
    • Урок 35. Автоматическая проверка CSS 00:12:09
    • Урок 36. Тестирование верстки (layout) 00:10:43
    • Урок 37. Адаптивная верстка 00:10:44
    • Урок 38. Семантическая верстка 00:06:40
    • Урок 39. JavaScript 00:13:33
    • Урок 40. Анимация без JavaScript 00:04:53
    • Урок 41. Document Object Model (DOM) 00:12:48
    • Урок 42. Валидация данных в формах 00:14:06
    • Урок 43. Асинхронные запросы (AJAX) 00:13:27
    • Урок 44. Одностраничники (Single Page Application, SPA) 00:10:16
    • Урок 45. REST API 00:16:09
    • Урок 46. Клиентская производительность 00:10:59
    • Урок 47. Инструменты для оценки клиентской производительности 00:14:18
    • Урок 48. Оптимизация клиентской производительности 00:13:45
    • Урок 49. Тестирование функциональности 00:18:13
    • Урок 50. Тестирование производительности 00:13:30
    • Урок 51. Тестирование удобства использования и доступности 00:19:13
    • Урок 52. Мониторинг 00:13:02
    • Урок 53. Сплит-тестирование 00:14:09
    • Урок 54. Оптимизация для поисковиков и социальных сетей 00:09:25

    Курс посвящен особенностям тестирования веб-приложений (HTML, CSS, JavaScript) и специфике применения техник тест-дизайна для приложений такого типа. Тренинг полностью перезаписан весной 2018 года. Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений? При тестировании веб-приложений применяются те же самые классические методы и техники проектирования тестов. Веб-приложения обычно имеют более простой интерфейс, чем "десктопные" программы. Браузером все умеют пользоваться, для этого не нужны какие-то специальные навыки.

    Но существует ряд нюансов, связанных с социальными и технологическими особенностями веб-приложений, которые отличают их от других видов приложений, и которые обязательно нужно учитывать при тестировании, чтобы выполнить его профессионально.

    • фантастическое многообразие технологий, которые скрываются за простым фасадом браузера - фактически каждое веб-приложение является не самостоятельной программой, а частью всемирной паутины, и в работу веб-приложения вовлечено очень много разнородных компонентов,
    • невероятная скорость веб-разработки как в узком, так и в широком смысле - короткие релизы, быстро меняющиеся требования, постоянное совершенствование существующих технологий и возникновение новых,
    • потрясающее разнообразие пользователей, от случайных посетителей до постоянных клиентов, от младенцев до стариков, от новичков до хакеров,
    • полная открытость технологий, протоколов передачи данных, стандартов, и одновременно с этим необходимость особенно тщательной защиты, с учётом написанного в предыдущем пункте.

    После прохождения тренинга учащийся будет:

    • понимать принципы работы веб-приложений и знать, какие технологии при этом используются,
    • знать особенности тестирования веб-приложений по сравнению с десктопными приложениями,
    • уметь проектировать тесты с учётом особенностей веб-приложений и оценивать покрытие тестами функциональности приложения,
    • уметь выполнять тесты, при необходимости используя инструментальные средства для преодоления ограничений, накладываемых браузером,
    • владеть инструментами, для выполнения специфических проверок, характерных для веб-приложений:
      • анализ целостности ссылок,
      • анализ соответствия веб-стандартам,
    • понимать причины возникновения уязвимостей в веб-приложениях и уметь обнаруживать наиболее критические уязвимости в веб-приложениях,
    • понимать принципы оценки производительности веб-приложений и уметь выполнять анализ серверной и клиентской производительности веб-приложений,
    • уметь рассуждать об удобстве использования веб-приложений:)

    Каждое занятие будет сопровождаться практическими заданиями, которые помогут быстрее и увереннее начать применять знания на практике.