Презентация "Tипы и виды тестирования"

Подписи к слайдам:

Вопросы:

  • Изобразите (как сможете) ЖЦ дефекта.
  • Какие бывают резолюции дефектов?
  • Какие Вы знаете статусы дефектов?
ЛЕКЦИЯ 4 «Tипы и виды тестирования» Smoke Smoke

MAT

AT

Серый ящик

Белый ящик

Чёрный ящик

Автоматизированное

Ручное

Интуитивное

Исследовательское

По документации

Приемочное тестирование

Бета- тестирование

Альфа- тестирование

Модульное

Интеграционное

Системное

Регрессионное

Smoke

Валидация дефектов

Тестирование новых функций

Функциональное

Тестирование пользовательского интерфейса

Юзабилити

Доступности

Локализации

Интернационализации

кроссбраузерное

кроссплатформенное

нагрузочное

стрессовое

объемное

Безопасности

Защищенности

Тестирование требований

Тестирование прототипа

Тестирование инсталляции и лицензирование

Уровни тестирования

Тестовое покрытие –

это одна из метрик оценки качества тестирования, представляющая из себя плотность покрытия тестами требований либо исполняемого кода

Уровни тестирования

Тестовое покрытие определяется:

  • Глубиной тестирования
  • Шириной тестирования
  • Целями тестирования
  • Профессиональным уровнем тестирощика

Уровни тестирования

Ширина

Глубина

Уровни тестирования

Ширина тестирования

отражает количество модулей/функций приложения, которые были протестированы.

Глубина тестирования

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

По уровню покрытия
  • Smoke – пригодность сборки для дальнейших тестов
  • Уровень качества: Acceptable / Unacceptable
  • MAT (Minimal Acceptance Test, Positive test) – тест на положительных сценариях
  • Уровень качества: High / Medium / Low
  • AT (Acceptance Test) – полный тест на положительных и негативных сценариях)
  • Уровень качества: High / Medium / Low
По цели тестирования
  • New Feature Test (NFT, AT of NF) – определить качество поставленной на тестирование функциональности
  • Обычно тестируется полным тестом (AT)
По цели тестирования
  • Regression testing – удостовериться, что добавление новой функциональности не повлияло на работу старой
  • Регрессионное тестирование может быть проведено на уровне Smoke, MAT или AT.
По цели тестирования
  • Defect Validation – проверка результата исправления дефектов
  • Может включать элементы регрессионного тестирования.
По цели тестирования
  • User Acceptance Test (UAT, ПиМИ): формальная проверка приложения (зачастую заказчиком), сопровождаемая протоколированием результатов
Тестовые активности:
  • Smoke
  • Регрессионное
  • Валидация дефектов
  • Тестирование новых функций
Автоматизированное
  • Автоматизированное
  • Ручное

По степени

автоматизации

  • Черный ящик: не заглядываем внутрь системы

По знанию кода

  • Черный ящик: не заглядываем внутрь системы
  • Белый ящик: смотрим код

По знанию кода

  • Черный ящик: не заглядываем внутрь системы
  • Белый ящик: смотрим код
  • Серый ящик: частично заглядываем в систему

По знанию кода

Модульное (Unit/component) – отдельные части (модули) системы

Интеграционное (Integration) –взаимодействие между отдельными модулями

Системное (System) – работоспособность системы в целом

По уровням

Интуитивное (Ad Hoc)
  • Интуитивное (Ad Hoc)
  • Исследовательское (Exploratory)
  • По документации

По подготовленности

Альфа- тестирование
  • Альфа- тестирование
  • Бета- тестирование

По времени и месту

проведения

По объекту
  • Функциональное
  • Тестирование пользовательского интерфейса
  • Юзабилити
  • Доступности
  • Локализации
  • Интернационализации
  • Совместимости (кроссбраузерное, кроссплатформенное)
  • Производительности (нагрузочное, стрессовое, объемное) 
  • Безопасности
  • Защищенности
  • Тестирование требований
  • Тестирование прототипа
  • Тестирование инсталляции и лицензирование

Функциональное тестирование

Функциональное тестирование (Functional testing) – это тестирование функций приложения на соответствие требованиям.

Оценка производится на основе сопоставления ожидаемых и полученных результатов (указанных в функциональной документации).

Важным условием является ввод корректных и некорректных тестовых данных.

Тестирование графического интерфейса пользователя

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

Как правило, через пользовательский интерфейс и реализуется большая часть функциональности ПО.

Тестирование графического интерфейса пользователя

Что нужно проверять?

  • Горячие клавиши (hot keys)
  • Порядок табуляции
  • Окна сообщений
  • Изменение размеров окон приложения
  • Поддержка скроллинга

Тестирование графического интерфейса пользователя

Пример

Тестирование программ установки и лицензирования

тестирование

В ходе тестирования установки (Installation testing) проверяется правильность процесса установки приложения и эффект, оказываемый установкой приложения на операционную систему конечного пользователя.

Тестирование механизма лицензирования помогает определить эффективность системы защиты приложения

Характеристики требований

Тестирование требований

  • Единичность
  • Завершённость
  • Последовательность
  • Атомарность
  • Актуальность
  • Выполнимость
  • Обязательность
  • Проверяемость

Совместимость с различными браузерами и операционными системами

Кроссбраузерность (Crossbrowser testing):

Цель данного типа тестирования – удостовериться, что приложение будет эффективно работать не только с Internet Explorer, но также и с альтернативными браузерами (Safari, Opera, FireFox, Google Chome и др.)

Кроссплатформенность (Crossplatform testing):

Цель кроссплатформенного тестирования – удостовериться, что приложение работает одинаково корректно и эффективно на любых типах и версиях операционных систем (ОС - Windows, Mac OS и Linux/Unix).

Тестирование интеграций

Тестирование интеграций (Integration testing) – проверка того, как одно приложение взаимодействует с другим.

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

Тестирование интеграций

Возможные проблемы:

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

Тестирование уровня безопасности

Тестирование безопасности (Security testing) представляет собой ряд действий, от разработки политики безопасности до тестирования на уровне приложения, операционной системы и сетевой безопасности.

В общем случае включает внедрение скриптов, операторов SQL, манипуляции с адресной строкой и исходным кодом программы

Тестирование удобства пользовательского интерфейса

Удобство пользования (Usability) – это степень эффективности, продуктивности и удовлетворенности, с которой продукт может использоваться определенными пользователями для достижения своих целей в определенном контексте (ISO 9241)

Тестирование удобства пользовательского интерфейса

Тестирование удобства пользования (Usability testing) определяет, насколько комфортна работа пользователей с приложением или сайтом в контексте понимания процесса работы, простоту навигации и структуры, понятность и последовательность сообщений. Этот вид тестирования в огромной степени определяет будущий успех или провал проекта.

Тестирование удобства пользовательского интерфейса

Критерии тестирования удобства пользования:

  • Функциональность
  • Визуальное оформление
  • Эффективность
  • Производительность
  • Обучаемость
  • Навигация
  • Логичность
  • Обратная связь

Тестирование доступности

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

Тестирование доступности

Критерии тестирования доступности:

  • Все изображения на сайте должны иметь альтернативный текст
  • Аудио содержимое должно иметь текстовый эквивалент
  • Страница должна быть читабельна при увеличенном размере шрифтов
  • Страница должна читаться на монохромном экране и др.

Тестирование локализации

Целью тестирования локализации (Localization testing, L10n) является проверка соответствия приложения региональным стандартам пользовательского интерфейса, языковым стандартам и др.

Тестирование локализации

В ходе тестирования локализации и интернационализации проверяются следующие аспекты:

  • Соответствие приложения стандартам оформления пользовательского интерфейса
  • Отсутствие непереведенных сообщений
  • Соответствие способа подачи данных региональным стандартам
  • Сортировка данных в алфавитном порядке
  • Совместимость приложения со стандартами различных регионов
  • Правильность оформления документации и вспомогательных файлов

Тестирование локализации

Примеры дефектов

Тестирование интернационализации

Тестирование интернационализации (Internationalization testing, i18n) – проверка того, каким образом происходит адаптация продукта.

Интернационализа́ция (англ. internationalization) — технологические приёмы разработки, упрощающие адаптацию продукта (такого как программное или аппаратное обеспечение) к языковым и культурным особенностям региона (регионов), отличного от того, в котором разрабатывался продукт.

Тестирование производительности

Тестирование производительности (Performance testing) — тестирование, которое проводится с целью определения, как быстро работает вычислительная система или её часть под определённой нагрузкой.

В тестировании производительности различают следующие направления:

    • нагрузочное (load)
    • стресс (stress)
    • объемное (volume)
Вам предоставляется на тестирование веб-проект – интернет магазин по продаже деталей для автомобилей.
  • Вам предоставляется на тестирование веб-проект – интернет магазин по продаже деталей для автомобилей.
  • Из планов разработки известно, что на тестирование будут поставлены 3 сборки:
    • #1 включает в себя 50% функциональности
    • #2 включает в себя оставшиеся 50% функциональности
    • #3 является финальной (release candidate) и будет отдана заказчику
  • Вопрос:
    • Какие тесты Вы проведете на каждой сборке?

Задача 1

Спасибо за внимание! Жду Ваших вопросов