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

Download Report

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

Testschool
Методы тестирования.
Классификация по видам тестирования
Содержание лекции
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
2
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
3
Методы тестирования: чёрный ящик, белый ящик, серый ящик
Методы тестирования
Метод чёрного ящика
Black-Box-Verfahren



Тестирование с точки
зрения пользователя
Внутренняя структура
неизвестна
Рассматриваем только
вводимые данные и
полученные результаты
Метод серого ящика


Знания структуры
частично использованы
в тестировании
Сами тесты написаны с
точки зрения
пользователя
Метод белого ящика
Black-Box-Verfahren



Тестирование с точки
зрения разработчика
Внутренняя структура
известна
Рассматриваем рабочие
алгоритмы
12.04.2015
4
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
5
Некоторые техники чёрного ящика (Blackbox-Verfahren)

Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Анализ граничных значений (Grenzwertanalyse)

Таблицы решений (Entscheidungstabellen)

Диаграммы состояний (Zustandsbasierter Test)

Тестирование на основе юз-кейсов (Anwendungsfallbasierter Test)
другие….
12.04.2015
6
Некоторые техники чёрного ящика (Blackbox-Verfahren)

Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Анализ граничных значений (Grenzwertanalyse)

Таблицы решений (Entscheidungstabellen)

Диаграммы состояний (Zustandsbasierter Test)

Тестирование на основе юз-кейсов (Anwendungsfallbasierter Test)
другие….
12.04.2015
7
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Пример:
При оформлении заказа цветов на сайте необходимо в поле «Количество»
указать количество единиц товара. Минимальный заказ 5 единиц,
максимальный заказ 25 единиц.
Класс эквивалентности 2
ungültige Werte
gültige Werte
5



Класс эквивалентности
3
Класс эквивалентности
1
ungültige Werte
25
Ввод целого числа от 5 до 25 будут -> ОК  - класс эквивалентности 1
Ввод целого числа меньше 5 или больше 25 -> не ОК  (сообщение об ошибке) –
классы эквивалентности 2 и 3
!если введены нецелочисленные значения -> данные не принимаются
(сообщение об ошибке) – класс эквивалентности 4
12.04.2015
8
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Класс эквивалентности (Äquivalenzklasse) – это область или группа
значений входных или выходных данных, для которых определено
однотипное поведение системы.

Для каждого класса эквивалентности достаточно теста одного
представителя класса, т.к. для других представителей данного класса
реакция/поведение тестируемого объекта будет таким же.

Кроме классов эквивалентности корректных значений в тесте должны
быть учтены эквивалентные классы некорректных значений.
12.04.2015
9
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Разделение на классы эквивалентности (Äquivalenzklassenbildung)





Для каждого тестируемого элемента входных данных (например
параметр функции или метода, поле ввода и т.д.) определяем область
всех возможных значений.
Определяем подобласть корректных входных данных.
Значения вне подобласти корректных значений рассматриваются как
некорректные. Поведение тестируемого объекта в данном случае
также нужно тестировать.
Определяем границы каждого класса эквивалентности. Может быть
несколько классов эквивалентности как для корректных, так и для
некорректных значений.
Для каждого класса эквивалентности выбираем представителя для
проведения теста.
12.04.2015
10
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Анализ граничных значений (Grenzwertanalyse)

Что происходит на границах классов эквивалентности?

Граничное значение (Grenzwert) – значение, лежащее на границе класса
эквивалентности или на минимальном расстоянии выше/ниже
диапазона (например минимальное и максимальное значение области).

Цель – обнаружить «пограничные» дефекты.

Техника анализа граничных значений используется вместе с техникой
разделения на классы эквивалентности.
12.04.2015
11
Некоторые техники чёрного ящика (Blackbox-Verfahren)

Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Анализ граничных значений (Grenzwertanalyse)

Таблицы решений (Entscheidungstabellen)

Диаграммы состояний (Zustandsbasierter Test)

Тестирование на основе юз-кейсов (Anwendungsfallbasierter Test)
другие….
12.04.2015
12
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Таблицы решений (Entscheidungstabellen)



Таблица решений (Entscheidungstabellen) – форма описания правила, которое
состоит из комбинации условий (например входных параметров) и
действий.
Цель: тестирование логических условий/связей между входными
параметрами.
Порядок действия:
 Представляем требования в виде графов «причина-следствие»
 Делаем анализ графов, обнаруживаем логические связи (И, ИЛИ,
НЕ)
 Переносим логические связи графа в таблицу
 Присваиваем отдельным условиям булевые значения – верно (wahr)
или ложно (falsch)
 Определяем комбинации отдельных условий
 Создаем необходимые тестовые случаи (Testfall) – обычно один тест
на столбец таблицы
12.04.2015
13
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Таблицы решений (Entscheidungstabellen). Пример 1

Sollten Ihre Schulnoten am Jahresende bei weniger als 50% liegen, müssen Sie sich für die Sommerschule
anmelden. Anderseits, sollten Ihre Schulnoten am Jahresende bei grösser oder gleich 90% liegen, werden Sie sich
für die „Meisterklasse“ anmelden. Sonst müssen Sie sich bei der Hochschule anmelden und Kurse auswählen.

Sollte staatliche Hilfe für Ihre nächste Schule (egal welche) zur Verfügung stehen, müssen Sie einen
entsprechenden Antrag stellen. Sonst müssen Sie eine Teilzeitbeschäftigung suchen.
12.04.2015
14
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Таблицы решений (Entscheidungstabellen)

Условия для применения:
 Требования должны быть детально описаны
 Ожидаемые результаты должны быть определены и известны

Преимущества
 Возможность описания сложных процессов с завимимыми друг от
друга условиями
 Обеспечивается тестовое покрытие различных комбинаций
условий

Недостаток
 При большом количестве условий таблица может быть очень
обширной
12.04.2015
15
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Таблицы решений (Entscheidungstabellen). Пример 2




Клиент банка может снять деньги в банковском автомате. Если после
снятия желаемой суммы на счету еще имеются средства (или = 0), то
желаемая сумма будет выдана.
Если после снятия наличных счет уходит в минус, но клиент остаётся в
рамках кредитного лимита, желаемая сумма будет выдана. Кроме того
в этом случае если клиент обслуживается по услуге «Basis-Konto» плата за
услугу (использование кредита при снятии наличных) – 2 Евро. С
клиентов с услугой «Gold-Konto» плата не взимается.
Если клиент пытается снять сумму, которая превышает кредитный
лимит, деньги не выдаются, клиенту высылается письмо с
приглашением в банк на обсуждение условий договора.
Задание:
 Определить правила
 Определить причины и следствия
 Представить таблицу решений
 Описать по крайней мере 1 тест на правило
12.04.2015
16
Некоторые техники чёрного ящика (Blackbox-Verfahren)

Разделение на классы эквивалентности (Äquivalenzklassenbildung)

Анализ граничных значений (Grenzwertanalyse)

Таблицы решений (Entscheidungstabellen)

Диаграммы состояний (Zustandsbasierter Test)

Тестирование на основе юз-кейсов (Anwendungsfallbasierter Test)
другие….
12.04.2015
17
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Диаграммы состояний (Zustandsbasierter Test)

Цель: тестируем
 состояния (Zustände), в которых может находиться система;
 переходы (Übergänge) между состояниями;
 события (Ereignisse), вызывающие переходы между состояниями;
 эффекты (Wirkungen), которые вызываются переходами между состояниями;
 последовательности (Sequenzen) состояний или переходов.

Порядок действий:
 Представляем переходы состояний в виде диаграммы (Zustandsdiagramm)
 Переносим данные о взаимосвязи переходов в таблицу переходов
состояний (Zustandsübergangstabelle)
 Определение тестовых случаев
 «посещаемые состояния»
 Переходы состояний
 Возможные события (результаты)
12.04.2015
18
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Диаграммы состояний (Zustandsbasierter Test)

Что может быть событием (Ereignisse):
 Ввод данных,
 Нажатие кнопки интерфейса,
 Запуск подпрограммы,
 Срабатывание триггера (момент времени) и другие…
12.04.2015
19
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Диаграммы состояний (Zustandsbasierter Test). Пример Zustandsdiagramm
12.04.2015
20
Некоторые техники чёрного ящика (Blackbox-Verfahren).
Диаграммы состояний (Zustandsbasierter Test). Пример
Zustandsübergangstabelle
12.04.2015
21
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
22
Классификация по видам тестирования (Testarten)
Функциональное тестирование
Qualitätsmerkmal
Aspekt
Funktionalität
Richtigkeit
Angemessenheit
Ordnungsmäßigkeit
Interoperabilität
Sicherheit
Zuverlässigkeit
Reife
Fehlertoleranz
Wiederherstellbarkeit
Benutzbarkeit
Verständlichkeit
Erlernbarkeit
Bedienbarkeit
Effizienz
Verbrauchsverhalten
Zeitverhalten
Änderbarkeit
Prüfbarkeit
Stabilität
Analysierbarkeit
Modifizierbarkeit
Übertragbarkeit
Austauschbarkeit
Koexistenz
Installierbarkeit
Anpassbarkeit
funktionales Testen
Нефункциональное тестирование
Nicht-funktionales Testen
12.04.2015
23
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
24
Функциональное тестирование (funktionales Testen)

Функциональное тестирование включает все виды тестов, которые
проверяют внешнее поведение системы (взаимосвязь входных и
выходных значений).

Для написания функциональных тестов обычно используются методики
чёрного ящика, но в некоторых случаях возможно использования методик
белого ящика (например с целью покрытия структур меню или навигации
клиентского приложения).
Функциональные тесты могут базироваться на функциональных требованиях
и на описании бизнес-процессов.
Функциональные требования определяют поведение системы. Они описывают
«что» система должна быть способна выполнять. Выполнение этих требований
является условием пригодности системы.
Каждому требованию должен соответствовать по крайней мере один тест,
проверяющий выполнение этого требования (Покрытие требований).



12.04.2015
25
Функциональное тестирование на основе требований
(Anforderungsbasiertes Testen)

Функциональное тестирование на основе требований чаще всего
используется на уровнях системного и приемочного тестирования.

Тестирование на основе требований фокусируется на отдельной
функции системы (например передача заказа на покупку).

Замечание:
Случается, что приходится иметь дело
документацией.
Что делать в этом случае?
- Задавать вопросы
- Документировать принятые допущения
- Следить за обновлениями документации
с
неполной/неактуальной
12.04.2015
26
Функциональное тестирование на основе бизнеспроцессов(Geschäftsprozessbasiertes Testen)

Тестовые сценарии симулируют типовые бизнес-процессы и строятся
на основе их анализа.

Анализ бизнес-процессов (обычно является частью анализа
требований) показывает, какие бизнес-процессы релевантны и как
часто и при каких условиях они возникают. Он также показывает
какие персоны, предприятия и внешние системы вовлечены.

Тестовые сценарии получают приоритет в соответствии с частотой
использования и релевантностью отдельного бизнес-процесса.

Тестирование на основе бизнес-процессов фокусируется на целом
процессе, состоящем из многих шагов – это означает
последовательность нескольких тестов.
Intern
Anastasiya Kuzmina/ Методы тестирования.
Классификация по видам тестирования
12.04.2015
27
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
28
Нефункциональное тестирование(Nicht-funktionales Testen)

Нефункциональное тестирование – это тестирование характеристик
системы, которые не связаны напрямую с функциональностью
(например надёжность, удобство использования, эффективность,
портативность, удобство сопровождения).

От выполнения нефункциональных требований напрямую зависит
успех приложения.

Не менее важно чем функциональное тестирование.

Часто
нефункциональные
недостаточно подробно.
требования
изначально
описаны
12.04.2015
29
Нефункциональное тестирование(Nicht-funktionales Testen)

Нагрузочное тестирование (Lasttest) – оценка поведения системы при
увеличивающихся нагрузках (например количество одновременно
работающих пользователей, число транзакций). Цель – определить
нагрузку, с которой система справляется.

Тест производительности (Performanztest) – измерение скорости
обработки данных и времени отклика для конкретных
пользовательских
сценариев,
обычно
в
зависимости
от
увеличивающейся нагрузки.

Объемное тестирование (Volumentest) – оценка поведения системы при
увеличении объёмов данных (например загрузка файла большого
размера).

Стрессовое тестирование (Stresstest) – оценка поведения системы при
перегрузке.
12.04.2015
30
Нефункциональное тестирование(Nicht-funktionales Testen)

Тест безопасности доступа (Zugriffssicherheitstest) - проверка безопасности
системы, анализ рисков, связанных с обеспечением целостного
подхода к защите приложения от атак хакеров, вирусов,
несанкционированного доступа к конфиденциальным данным.

Тестирование удобства пользования (Benutzbarkeitstest) - установление
степени удобства использования, обучаемости, понятности и
привлекательности для пользователей разрабатываемого продукта в
контексте заданных условий.

Конфигурационное тестирование (Konfigurationstest auch Portabilitätstest) —
проверка работы программного обеспечения при различных
конфигурациях системы (заявленных платформах, поддерживаемых
драйверах, при различных конфигурациях компьютеров и т.д.)
12.04.2015
31
Методы и виды тестирования
1
Методы тестирования: чёрный ящик, белый ящик, серый ящик
2
Некоторые техники чёрного ящика
3
Классификация по видам тестирования
4
Функциональное тестирование
5
Нефункциональное тестирование
6
Регрессионное тестирование
12.04.2015
32
Регрессионное тестирование(Regressionstest)






Регрессионное тестирование - это вид тестирования, проводимый
при изменениях, сделанных в приложении или окружающей среде
(починка дефекта, слияние кода, миграция на другую операционную
систему, базу данных, веб сервер или сервер приложения), для
подтверждения
того
факта,
что
существующая
ранее
функциональность работает как и прежде.
Регрессионными могут быть как функциональные, так и
нефункциональные тесты.
Обычно для «регрешена» используется определенный набор тестов,
которые определяются заранее. С течением времени это набор может
дорабатываться.
Может применятся на любом уровне тестирования.
Необходимо для сохранения качества продукта.
Для ускорения процесса тестирования регрессионные тесты могут
быть автоматизированы.
12.04.2015
33
Регрессионное тестирование (Regressionstest)
и ретест (Nachtest)
Regressionstest

Проводится при изменениях в
приложении или окружении –
проверяем, что то, что работало
раньше по-прежнему работает.
Nachtest = Fehlernachtest

Проводится
после
исправления
дефекта в приложении – проверяем
что ошибка исправлена и больше не
встречается.
Повторный прогон
теста – проверяем,
что дефект
исправлен
С помощью регрешн
теста находятся новые
дефекты
Некоторые
дефекты могут
остаться
необнаруженным
и
Побочные эффекты
исправления –
простой ретест их
не обнаруживает
12.04.2015
34
Спасибо за внимание!