Your SlideShare is downloading. ×
  • Like
  • Save
TDD для интеграции с БД легко и просто!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

TDD для интеграции с БД легко и просто!

  • 1,434 views
Published

TDD подход к разработке зарекомендовал себя как очень надежный и быстрый способ реализовать задачи бизнеса с помощью программного кода. Но большая часть примеров на тренингах и в интернете показывает …

TDD подход к разработке зарекомендовал себя как очень надежный и быстрый способ реализовать задачи бизнеса с помощью программного кода. Но большая часть примеров на тренингах и в интернете показывает как применять TDD в очень простых ситуациях для кода вида вход/выход или с использованием заглушек для простых зависимостей. А как насчет остальных областей разработки приложения как интеграция с БД? Возможно ли применить TDD к ним? Что даст в этом случае TDD разработчику? Я попробую в своем докладе ответить на эти вопросы и покажу на практических примерах как может быть полезен подход TDD для кода интеграции с БД, как он уменьшает риски и открывает двери для техник рефакторинга БД. В качестве бонуса будут затронуты некоторые NoSQL решения, что должно сделать тему еще популярнее!

P.S. Все примеры будут демонстрироваться на Java.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,434
On SlideShare
0
From Embeds
0
Number of Embeds
12

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Давайте кодить вместе! https://github.com/xpinjection/tdd-sample
  • 2. Данные очень важны
  • 3. Что тестировать, мас тер? Всё!
  • 4. Чеклист тестирования БД O/R маппинги Потоки данных (входящие и исходящие) Хранимые процедуры, функции, триггеры Схема базы данных Определения отображений (view) Ссылочная целостность Значения по умолчанию для колонок Инварианты данных для колонки Инварианты данных для набора колонок Производительность запросов
  • 5. Вы сошли с ума?
  • 6. Давайте начнем с техник
  • 7. Опрос: Как тестировать интеграцию с БД? Заглушки на API для доступа к БД (JDBC в Java) Заглушки на высокого уровня API (ORM или фреймворк доступа к данным) Заглушки на сервер БД (уровень SQL) Тесты на реальной БД
  • 8. Простейшая техника тестов Даем входные данные (параметры + состояние БД) Вызываем тестируемое поведение Проверяем возвращаемые значения + состояние БД
  • 9. Откат транзакций Мы откатываем незавершенную тестовую транзакцию как часть фазы очистки.
  • 10. Каждый тест сам за себя Каждый тест знает какие данные ему нужны и сам готовит все затрагиваемые таблицы.
  • 11. Ограничения и проверки Наборы тестов Ссылочная целостность Целостность данных Основной Интеграционный Валидационный Каждый тест управляет настройками ограничений в БД самостоятельно
  • 12. Управление структурой БД Инкрементальные обновления для всех поддерживаемых окружений
  • 13. Простые инструменты управление наборами данных интеграционный код и операции для тестирования БД управление разными БД и версионирование
  • 14. Преимущества TDD Нет нужды иметь чеклисты для интеграции с БД Минимальное количество кода и изменений БД Полный контроль над изменениями в БД Открывает двери для рефакторинга БД
  • 15. Хватит разговоров! Покажите мне код!
  • 16. @xpinjection http://xpinjection.com mikalai.alimenkou@xpinjection.com