Тестирование на основе моделей: "ужас-ужас" или...

30
Тестирование на основе моделей Алексей Баранцев, Software-Testing.Ru

Upload: sqalab

Post on 14-Nov-2014

657 views

Category:

Education


1 download

DESCRIPTION

Доклад Алексея Баранцева в конференции SQADays-15, 19.04.2014, г.Москва

TRANSCRIPT

Page 1: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Тестирование на основе моделейАлексей Баранцев,

Software-Testing.Ru

Page 2: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Кто здесь?

Алексей БаранцевSoftware-Testing.Ru

[email protected]: barancevg+ AlexeiBarantsev

Page 3: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Что такое «модель»?

модели

Page 4: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Что такое модель?

модели

Page 5: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Упрощенное подобие

Page 6: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Требования к модели

• Адекватность• Точность• Экономичность• Универсальность

Page 7: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Моделирование

Page 8: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Назначение моделей

• Генерация тестов• Определение полноты покрытия

генерация тесто

в

Page 9: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Назначение моделей

• Генерация тестов• Определение полноты покрытия

оценка полноты

Page 10: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Модели данных• Разбиение на подобласти• Статистические модели• Покрывающие наборы• Анализ потоков данных

Page 11: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

КЭ

Page 12: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Статистика

Никита Налютин, Математика для тестировщиков

Page 13: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

exit poll

Page 14: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Модели поведения

• «Набор линейных сценариев»• Диаграммы состояний и переходов

Page 15: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Покрытие переходов

Page 16: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Покрытие переходов

Page 17: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Явная модельявна

я модель

Page 18: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

UniTesK / Summer

Page 19: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Демо!

Page 20: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

LoginTest

до после

login

logout

login

logout

Page 21: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

LoginTest с параметрами

до после

login(user)

logout

login(user)

logout

Page 22: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Состояние (state)

до после

login(user)

logoutoff

login(user)

logout

on

Page 23: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

AddRemoveUserTest

до после

create(user)

delete

off

delete

create(user)

on

login

@before: login

Page 24: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

AddRemoveUserTest

off

delete

onX

loginonX+1

onX+3

onX+2

createlogout

Page 25: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

AddRemoveUserTest

off

delete

onX

loginonX+1

onX+3

onX+2

create

logout

Page 26: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

AddRemoveUserTest

off

delete : X = X-1

create: X = X+1

onX

loginlogout

Page 27: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

AddRemoveUserTest

off

delete : X = X-1

create: X = X+1

roleX

loginlogout

Page 28: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Ужас-ужас?

Page 29: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Не так уж это и страшно

Page 30: Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?

Алексей Баранцев Software-Testing.Ru Selenium2.Ru Confetqa.Ru [email protected] skype:barancev g+ AlexeiBarantsev

Вопросы?

Алексей БаранцевSoftware-Testing.Ru

[email protected]: barancevg+ AlexeiBarantsev