Прохожу практику в одной компании и дали мне задание тестировать sql запросы. Тестирование для меня зверь новый, и со всеми вопросами, естественно, был послан в гугл. Покопавшись в нем пришел к выводу, что тестирование sql запросов это простой ввод запросов и проверка на наличие ошибок, в результатах этих самых запросов. Но кажется мне что не все так просто и я что то упускаю. Буду рад любой ссылочке или подсказке. Заранее благодарю.
Может быть это создание автоматических тестов, которые проверят корректность вывода... А может и содержимое специально для тестов помогут сгенерировать, ведь проект проекту рознь, где-то иной запрос если делать по реальной таблице, да по всей, то займет минут так 30...
А вообще в вопросе тестирования нужно отталкиваться от тестов (неожиданно? :)
То есть нужно придумать тест-кейсы, которые важны и гипотетически могут сбиться
Соответственно вам бы сделать фикстуры (демо-данные) со скользкими и пограничными особенностями) и на них делать выборки и вставки и смотреть -- пройдут или нет
Я не знаю, что имелось в виду, если честно. В своё время меня интересовала тема тестирования кода, который писался с помощью SQL. Я тогда нагуглил вот это (dbunit.sourceforge.net/), но так эта тема при мне и не пробегала больше.
Все тестирования сводились к запуску любого кода на привычных нам языках, который работал с БД. Перед каждым прогоном тестовая база разворачивалась из копии или скриптов.
В SSMS нажмите кнопку "Синтаксический анализ" - будет проведена проверка текста запроса.
Кнопка "Отладка" приведёт вас в удивительный мир программиста, который умеет читать план запроса.
Константин Цветков, зачем? в результате то все равно выполнится EXPLAIN. И даже Ваша волшебная кнопка "отладка" сделает ровно то-же самое. Т.е. независимо от БД можно научиться пользоваться 1 командой - или под каждую БД искать "средство разработки", в котором эта-же команда будет выполняться нажатием 1 кнопки.
Я понимаю, что в отсутствии человеческой консоли приходится пользоваться "средствами разработки". Но это не везде так.