Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Метод всех пар

Читайте также:
  1. A. гностическим методам
  2. Amp;Сравнительная характеристика различных методов оценки стоимости
  3. C) Методы стимулирования поведения деятельности
  4. E) мировоззренческая, гносеологическая, методологическая.
  5. I ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  6. I. Из истории развития методики развития речи
  7. I. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
  8. I. ОБЩИЕ МЕТОДИЧЕСКИЕ УКАЗАНИЯ
  9. I. ОБЩИЕ МЕТОДИЧЕСКИЕ УКАЗАНИЯ
  10. I. ОБЩИЕ ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

Итак, pairwise testing - это техника формирования наборов тестовых данных. Сформулировать суть можно, например, вот так: формирование таких наборов данных, в которых каждое тестируемое значение каждого из проверяемых параметров хотя бы единожды сочетается с каждым тестируемым значением всех остальных проверяемых параметров

 

Метод всех пар гарантирует, что все комбинации из пар значений любых переменных будут протестированы.

 

Возьмем для примера таблицу параметров и значений следующего вида:

 

Переберем значения первого параметра со вторым (строки №1-4), первого с третьим (строки №5-8) и второго с третьим (строки №9-12).

Удалив повторяющиеся наборы параметров (выделены серым), получим следующую таблицу тестов:

 

Зеленым выделены уникальные пары всех параметров в таблице. Теперь начинается самое интересное, значения выделенные белым не являются необходимыми для перебора всех пар в таблице, поэтому могут быть заменены на любое другое значение. Поэтому заменив их, мы можем оптимизировать тесты, добавив проверку пар из 5, 6 и 7 строк во вторую и третью строки, получим:

 

Допустим, какое-то значений (налог) для человека рассчитывается на основании его пола, возраста и наличия детей - получаем три входных параметра, для каждого из которых для тестов выбираем каким-то образом значения.

Например:

пол - мужской или женский;

возраст - до 25, от 25 до 60, более 60; наличие детей - да или нет.

Для проверки правильности расчётов можно, конечно, перебрать все комбинации значений всех параметров:

№ пол возраст дети

1 мужчина до 25 детей нет

2 женщина до 25 детей нет

3 мужчина 25-60 детей нет

4 женщина 25-60 детей нет

5 мужчина старше 60 детей нет

6 женщина старше 60 детей нет

7 мужчина до 25 дети есть

8 женщина до 25 дети есть

9 мужчина 25-60 дети есть

10 женщина 25-60 дети есть

11 мужчина старше 60 дети есть

12 женщина старше 60 дети есть

 

А можно решить, что нам не нужны сочетания значений всех параметров со всеми, а мы хотим только убедиться, что мы проверим все уникальные пары значений параметров. Т.е., например, с точки зрения параметров пола и возраста мы хотим убедиться, что мы точно проверим мужчину до 25, мужчину между 25 и 60, мужчину после 60, а также женщину до 25, женщину между 25 и 60, ну и женщину после 60. И точно так же для всех остальных пар параметров. И таким образом, мы можем получить гораздо меньше наборов значений (в них есть все пары значений, правда некоторые дважды):

 

 

№ пол возраст дети

1 мужчина до 25 детей нет

2 женщина до 25 дети есть

3 мужчина 25-60 дети есть

4 женщина 25-60 детей нет

5 мужчина старше 60 детей нет

6 женщина старше 60 дети есть

Такой подход примерно и составляет суть техники pairwise testing - мы не проверяем все сочетания всех значений, но проверяем все пары значений.

 

Когда ведут речь о pairwise testing, чаще всего сравнивают его именно с перебором всех возможных комбинаций значений, и одно из главных достоинств pairwise testing в том, что с его использованием получается гораздо меньшее количество тестовых наборов данных, чем при полном переборе, который во многих случаях просто невозможен.

 

Наверное, по приведённому выше примеру может показаться, что разница между этой техникой и перебором всех значений не так и велика. Но это только при таком незначительном количестве параметров и их значений, а чем их больше - тем значительнее разница. Допустим, если есть 50 параметров, каждый из которых может принимать 2 значения, то для полного перебора потребуется количество комбинаций равное 2 в степени 50, т.е. 1 125 899 906 842 624:) А при использовании pairwise testing можно обойтись всего четырнадцатью комбинациями!

 

Кстати, составление нужных комбинаций данных - задачка часто не самая простая, но, к счастью, для её решения существует много инструментов, разного уровня качества и (бес)платности:)

 

Разумеется, технику эту надо применять именно в тех случаях, в которых это целесообразно.

Вот если, например, у нас просто есть формочка с каким-то количеством разных полей, данные из которых просто сохраняются в базу данных, то применение этой техники практически не имеет смысла, ведь данные не взаимодействуют друг с другом (хотя и могут быть нюансы, как эти данные сохраняются в базу)! А pairwise testing - это та техника, применять которую стоит именно в случае взаимодействующих значений (для невзаимодействующих - чаще всего достаточно просто отдельной проверки каждого из параметров).

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

Эта техника обеспечивает достаточно высокое покрытие, но далеко не полное - если вдруг ошибка возникает при сочетании трёх, четырёх или более параметров, то pairwise testing может и не помочь (это уж как повезёт).

 

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

 

Инструмент для попарного тестирования от Microsoft – PICT (Pairwise Independent Combinatorial Testing).

 

 

 




Дата добавления: 2015-01-07; просмотров: 72 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав