Будем рады прочитать ответы на этот вопрос. Просто проверить, работает оператор или нет, работает он или нет. Вы также можете проверить по требованию, возвращает ли он эти 14 столбцов в указанном порядке.
Трудно проверить, является ли набор результатов правильным ответом. Если у вас есть таблицы с миллионами строк, соединенных с другими таблицами с миллионами строк, вы не можете физически проверить все, чтобы знать, какими должны быть результаты. Мне нравится теория работы с тестовой базой данных с известными условиями, но ее создание и учет крайних случаев, которые могут повлиять на производственные данные, я думаю, что будет трудно решить.
Иногда вы можете смотреть на вещи так, чтобы сказать вам, если все правильно. Иногда я добавляю небольшое ограничение where в запрос отчета, чтобы получить набор результатов, который я могу проверить вручную. (Говорят только записи за несколько дней). Затем я вхожу в таблицы базы данных индивидуально и проверяю, соответствуют ли они тому, что есть у меня. Например, если я знаю, что за этот период времени было 12 встреч для клиента, это результат, который я получил? О, я получил 14, хм, должно быть, одному из объединений нужно больше ограничивающих данных (есть две записи, и я хочу только самую последнюю) Или я получил 10, затем я выясняю, что исключает другие два (обычно объединение, которое должно быть левым соединением или условием где) Должны ли эти двое отсутствовать в бизнес-правилах, которые мне дали, или нет.
Часто при построении я возвращаю больше столбцов, чем мне действительно нужно, чтобы я мог видеть другие данные, это может заставить вас осознать, что вы забыли отфильтровать что-то, что вам нужно отфильтровать, когда появится неожиданное значение. 1007 *
Я внимательно слежу за количеством результатов, прохожу и добавляю соединения и условия. Поднимались ли они вверх или вниз, если так, то это то, что я хотел.
Если у меня есть место, которое в настоящее время возвращает данные, с которыми, как я ожидаю, мои пользователи будут сравнивать этот отчет, я посмотрю там. Например, если они могут искать на веб-сайте доступных докладчиков, а я выполняю экспорт клиенту данных докладчиков, итоговые значения между ними лучше совпадают или могут объясняться различными бизнес-правилами.
При составлении отчетов пользователи отчета часто имеют лучшее представление о том, что должны сказать данные, чем разработчик. Я всегда прошу одного из них взглянуть на данные QA и подтвердить правильность отчета. Они будут часто говорить такие вещи, как то, что случилось с проектом XYZ, это должно быть в этом отчете. Тогда вы знаете, чтобы посмотреть на этот конкретный случай.
Еще одна вещь, которую вам нужно проверить, это не только правильность данных, но и производительность. Если вы проводите тестирование только с небольшой тестовой базой данных, у вас может быть запрос, который работает для получения правильных данных, но который истекает каждый раз, когда вы пытаетесь запустить его на prod с большим набором данных. Поэтому никогда не проверяйте только ограниченный набор данных. И если это вообще возможно, запустите нагрузочные тесты. Вы не хотите, чтобы плохой запрос уничтожил вашу систему и стал первым индикатором проблемы.