Основы разработки тестовых сценариев презентация

Содержание

Составляющие теста Цель теста Метод тестирования Окружение, данные, подготовка системы Сценарий: Шаги, оформленные таблицей или списком Действия Ожидаемые результаты Опциональная дополнительная информация: Снимки экрана

Слайд 1Основы разработки тестовых сценариев


Слайд 2Составляющие теста
Цель теста
Метод тестирования

Окружение, данные, подготовка системы
Сценарий: Шаги, оформленные

таблицей или списком
Действия
Ожидаемые результаты
Опциональная дополнительная информация:
Снимки экрана
Логи
Файлы, сгенерированные в процессе теста


Слайд 3Требования к хорошему тестовому сценарию
Существует обоснованная вероятность выявления тестом дефекта.
 
Определены

входные данные.
 
Определен ожидаемый результат, считаемый «хорошим».

Воспроизводимость.
 
Независимость: может исполняться независимо. Оставляет систему в том же состоянии.

Тест должен быть наилучшим в своей категории.

Экономичный. Нет избыточных шагов.


Слайд 4Основные ошибки при составлении тестовых сценариев
Слишком длинный сценарий.
 
Неполное, неправильное или

непоследовательное описание условий тестирования или подготовки тестового окружения.

Пропущенные «очевидные» шаги.

Использование устаревшей информации о тестируемой системе.

Неочевидно, кто должен выполнить действие: пользователь или система.

Неясно, что является успешным результатом.

Отсутствие очистки системы.


Слайд 5Основные ошибки при составлении тестовых сценариев
Слишком длинный сценарий.
 
Неполное, неправильное или

непоследовательное описание условий тестирования или подготовки тестового окружения.

Пропущенные «очевидные» шаги.

Использование устаревшей информации о тестируемой системе.

Неочевидно, кто должен выполнить действие: пользователь или система.

Неясно, что является успешным результатом.
 
Отсутствие очистки системы.


Слайд 6Методы выбора входных значений
Бессистемный выбор входных значений не позволит найти большое

количество дефектов. Необходимо использование методов для выбора набора входных значений.

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

Слайд 7Метод перебора
Перебираем все возможные значения входных параметров.


Последовательный перебор

всех возможных комбинаций входных значений.
 
 
Попарный перебор. Перебираем комбинации пары 2х входных параметров. Работаем в предположении, что параметры попарно зависимы. На практике находит ~80% функциональных дефектов низкого уровня.


Слайд 8Случайные входные данные
Генерируются случайные входные данные. Либо данные случайным образом выбираются

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

Слайд 9Предугадывание ошибки
Составление тестовых сценариев на основании опыта предыдущего тестирования.
 
Используйте знания об

известных проблемных местах вашего продукта.
 
Знайте распространенные ошибки программирования и пишите тесты для их поиска.
 
 
Некорректная работа с памятью: переполнение, чтение за пределами, утечки памяти.
 Отсутствие обработки некорректных входных данных.
 Ошибки работы с типами данных: переполнение, приведение, приближение.
 Ошибки многопоточности: deadlock, data race.
 Отсутствие инициализации/сброса переменных.
 Недостаток привилегий, недоступность ресурсов.
….


Слайд 10Графы причина-следствие
Выделяем причины и следствия в спецификациях.
 
Строим граф, связывающий причины

и следствия.
 
Выписываем невозможные сочетания причин и следствий.

Разрабатываем «таблицу решений», где в каждом столбце конкретная комбинация входов и выходов.
 
Превращаем каждый столбец в тестовый сценарий. Преимущества и недостатки:
 
Комбинаторный взрыв числа вариантов.
 
Позволяет систематизировать процесс построения сценариев.

Используются эвристики для уменьшения числа комбинаций

Слайд 11Пример графа


Слайд 12Классы эквивалентности
Если от двух тестов ожидается одинаковый результат, – они эквивалентны.
Группа

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


Слайд 13Классы эквивалентности - примеры
Программа классификации треугольников.
Классы эквивалентности по корректным входным данным:
Равнобедренные

треугольники.
 Равносторонние треугольники.
Прямоугольные треугольники.
 Просто треугольники.
 Классы эквивалентности по некорректным входным данным:
Отрезки не образуют треугольник.
Числа больше sizeof(int).
Строка, содержащая буквы.


Слайд 14Классы эквивалентности - Примеры 
Программа, говорящая дату следующего дня.
 
Классы эквивалентности по корректным

входным данным:
День от 1 до 27;
Последний день месяца;
Последний день года;
28 февраля високосного года.
Классы эквивалентности по некорректным входным данным:
 
Месяц > 12;
День > 31;
Неверная строка.


Слайд 15Поиск классов эквивалентности
Построение классов эквивалентности – субъективный процесс. Общие рекомендации:

Не забывайте

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


Слайд 16Граничное тестирование


Слайд 17Граничное тестирование - применение
Определяем границу класса эквивалентности.
Проверяем значения, лежащие ровно

на границе.
 Проверяем значения, лежащие максимально близко к границе с обоих сторон.
 Пример:
 
При покупке более 100 единиц товара дается скидка 5%.
Нужно проверить:
100
99
 101



Слайд 18Оракулы
Оракул – эвристический принцип или механизм идентификации потенциальной проблемы
Оракулы – это

эвристики. Они несовершненны и подвержены ошибкам
 Оракул лишь может указать нам на проблемное место, но не дать ответ, корректно ли поведение программы.


Слайд 19Оракулы. Примеры-1


Слайд 20Оракулы. Примеры-2


Слайд 21Оракулы. Примеры-3


Слайд 22Оракулы. Примеры-4


Слайд 23Оракулы. Примеры-5


Слайд 24Оракулы. Примеры-6


Слайд 25Оракулы. Примеры-7


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика