1 · Orientation
Где SQL входит в цикл тестирования
~0,8 ч

T-SQL как рабочий инструмент проверки, а не как тема. Для QA-инженеров, знающих основы и которым теперь нужно проверять, что система действительно записала: сверка миграций, поиск дубликатов, распознавание запроса, который зеленеет там, где должен краснеть. Всё на одной вымышленной платформе — от чужой схемы до детерминированного ассерта. Юниты открыты в любом порядке.
Занятие — на вашем языке: его ведёт ассистент.
Ассистент берёт материал курса с нашего сервера и ведёт занятие на вашем языке.
Экзамен сдаётся на сайте, без ассистента. Вопросы экзамена не переводятся: так решено для всех курсов.
порядок свободный · ступени ниже — тот порядок, который предлагает автор, а не условиеВид: карта · ступени
1 · Orientation
Где SQL входит в цикл тестирования
~0,8 ч
2 · Orientation
Чтение схемы, которую проектировали не вы
~1 ч
по замыслу автора — после «Где SQL входит в цикл тестирования»
3 · Orientation
Безопасная работа на общем тестовом стенде
~1 ч
по замыслу автора — после «Где SQL входит в цикл тестирования»
4 · Precise retrieval
SELECT, который отвечает ровно на один вопрос
~0,9 ч
по замыслу автора — после «Чтение схемы, которую проектировали не вы»
5 · Precise retrieval
NULL и логика, у которой три ответа
~1,1 ч
по замыслу автора — после «SELECT, который отвечает ровно на один вопрос»
6 · Precise retrieval
Типы, преобразования и параметры сортировки
~1 ч
по замыслу автора — после любого из: «Чтение схемы, которую проектировали не вы», «SELECT, который отвечает ровно на один вопрос»
7 · Precise retrieval
Даты, время и последний день месяца
~1,1 ч
по замыслу автора — после любого из: «SELECT, который отвечает ровно на один вопрос», «Типы, преобразования и параметры сортировки»
8 · Across tables
INNER и LEFT: какие строки соединение выбрасывает
~1 ч
по замыслу автора — после любого из: «SELECT, который отвечает ровно на один вопрос», «NULL и логика, у которой три ответа»
9 · Across tables
~1 ч
по замыслу автора — после «INNER и LEFT: какие строки соединение выбрасывает»
10 · Across tables
Когда соединение размножает строки
~1,1 ч
по замыслу автора — после «INNER и LEFT: какие строки соединение выбрасывает»
11 · Across tables
Операции над множествами как сверка
~1 ч
по замыслу автора — после любого из: «NULL и логика, у которой три ответа», «INNER и LEFT: какие строки соединение выбрасывает»
12 · Aggregation
~1 ч
по замыслу автора — после любого из: «SELECT, который отвечает ровно на один вопрос», «Когда соединение размножает строки»
13 · Aggregation
~1 ч
по замыслу автора — после «GROUP BY и пересчёт отчёта»
14 · Aggregation
~1 ч
по замыслу автора — после любого из: «Когда соединение размножает строки», «GROUP BY и пересчёт отчёта»
15 · Aggregation
Оконные функции для тестировщика
~1,1 ч
по замыслу автора — после любого из: «HAVING и поиск дубликатов», «Подзапросы и CTE»
16 · Data before and after the test
Тестовые данные: подготовка и идемпотентная очистка
~1,1 ч
по замыслу автора — после любого из: «Безопасная работа на общем тестовом стенде», «Операции над множествами как сверка»
17 · Data before and after the test
Проверка того, что приложение действительно записало
~1,1 ч
по замыслу автора — после любого из: «Оконные функции для тестировщика», «Тестовые данные: подготовка и идемпотентная очистка»
18 · Data before and after the test
Чтение представлений, процедур и триггеров
~1 ч
по замыслу автора — после любого из: «Тестовые данные: подготовка и идемпотентная очистка», «Проверка того, что приложение действительно записало»
19 · Data before and after the test
Превращение проверки в детерминированное утверждение
~1,1 ч
по замыслу автора — после любого из: «Тестовые данные: подготовка и идемпотентная очистка», «Проверка того, что приложение действительно записало»
20 · Optional
Необязательно: соберите ENGAGE локально и выполните проверки
~1,5 ч
по замыслу автора — после любого из: «Чтение схемы, которую проектировали не вы», «Превращение проверки в детерминированное утверждение»
21 · Optional
Необязательно: медленные запросы и заблокированные среды
~0,8 ч
по замыслу автора — после любого из: «Безопасная работа на общем тестовом стенде», «Даты, время и последний день месяца»
22 · Optional
Необязательно: данные клиента, PII и ИИ-ассистенты
~0,7 ч
по замыслу автора — после «Где SQL входит в цикл тестирования»
23 · Optional
Необязательно: сквозная сверка миграции
~1 ч
по замыслу автора — после 2 из: «Сироты и ссылки в никуда», «Операции над множествами как сверка», «HAVING и поиск дубликатов»
24 · Optional
Необязательно: почему схема выглядит именно так
~0,7 ч
по замыслу автора — после любого из: «Чтение схемы, которую проектировали не вы», «GROUP BY и пересчёт отчёта»
финал · в браузере, без ассистента
Экзамен
закрыт · записаться на курс
| 1 | Где SQL входит в цикл тестирования Назвать четыре момента цикла тестирования, в которых запрос к базе данных — единственное доступное доказательство | ~0,8 ч |
| 2 | Чтение схемы, которую проектировали не вы Находить незнакомую таблицу или столбец запросом к INFORMATION_SCHEMA, а не просмотром обозревателя объектов | ~1 ч |
| 3 | Безопасная работа на общем тестовом стенде Получать каждую разрушающую инструкцию из SELECT с идентичными FROM и WHERE, чтобы инструкция никогда не существовала без своего фильтра | ~1 ч |
| 4 | SELECT, который отвечает ровно на один вопрос Превращать проверочный вопрос в запрос, результат которого возможен, только если система повела себя правильно | ~0,9 ч |
| 5 | NULL и логика, у которой три ответа Объяснить, почему WHERE оставляет только строки, дающие true, и что это делает со сравнениями с NULL | ~1,1 ч |
| 6 | Типы, преобразования и параметры сортировки Читать точность и масштаб из определения столбца и строить утверждение по значению, которое столбец может хранить, а не по введённому значению | ~1 ч |
| 7 | Даты, время и последний день месяца Записывать фильтры по диапазону дат как полуоткрытые интервалы с >= и < и объяснять, почему у каждой включающей верхней границы есть граничный случай | ~1,1 ч |
| 8 | INNER и LEFT: какие строки соединение выбрасывает Выбирать между INNER и LEFT исходя из проверочного вопроса, по тесту: если правдоподобный ответ — «ни одной», нужно левое соединение | ~1 ч |