Метод всех пар, или как не убиться тестируя комбинации

Preview:

DESCRIPTION

Доклад Барановского Александра на SQA Days 7

Citation preview

Личное дело

Работает в компании EPAM Systems

В тестировании более пяти лет

Занимается проведением тренингов

Я говорю на Пиджик

Суть проблемы

Возможные решения

Идея всех пар

Реализация Примеры

Содержание

Суть проблемы

Давайте договоримся

Переменные: Параметры:

Возможны баги из-за комбинаций параметров

Необходимо тестировать комбинации

Как много?

Суть проблемыПараметры

Шрифты: 2 (Times, Arial)

Стили: 4

Размеры: 3

2*4*3*3*211= 147 456 тестов

Цвета: 3 (черный, белый, цветной)

Эффекты: 11 переменных по 2 параметра

Суть проблемы

Итого

Баги из-за «взаимодействия параметров» встречаются достаточно часто

Тестеры это взаимодействие игнорируют из-за большого количества тестов

Возможные решения

Факторы успеха

Количество тестов

Трудоемкость создания

Способность ловить баги

Количество тестов: минимально

Трудоемкость создания: легко

Способность ловить баги: нулевая

Каждую переменную отдельно

Способность ловить баги: все возможные

Трудоемкость создания: легко

Количество тестов: нереальное

Полный перебор

He’s tested all Parameters

Манкей Тестинг

Количество тестов: неизвестно

Трудоемкость создания: неизвестно

Способность ловить баги: неизвестно

Метод «Всех пар»

Количество тестов: минимальное

Трудоемкость создания: относительно легко

Способность ловить баги: высокая

Идея метода «Всех пар»

Arial -> Обычный

Arial -> Курсив

Arial -> Жирный

Arial -> Размер 4

Arial -> Черный

Arial -> Белый

Идея метода «Всех пар»

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

Реализация

Реализация

Итак, определяем переменные:

Find what: text string

Match case: checkbox

Direction: radio button

Реализация, пример

Каждая переменная имеет ряд параметров:

Find what: “CAPITALS”, “Mixed Case”, “lowercase” (3 – C, M, L)

Match case: yes or no (2 – Y, N)

Direction: up or down (2 – U, D)

Реализация, пример

Обратите внимание на сокращения

Реализация, построение таблицы

Латинские квадраты

Ортогональные массивы

IPO метод

C Y

C N

M Y

M N

L Y

L N

Используя шесть колонок мы сократили количество тестов с 96 до 8

C Y U

C N D

M Y D

M N U

L Y

L N

C Y U E G

C N D F H

M Y D F H

M N U E G

L Y U F H

L N D E G

C Y U E G I

C N D F H J

G J

M Y D F G I

M N U E H J

H I

L Y U F H J

L N D E G I

IPO подход, примерПеременные

Параметры

Строить таблицы вручную???

Инструментарий!!!

PICT – Это наш выбор!

Примеры

pict “D:\All Pairs\sample.txt”

PICT, Пример

Пример Строка -> Excel

Заказчик счастлив

Более того!

Переменные:

OSes

Browsers

Hardware

16 тестов вместо 147456

Задачка из начала

Font Style Size ColorUnderline style

Strikethrough

Double Str

Superscript

Subscript

Shadow Outline Emboss Engrave

Small caps All caps Hidden

TT Italic max black none on on on off off off off on off on on

Arial Bold normal blackwords only off off off on on on on off on off off

TT Bold min white other off on off off off on on on off off on

Arial Bold min red none on off on on on off off off on on off

Arial Regular max white other off off on on off on off off off off off

TTBold Italic max red

words only on off off off on off on on on on on

Arial Bold max red none off on off on off off off on on off off

TT Italic normal white other on on on on on on on off off on on

Arial Regular normal black other off on off off on off on on on on on

TT Italic normal redwords only on on on off off on off off on off off

TT Regular min white none on on on off on on on on on off off

ArialBold Italic normal red other off on on on off on off off off off off

TT Regular min redwords only on on on off on on off off off on off

Arial Italic min whitewords only off off off on on off on off on off on

ArialBold Italic min black none off on off off on off on on off on on

TTBold Italic normal white none on on off on on off off on off off on

Не верится?

Вместо заключения

Recommended