Ближайшая дата курса

Онлайн-тренинг с домашними заданиями, 3 занятия по 1,5 часа

Тренер: Баранцев Алексей

Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений?

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

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

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

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

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

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

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

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

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

1. Теоретическая подготовка, необходимая для эффективного тестирования веб-приложений: архитектура World Wide Web

  • Веб-сервера, веб-клиенты (браузеры) и Сеть
  • Протокол HTTP – как веб-клиенты и веб-сервера обмениваются информацией
  • Технологии клиентской стороны – HTML, CSS, JavaScript – что тут надо тестировать?
  • Технологии серверной стороны – бизнес-логика и базы данных – что там надо тестировать?
  • Что такое AJAX и как он изменил веб (в том числе и тестирование)
  • Анализ сайта перед началом тестирования – какую информацию собрать и какие инструменты использовать?

2. Функциональное тестирование веб-приложений

  • Проверка внешних и внутренних ссылок
  • Тестирование интерфейса (UI) – вёрстка и поведение
  • Тестирование бизнес-логики (это, собственно, и есть "настоящее" тестирование :))
  • Тестирование навигации – кнопки "вперёд/назад" и "перезагрузить страницу"
  • Кроссбраузерное тестирование, включая тестирование на мобильных устройствах

3. Нефункциональное тестирование веб-приложений

  • Тестирование защищенности
    • основные принципы атаки на сервер (на примере SQL-инъекций)
    • основные принципы атаки на клиент (на примере XSS)
    • общий обзор различных типов уязвимостей
    • как тестировщик может понять, где возможно наличие уязвимостей, и найти их
  • Нагрузочное тестирование – методология и основные инструменты
  • Тестирование удобства использования – общие подходы и специфика веб-приложений
Go to top