Виды тестирования. TestLab

Содержание

Слайд 2

TestLab: Testing Types Structure По знанию внутренностей системы По объему тестирования

TestLab: Testing Types Structure

По знанию внутренностей системы
По объему тестирования
По субъекту тестирования
По

времени проведения тестирования
По критерию “позитивности” сценариев
По степени изолированности тестируемых компонент
По степени автоматизированности тестирования
По степени подготовленности к тестированию
Слайд 3

TestLab: Testing Types 1. По знанию внутренностей системы Тестирование черного ящика

TestLab: Testing Types

1. По знанию внутренностей системы

Тестирование черного ящика

(Black Box Testing)
Тестирование серого ящика (Grey Box Testing)
Тестирование белого ящика (White Box Testing)
Слайд 4

TestLab: Testing Types Тестирование черного ящика Black Box (closed box, opaque

TestLab: Testing Types

Тестирование черного ящика
Black Box (closed box, opaque box, behavioral)

Testing
Тестировщик производит тестирование не имея информации о том, как устроена система изнутри.
Идеи для тестирование идут от предполагаемого поведения пользователей.
Слайд 5

TestLab: Testing Types Тестирование белого ящика White (Glass box, structural) Box

TestLab: Testing Types

Тестирование белого ящика
White (Glass box, structural) Box Testing
Противоположность

методу Черного ящика
Тестирование производится на основании информации, как устроена система изнутри
Обычно производится самими программистами
Слайд 6

TestLab: Testing Types Тестирование серого ящика Grey Box Testing Подход сочетает

TestLab: Testing Types

Тестирование серого
ящика
Grey Box Testing
Подход сочетает в себе

как белый, как и черный ящик
Это информированное тестирование, ориентированное на пользователя
Слайд 7

TestLab: Testing Types 2. По объекту тестирования Функциональное тестирование Тестирование пользовательского

TestLab: Testing Types

2. По объекту тестирования
Функциональное тестирование
Тестирование пользовательского интерфейса
Тестирование локализации
Тестирование

скорости и надежности
Тестирование безопасности
Тестирование удобства использования
Тестирование совместимости
Тестирование инсталляции
Тестирование документации
Слайд 8

TestLab: Testing Types Функциональное тестирование Один из процессов жизненного цикла программного

TestLab: Testing Types

Функциональное тестирование
Один из процессов жизненного цикла программного продукта
Проверяет

соответствие реализованных функций требованиям и просто ожиданиям пользователя.
Проверяется каждая из функций приложения и все они в комплексе
Исследуются все сценарии использования
Слайд 9

TestLab: Testing Types Non-functional testing Нефункциональное тестирование описывает тесты, необходимые для

TestLab: Testing Types

Non-functional testing
Нефункциональное тестирование описывает тесты, необходимые для определения

характеристик программного обеспечения, которые могут быть измерены различными величинами.
В целом, это тестирование того, «как» система работает.
Виды нефункциональных тестов:
Нагрузочное тестирование (Load Testing)
Тестирование локализации (Localization testing)
Тестирование производительности (Performance testing)
Тестирование на отказ и восстановление (Recovery testing)
Тестирование безопасности (Security testing)
Тестирование пользовательского интерфейса (Usability testing)
Слайд 10

TestLab: Testing Types Тестирование пользовательского интерфейса Цель – проверить, насколько легко

TestLab: Testing Types

Тестирование пользовательского интерфейса
Цель – проверить, насколько легко конечный

пользователь системы может ее освоить, включая не только функциональную составляющую – саму систему, но и ее документацию; насколько эффективно пользователь может выполнять задачи, автоматизация которых осуществляется с использованием данной системы; наконец, насколько хорошо система застрахована (с точки зрения потенциальных сбоев) от ошибок пользователя.
Для стандартных объектов UI
Text box
Text area
Numeric field
Drop down list
Combo box
Check box
Date field
существуют стандартные проверки…
Слайд 11

TestLab: Testing Types Тестирование локализации Тестирование локализации – это различные проверки,

TestLab: Testing Types

Тестирование локализации
Тестирование локализации – это различные проверки, связанные

с адаптацией приложения для пользователей из других стран …
Слайд 12

TestLab: Testing Types Это тестирование для определения времени задержки в обработке

TestLab: Testing Types

Это тестирование для определения времени задержки в обработке

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

Тестирование скорости и надежности

Слайд 13

TestLab: Testing Types Тестирование скорости и надежности можно разделить на: Нагрузочное

TestLab: Testing Types

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

(Load testing)
Стрессовое тестирование (Stress testing)
Тестирование производительности (Performance testing)
Объемное тестирование (Volume testing)
Тестирование стабильности (Stability testing)

Тестирование скорости и надежности

Слайд 14

TestLab: Testing Types Один из видов тестирования программного обеспечения, которое оценивает

TestLab: Testing Types


Один из видов тестирования программного обеспечения, которое

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

Стрессовое тестирование (Stress testing)

Слайд 15

TestLab: Testing Types Подвид тестирования производительности, сбор показателей и определение производительности

TestLab: Testing Types

Подвид тестирования производительности, сбор показателей и определение производительности

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

Нагрузочное тестирование (Load testing)

Слайд 16

TestLab: Testing Types Задачей объемного тестирования является получение оценки производительности при

TestLab: Testing Types

Задачей объемного тестирования является получение оценки производительности при увеличении

объемов данных в базе данных приложения.

Volume testing (объемное тестирование)

Слайд 17

TestLab: Testing Types Задачей тестирования стабильности (надежности) является проверка работоспособности приложения

TestLab: Testing Types

Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при

длительном (многочасовом) тестировании со среднем уровнем нагрузки.

Stability testing (тестирование стабильности)

Слайд 18

TestLab: Testing Types Целью тестирования безопасности является определение правильности ограничения доступа

TestLab: Testing Types
Целью тестирования безопасности является определение правильности ограничения доступа к

различным объектам системы согласно пользовательским правам

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

Слайд 19

TestLab: Testing Types Usability testing оценивает приложение с точки зрения конечного

TestLab: Testing Types
Usability testing оценивает приложение с точки зрения конечного пользователя

и может включать в себя такие проверки как:
Человеческий фактор
Эстетика
Непротиворечивость пользовательского интерфейса
Онлайновая и контекстно-зависимая помощь
Пользовательская документация
Обучающие материалы

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

Слайд 20

TestLab: Testing Types Внешний вид экранов и меню, функций помощи, стиля

TestLab: Testing Types

Внешний вид экранов и меню, функций помощи, стиля

иконок, расположение их в удобном порядке для подтверждения того, что система может быть изучена и использована с минимальными усилиями
Часто эта группа тестов относится к категории некритичных, но когда речь идет, например, о рыночном готовом продукте – пренебрегать удобством эксплуатации весьма опасно

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

Слайд 21

TestLab: Testing Types Тестирование на совместимость (compatibility testing) проводится для проверки

TestLab: Testing Types

Тестирование на совместимость (compatibility testing) проводится для проверки

того, что программный продукт работает без ошибок на конфигурациях с различными операционными системами, браузерами, почтовыми клиентами
Кроме того может проверяться совместимость с аппаратными средствами

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

Слайд 22

TestLab: Testing Types Режимы инсталляционного тестирования (installation testing): Install Uninstall or

TestLab: Testing Types

Режимы инсталляционного тестирования (installation testing):
Install
Uninstall or

Remove
Modify (Add/Remove components)
Repair
Upgrade

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

Слайд 23

TestLab: Testing Types Цель тестирования документации – определение насколько точна, полна,

TestLab: Testing Types

Цель тестирования документации – определение насколько точна, полна, достоверна

и ясна документация, которая поставляется с программным продуктом.
Поставляемая документация:
Инструкция пользователя
Инструкция по установке
Help

Тестирование документации


Слайд 24

TestLab: Testing Types Альфа-тестирование Альфа-тестирование — имитация реальной работы с системой

TestLab: Testing Types

Альфа-тестирование
Альфа-тестирование — имитация реальной работы с системой штатными

разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки
Бета-тестирование
Вид тестирования, который производится обычно потенциальными пользователями (проверка в “боевых условиях”).Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.

3. По субъекту тестирования

Слайд 25

TestLab: Testing Types Тест приемки (Smoke test) Тестирование новых функций Регрессионное

TestLab: Testing Types

Тест приемки (Smoke test)
Тестирование новых функций
Регрессионное тестирование
Тест сдачи (Acceptance

test)
Эксплуатационное тестирование (Maintenance testing)

4. По времени проведения тестирования

Слайд 26

TestLab: Testing Types Короткий тест, проверяющий основную функциональность программного продукта и

TestLab: Testing Types

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

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


Smoke testing

Слайд 27

TestLab: Testing Types Целью является проверка того, что новая функциональность работает

TestLab: Testing Types

Целью является проверка того, что новая функциональность работает

корректно

New feature testing – «Тестирование новой функции»

Слайд 28

TestLab: Testing Types Regression testing – повторное проведение тестов для проверки

TestLab: Testing Types

Regression testing – повторное проведение тестов для проверки

того, что изменения, внесенные в программу, не повлияли на функционал, который не изменялся.
Не путать с retesting!

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

Слайд 29

TestLab: Testing Types Полный регрессионный тест включает в себя все ранее

TestLab: Testing Types

Полный регрессионный тест включает в себя все ранее

уже проверенное
Может проводится на этапе, когда продукт уже заявлен как готовый к поставке
Может включать в себя перепроверки ранее описанных багов

Full regression test

Слайд 30

TestLab: Testing Types Это набор тестов, по которому осуществляется приемка продукта

TestLab: Testing Types

Это набор тестов, по которому осуществляется приемка продукта

(возможно заказчиком).
Решение о проведении приемочного тестирования принимается, когда:
продукт достиг необходимого уровня качества;
заказчик ознакомлен с Планом Приемочных Работ (Product Acceptance Plan) или иным документом, где описан набор действий, связанных с проведением приемочного тестирования, дата проведения, ответственные и т.д.

Acceptance testing (приемо-сдаточное тестирование)

Слайд 31

TestLab: Testing Types Тестирование системы во время ее эксплуатации Maintenance testing

TestLab: Testing Types

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

Maintenance testing

Слайд 32

TestLab: Testing Types Узконаправленное тестирование достаточное для доказательства того, что конкретная

TestLab: Testing Types

Узконаправленное тестирование достаточное для доказательства того, что конкретная

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

Sanity testing

Слайд 33

TestLab: Testing Types Позитивное тестирование Негативное тестирование 5. По критерию “позитивности” сценариев

TestLab: Testing Types

Позитивное тестирование
Негативное тестирование

5. По критерию “позитивности” сценариев


Слайд 34

TestLab: Testing Types Класс тестов, которые проверяют, что программа делает то,

TestLab: Testing Types

Класс тестов, которые проверяют, что программа делает то,

что должна делать (результатом ожидается УСПЕХ)

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

Слайд 35

TestLab: Testing Types Класс тестов, которые проверяют, что программа НЕ делает

TestLab: Testing Types

Класс тестов, которые проверяют, что программа НЕ делает

то, что НЕ должна делать (ожидается НЕУСПЕХ в результате)

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

Слайд 36

TestLab: Testing Types Модульное тестирование (unit) Компонентное тестирование (component) Интеграционное тестирование

TestLab: Testing Types

Модульное тестирование (unit)
Компонентное тестирование (component)
Интеграционное тестирование (integration)
Системное тестирование

(system)

6. По степени изолированности компонентов

Слайд 37

TestLab: Testing Types Тестирование на самом нижнем уровне (unit – часть

TestLab: Testing Types

Тестирование на самом нижнем уровне (unit – часть исходного

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

Unit testing

Слайд 38

TestLab: Testing Types Тестирование отдельных компонентов (модулей) общей системы Component testing

TestLab: Testing Types

Тестирование отдельных компонентов (модулей) общей системы

Component testing

Слайд 39

TestLab: Testing Types Тестируется взаимодействие отдельных модулей между собой (In the

TestLab: Testing Types

Тестируется взаимодействие отдельных модулей между собой (In the

small)
In the big – тестируется взаимодействие системы с внешним окружением
Классические стратегии интеграционного тестирования – “сверху-вниз” и “снизу-вверх” –используются для традиционных, иерархически структурированных систем и их сложно применять,например, к тестированию слабосвязанных систем, построенных в сервисно-ориентированных архитектурах (SOA).

Integration testing

Слайд 40

TestLab: Testing Types Подходы к интеграционному тестированию: Bottom Up Integration (снизу

TestLab: Testing Types

Подходы к интеграционному тестированию:
Bottom Up Integration (снизу вверх)
Top

down integration (сверху вниз)
“Big bang” integration (большой взрыв)

Integration testing

Слайд 41

TestLab: Testing Types Тестирование системы в целом для обнаружения общих системных

TestLab: Testing Types

Тестирование системы в целом для обнаружения общих системных

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

System testing

Слайд 42

TestLab: Testing Types Ручное Автоматизированное Смешанное\полуавтоматическое 7. По автоматизированности тестирования

TestLab: Testing Types

Ручное
Автоматизированное
Смешанное\полуавтоматическое

7. По автоматизированности тестирования

Слайд 43

TestLab: Testing Types Выполняется без привлечения средств автоматизации Выполняется, обычно, по подготовленным тест кейсам Ручное тестирование

TestLab: Testing Types

Выполняется без привлечения средств автоматизации
Выполняется, обычно, по подготовленным

тест кейсам

Ручное тестирование

Слайд 44

TestLab: Testing Types Выполняется с использованием специализированных программных продуктов Требуется высокая

TestLab: Testing Types

Выполняется с использованием специализированных программных продуктов
Требуется высокая

квалификация тестировщиков и навыки программирования

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

Слайд 45

TestLab: Testing Types Тестирование по тест кейсам (documented testing) Интуитивное тестирование

TestLab: Testing Types

Тестирование по тест кейсам (documented testing)
Интуитивное тестирование (ad

hoc testing)

8. По подготовленности к тестированию

Слайд 46

TestLab: Testing Types Тестирование по уже разработанной тестовой документации Выполняемые тесты определены заранее Documented testing

TestLab: Testing Types

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

заранее

Documented testing