Лекция 6 Особенности тестирования веб и мобильных приложений Веб приложения Приветствуются знания: протоколы http, ftp, ssh, https, tcp/ip, webприложение, web-сервер, клиент-сервер приложение, HTML и XML, а также сопутствующие им технологии CSS, скриптовые языки (Javascript, PHP, Perl, Active Script, VBasic, JScript). Базовые знания SQL Составляющие Клиент (front-end) Сервер (back-end) Проблемы Постоянно изменяющиеся технологии Не возможность контроля пользовательской среды Доступность 24/7 Подходы к тестированию вебприложений функциональное тестирование тестирование пользовательского интерфейса тестирование удобства использования нагрузочное и стрессовое тестирование проверка ссылок и HTML-кода тестирование безопасности Тестирование навигации Переход на страницу и с нее Прокрутка страниц Тестирование ссылок Таблицы и формы, правильность их расположения Время загрузки каждой страницы Согласованное использование клавиш, быстрых сочетаний клавиш Навигация «назад» Тестирование содержимого страницы Отображение в разных браузерах (таблицы, графики, изображения) Содержимое представлено согласно требованиям Объекты с текстом всплывающей подсказки корректны… Тестирование безопасности Информация, которая доступна пользователю SQL инъекции XSS (cross site scripting) инъекция Path Traversal Пример SELECT user_id FROM users WHERE (user_name = ‘<введенное имя пользователя>’) AND (user_pass = ‘<введенный пароль>’); 1’ OR ’1’ = ’1 SELECT user_id FROM users WHERE (user_name = ‘1’ OR ’1’ = ’1’) AND (user_pass = ‘1’ OR ’1’ = ’1’); Пример https://oursite.com/articles/show.php?article_id=1 5 https://oursite.com/articles/show.php?article_id=1 %2C+OR+%2C1%2C=%2C1 Тестирование мобильных приложений i – устройства (iPhone, iPod, iPad…) Andriod Windows Phone … Ньюансы Интенсивность потребления энергии, чувствительность к заряду Разные способы подключения к интернету (WiFi, 3G) Устойчивость к звонкам и сообщениям Синхронизация с телефонной книгой, календарем и тд. Стабильная работа в условиях восстановления после сбоев Использование гарнитуры Изменение положение устройства в пространстве Мульти-касание Сворачиваемость приложения (уведомления…) Эмуляторы Дешево Быстро Проведение опасных тестов НО Эмулятор ≠ устройство