Powerpoints

advertisement
Оффлайн-разработка баз
данных и модульное
тестирование с помощью SSDT
Андрей Завадский
MCSE, MCSD, MCT
Содержание
Концепция SQL Server Data Tools и обзор возможностей
Оффлайн-разработка баз данных





Создание проекта баз данных
Создание объектов базы данных и написание T-SQL кода
Настройки проекта
Развертывание
Скрипты для вставки данных при развертывании
Модульное тестирование базы данных




2
Предмет тестирования
Создание и выполнение модульного теста
Отладка объектов базы данных
Создание пользовательских условий теста
2
Концепция SQL Server Data Tools
Фокусировка внимания на конечном результате вместо итераций по
изменению базы данных
Единая среда для разработчика:





3
Реализована на базе Visual Studio
Возможность работы в существующих базах данных (как в SQL Server Management Studio)
Проектный подход к написанию кода
Отладка и тестирование
Управление версиями
3
Обзор возможностей SQL Server Data Tools
Разработка в подключенной базе данных



Создание и изменение баз данных и объектов
Просмотр и изменение данных в таблицах
Развертывание пакетов DACPAC
Оффлайн-разработка баз данных




Создание проекта баз данных, создание объектов базы данных и написание T-SQL кода
Управление версиями через интеграцию с Team Foundation Server
Модульное тестирование
Развертывание базы данных
Дополнительные инструменты


4
Сравнение и синхронизация схемы базы данных и самих данных
Запросы
4
Оффлайн-разработка баз данных
Создание проекта баз данных
Создание объектов базы данных


Импорт объектов из существующей базы
Создание «с нуля»
Настройки проекта



Целевая платформа (2005 – 2014, Azure), настройки базы данных
Развертывание базы данных при отладке
Анализ кода
Развертывание проекта


В подключенной базе данных
В отсоединенной базе данных
Скрипты для вставки данных при развертывании
5
5
Развертывание проекта
Развертывание в подключенной базе данных




Создание скрипта для развертывания (CREATE)
Сравнение с целевой базой
Создание скрипта изменений (ALTER)
Выполнение скрипта изменений в целевой базе данных
Развертывание в отсоединенной базе данных





6
Создание пакета DACPAC
Импорт пакета DACPAC в целевой базе данных
Сравнение DACPAC с целевой базой
Создание скрипта изменений
Выполнение скрипта изменений в целевой базе данных
6
Скрипты для вставки данных при развертывании
Создание скриптов


На основе существующих данных
«С нуля»
Скрипт «до развертывания»
Скрипт «после развертывания»
7
7
Модульное тестирование базы данных
Модульный тест





Выполняется на очень маленьких частях кода
Изолирован от других частей кода
Должен быть повторяемым
Дает ответ только на один вопрос
Обычно создается разработчиками
Ошибки и изоляция зависимостей
Подчиненный
модуль
8
Тестируемый
модуль
Тест
8
Что можно тестировать?
Мета-данные


Структура таблиц, типы и размерность полей
Наличие объектов базы данных (например, индексы)
Ограничения



CHECK, DEFAULT
PRIMARY KEY, FOREIGN KEY
UNIQUE
T-SQL код



9
Хранимые процедуры
Функции
Триггеры
9
Данные, которые можно протестировать
Скалярные величины




Нормальные значения
Ошибки (некорректные значения)
Очень большие значения
NULL
Табличные данные




10
Набор строк
Пустой набор строк
Очень большой набор строк
Метаданные
10
Отладка в модульном тестировании
Можно выполнить только отладку T-SQL кода, который тестируется (точка
прерывания внутри хранимой процедуры, функции или триггера)
Нельзя выполнить отладку кода модульного теста
11
11
Создание пользовательских условий теста
https://msdn.microsoft.com/ru-ru/library/jj860449(v=vs.103).aspx
12
12
Вопросы?
Спасибо за участие!
Download