Your SlideShare is downloading. ×
Давайте кодить вместе!
https://github.com/xpinjection/tdd-sample
Данные очень важны
Что
тестировать, мас
тер?
Всё!
Чеклист тестирования БД
O/R маппинги
Потоки данных (входящие и исходящие)
Хранимые процедуры, функции, триггеры
Схема базы...
Вы сошли
с ума?
Давайте начнем с техник
Опрос: Как тестировать
интеграцию с БД?
Заглушки на API для доступа к
БД (JDBC в Java)
Заглушки на высокого уровня
API (OR...
Простейшая техника тестов
Даем входные
данные
(параметры +
состояние БД)
Вызываем
тестируемое
поведение
Проверяем
возвраща...
Откат транзакций
Мы откатываем незавершенную тестовую
транзакцию как часть фазы очистки.
Каждый тест сам за себя
Каждый тест знает какие данные ему нужны
и сам готовит все затрагиваемые таблицы.
Ограничения и проверки
Наборы тестов Ссылочная
целостность
Целостность
данных
Основной
Интеграционный
Валидационный
Каждый...
Управление структурой БД
Инкрементальные обновления для
всех поддерживаемых окружений
Простые инструменты
управление наборами данных
интеграционный код и
операции для тестирования БД
управление разными БД и
в...
Преимущества TDD
Нет нужды иметь чеклисты для
интеграции с БД
Минимальное количество кода
и изменений БД
Полный контроль н...
Хватит разговоров!
Покажите мне код!
@xpinjection
http://xpinjection.com
mikalai.alimenkou@xpinjection.com
TDD для интеграции с БД легко и просто!
TDD для интеграции с БД легко и просто!
Upcoming SlideShare
Loading in...5
×

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

1,597

Published on

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

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,597
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

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

×