CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй...

Post on 22-Jun-2015

955 views 1 download

Transcript of CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй...

Практики тест-дизайна: эквивалентное разделение

Workshop

Куда жаловаться? vestfalka

vestfalka.blogspot.com

tzinchenko.moikrug.ru

tzinchenko@archer-soft.com

Основные техники тест-дизайна

• Equivalence Partitioning

• Boundary Value Analysis

• Cause/Effect• Error Guessing• Exhaustive Testing

Тестируемое приложение

http://www.russianpost.ru/autotarif/SelautotarifRus.aspx

Что мы делаем?

• Разбиение областей значений на подобласти

• Выбор конкретных значений из подобластей

Класс эквивалентности - это

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

С чего начать?

• Определение требований (формализованных или нет)

• Определение характеристик параметра

• Выделение классов эквивалентности для каждой характеристики

Продолжаем тестирование!

Выделяем классы эквивалентности

Если сущность определена диапазоном значений, то для нее выделяется:

- сам диапазон;- значения слева от

диапазона;- значения справа от

диапазона.

Выделяем классы эквивалентности

Если сущность определена набором каких-либо данных, то выделяют:

- класс валидных данных;

- класс невалидных данных.

Выделяем классы эквивалентности

Если сущность определена каким-либо условием:

- класс, выполняющий условие;

- класс, не выполняющий условие.

Доразбиение классов эквивалентности

Подобласти значений выделяются:

- по очевидным различиям;

- по данным, которые чаще всего вводит пользователь;

- произвольно.

Еще виды классов эквивалентности

Линейные классы эквивалентности

Нелинейные классыэквивалентности

Истинные нелинейные классы

Ложные нелинейные классы

Что может пойти не так?

• Слишком много классов эквивалентности

• Слишком мало классов эквивалентности

• Неверные классы эквивалентности

Выбираем значения

• Случайным образом

• Пропорциональное разбиение

• Основываясь на рисках

• Анализ граничных значений

• Специальные значения

• Сочетание невалидных значений

Поиграем?

1) Придумать (или вспомнить) по одному слову на каждую букву алфавита (из пройденного материала)

2) За каждое слово: +1 балл

УРА!!

Вопросы?Пожелания?Предложения?