317.86K
Категория: ПрограммированиеПрограммирование

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

1.

ТЕСТИРОВАНИЕ WEBПРИЛОЖЕНИЙ
ВИДЫ ТЕСТИРОВАНИЯ WEB-ПРИЛОЖЕНИЙ

2.

ОСНОВНЫЕ ПОНЯТИЯ
Тестирование программного обеспечения (Software
Testing) - проверка соответствия между реальным и
ожидаемым поведением программы,
осуществляемая на конечном наборе тестов,
выбранном определенным образом.
Тестирование веб-приложений – это комплекс услуг,
который может включать в себя различные виды
тестирования ПО. Основная цель любого тестирования,
в том числе и тестирования веб-приложений, –
обнаружить все ошибки в программном обеспечении
и разработать рекомендации по их предотвращению в
будущем.

3.

КЛАССИФИКАЦИЯ ТЕСТИРОВАНИЯ
(SOFTWARE TESTING CLASSIFICATION)

4.

ОСНОВНЫЕ ВИДЫ WEBТЕСТИРОВАНИЯ
• функциональное тестирование (functional testing);
• тестирование интерфейса пользователя (UI /GUI
testing);
• тестирование удобства использования (usability
testing);
• тестирование производительности(performance
testing);
• тестирование безопасности (security testing);
• тестирование совместимости (compatibility testing);
• тестирование локализации (localization testing).

5.

ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ
(FUNCTIONAL TESTING)
Функциональное тестирование – процесс оценки
поведения приложения, позволяющий определить,
все ли разработанные функции ведут себя так,
как нужно. Для корректной работы продукта все
процессы должны работать так, как это
предусмотрено в требованиях: от разграничения
прав доступа при авторизации до корректного
выхода из системы. Функциональное
тестирование может быть выполнено с
использованием заранее подготовленных тестовых
сценариев или методами исследовательского
тестирования.

6.

ТЕСТИРОВАНИЕ ИНТЕРФЕЙСА
ПОЛЬЗОВАТЕЛЯ(UI /GUI TESTING)
Графический интерфейс пользователя (Graphical
user interface, GUI) – разновидность
пользовательского интерфейса, в котором
элементы интерфейса (меню, кнопки, значки,
списки и т. п.), представленные пользователю на
дисплее, исполнены в виде графических
изображений. Проверяется в целом общий вид
приложения и в отдельности формы,
расположенные на странице.

7.

ОБЩИЕ ПРОВЕРКИ
• вид элементов при уменьшении окна браузера + появление
скрола;
• правильность написания текста + текст должен быть выровнен;
• правильность перемещения фокуса в окне (Tab / Tab+Shift);
• выбранные элементы выделяются;
• неизменяемые поля выглядят одинаково и отличаются от
редактируемых;
• желательно не использовать двойной клик;
• проверка наличия нужных нотификейшенов;
• унификация дизайна (цвет, шрифт, размер);
• при необходимости должны быть тултипы;
• изменение вида элемента при ховере на него;
• если формы дублируются, то должны быть одинаковые
названия;
• дополнительные проверки для веб-форм.

8.

ОСНОВНЫЕ МОМЕНТЫ ПРИ
ПРОВЕРКЕ GUI
• расположение, размер, цвет, ширина, длина элементов; возможность
ввода букв или цифр;
• реализуется ли функционал приложения с помощью графических
элементов;
• размещение всех сообщений об ошибках, уведомлений (а также
шрифт, цвет, размер, расположение и орфография текста);
• читабелен ли использованный шрифт;
• переходит ли курсор из текстового в поинтер при наведении на активные
элементы, выделяются ли выбранные элементы;
• выравнивание текста и форм;
• качество изображений;
• проверить расположение и отображение всех элементов при различных
разрешениях экрана, а также при изменении размера окна
браузера(проверить, появляется ли скролл);
• проверить текст на орфографические, пунктуационные ошибки
• появляются ли тултипы (если есть необходимость);
• унификация дизайна (цвета, шрифты, текст сообщений, названия кнопок
и т.д.).

9.

НАИБОЛЕЕ РАСПРОСТРАНЕННЫЕ
БАГИ
• курсор не переходит в поинтер при наведении на
активный элемент;
• орфографические и грамматические ошибки;
• не ровное расположение полей ввода в формах,
самих форм;
• неправильное отображение элементов при смене
размера окна браузера и масштаба страницы;
• изменение размера текста при смене языка;
• неровное расположение форм;
• разные шрифты;
• выбранные элементы не отличаются от не выбранных.

10.

ТЕСТИРОВАНИЕ УДОБСТВА
ИСПОЛЬЗОВАНИЯ (USABILITY TESTING)
Тестирование удобства использования - это метод тестирования,
направленный на установление степени удобства использования,
обучаемости, понятности и привлекательности для пользователей
разрабатываемого продукта в контексте заданных условий.
Тестирование удобства пользования дает оценку уровня удобства
использования приложения по следующим пунктам:
• производительность, эффективность (efficiency) - сколько
времени и шагов понадобится пользователю для завершения
основных задач приложения, например, размещение новости,
регистрации, покупка и т.д.? (меньше - лучше);
• правильность (accuracy) - сколько ошибок сделал пользователь
во время работы с приложением? (меньше - лучше);
• активизация в памяти (recall) – как много пользователь помнит о
работе приложения после приостановки работы с ним на
длительный период времени? (повторное выполнение операций
после перерыва должно проходить быстрее чем у нового
пользователя);
• эмоциональная реакция (emotional response) – как пользователь
себя чувствует после завершения задачи - растерян, испытал
стресс? Порекомендует ли пользователь систему своим
друзьям? (положительная реакция - лучше).

11.

ЗАМЕЧАНИЕ
Usabilitytesting и GUItesting не одно и тоже:
корректно работающий интерфейс может быть
неудобным, а удобный может работать
некорректно!

12.

ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ
(PERFORMANCE TESTING)
Тестирование производительности (или
нагрузочное тестирование) – комплекс проверок,
направленный на определение лимитов
производительности приложения.
Таким образом происходит исследование
показателей скорости реакции приложения на
внешние воздействия при различной по характеру
и интенсивности нагрузке (высокая, предельная,
стрессовая).
• Объёмное тестирование (volume testing);
• Нагрузочное тестирование (load testing);
• Стрессовое тестирование (stress testing);
• Тестирование масштабируемости (scalability
testing);
• Конкурентное тестирование (concurrency
testing);
• Тестирование стабильности (stability testing).

13.

ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ
(PERFORMANCE TESTING)
После проведения тестирования специалисты предоставят
отчет, который будет содержать следующую информацию:
• статистические данные по времени отклика с сервера для
наиболее важных операций;
• диаграммы, показывающие зависимость
производительности приложения от количества
пользователей, одновременно работающих в программе;
• данные о максимально возможном числе пользователей,
при котором система справляется с нагрузкой;
• информация об устойчивости системы и ее способности
выдерживать постоянную нагрузку;
• статистика ошибок;
• выводы об эффективности системы в целом, ошибках ее
производительности;
• рекомендации по повышению производительности
системы.

14.

ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ
(SECURITY TESTING)
Тестирование безопасности - это стратегия
тестирования, используемая для проверки
безопасности системы, а также для анализа рисков,
связанных с обеспечением целостного подхода к
защите приложения, атак хакеров, вирусов,
несанкционированного доступа к конфиденциальным
данным.
Принципы безопасности программного обеспечения
Общая стратегия безопасности основывается на трех
основных принципах:
конфиденциальность;
целостность;
доступность.

15.

ПРИНЦИПЫ БЕЗОПАСНОСТИ ПО
Конфиденциальность
Конфиденциальность - это сокрытие определенных ресурсов или
информации. Под конфиденциальностью можно понимать ограничение
доступа к ресурсу некоторой категории пользователей, или другими
словами, при каких условиях пользователь авторизован получить доступ к
данному ресурсу.
Целостность
Существует два основных критерия при определении понятия целостности:
1. Доверие.
Ожидается,
что
ресурс
будет
изменен
только
соответствующим способом определенной группой пользователей.
2. Повреждение и восстановление. В случае когда данные повреждаются
или неправильно меняются авторизованным или не авторизованным
пользователем, вы должны определить на сколько важной является
процедура восстановления данных.
Доступность
Доступность представляет собой требования о том, что ресурсы должны быть
доступны авторизованному пользователю, внутреннему объекту или
устройству. Как правило, чем более критичен ресурс тем выше уровень
доступности должен быть.

16.

ТЕСТИРОВАНИЕ СОВМЕСТИМОСТИ
(COMPATIBILITY TESTING)
Тестирование совместимости (Interoperability Testing)
— тестирование, направленное на проверку
способности приложения работать в указанном
окружении.
Здесь может проверяться:
• cовместимость с аппаратной платформой,
операционной системой и сетевой
инфраструктурой (конфигурационное
тестирование, configuration testing);
• совместимость с браузерами и их версиями (кроссбраузерное тестирование, cross-browser testing);
• совместимость с мобильными устройствами (mobile
testing).

17.

ТЕСТИРОВАНИЕ ЛОКАЛИЗАЦИИ
(LOCALIZATION TESTING)
Тестирование локализации (localization testing) —
тестирование, направленное на проверку
корректности и качества адаптации продукта к
использованию на том или ином языке с учётом
национальных и культурных особенностей.
Аспекты, качество которых проверяют специалисты по
тестированию локализации:
• перевод содержимого страницы и элементов
пользовательского интерфейса;
• формат данных и времени;
• обозначение денежных единиц;
• цветовые схемы, символы, значки и другие
графические элементы, которые могут быть поразному истолкованы в различных регионах;
• правовые нормы, которые следует учитывать.

18.

ВИДЫ ТЕСТИРОВАНИЯ ПО СТЕПЕНИ
АВТОМАТИЗАЦИИ
Ручное тестирование (manual testing) — тестирование,
в котором тест-кейсы выполняются человеком вручную
без использования средств автоматизации
Автоматизированное тестирование (automated testing,
test automation) — набор техник, подходов и
инструментальных средств, позволяющий исключить
человека из выполнения некоторых задач в процессе
тестирования.
Смешанное тестирование (semi-automated testing) здесь ручной подход сочетается с
автоматизированным. Например, с помощью тула я
создаю новый эккаунт и потом вручную генерирую
транзакцию покупки.

19.

СРЕДСТВА АВТОМАТИЗИРОВАННОГО
ТЕСТИРОВАНИЯ
Selenium: http://www.seleniumhq.org/
Katalon Studio: https://www.katalon.com/
UFT: https://software.microfocus.com/frca/software/uft
Watir: http://watir.com/
IBM Rational Functional
Tester: https://www.ibm.com/
TestComplete: https://smartbear.com/
TestPlant eggPlant: https://www.testplant.com/
Tricentis Tosca: https://www.tricentis.com/
Ranorex: https://www.ranorex.com/
Robot framework: http://www.robotframework.org/

20.

СПАСИБО ЗА ВНИМАНИЕ!
English     Русский Правила