Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемrain.ifmo.ru
1 Тестирование программных продуктов «Разработка тестов (test case design)» СПб 2009, Oksana Naboka
2 Разработка тестов Как можно «обнаружить» тест? Техники тестирования
3 Разработка тестов Тщательное изучение и анализ требований (описания функции, модуля, спецификации, и т.д.). Декомпозиция требований\функций. Выявление всех условий, входных и выходных данных (что) Анализ поведения (как) Использование различных техник для выделения определенных тестов Использование накопленных знаний о выполненных проектах (оттестированных продуктах) Интуиция Анализ\просмотр выявленных тестов и добавление новых Техники тестирования
4 Разработка тестов: классы эквивалентности Разбиение на классы эквивалентности (Equivalence Class Testing\ Equivalence Portioning) Анализируем входные и выходные данные правильные классы эквивалентности (корректные входные данные) неправильные классы эквивалентности (ошибочные входные данные) Техники тестирования
5 Классы эквивалентности Классы эквивалентности: множество значений: -> правильный класс для каждого корректного значения Техники тестирования
6 Классы эквивалентности Классы эквивалентности: некорректные значения -> тестировать одно некорректное значение за раз для того, чтобы проверить, что система идентифицирует его корректно. Техники тестирования
7 Разработка тестов: граничные значения Анализ граничных значений ( Boundary Value Testing) идентифицировать граничные значения для каждого входного значения (класса эквивалентности) на границе значение, меньшее граничного («у границы»\below point) значение, большее граничного («за границей» \above point) Примеры: Область корректных значений: [-1.0, 1.0] -> тесты для -1.0, 1.0, , Максимальная длина слова – 5 символов - > тесты для 4,5,6 Область выходных значений: минимум расхода 0.00, максимум > подбираем входные данные для того, чтобы получить на выходе 0.00, , , Техники тестирования
8 Граничные значения Граничные значения: «точка»: Z -> Z-1, Z, Z+1 Граничные значения: область корректных значений [x, y] -> x-1, x, y, y+1 Техники тестирования
9 Разработка тестов: таблицы решений Таблицы решений ( Decision Table Testing) 1. Определить список возможных условий Техники тестирования Условие 1 Условие 2
10 Разработка тестов: таблицы решений Таблицы решений ( Decision Table Testing) 2. Определить список всех возможных действий (ожидаемых результатов для условий). Техники тестирования Условие 1 Условие 2 Действие 1 Действие 2
11 Разработка тестов: таблицы решений Таблицы решений ( Decision Table Testing) 3. Определить все значения для условий («да»\«нет» или более 2х значений) и их уникальные комбинации, которые приводят к выполнению ожидаемых результатов связанных с этим правилом Техники тестирования Условие 1да нет Условие 2нетда нет Действие 1XX Действие 2XX
12 Разработка тестов: таблицы решений Таблицы решений ( Decision Table Testing) 4. Создать тест кейс для каждого правила (столбца) – как минимум один, если условия бинарные и если условие – интервал значений, рассмотреть тесты как для нижней так и для верхней границы интервала Техники тестирования
13 Разработка тестов: функциональные диаграммы Метод функциональных диаграмм (Cause-Effect Graphing) предлагает способ перевода спецификаций, написанных на естественном языке, на язык формальный способствует проектированию высокорезультативных тестов, не страдающих избыточностью, и обнаруживающих случаи неполноты и неоднозначности во входных спецификациях Техники тестирования
14 Разработка тестов: функциональные диаграммы 1. Разбить внешние спецификации на отдельные функции, которые будут тестироваться (декомпозиция фугкциональных требований) 2. Идентифицировать явные и неявные причины (условия на входе) и присвоить каждой из них уникальный номер 3. Идентифицировать явные и неявные эффекты (действия на выходе) и присвоить каждому из них уникальный номер 4. Перевести семантику спецификации в граф «причина-следствие» (Boolean cause-effect graphing) 5. Добавить информацию о невозможных комбинация причин\эффектов 6. Построить таблицу решений (бинарные значения) 7. Записать тест кейс для каждого столбца Техники тестирования
15 Разработка тестов: функциональные диаграммы Пример 1 -> Requirements for Calculating Car Insurance Premiums: For females less than 65 years of age, the premium is $500 For males less than 25 years of age, the premium is $3000 For males between 25 and 64 years of age, the premium is $1000 For anyone 65 years of age or more, the premium is $1500 Техники тестирования
16 Разработка тестов: функциональные диаграммы 2 Причины (Causes (input conditions)): 1. Пол: мужской 2. Пол: женский 3. Возраст: =25 and < Возраст: >= 65 Техники тестирования
17 Разработка тестов: функциональные диаграммы 3 Следствия (Effects (output conditions)): 100. Премия = $ Премия = $ Премия = $ Премия = $500 Техники тестирования
18 Разработка тестов: функциональные диаграммы Техники тестирования 4 Причина: 1. Пол: мужской and 4. Возраст: >=25 and < 65 Следствие: 100: Премия = $1000 CEG # 1
19 Разработка тестов: функциональные диаграммы Техники тестирования 4 Причина: 1. Пол: мужской and 3. Возраст: < 25 Следствие: 101: Премия = $1000 CEG # 2
20 Разработка тестов: функциональные диаграммы Техники тестирования 4 Причина: 1. Пол: мужской and 5. Возраст: >= 65 or 2. Пол: женский and 5. Возраст: >= 65 Следствие: 102: Премия = $1500 CEG # 3
21 Разработка тестов: функциональные диаграммы Техники тестирования 4 Причина: 2. Пол: женский and 3. Возраст: =25 and < 65 Следствие: 103: Премия = $500 CEG # 4
22 Разработка тестов: функциональные диаграммы Техники тестирования 5 CEG # 3 Причина: 1. Пол: мужской and 5. Возраст: >= 65 or 2. Пол: женский and 5. Возраст: >= 65 Следствие: 102: Премия = $1500
23 Разработка тестов: функциональные диаграммы 6 Техники тестирования Test Cases (мужской) (женский) (< 25) (>= 25 and < 65) (>= 65) (1000$) (3000$) (1500$) (500$)000011
24 Разработка тестов: предположение об ошибке Предположение об ошибке (Error Guessing) Этот метод в значительной степени является интуитивным. Тест инженер использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы "предугадать" при каких входных условиях система может выдать ошибку. Перечислить в некотором списке возможные ошибки или ситуации, в которых они могут появиться, а затем на основе этого списка написать тесты. Техники тестирования
25 Разработка тестов: предположение об ошибке Ошибка адресации – ошибка, состоящая в неправильной адресации данных (например, выход за пределы участка памяти). Ошибка ввода-вывода – ошибка, возникающая в процессе обменад анными между устройствами памяти, внешними устройствами. Ошибка вычисления – ошибка, возникающая при выполнении арифметических операций (например, разнотипные данные, деление нануль и др.). Ошибка интерфейса – программная ошибка, вызванная несовпадением характеристик фактических и формальных параметров (как прави-ло, семантическая ошибка периода компиляции, но может быть и логической ошибкой периода выполнения). Ошибка обращения к данным – ошибка, возникающая при обращении программы к данным (например, выход индекса за пределы массива, не инициализированные значения переменных и др.). Ошибка описания данных – ошибка, допущенная в ходе описания данных. Техники тестирования
26 Разработка тестов Requirements-Driven Testing Проверяем каждое требование\запрос, которое описано или озвучено анализ требований: выявление неоднозначностей, неточностей, пропущенной информации и т.п. (можно использовать функциональные диаграмма) Отслеживаем все требования и их покрытие тестами список требований с идентификаторами и соответствующих тестов (Requirements Tracing Matrix) Для каждого требования должны быть разработаны тесты
27 Разработка тестов Risk-Based Testing Scenario Testing …
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.