Программирование Тестирование веб-приложений 2.0 (2018)

    Голосов: 0
  • #1
Тренинг полностью перезаписан весной 2018 года
Первый поток - 11 мая





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

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

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

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

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

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

ПРОГРАММА:

Занятия
Занятие 1: основы
  • Общая теория тестирования
  • Характеристики качества: что нужно тестировать?
  • Интерфейсы тестируемой программы, стимулы и реакции
  • Общее устройство браузера
  • Гипертекст, язык разметки HTML
  • Тестирование текстового содержимого страниц (орфография, пунктуация, семантика)
  • Тестирование навигации (переходов между страницами)
  • Тестирование локализации (l10n) и интернационализации (i18n)
Занятие 2: клиент и сервер
  • Клиент-серверная архитектура веб-приложений
  • Протокол HTTP, основа веба
  • User Agent, браузеры и боты
  • Анализ логов веб-сервера
  • Developer Tools / Network, анализ запросов и ответов
  • Перехват трафика между браузером и сервером
  • Отправка запросов произвольного вида
  • Domain Name Services (DNS)
  • IPv4 и IPv6
  • Брандмауэры и прокси
Занятие 3: динамическая генерация страниц
  • Сервер-приложений, языки программирования
  • Трехзвенная и четырехзвенная архитектура
  • Шаблонизаторы
  • Сервер баз данных, SQL
  • Кеширование на стороне сервера
  • Аутентификация и авторизация
  • Cookies
  • Внешняя аутентификация (OAuth)
  • Тестирование прав доступа
  • Тестирование производительности
  • Тестирование защищенности
Занятие 4: получение данных от пользователя
  • Формы, параметры запроса
  • Неявные параметры
  • GET и POST
  • Тестирование логики (функциональное тестирование)
  • Автоматизация тестирования
  • Тестирование производительности
  • Тестирование надежности
  • Тестирование защищенности
Занятие 5: верстка страниц
  • HTML + язык описания стилей CSS
  • Developer Tools / DOM, анализ свойств элементов
  • Простая верстка
  • Адаптивная верстка
  • Семантическая верстка
  • Совместимость с браузерами
  • Соответствие стандартам
Занятие 6: картинки и другие украшения
  • Размер, количество, производительность
  • Кеширование на стороне клиента
  • Content Delivery Network (CDN)
  • Спрайты, инлайн-картинки, шрифты
  • Адаптивная верстка
  • Типографика
  • Scalable Vector Graphics (SVG)
  • Canvas
  • Аудио и видео
Занятие 7: интерактивность
  • JavaScript: встроенный в браузер язык программирования
  • CSS Transform: анимация без JavaScript
  • Динамическая модификация страниц
  • Document Object Model (DOM)
  • Developer Tools / Console
  • JavaScript Debugger
  • Асинхронные запросы к серверу (AJAX)
  • REST API
  • WebSocket
  • Валидация данных
  • Динамическая подгрузка данных
  • Single Page Applications (SPA)
Занятие 8: про тестирование
  • Функциональное тестирование
  • Автоматизация функционального тестирования
  • Тестирование производительности, в том числе клиентской части
  • Тестирование защищенности
  • Тестирование надёжности
  • Тестирование удобства использования (usability)
  • Автоматизация тестирования вёрстки
  • Тестирование доступности (accessibility)
Занятие 9: не совсем про тестирование


    • Сплит-тестирование (A/B)

    • Search Engine Optimization (SEO)

    • OpenGraph Optimization

    • Страница 404

    • Мониторинг доступности

    • Сбор информации о поведении пользователей

    • Шифрование, HTTP, сертификаты
Материал может быть удален по просьбе

Скачать:

Ссылка доступна для пользователей с группой: Премиум 

 
Похожие темы
Сверху