SlideShare una empresa de Scribd logo
1 de 17
Практики тест-дизайна:
эквивалентное разделение


                    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/Se
   lautotarifRus.aspx
Что мы делаем?
• Разбиение областей значений на
  подобласти
• Выбор конкретных значений из
  подобластей
Класс эквивалентности - это
множество, все элементы которого
 программа обрабатывает
 одинаково.
С чего начать?
• Определение требований
  (формализованных или
  нет)
• Определение
  характеристик параметра
• Выделение классов
  эквивалентности для
  каждой характеристики
Продолжаем тестирование!
Выделяем классы
        эквивалентности
Если сущность определена
  диапазоном значений, то
  для нее выделяется:
- сам диапазон;
- значения слева от
  диапазона;
- значения справа от
  диапазона.
Выделяем классы
       эквивалентности
Если сущность определена
  набором каких-либо
  данных, то выделяют:
- класс валидных данных;
- класс невалидных
  данных.
Выделяем классы
       эквивалентности
Если сущность определена
  каким-либо условием:
- класс, выполняющий
  условие;
- класс, не выполняющий
  условие.
Доразбиение классов
      эквивалентности
Подобласти значений
  выделяются:
- по очевидным
  различиям;
- по данным, которые
  чаще всего вводит
  пользователь;
- произвольно.
Еще виды классов
          эквивалентности




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




            Истинные             Ложные
        нелинейные классы   нелинейные классы
Что может пойти не так?
• Слишком много
  классов
  эквивалентности
• Слишком мало
  классов
  эквивалентности
• Неверные классы
  эквивалентности
Выбираем значения
• Случайным образом
• Пропорциональное
  разбиение
• Основываясь на
  рисках
• Анализ граничных
  значений
• Специальные
  значения
• Сочетание
  невалидных
  значений
Поиграем?
1) Придумать (или
   вспомнить) по
   одному слову на
   каждую букву
   алфавита (из
   пройденного
   материала)
2) За каждое слово:
   +1 балл
УРА!!


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

Más contenido relacionado

Más de CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Más de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

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