Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,252 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Функциональное тестирование – тестируем функционально Солодов Владимир Luxoft
  2. 2. Немного лирики
  3. 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>
  4. 4. Анализ решения Много входных месседжей проходящих различные флоу Для синхронизации потребуются таймеры Потребуются заглушки для внешних систем Все должно синхронизироваться с реальной системой
  5. 5. Уточнение требований Все сообщения загружаются без проверки тестов Тесты должны писаться на каждый пункт спецификации В системе много статики, тесты должны проверять изменение статики Никаких заглушек не будет
  6. 6. Структура спецификации
  7. 7. Принцип тестирования 1 Не делаем End-To-End проверки. Проверям по принципу "Одна бизнес функция - один тесткейс".
  8. 8. Принцип тестирования 2 Организуем входные данные максимально изолировано друг от друга. Тест является отображением множество входных данных во множество выходных. Если последовательность важна, то она является входным параметром.
  9. 9. Структура системы Составление фазового портрета системы • Запуск входных сообщений • Агрегирование информации (логирование, сохранение в базе данных ) Верификация • Проверка полученного портрета системы на соответствие ожидаемому результату
  10. 10. Профит 1. Гранулярность тестов => тесты сваливаются, если в тестируемом функционале (а не рядом!) действительно были изменения 2. Тесты абсолютно точно показывают, где есть проблема 3. Значительно уменьшается зависимость от внешних систем 4. Система очень точно показывает покрытие функционала тестами 5. Можно писать тесты, которые предугадывают поведение системы при изменениях, тесты, которые недостижимы при нормальном флоу 6. Нет простоя при отправке входных данных следующего теста, связанного с ожиданием окончания предыдущего
  11. 11. Демонстрация и вопросы
  12. 12. Спасибо за внимание!

×