Подходы к тестированию Веб-приложений
Функциональное тестирование
Тестирование пользовательского интерфейса
Тестирование удобства использования;
Нагрузочное тестирование
Проверка ссылок и HTML-кода
Тестирование безопасности
2
Функциональное тестирование Веб-приложений
Функциональное тестирование (functional testing) – процесс верификации соответствия функционирования продукта его начальным спецификациям
Методы функционального тестирования веб-приложений:
Record & Play
Functional Decomposition
Data-driven
Keyword-driven
Object-driven
Model-based
3
Тестирование пользовательского интерфейса
Анализ требований к пользовательскому интерфейсу
Разработка тест-требований и тест-планов для проверки пользовательского интерфейса
Выполнение тестовых примеров и сбор информации о выполнении тестов
Определение полноты покрытия пользовательского интерфейса требованиями
Составление отчетов о проблемах в случае несовпадения поведения системы и требований, либо в случае отсутствия требований на отдельные интерфейсные элементы
4
Тестирование удобства пользования
Выделяют следующие этапы тестирования удобства использования пользовательского интерфейса:
Исследовательское
Оценочное
Валидационное
Сравнительное
5
Проверка ссылок и HTML-кода
Проверка ссылок – актуальна для внутренних ссылок (в случае больших и разветвленных порталов) и для внешних – если это, к примеру, каталог сайтов, или страница «Ссылки»
Проверка HTML-кода страниц – проверка корректности HTML-кода, в том числе на соответствие стандартам
6
Тестирование безопасности
Тестирование безопасности – тестированию подвергается не только сам конкретный сайт или веб-приложение, а весь сервер полностью
Программа «прикидывается» реальным пользователем-взломщиком и пытается применить к серверу все известные ей методы атаки и проверяет все уязвимости
Результатом работы будет отчет о найденных уязвимостях и рекомендации по их устранению
7
Нагрузочное тестирование
Нагрузочное тестирование имитирует одновременную работу нескольких сотен или тысяч посетителей, проверяя, будет ли устойчивой работа сайта под большой нагрузкой
Основные цели:
оценка производительности и работоспособности приложения на этапе разработки и передачи в эксплуатацию
оценка производительности и работоспособности приложения на этапе выпуска новых релизов, патчей
оптимизация производительности приложения, включая настройки серверов и оптимизацию кода
подбор соответствующей для данного приложения аппаратной (программной платформы) и конфигурации сервера
8
Нагрузочное тестирование
В нагрузочное тестирование входят:
Тестирование производительности (Performance testing)
Стрессовое тестирование (Stress Testing)
Объемное тестирование (Volume Testing)
Тестирование стабильности или надежности (Stability / Reliability Testing)
Моделирование Транзакций (Transaction Simulation, TS)
Метод «Анализ данных на стороне клиента» (Client Capture, CC)
Метод «Анализ Сетевого Трафика» (Network Sniffing, NS)
9
Обзор автоматизации тестирования
Процесс автоматизации тестирования делится на три этапа :
Запись
Улучшение
Воспроизведение
Средства для автоматизации тестирования:
HP LoadRunner, HP QuickTest Professional, HP Quality Center
Segue SilkPerformer
IBM Rational FunctionalTester, IBM Rational PerformanceTester, IBM Rational TestStudio
AutomatedQA TestComplete
10
Отладка Веб-приложений
Отладка – этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки
Существуют две взаимодополняющие технологии отладки:
Использование отладчиков – программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода – на экран, принтер, громкоговоритель или в файл
11
Отладчики в браузерах
В Internet Explorer – Microsoft Visual Studio, Microsoft Script Editor, Microsoft Script Debugger, Internet Explorer 8 Developer Tools
В Opera – Opera Dragonfly
В Firefox – расширения Firebug и Venkman.
В Safari – JavaScript WebKit Web Inspector, который доступен и в других браузерах, использующих WebKit: Google Chrome, Arora, Rekonq, Midori и др.
12
Профилирование Веб-приложений
Профилирование – сбор характеристик работы программы, таких как время выполнения отдельных фрагментов (обычно подпрограмм), число верно предсказанных условных переходов, число кэш промахов и т. д.
Характеристики могут быть:
аппаратными (время)
программными (функциональный запрос)
13
Сравнение средств отладки разных браузеров
14
Браузер/функция | IE8 | Firefox (Firebug) | Opera | Safari | Chrome |
Правка HTML | есть | нет | |||
Валидатор HTML-кода | есть (*) | нет | |||
Очистка кэша | есть | ||||
Вьювер/редактор CSS | |||||
Подсветка синтаксиса CSS | нет | ||||
Валидатор CSS | есть (*) | нет | |||
Подсветка JavaScript | есть | есть | нет | ||
Отладчик JavaScript | |||||
Профили JavaScript | нет | есть | |||
Стек вызовов | |||||
Отслеживание переменных | нет | ||||
Вьювер для веб-сервиса | нет | есть | нет | ||
Переключение режимов совместимости браузера | есть | нет |
* – поддерживается на стороннем веб-сервисе
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.