QA_Bible
  • Введение
  • FAQ для новичков
    • Ответы на самые популярные вопросы новичков в чатах
    • Качества и навыки, которыми нужно обладать тестировщику?
    • Что должен знать и уметь Junior? Что спросят на собеседовании?
    • С чего начать обучение и куда развиваться?
    • Как составить резюме?
    • Где искать работу?
    • Как происходит процесс найма?
    • Как проходить собеседование?
    • Начало работы Junior-тестировщика
    • Ошибки в работе у начинающих тестировщиков
    • Как взаимодействовать с коллегами?
    • Перспективы профессии
  • Полезные ссылки
    • Список полезных ресурсов на разных платформах
    • Список ресурсов по инструментам тестировщика
  • Общее
    • QA/QC/Testing
    • Почему требуется тестирование ПО?
    • Качество ПО (Software Quality)
    • Принципы тестирования
    • Верификация и валидация (Verification and Validation)
    • Дефекты и ошибки
    • Серьезность и приоритет Дефекта (Severity & Priority)
    • Альфа- и бета- тестирование (Alpha Testing and Beta Testing)
    • Процесс тестирования (test process) (draft)
    • Техники оценки тестов/оценка трудозатрат на тестирование (Test Estimation)
    • Экономика тестирования/стоимость качества (Cost of quality)
    • Подход к тестированию (Test Approach)
    • Импакт анализ (анализ влияния, Impact Analysis)
    • Анализ первопричин (RCA - Root Cause Analysis)
    • Тестирование со сдвигом влево (Shift left testing)
    • Модель зрелости возможностей (CMM - Capability Maturity Model)
    • Тестовая среда и тестовый стенд (Test Environment/Test Bed)
    • Бизнес-логика (Business logic)
    • Политика отсутствия багов (ZBP - Zero Bug Policy)
    • Независимое тестирование (Independent testing)
    • Роли/должности в команде
    • Эвристики и мнемоники
  • Виды-методы-уровни тестирования
    • Методы тестирования (White/Black/Grey Box)
    • Тестирование методом черного ящика (Black Box Testing)
    • Тестирование методом белого ящика (White Box Testing)
    • Тестирование методом серого ящика (Grey Box Testing)
    • Статическое и динамическое тестирование (Static Testing, Dynamic Testing)
    • Пирамида / уровни тестирования (Test Pyramid / Testing Levels)
    • Модульное/юнит/компонентное тестирование (Module/Unit/Component testing)
    • Интеграционное тестирование (Integration testing)
    • Системное тестирование (System Testing)
    • Приемочное тестирование (AT - Acceptance testing)
    • Основные виды тестирования ПО
    • Функциональное тестирование (Functional/Behavioral testing)
    • Нефункциональное тестирование (Non-Functional testing)
    • Тестирование производительности (Performance testing)
    • Тестирование емкости (Capacity testing)
    • Нагрузочное тестирование (Load testing)
    • Стрессовое тестирование (Stress testing)
    • Тестирование масштабируемости (Scalability testing)
    • Объемное тестирование (Volume testing)
    • Тестирование выносливости/стабильности (Endurance/Soak/Stability testing)
    • Тестирование устойчивости (Resilience testing)
    • Тестирование надежности (Reliability Testing)
    • Тестирование на отказ и восстановление (Failover and Recovery testing)
    • Эталонное и базовое тестирование (Benchmark and Baseline Testing)
    • Тестирование хранилища (Storage testing)
    • Одновременное / многопользовательское тестирование (Concurrency/Multi-user testing)
    • Тестирование сервиса (Service Testing)
    • Тестирование безопасности (Security and Access Control testing)
    • Оценка уязвимости/защищенности (Vulnerability Assessment)
    • Фаззинг-тестирование (Fuzz testing)
    • Можно ли отнести тестирование безопасности или нагрузочное тестирование к функциональным видам тести
    • Тестирование совместимости/взаимодействия (Compatibility/Interoperability testing)
    • Конфигурационное тестирование (Configuration testing)
    • Инсталляционное тестирование (Installation Testing)
    • Тестирование на соответствие (Conformance/Compliance testing)
    • Тестирование удобства пользования (Usability testing)
    • Тестирование доступности (Accessibility testing)
    • Тестирование локализации, глобализации и интернационализации (Localization/ globalization/internatio
    • Исследовательское тестирование (Exploratory testing)
    • Свободное / Интуитивное тестирование (Adhoc, Ad-hoc Testing)
    • Тестирование поддержки (Maintenance testing)
    • Регрессионные виды тестирования (Regression testing)
    • Тестирование клиентской части и серверной (Frontend testing Vs. Backend testing)
    • Тестирование графического интерфейса/визуальное тестирование (GUI - Graphical User Interface testing
    • Тестирование API (API - Application Programming Interface)
    • A/B тестирование (A/B Testing)
    • Деструктивное и недеструктивное тестирование (DT - Destructive testing and NDT - Non Destructive tes
    • Выборочное/хаотическое тестирование (Random/monkey testing)
    • Тестирование рабочего процесса/воркфлоу (Workflow testing)
    • Тестирование документации (Documentation testing)
    • Как протестировать продукт без требований?
    • Кроссбраузерное тестирование (Cross-browser testing)
    • Тестирование, основанное на рисках (Risk-Based Testing)
    • Разница тестирования ПО и железа (Software Vs. Hardware testing)
    • Тестирование качества данных (Data Quality Testing)
  • Тест дизайн
    • Тест-дизайн и техники тест-дизайна (Test Design and Software Testing Techniques)
    • Static - Reviews
    • Static - Static Analysis
    • Dynamic - White box
    • Dynamic - Black box
    • Dynamic - Experience based
  • Тестовая документация и артефакты (Test Deliverables/test artifacts)
    • Виды тестовой документации
    • Политика качества и политика тестирования (Quality policy and Test policy)
    • Стратегия тестирования (Test strategy)
    • План тестирования (Test plan)
    • Тестовый сценарий (Test scenario)
    • Тест-кейс (Test case)
    • Чек-лист (Check List)
    • Баг-репорт (Defect/bug report)
    • Требования (Requirements)
    • Пользовательские истории (User stories)
    • Критерии приемки (Acceptance Criteria)
    • Виды отчетов (Reports)
    • Базис тестирования (Test basis)
    • Матрица трассируемости (RTM - Requirement Traceability Matrix)
    • Метрики тестирования (Software Test Metrics)
    • Тестовый оракул (Test oracle)
  • Мобильное тестирование
    • Android
      • Архитектура Android OS
      • Архитектура Android Application
      • Тестирование покупок в Android-приложениях
      • Android Developer Settings
      • Android Debug Bridge (ADB)
      • Android Studio для QA
    • iOS
      • Архитектура iOS
      • Архитектура iOS Application
      • Тестирование покупок в iOS-приложениях
      • iOS Developer Settings
    • Особенности в тестировании мобильных приложений
    • Покрытие девайсов
    • Типы мобильных приложений
    • Симуляторы и эмуляторы
    • Основные различия Android/iOS
    • Последнее обновление Android/iOS, что нового?
    • Основные проверки при тестировании мобильного приложения
    • Каким образом тестировщик получает приложение на тест?
    • Как успешно зарелизить продукт в App Store и Google Play
    • Тестирование требований к мобильным приложениям
    • Тестирование push-уведомлений
    • Тестирование дип линков (mobile deep links)
    • Тестирование сохраненных поисков
    • Тестирование рекламы
    • Тестирование просмотренных товаров
    • Middleware
    • Как проверить использование ресурсов на Android
    • Как протестировать приложение для другой страны?
  • Тестирование в разных сферах-областях (testing different domains)
    • Тестирование веб-сайта или веб-приложения (Web application)
    • Тестирование интернет-магазина (eCommerce)
    • Тестирование платежного шлюза (Payment Gateway)
    • Тестирование игр (Game testing)
    • Тестирование VR программного обеспечения
    • Тестирование мессенджера (Messenger)
    • Тестирование чат-бота (Chatbot)
    • Тестирование электронных писем (E-mail)
    • Тестирование интернета вещей (IoT - Internet of Things)
    • Тестирование облачных решений (Cloud testing)
    • Тестирование сервис-ориентированной архитектуры (SOA - Service Oriented Architecture)
    • Тестирование микросервисной архитектуры (MSA/Microservices)
    • Тестирование платформы электронного обучения (E-learning platform)
    • Тестирование систем розничной торговли (POS - Point Of Sale)
    • Тестирование банковского ПО (Banking domain applications/BFSI)
    • Тестирование страхового ПО (Insurance)
    • Тестирование в сфере телекоммуникаций (Telecom)
    • Тестирование планирования ресурсов предприятия (ERP - Enterprise Resource Planning)
    • Тестирование миграции данных (ETL)
    • Тестирование баз данных (Database)
    • Другое
  • SDLC и STLC
    • Жизненный цикл разработки ПО (SDLC - Software Development Lifecycle)
    • Жизненный цикл тестирования ПО (STLC - Software Testing Lifecycle)
    • Модели разработки ПО
    • Agile
    • Scrum
    • Подходы к разработке/тестированию (... - driven development/testing)
  • Сети и около них
    • База по сетям
    • Клиент - серверная архитектура (Client-Server Architecture)
    • Микросервисная архитектура (Microservice Architecture)
    • Эталонные модели OSI и TCP/IP
    • HTTP
    • Идентификация ресурсов в сети (Identifying resources on the Web)
    • Веб-сервис (WS - Web service)
    • REST/SOAP/gRPC
    • Socket / WebSocket
      • Сокет/веб-сокет (socket/websocket)
      • Тестирование WebSocket на клиентах
    • Хранилище на стороне клиента (Client-side storage)
    • Кэш (Cache)
    • Аутентификация и авторизация (Authentication and authorization)
    • Рендеринг в интернете (Rendering on the Web)
  • Практическая часть
    • Логические задачи
    • Тестирование полей и форм
    • Примеры задач на собеседованиях и тестовых заданий
    • Платформы для тренировок и квизы
  • Автоматизация (beta)
    • Общее
    • Полезные ссылки
    • Как стать автоматизатором и вопросы с собеседований
    • Что нужно автоматизировать?
    • Виды и инструменты автоматизации
    • Инфраструктура и пайплайн (CI/CD)
    • Процессы и автоматизация проекта с нуля
    • Лучшие практики автоматизации
    • Что такое flaky tests?
    • Мутационное тестирование (Mutation testing)
    • Параллельное тестирование (Parallel testing)
    • Подкожный тест (Subcutaneous test)
    • Разница между coupling и cohesion
    • Другое (ссылки)
  • Контакты
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Тестирование в разных сферах-областях (testing different domains)

Тестирование веб-сайта или веб-приложения (Web application)

Включает в себя:

  • Documentation Testing;

  • Functionality Testing;

  • GUI Testing;

  • Usability Testing;

  • Interface Testing;

  • Database Testing;

  • Compatibility Testing;

  • Performance Testing;

  • Security Testing;

  • Crowd Testing.

1. Documentation Testing

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

Ниже приведены некоторые часто используемые артефакты:

  • Requirement documents;

  • Test Plan;

  • Test Cases;

  • Traceability Matrix (RTM).

Подробно о тестировании документации написано в видах тестирования.

2. Functionality Testing

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

  • Testing UI Workflows: тестируются end to end workflow или бизнес-сценарии. Рекомендуется написание тестовых сценариев или тестовых случаев, чтобы охватить различные сценарии и установить критерии прохождения;

  • Тестирование гиперссылок: все ссылки на веб-сайте работают правильно, и нет неработающих ссылок. Типы ссылок включают внутренние ссылки, исходящие ссылки, якорные ссылки, схемы mailto и т. д.;

  • Тестирование форм (проверка полей ввода): формы используются для интерактивного общения с конечными пользователями. Тестировщик должен убедиться, что все формы работают должным образом. Тестирование форм включает в себя:

    • заполняются ли значения по умолчанию;

    • отображается ли сообщение об ошибке, когда пользователь не заполняет обязательное поле;

    • принимает ли форма недопустимые значения;

    • формы оптимально отформатированы для лучшей читабельности;

    • поля AJAX правильно заполняют значения во время выполнения;

    • загружаются ли раскрывающиеся списки с параметрами.

  • Проверка файлов cookie: подробно о тестировании кук написано в теме про cookie в сетях;

  • Проверка HTML и CSS: Тестировщик должен проверить, имеет ли сайт чистую структуру HTML и оптимизированный CSS в соответствии со стандартами W3C. Также нужно убедиться, что поисковые системы могут легко сканировать сайт.

    • нет синтаксических ошибок HTML;

    • цветовые схемы читаемы;

    • карта сайта точна.

Примеры функциональных тест-кейсов:

  • Кнопки:

    • Enter должна срабатывать как submit;

    • Tab должен переводить курсор на следующий элемент.

  • Поля ввода:

    • trimming («убирание») пробелов в полях ввода;

    • пустота/пробелы в поле ввода;

    • все способы редактирования (Insert, Delete, Backspace, Ctrl+C/V/X/Z и т. д.);

    • дроби ( 1.5/ 1,5/ ⅕).

  • Поиск:

    • wildcard symbols (*, вертикальный слеш, ?);

    • написание поискового запроса слитно/раздельно/через дефис должно вести к одному результату;

    • ввод текста в другой раскладке.

  • Сообщения об ошибках:

    • пробуем отключить в настройках браузера.

  • Календарь:

    • 31 июня;

    • 29 февраля + не високосный год;

    • прошлое/будущее (например, купить билет на уже прошедшее число).

  • Время:

    • синхронизация с сервером (на сервере приложения может быть выставлено другое время, отличающееся от таймзоны пользователя);

    • временные зоны.

  • E-mail:

    • логин (63 символа) @ домен (253 символа (может быть ip)).

  • Всплывающие окна / подсказки:

    • пробуем закрыть разными способами (нажатие на кнопку (если есть), на «крестик», клавишей ESC, просто нажатием в другую область экрана);

    • рефреш страницы особенно в момент запроса на сервер (например, совершение транзакции по покупке) иногда может приводить к появлению ошибок.

  • Все обязательные поля должны быть валидированы.

  • Звездочка должна отображаться для всех обязательных полей.

  • Не должно отображаться сообщение об ошибке для дополнительных полей.

  • Числовые поля не должны принимать буквы и должно отображаться соответствующее сообщение об ошибке.

  • Проверьте наличие отрицательных чисел, если это разрешено для числовых полей.

  • Тестовое деление на ноль должно быть правильно обработано.

  • Проверьте максимальную длину каждого поля, чтобы убедиться, что данные не усекаются.

  • Текст всплывающего сообщения («Это поле ограничено 500 символами») должен отображаться, если данные достигают максимального размера поля.

  • Проверьте, должно ли отображаться подтверждающее сообщение для операций обновления и удаления.

  • Величины должны быть в подходящем формате.

  • Проверьте все поля ввода на ввод специальных символов.

  • Проверьте функциональность тайм-аута.

  • Проверьте функциональность сортировок.

  • Проверьте, что FAQ и Политика конфиденциальности четко определены и доступны для пользователей.

  • Проверьте, все ли работает и не перенаправляется ли пользователь на страницу ошибки.

  • Все загруженные документы открываются правильно.

  • Пользователь должен иметь возможность скачать загруженные файлы.

  • Проверьте функциональность электронной почты системы. Тестируемый скрипт корректно работает в разных браузерах (IE, Firefox, Chrome, Safari и Opera).

  • Проверьте, что произойдет, если пользователь удалит файлы cookie, находясь на сайте.

  • Проверьте, что произойдет, если пользователь удалит файлы cookie после посещения сайта.

  • Проверка работоспособности при наличии расширений браузера, например, блокировщиков рекламы.

3. GUI

Верстка - размещение элементов веб-приложения (изображения, текст, кнопки, видео...) в соответствии с макетом или требованиями.

Проверяем:

  • наличие всех элементов;

  • их размер и цвет;

  • расположение относительно друг-друга.

  • Появление курсора - довольно часто мы забываем проверить, появляется ли вообще и как выглядит курсор в полях ввода, на кликабельных элементах.

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

  • Обозначение возможности переноса элементов.

  • Кодировка (UTF8...).

  • Заголовки по всему приложению должны быть приведены к одному стандарту.

  • Title страницы - о нем мы тоже часто забываем, также как и разработчики :)

  • Back button - достаточно часто встречается ошибка при переходе на какую-то страницу и нажатии на браузерную кнопку Back, предыдущая страница крашится или возврат на нее вовсе не осуществляется.

  • Кроссбраузерность - одна и та же страница может выглядеть по-разному в разных браузерах.

  • Проверяем Scroll.

  • Браузерные расширения, которые могут влиять на внешний вид приложения (например, AdBlock) - пробуем включить и отключить.

  • Проверить контент при отключенных (режим WebDeveloper) изображениях, flash, JavaScript.

Локализация - что мы знаем об этом? Обычно наши знания сводятся к невнятным «ну, это язык», «кодировка», «раскладка», еще реже «геолокация». Что еще мы так часто забываем проверять в рамках тестирования локализации?

  • Проверяем тестовый образец на правильность перевода - тут, конечно, хорошо бы подключить переводчика или носителя языка, но за неимением таких, берем тестовый образец и переводим через любой онлайн-переводчик (ну и все мы помним, как прекрасно и весело читать описание товаров на русском языке на AliExpress).

  • Длина переведенных слов - количество символов в переведенном слове может быть гораздо больше, что может привести к «расползанию» интерфейса при переводе.

  • Сокращения/аббревиатуры - существуют правила, по которым их либо переводят, либо транслитерируют, либо оставляют как есть.

  • Валюта.

  • Параметры шрифта могут также значительно отличаться в зависимости от языка ввода.

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

  • Мета-информация (keywords/title/description) - столь незначительное для пользователя, невидимое, но такое важное для поисковых машин и продвижения сайта в гугле и других поисковиках.

  • RTL (right to left languages) - языки c обратным написанием (арабский, иврит) имеют свои особенности: числа пишутся слева направо, значки и иконки отзеркаливаются, названия программ не переводятся, нет переносов, кнопки редактирования Backspace и Delete работают наоборот.

4. Usability Testing

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

  • Соответствует ли приложение ожиданиям конечного пользователя;

  • Логичность интерфейса;

  • Самое нужное «сверху»;

  • Продуманная навигация;

  • Локализация (да, да, она относится и сюда тоже);

  • Совместимость с другим софтом (соцсети) и железом;

  • Скорость работы приложения;

  • Информативность (сообщения / обязательные поля);

  • Возможность отмены действий пользователя;

  • Help - должна быть инструкция, как работать с приложением;

  • Возможность печати (если нужно).

Примеры юзабилити тест-кейсов:

  • Текст подсказки должен быть там для каждого поля.

  • Домашняя ссылка должна быть на каждой странице.

  • Сообщение о подтверждении должно отображаться для любого вида операции обновления и удаления.

  • Полоса прокрутки должна появляться только при необходимости.

  • Если при отправке появляется сообщение об ошибке, информация, заполненная пользователем, должна быть там.

  • Название должно отображаться на каждой веб-странице.

  • Все поля (текстовое поле, раскрывающийся список, переключатель и т. д. ) и кнопки должны быть доступны с помощью сочетаний клавиш, и пользователь должен иметь возможность выполнять все операции с помощью клавиатуры.

5. Interface Testing

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

  • Приложение: тестовые запросы правильно отправляются в базу данных и вывод на стороне клиента отображается правильно. Ошибки, если таковые имеются, должны быть обнаружены приложением и должны отображаться только администратору, а не конечному пользователю;

  • Веб-сервер: тестовый веб-сервер обрабатывает все запросы приложений без какого-либо отказа в обслуживании;

  • Сервер базы данных: запросы, отправленные в базу данных, дают ожидаемые результаты. Проверьте реакцию системы, когда невозможно установить соединение между тремя уровнями (Приложение, Интернет и База данных) и соответствующее сообщение отображается конечному пользователю.

6. Database Testing

Тестирование баз данных (back-end тестирование, тестирование данных) включает проверку целостности данных на front end с данными на back end. Оно проверяет схему, таблицы базы данных, столбцы, индексы, хранимые процедуры, триггеры, дублирование данных, потерянные записи, ненужные записи. Оно включает в себя обновление записей в базе данных и их проверку на внешнем интерфейсе.

Тестирование будет включать в себя:

  • Отображение ошибок при выполнении запросов;

  • Целостность данных поддерживается при создании, обновлении или удалении данных в базе данных;

  • Тестирование производительности базы данных;

  • Тестирование процедур, триггеров и функций.

Примеры тест-кейсов для тестирования базы данных:

  • Проверьте имя базы данных: имя базы данных должно соответствовать спецификациям.

  • Проверьте таблицы, столбцы, типы столбцов и значения по умолчанию: все должно соответствовать спецификациям.

  • Проверьте, допускает ли столбец null значение.

  • Проверьте первичный и внешний ключ каждой таблицы.

  • Проверьте, установлена ​​ли сохраненная процедура или нет.

  • Проверьте имя хранимой процедуры

  • Проверьте имена параметров, типы и количество параметров.

  • Проверьте требуемые параметры.

  • Проверьте хранимую процедуру, удалив некоторые параметры

  • Проверьте, когда выход равен нулю, это должно повлиять на нулевые записи.

  • Проверьте хранимую процедуру, написав простые запросы SQL.

  • Проверьте, возвращает ли хранимая процедура значения

  • Проверьте хранимую процедуру с образцами входных данных.

  • Проверьте поведение каждого флага в таблице.

  • Убедитесь, что данные правильно сохраняются в базе данных после каждой отправки страницы.

  • Проверьте данные, если выполняются операции DML (Обновить, удалить и вставить).

  • Проверьте длину каждого поля: длина поля на Frontend и backend должна быть одинаковой.

  • Проверьте имена баз данных QA, UAT и production. Имена должны быть уникальными.

  • Проверьте зашифрованные данные в базе данных.

  • Проверьте размер базы данных.

  • Также проверьте время ответа каждого выполненного запроса.

  • Проверьте данные, отображаемые на Frontend, и убедитесь, что они совпадают с backend.

  • Проверьте достоверность данных, вставив неверные данные в базу данных.

  • Проверьте триггеры.

7. Compatibility Testing

Тестирование совместимости предназначено для проверки совместимости приложения в разных браузерах и на различных устройствах.

  • Тестирование совместимости браузера: кросс-браузерное тестирование - это тип нефункционального теста, который помогает нам убедиться, что наш веб-сайт или веб-приложение работают должным образом в различных веб-браузерах. При тестировании веб-сайта нам необходимо убедиться, что он отображается одинаково во всех браузерах. Нам нужно предоставить одинаковый опыт для пользователей, независимо от того, какой тип ОС и какой браузер они используют. Не все используют одну и ту же среду. Несмотря на то, что Google Chrome является самым популярным на текущем рынке, все же множество пользователей используют Mozilla Firefox, Safari и другие. Если веб-сайт не работает должным образом в конкретном браузере, это ухудшает взаимодействие с пользователем. Нужно проверить, правильно ли отображается ваше веб-приложение в браузерах, работает ли JavaScript, AJAX и аутентификация. Вы также можете проверить рендеринг веб-элементов, таких как кнопки, текстовые поля и т. д.

  • Тестирование совместимости устройств: этот тест подтверждает, что веб-приложение responsive и работает на устройствах разного размера и с разными операционными системами.

Примеры тестов на совместимость:

  • Протестируйте сайт в разных браузерах (IE, Firefox, Chrome, Safari и Opera) и убедитесь, что сайт отображается правильно.

  • Используемая версия HTML совместима с соответствующими версиями браузера.

  • Проверьте правильность отображения изображений в разных браузерах.

  • Протестируйте шрифты, которые можно использовать в разных браузерах.

  • Протестируйте код Javascript в разных браузерах.

  • Проверьте анимированные GIF-файлы в разных браузерах.

8. Performance Testing

Тестирование производительности определяет или подтверждает характеристики скорости, масштабируемости и/или стабильности тестируемой системы или приложения. Производительность связана с достижением времени отклика, пропускной способности и уровня использования ресурсов, которые соответствуют целям производительности для проекта или продукта. Тестирование производительности веб-приложений проводится для снижения риска доступности, надежности, масштабируемости, быстродействия, стабильности и т. д. системы. Тестирование производительности включает в себя ряд различных типов тестирования, таких как нагрузочное тестирование, объемное тестирование, стресс-тестирование, тестирование емкости, тестирование выдержки/выносливости и пиковое тестирование, каждое из которых предназначено для выявления или решения проблем с производительностью в системе.

Примеры тестов:

  • Имитируем нагрузку пользователями (JMeter);

  • Пробуем загрузить большие объемы данных, файлы, медиа;

  • Нагружаем БД;

  • Понижаем скорость инета (NetLimiter);

  • Понижаем скорость передачи данных (Throttling);

  • Тестируем восстановление системы после падений.

9. Security Testing

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

  • SQL-инъекция (SQL Injection);

  • Межсайтовый скриптинг (XSS);

  • Управление сеансом (Session Management);

  • Сломанная аутентификация;

  • Подделка межсайтовых запросов (CSRF);

  • Неправильная конфигурация безопасности;

  • Невозможность ограничить доступ к URL-адресу;

  • Раскрытие секретных данных;

  • Небезопасная прямая ссылка на объект;

  • Отсутствует контроль доступа на функциональном уровне;

  • Использование компонентов с известными уязвимостями;

  • Непроверенные перенаправления и возвраты.

Примеры тестовых сценариев для тестирования безопасности:

  • веб-страница, содержащая важные данные, такие как пароль, номера кредитных карт, секретные ответы на секретный вопрос и т. д. , Должна быть отправлена ​​через HTTPS (SSL).

  • важная информация, такая как пароль, номера кредитных карт и т. д. , должна отображаться в зашифрованном виде.

  • правила проверки пароля применяются на всех страницах аутентификации, таких как Регистрация, забытый пароль, смена пароля.

  • если пароль изменен, пользователь не должен иметь возможность войти со старым паролем.

  • сообщения об ошибках не должны отображать важную информацию.

  • если пользователь вышел из системы или сеанс пользователя истек, пользователь не должен перемещаться по сайту авторизованным.

  • проверьте доступ к защищенным и незащищенным веб-страницам напрямую без входа в систему.

  • опция «Просмотр исходного кода» отключена и не должна быть видна пользователю.

  • учетная запись пользователя заблокирована, если пользователь вводит неправильный пароль несколько раз.

  • куки не должны хранить пароли.

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

  • проверьте атаки SQL-инъекций.

  • проверьте роли пользователей и их права. Например, запрашивающая сторона не должна иметь доступа к странице администратора.

  • важные операции записаны в файлы журналов, и эта информация должна быть отслеживаемой.

  • значения сеанса находятся в зашифрованном формате в адресной строке.

  • информация о файлах cookie хранится в зашифрованном формате.

  • проверьте приложение на брутфорс-атаки

10. Crowd Testing or Crowdsourced testing

Краутестинг или краудсорсинговое тестирование - это новая тенденция в тестировании программного обеспечения, которая использует толпу (crowd/большое количество людей) для выполнения тестов, которые в противном случае были бы выполнены выбранной группой людей в компании. Краудсорсинговое тестирование представляет собой интересную и перспективную концепцию и помогает выявить многие незамеченные дефекты. Оно включает в себя практически все типы тестирования, применимые к вашему веб-приложению.

Источники:

Доп. материалы:

PreviousТестирование в разных сферах-областях (testing different domains)NextТестирование интернет-магазина (eCommerce)

Last updated 2 years ago

Was this helpful?

Сравнение с макетом - метод наложения готового эталонного макета (обычно psd-файл) на приложение в экране браузера, все несовпадения можно рассматривать как ошибки (для этого есть хороший инструмент ).

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

Правильность шрифтов (название, размер, цвет) - .

Цвета интерфейса - .

Контент - проверить на наличие орфографических и грамматических ошибок ().

Стандарты HTML/CSS - достаточно неплохие решения для быстрой проверки предлагает .

Масштабируемость - особенно это важно при тестировании на смартфонах и планшетах. Где пользователь часто меняет масштаб экрана (), а также режим адаптивного дизайна (например в FireFox Developer Edition).

Pixel Perfect
Page Ruler
WhatFont
ColorZilla
SpellChecker
W3C
Window Resizer
Web Application Testing Tutorial (How To Test A Website)
Web Application Testing Checklist: Example Test Cases for Website
Ничего не забыть: универсальная схема для тестирования веб-приложений
Web Testing Specific (особенности тестирования Web)
Тестирование веб-проектов. Основные этапы и практические советы.
Best Web Application Testing Tools (Free and Paid) for 2022
Чек-лист тестирования WEB приложений
Примеры багов на сайтах
Векторы тестирования всплывающих оверлеев