Функциональное тестирование - тестируем...

12
Функциональное тестирование – тестируем функционально Солодов Владимир Luxoft

Upload: sqalab

Post on 25-Jun-2015

557 views

Category:

Education


0 download

DESCRIPTION

Презентация Татьяны Зинченко на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.com

TRANSCRIPT

Page 1: Функциональное тестирование - тестируем функционально

Функциональное тестирование –тестируем функционально

Солодов ВладимирLuxoft

Page 2: Функциональное тестирование - тестируем функционально

Немного лирики

Page 3: Функциональное тестирование - тестируем функционально

Постановка задачи<data> <trader1 name='Solodov' from='Moscow'/> <trader2 name='Smith' from='London' /> <operation side='Buy' amount='1000' ccy='GBP' /> <product name='BMW Stocks' /></data>

<data> <version>1</version> <dates> <trading>2014-11-12</trading> <settlement>2014-11-12</settlement> </dates> <trader1 name='Solodov' from='Moscow' login=''/> <trader2 name='Smith' from='London' /> <operation side='Buy' amount='1000' ccy='GBP' brockerage='100' /> <product name='BMW Stocks' id='DE1245789012'/> <stock market='DAX' submarket='XET' /> <inventory>Bloomberg NYC</inventory> <coments> <coment1>This is the first trade</coment1> </coments></data>

Page 4: Функциональное тестирование - тестируем функционально

Анализ решения

Много входных месседжей проходящих различные флоу

Для синхронизации потребуются таймеры

Потребуются заглушки для внешних систем

Все должно синхронизироваться с реальной системой

Page 5: Функциональное тестирование - тестируем функционально

Уточнение требований

Все сообщения загружаются без проверки тестов

Тесты должны писаться на каждый пункт спецификации

В системе много статики, тесты должны проверять изменение статики

Никаких заглушек не будет

Page 6: Функциональное тестирование - тестируем функционально

Структура спецификации

Page 7: Функциональное тестирование - тестируем функционально

Принцип тестирования 1

Не делаем End-To-End проверки. Проверям по принципу "Одна бизнес функция - один тесткейс".

Page 8: Функциональное тестирование - тестируем функционально

Принцип тестирования 2

Организуем входные данные максимально изолировано друг от друга.Тест является отображением множество входных данных во множество выходных.Если последовательность важна, то она является входным параметром.

Page 9: Функциональное тестирование - тестируем функционально

Структура системы

Составление фазового портрета системы

• Запуск входных сообщений

• Агрегирование информации (логирование, сохранение в базе данных )

Верификация• Проверка полученного

портрета системы на соответствие ожидаемому результату

Page 10: Функциональное тестирование - тестируем функционально

Профит

1. Гранулярность тестов => тесты сваливаются, если в тестируемом функционале (а не рядом!) действительно были изменения

2. Тесты абсолютно точно показывают, где есть проблема3. Значительно уменьшается зависимость от внешних

систем4. Система очень точно показывает покрытие

функционала тестами5. Можно писать тесты, которые предугадывают

поведение системы при изменениях, тесты, которые недостижимы при нормальном флоу

6. Нет простоя при отправке входных данных следующего теста, связанного с ожиданием окончания предыдущего

Page 11: Функциональное тестирование - тестируем функционально

Демонстрация и вопросы

Page 12: Функциональное тестирование - тестируем функционально

Спасибо за внимание!