Какие навыки нужны тестировщику и как им стать

Тестировщик — это специалист, который проверяет продукт на соответствие требованиям заказчиков или пользователей и обнаруживает его дефекты с помощью тестирования кода. Обязанности специалиста могут отличаться в зависимости от уровня и специализации, но в основном он выполняет эти задачи:
- Составление тестовой документации для тестирования новых функциональностей продукта
- Проведение ручного тестирования новых функциональностей — поиска дефектов с помощью имитации действий пользователя
- Проведение регрессионного ручного тестирования. С его помощью можно найти дефекты в уже протестированных участках продукта
- Ведение баг-репортов
- Составление отчетов по итогам тестирования
- Воспроизведение и заведение дефектов, обнаруженных на этапе эксплуатации
- Автоматизация регрессионного тестирования
- Общение с заказчиком, командой разработки и тестирования
Специализацию тестировщиков можно условно разделить по направлениям — тестирование юзабилити, производительности, безопасности, а также по способу исполнения тестов: ручное (мануальное) и автоматизированное тестирование.
Профессия «Инженер по тестированию»
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных
Что должен знать тестировщик и какие хард скиллы ему нужны
Тестировщику важно знать, что и как он будет тестировать, как проектировать свои тесты, чтобы они были эффективными, как сделать продукт лучше и удобнее для пользователя. Поговорим о том, что нужно знать тестировщику на техническом уровне.
Теория
Вне зависимости от специализации, тестировщику нужно иметь представление о техниках тест-дизайна, видах тестирования, способах локализации ошибок, методологиях разработки ПО. Все это помогает успешно проходить собеседования и эффективно тестировать продукт.
Читайте также: Как пройти собеседование на тестировщика: все этапы и вопросы
Инструменты тестирования
Инструменты тестирования — это программы, которые используют тестировщики при тестировании ПО.
Для разных задач подходят разные программы. Например, для тестирования веб-приложений отлично подходит Chrome DevTools, а для тестирования API — Postman. Для ведения тестовой документации также есть различные инструменты — Allure TestOps, Testlink, Testrail, TestIT и многие другие.
Логи
Логи — это хронология событий и действий, происходящих в ПО. Ее «ведет» программа для того, чтобы разработчикам и тестировщикам можно было понимать истинные причины возникновения багов. Это называется локализация дефекта.
Базы данных
У любого приложения есть своя база данных. В ней может храниться информация о пользователях, различные тексты, файлы — словом, все, что относится к продукту.
Иногда тестировщику приходится работать с базами данных. Для этого ему нужно знать SQL — с помощью этого языка тестировщик работает с самими данными, например, делает выборки.
Баг-репорты
Баг-репорт — это технический документ с информацией о баге, его причинах и локализации. По этому документу разработчик исправляет ошибки в коде, поэтому тестировщику важно грамотно описывать баги.

Что нужно знать тестировщику дополнительно
- Принципы тестирования API — оно позволяет мобильным и веб-приложениям обрабатывать информацию на серверах.
- Модель OSI — она помогает тестировщику определить уровень ошибки, провести диагностику сетей.
- Unix, Linux, Windows, командная строка. Это нужно не всем, но ценность тестировщика повышается, если он разбирается в серверах и умеет пользоваться консольными утилитами.
- Протоколы HTTP, JSON, XML, принципы клиент-серверного взаимодействия. Тестировщик должен понимать, как локализовать элементы страницы и работать с запросами.
- Система контроля версий Git — она хранит код в удаленных хранилищах, позволяет его редактировать и руководит доступом к нему. Знание того, как с ней работать, в основном, нужно автоматизированным тестировщикам.
Нужно ли тестировщику знать программирование
Тестировщику не обязательно уметь программировать. Если вы хотите заниматься ручным тестированием, то умение кодить не понадобится — вы будете составлять тест-кейсы и описывать последовательности.
Но если вы захотите повысить свою ценность как тестировщика и освоить автоматизированное тестирование, то здесь уже потребуется знание программирования. Оно нужно для того, чтобы писать автотесты. Чаще всего кодить придется на одном или нескольких популярных языках, вроде Python или Java.
Читайте также: Гид по профессии тестировщик: чем занимается специалист в сфере QA, сколько зарабатывает, что надо знать и где учиться
Какие софт скиллы нужны тестировщику
- Стопроцентное внимание и сосредоточенность. Некоторые работодатели считают это самым важным качеством, так как не ждут ошибок от специалиста, который их ищет. Это спорное мнение, тестировщики все же не роботы, и иногда могут упускать баги. Но внимательность в работе — это точно плюс.
- Любопытство. Тестировщик должен задавать много вопросов. Например, почему этот код работает так, а не иначе, для чего нужна конкретная фича в программе. Нелюбопытный специалист не сможет хорошо тестировать.
- Умение работать в команде. Каждый день тестировщик общается с командой разработки, иногда с менеджментом компании. Ему нужно уметь адекватно реагировать на критику, находить общий язык с коллегами и не провоцировать конфликты.
- Умение четко формулировать мысли. Это особенно полезно для составления баг-репортов — разработчикам должно быть понятно, что тестировщик попросил его исправить.
- Усидчивость. Тестировщик должен уметь выполнять монотонную работу, потому что она составляет большую часть его рабочих задач.
- Дисциплинированность. Тестировщик должен ответственно подходить к своей работе, и, например, писать тест-кейсы в срок, оформлять дефекты сразу после обнаружения, не забывать проводить повторное тестирование.
С чего начать обучение тестировщика
Изучите профессию
Читайте обучающие статьи на Хабре и Software-Testing.ru , следите за новостями из сферы, смотрите видеолекции на YouTube. Найдите комьюнити тестировщиков или присоединяйтесь к Хекслет Комьюнити , чтобы обсуждать тестирование и свой прогресс в обучении.
Пройдите курсы
Это один из самых эффективных способов структурировать знания и получить много практики. Мы на Хекслете запустили групповое обучение по профессии «Инженер по тестированию». Оно проходит в формате вебинаров с домашними заданиями с проверкой от наставника.
Читайте книги
Авторы книг дают базовые знания о профессии и делятся полезным опытом. Вот несколько интересных книг о тестировании:
- Святослав Куликов «Тестирование программного обеспечения. Базовый курс»
- Борис Бейзер «Тестирование черного ящика»
- Рекс Блэк «Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование»
Практикуйтесь
Если вы начинающий тестировщик, то для вас есть одно хорошее упражнение. Попробуйте развить у себя мышление тестировщика: обдумайте, как бы вы тестировали окружающие вас предметы. Прокрутите в голове все варианты того, как можно, например, проверить прочность стола, какие у этого действия есть позитивные и негативные сценарии.
Если вы уже немного продвинулись в знаниях, погуглите сайты для тренировки тестировщиков. Обычно на таких сайтах есть много багов, которые молодые специалисты могут находить и описывать самостоятельно. Любая практика полезна.
Профессия «Инженер по тестированию»
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных
SQL для тестировщика: зачем QA нужно знать SQL
В мире тестирования программного обеспечения важным элементом является знание SQL. Это позволяет тестировщикам глубже понять, как данные обрабатываются в системе, что в свою очередь помогает выявить и решить проблемы с продуктом. На нашем курсе тестирования ПО этому уделяется особое внимание.
Что такое SQL и его важность для тестирования
SQL (Structured Query Language) — это язык программирования, предназначенный для управления и манипулирования данными в реляционных базах данных. Он используется для выполнения всех типов задач, включая вставку, выборку, обновление и удаление данных, а также создание и модификацию структур базы данных.
Тестировщики, которые знают SQL, имеют преимущество, поскольку они могут непосредственно взаимодействовать с базой данных, чтобы получить более детальную информацию о том, как работает программное обеспечение. Знание SQL также позволяет инженерам по контролю качества обнаруживать проблемы, связанные с данными, которые могут быть пропущены другими методами тестирования.
Основы SQL
SQL состоит из нескольких ключевых элементов, включая команды, операторы, функции и объекты базы данных. Он использует синтаксис, который разработан для понимания людьми, одновременно предоставляя мощные инструменты для работы с данными.
Основные команды SQL
Основные команды SQL включают:
- SELECT: используется для выборки данных из базы данных.
- INSERT: позволяет вставлять данные в базу данных.
- UPDATE: изменяет существующие данные в базе данных.
- DELETE: удаляет данные из базы данных.
- CREATE, ALTER, DROP: используются для управления структурой базы данных, включая создание, изменение и удаление таблиц.
Использование SQL для создания запросов
SQL позволяет создавать сложные запросы, которые могут включать агрегатные функции, объединение таблиц, сортировку и фильтрацию данных. Это дает тестировщикам возможность получать очень конкретные данные для анализа и тестирования.
SQL позволяет создавать сложные запросы, которые могут включать функции агрегирования, объединение таблиц, сортировку и фильтрацию данных.
- Функции агрегирования: SQL имеет ряд встроенных функций агрегирования, таких как COUNT, SUM, AVG, MAX и MIN. Эти функции позволяют группировать данные по определенным критериям и получать сводную информацию. Например, с помощью SQL тестировщик может определить общее количество записей в таблице или получить среднее значение определенного поля.
- Объединение таблиц: С помощью SQL можно выполнять объединение (JOIN) различных таблиц. Это позволяет тестировщикам анализировать данные из разных таблиц в одном запросе, что может быть полезно для проверки взаимосвязей между различными элементами данных.
- Сортировка и фильтрация данных: SQL предоставляет тестировщикам возможность сортировать данные по определенным полям с помощью команды ORDER BY. Кроме того, вы можете использовать команду WHERE для фильтрации данных по определенным критериям. Это может быть очень полезно, когда вы хотите просмотреть только определенные записи из большого набора данных.
Использование SQL для создания сложных запросов позволяет тестировщикам быть более точными в своих тестовых сценариях и обеспечивает возможность получения данных, которые соответствуют конкретным требованиям тестирования.
Проверка целостности данных с использованием SQL
Одним из важных аспектов тестирования баз данных является проверка целостности данных. Целостность данных относится к точности, консистентности и надежности информации в базе данных. SQL является мощным инструментом для такой проверки, поскольку позволяет выполнять запросы, которые могут помочь выявить проблемы с целостностью данных.
- Уникальность ключей: В базах данных первичные ключи являются уникальными идентификаторами записей. Тестировщики могут использовать SQL для проверки соблюдения этой уникальности. Запросы SQL могут обнаружить дубликаты первичных ключей, что является нарушением целостности данных.
- Соответствие внешних ключей: Внешние ключи являются ссылками между связанными таблицами. Эти ссылки должны быть консистентными, чтобы обеспечить правильную работу базы данных. Тестировщики могут использовать SQL для проверки того, соответствуют ли все внешние ключи соответствующим записям в связанных таблицах.
- Соответствие ограничений домена: Ограничения домена относятся к допустимому набору значений для определенного поля. Например, поле «возраст» может иметь ограничение, указывающее, что возраст должен быть положительным числом. С помощью SQL тестировщики могут выполнить запросы, чтобы убедиться, что все значения в поле соответствуют его ограничениям домена.
Использование SQL для проверки целостности данных предоставляет тестировщикам инструменты для обнаружения и исправления проблем.
Тестирование безопасности с использованием SQL
Безопасность является одним из самых важных аспектов любой системы базы данных. Безопасность данных — это ответственность, которая не должна игнорироваться. SQL может быть использован как инструмент для проверки уровня безопасности системы.
Как SQL помогает обеспечить безопасность ПО
SQL позволяет устанавливать различные уровни доступа к данным, что является важным инструментом в защите информации. С помощью SQL можно устанавливать права доступа на уровне отдельных пользователей или групп пользователей, что позволяет контролировать, кто имеет доступ к какой информации в базе данных.
Проверка безопасности с использованием SQL
Тестировщики могут использовать SQL для проведения «надежности» системы. Это может включать в себя испытание различных видов атак на систему, чтобы проверить, как она на них реагирует. Это может помочь выявить потенциальные уязвимые места в системе.
Предотвращение атак с использованием SQL
Знание SQL также позволяет тестировщикам понять, как потенциальные злоумышленники могут попытаться использовать SQL для получения несанкционированного доступа к данным. С таким знанием тестировщики могут обнаруживать и предотвращать такие атаки.
Тестирование уязвимости SQL-инъекций
SQL-инъекция — это тип атаки, при которой злоумышленник вставляет вредоносный SQL-код в запрос к базе данных в попытке заставить систему его выполнить. Это может привести к непредсказуемым последствиям, включая утечку чувствительной информации, изменение или удаление данных.
Что такое SQL-инъекции
SQL-инъекции являются одним из наиболее распространенных и опасных видов атак на базы данных. Злоумышленники используют SQL-инъекции для обхода систем авторизации и контроля доступа, часто используя их для получения несанкционированного доступа к чувствительной информации.
Влияние SQL-инъекций на безопасность ПО
SQL-инъекции могут серьезно повлиять на безопасность программного обеспечения. В случае успешной атаки злоумышленник может получить доступ к чувствительной информации, такой как пароли пользователей, личные данные, информацию о платежах и т. д. Кроме того, атака может привести к удалению или изменению данных, что может привести к нарушению работы системы.
Предотвращение SQL-инъекций
Для предотвращения SQL-инъекций тестировщикам необходимо знать, как они выглядят и как их обнаруживать. Это включает использование методов валидации входных данных, применение параметризованных запросов или использование уровня доступа к базе данных, который ограничивает возможности выполнения SQL-запросов.
Выводы
Итак, знание SQL является важным для тестировщиков программного обеспечения. Оно позволяет им получать, анализировать и манипулировать данными напрямую из баз данных, что помогает обеспечить целостность данных и эффективность системы. С помощью SQL QA-инженеры могут проводить тестирование производительности, выявлять проблемы безопасности, включая SQL-инъекции, и способствовать общей стабильности и надежности программного обеспечения.
Однако важно отметить, что знание SQL — это только одна часть уравнения. Специалистам по QA также необходимо иметь глубокое понимание принципов тестирования ПО, а также умение использовать инструменты тестирования, методы тестирования и техники для эффективного выполнения своих обязанностей.
В конечном итоге, использование SQL в тестировании ПО может повысить эффективность тестирования, сократить время обнаружения проблем и улучшить качество конечного продукта. Поэтому знание SQL является ценным набором навыков для любого тестировщика ПО.
Какие знания sql нужны для работы тестировщика

События
- Тестирование
- Основы
- Откуда берутся ошибки в ПО?
- Почему тестирование необходимо?
- Мифы о тестировании
- Психология тестирования
- Когда начинать и заканчивать тестирование?
- Фундаментальный процесс тестирования
- Принципы тестирования
- Верификация и валидация
- QA, QC и тестирование
- Кто занимается тестированием?
- Цели тестирования
- Что такое тестирование программного обеспечения?
- Роль тестирования в процессе разработки ПО
- Сколько стоят дефекты?
- Качество программного обеспечения (ISO/IEC 25010)
- Матрица соответствия требований (Requirements Traceability Matrix)
- Матрица покрытия и Матрица отслеживания
- Тестирование веб-проектов: основные этапы и советы.
- Мобильное и веб-приложение. В чем разница?
- Тест дизайн (Test Design)
- Agile
- Словарь тестировщика
- 75 популярных вопросов на собеседовании QA (+ примеры и ответы)
- HTML и CSS для тестировщиков
- Итеративная модель (Iterative model)
- Спиральная модель (Spiral model)
- V-модель (V-model)
- Каскадная модель (Waterfall model)
- Стадии цикла разработки ПО
- Жизненный цикл ПО
- Приемочное тестирование
- Системное тестирование
- Интеграционное тестирование
- Модульное тестирование
- White/Black/Grey Box-тестирование
- Статическое и динамическое тестирование
- Ручное и автоматизированное
- Тестирование документации
- Интернационализация и локализация
- Стресс тестирование
- Тестирование установки
- Конфигурационное тестирование
- Тестирование на отказ и восстановление
- Юзабилити
- Тестирование сборки
- Тестирование взаимодействия
- Тестирование безопасности
- Дымное тестирование
- Регрессионное тестирование
- Тестирование производительности
- Функциональное тестирование
- Нефункциональное тестирование
- Спецификация требований
- Test Plan
- Checklists для тестировщика
- Test Case
- Bug report
- Жизненный цикл дефектов
- Классификация дефектов
- Тестирование мобильных приложений
- Протоколы
- Протокол TCP/IP или как работает Интернет (для новичков)
- HTTP-запрос (HTTP request)
- Автоматизация
- Автоматизированное тестирование
- Теория по X-Path локаторам
- Как написать X-Path локатор.
- Использование tagname
- Вложенность родительского элемента.
- Как выбрать инструмент автоматизации?
- Базы данных в тестировании
- Зачем нужен SQL для тестирования?
- Общее
- Интерфейс в коде ПО
- Парадигмы программирования «ООП»
- Процесс коммуникации с помощью API
- Рефакторинг Кода
- Фреймворк в программировании
- Микросервисная архитектура ПО.
- Монолитная архитектура ПО.
- Что такое API?
- Что такое JSON
- Что не так с Android?
- Android Studio 2.0
- RxJava
- Основы
- Внутренний мир компьютера: что там внутри
Зачем нужен SQL для тестирования?
Каждая система должна иметь базу данных. Информация (сведения о пользователе, состояние транзакции) обычно поддерживается в традиционных реляционных базах данных, таких как MySQL и Oracle.
SQL — это стандартный компьютерный язык для управления реляционными базами данных и обработки данных. SQL используется для запроса, вставки, обновления и изменения данных. Вы можете думать о SQL как о средстве связи между пользователем и СУБД (система управления БД).
Проще говоря, SQL — это язык программирования, с помощью которого мы обращаемся к нашей базе данных.

Чтобы определить SQL-запрос, нам сначала нужно понять, что такое запрос? Запрос может быть определен как запрос данных из базы данных через СУБД. Запрос может рассматриваться как инструкция, отправляемая в СУБД для получения набора данных на основе критериев. Такой запрос может быть разработан с использованием SQL и называется запросом SQL.
Простым примером SQL-запроса будет: Select * from Table.
Посмотрев на этот запрос, вы легко сможете понять, что он пытается сделать — выбрать все данные (представленные *) из таблицы.
Когда вы проводите функциональное тестирование системы через frontend (веб-сайт, мобильные приложения и т.д.), вам также необходимо проверить, правильно ли обновляются отправляемые вами данные в базе данных.
Спрос на универсальных тестировщиков растет. Это означает, что тестировщики должны иметь навыки тестирования функциональности системы с помощью традиционных методов тестирования «наведи, щелкни и проверь», и уметь использовать технические знания для проверки всех аспектов системы. Эти технические знания включают навыки проверки операционной системы, интерфейса и базы данных. В данном случае мы подчеркнем важность хороших навыков языка структурированных запросов (SQL).
Насколько важны навыки SQL для тестировщика программного обеспечения?
Некоторые приложения требуют сильных навыков проверки SQL, некоторые из них требуют средних навыков, а для некоторых приложений знания SQL вообще не требуются.
Возьмем в пример веб-сайты, на которых размещаются документы, которые пользователи могут распечатать на принтере. Печать этих документов требует, чтобы пользователи сначала установили специальный контроллер печати на свой ПК. В данном случае работа тестировщика заключается в том, чтобы печатать документы из различных комбинаций операционных систем, браузеров и принтеров и проверять качество печати документов. Для этого теста не нужно применять какие-либо навыки SQL. Опыт SQL требуется для проверки тестовых данных, вставки, обновления и удаления значений тестовых данных в базе данных.
Рассмотрим работу над другим проектом, участие в бэкэнд-тестировании, где требуются сильные знания SQL-запросов. Внутренний инструмент пользовательского интерфейса для получения данных из базы данных Oracle на основе входных значений. В рамках тестирования сравниваются выходные данные инструмента пользовательского интерфейса и выходные данные базы данных, вводятся одинаковые значения в инструмент и базу данных, чтобы убедиться, что инструмент функционировал должным образом. Каждый раз, когда входные значения меняются, администратор базы данных дает группе тестирования очень большие запросы с использованием оператора select. Для начала нужно понять связь между таблицами, столбцами и запросом, прежде чем его использовать. Кроме того, нужно использовать различные типы операторов SQL для проверки тестовых данных.
Следующие знания базы данных и SQL должны быть у тестировщика:
- Он должен уметь распознать различные типы баз данных;
- Подключаться к базе данных с использованием разных клиентов SQL-соединений;
- Понимать отношения между таблицами базы данных, ключами и индексами;
- Умение написать простой оператор выбора или SQL вместе с более сложными запросами на соединение;
- Интерпретировать более сложные запросы.
Наиболее используемые операторы SQL в тестировании:
- Data Manipulation Language (DML): используется для извлечения, хранения, изменения, удаления, вставки и обновления данных в базе данных. Примеры: операторы SELECT, UPDATE и INSERT.
- Data Definition Language (DDL): используется для создания и изменения структуры объектов базы данных в базе данных. Примеры: операторы CREATE, ALTER и DROP.
- Transactional Control Language (TCL): Управляет различными транзакциями, происходящими в базе данных. Примеры: операторы COMMIT, ROLLBACK.
- Inner Join: извлекает сопоставленные записи из обеих таблиц.
- Distinct: извлекает различные значения из одного или нескольких полей.
- In: этот оператор используется, чтобы найти значение в списке или нет.
- Between: этот оператор используется для получения значений в диапазоне.
- WHERE: указывает, какие строки получить.
- Like: этот оператор используется для выполнения сопоставления с шаблоном; он используется с оператором WHERE.
- Order By Clause: указывает порядок возврата строк, сортирует записи таблицы в порядке возрастания или убывания. По умолчанию порядок возрастает.
- GROUP BY: группирует строки, имеющие общее свойство, так что агрегатная функция может быть применена к каждой группе.
- HAVING: выбирает из групп, определенных оператором GROUP BY.
- Aggregate Functions: выполняет вычисление для набора значений и возвращает одно значение. Пример: Avg, Min, Max, Sum, count и т. д.
SQL очень важен в тестировании программного обеспечения, потому что:
- Проверка поможет понять, что данные, которые добавляются в форму (на frontend), добавляются на бэкэнд или нет. Например, при регистрации пользователя на сайте, некоторые поля пропущены, следовательно, мы видим какое-то сообщение об ошибке относительно регистрации пользователя. Также, если мы выполним SQL-запрос, то сможем сказать, что следующие поля пропущены, и есть некоторая ошибка в функциональном модуле регистрации пользователя.
- SQL помогает нам в получении тестовых данных. Например, если нужно проверить некоторые исправления для товаров, которые видны на работающем сайте. С помощью SQL-запроса, можно получить продукты с определенным условием (фильтрацией), и изменить описание товара одновременно всем записям.
- SQL помогает нам в автоматизации тестирования. Например, если нам нужно убедиться, что для платного зарегистрированного пользователя будет отображен флаг VIP после входа в систему. SQL поможет в том, что мы напрямую получим пользователя с этими определенными условиями из базы данных, а затем авторизуемся, используя данные, и просто проверим наличие или отсутствие флага VIP, вместо того чтобы создать нового пользователя и затем произвести оплату от его имени.
Учитывая преимущества работы с SQL и полезность навыков SQL в общем, наш совет тестировщикам -> приобрести минимальные знания SQL, чтобы стать универсальным тестером, который ценится клиентами и компаниями. Изучить SQL вы сможете с помощью нашего курса Практический SQL.
- Выбери курс для обучения
- Тестирование
- Базовый модуль тестирования
- Тестирование ПО
- Тестирование WEB-сервисов
- Тестирование мобильных приложений
- Тестирование нагрузки с JMeter
- Расширенный модуль автоматизации тестирования
- Автоматизация тестирования с Selenium WebDriver (Python)
- Автоматизация тестирования с Selenium WebDriver (Java)
- Автоматизация тестирования с Selenium WebDriver (C#)
- Автоматизация тестирования на JavaScript
- Java для автоматизаторов
- Fullstack Web Developer
- Java
- Python
- JavaScript
- HTML5 И CSS3
- Полный стек разработки на фреймворке Laravel
- Разработка CMS на основе PHP
- Git для автоматизаторов
- Практический SQL
- Основы Unix и сети
- WEB-серверы и WEB-сервисы
- Создание проекта автоматизации и написания UI тестов
- Составление комбинированных тестов UI и API. Написание BDD тестов
- IT Project Manager
- HR-менеджер в ИТ-компании
- Как правильно составить резюме и пройти собеседование
- Подготовка к сертификации ISTQB Foundation Level на основе Syllabus Version 2018
- Тестирование
- Базовый модуль тестирования
Какие знания sql нужны для работы тестировщика
Курс направлен на изучение особенностей работы с разными СУБД, применению SQL в различных аспектах тестирования. После курса вы сможете писать запросы любой сложности.
Описание
21 век — век информации. Она окружает нас везде: дома, на работе, в машине, в метро. Информация хранится в базах данных в удобном для компьютера виде. Какие бы приложения вы не тестировали: десктопные, веб или мобильные, банковские системы или игры — вам нужно будет получать информацию из базы данных. Для этого используют специальный язык запросов — SQL (Structure Query Language). Базовые знания SQL сейчас требуют даже на вакансию джуниор-тестировщика.
Тренинг рассчитан на людей, знакомых с основами тестирования и желающих научиться работе с базами данных. Мы расскажем, как устроена база данных, как в ней хранятся данные и как их получать, начиная с самых простых запросов к одной таблице. Те, кто самостоятельно начинал знакомиться с SQL смогут структурировать свои знания, узнать об особенностях работы с разными СУБД и повысить мастерство написания сложных запросов к нескольким таблицам, используя внешние объединения по любым условиям.
На тренинге вы научитесь применять SQL в различных аспектах тестирования — для поиска интересных для проверки кейсов в БД, для разбиения данных на классы эквивалентности в зависимости от типа, с которым данные хранятся в БД, поймете, какие стандартные ошибки делают программисты при подготовке запросов, научитесь добавлять нужные значения в существующие таблицы и создавать новые. После курса вы сможете писать запросы любой сложности к одной, двум и десятку таблиц с использованием джойнов, группировок и подзапросов.
Программа тренинга
Лекция 0 — Вводная. Строение баз данных и организационные вопросы.
- Структура тренинга и орг.вопросы.
- Основы устройства реляционных БД
- Общие сведения про SQL:
- Определение, отличие от других языков.
- История создания SQL
- Стандарты языка SQL, их плюсы и минусы
Модуль I
Лекция 1 — Исследование БД и структура запроса SELECT.
- Установка Oracle XE и SQL Workbench
- Структура запроса Select
- Простейшие запросы к одной таблице
- Понятие схемы пользователя
- Исследование БД с помощью служебных таблиц
- Применение знаний о структуре БД к тестированию
- Работа с ошибками при составлении запроса
Лекция 2 — Типы данных, применяемые в SQL
- Типы для хранения чисел.
- Типы данных для хранения строк
- Типы данных для хранения дат и времени
- Специальные типы данных для хранения xml, идентификаторов и объектов.
- Типичные ошибки, выявляемые для разных типов данных при тестировании
Модуль II
Лекция 3 — Выбор данных из одной таблицы с разными условиями
- Задание условий для разных типов данных: числа, даты, строки в разной кодировке.
- Условие LIKE и использование регулярных выражений в функции regexp_like
- Значение NULL и работа с ним в запросе. Функция NVL
- Функции конвертации типов данных
- Объединение условий
Лекция 4 — Выбор данных из одной таблицы с разными условиями
- Функции, применяемые для разных типов данных
- Работа с датами и временем
Модуль III
Лекция 5 — Выбор данных из нескольких таблиц
- Объединение таблиц в запросе через where
- Разные типы JOIN
- Отличия задания условий через Where и Join
- Задание псевдонимов для таблиц
Лекция 6 — Примеры решения сложных задач на объединение нескольких таблиц
- Объединение таблиц по неравенству
- Объединение таблицы с самой собой
- Типы сортировки
- Сортировка колонок, содержащих значения NULL
- Возможные ошибки приложений при добавлении сортировки
Модуль IV
Лекция 7 — Запросы с подзапросами
- Работа с операторами In и Exist
- Использование подзапросов
Лекция 8 — Работа с результатами запроса
- Вывод уникальных значений через DISTINCT
- Объединение и пересечение результатов. Union, union all, intersect, minus
- Условный вывод данных с помощью оператора CASE
Модуль V
Лекция 9 — Запросы для анализа данных и подготовки отчетов
- Операции над выбираемыми данными
- Группировка данных. Запросы с GROUP BY и HAVING.
- Отбор значимых для тестирования данных.
Лекция 10 — Изменение данных
- Оператор Update
- Операторы TCL — commit и rollback
- Понятие ограничений и работа с ними
Модуль VI
Лекция 11 — Вставка и удаление данных
- Оператор Insert
- Оператор Delete
Лекция 12 — Работа со структурой БД и управление правами доступа
- Основные операторы DCL. Управление правами доступа
- Основные операторы DDL. Задание и изменение структуры БД.
Требования к участникам
Необходим персональный компьютер или ноутбук с ОС системой Win7 и выше, минимум 3Гб ОЗУ.
Если компьютер находится в домене (частая ситуация для компьютеров на работе), то нужна возможность установить на него виртуальную машину с Linux или Win7 и 3Гб ОЗУ.Желательно знание английского языка на уровне чтения технической документации (сам курс на русском языке, но часть дополнительных материалов — это ссылки на англоязычную документацию по СУБД, т.к. актуальная документация есть только на английском).
Необходимо выделить 8-16 часов в неделю на выполнение домашних заданий.
Формат
12 занятий (9 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.
Обучение происходит следующим образом:
Раз в неделю по понедельникам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.
Общение участников курса и тренеров проходит и в телеграм-чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в телеграм-чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Практические задания на курсе выполняются в СУБД Oracle 11g XE.
Условия
Стоимость участия для физических лиц: 13 000 рублей за весь курс.
Стоимость участия для юридических лиц: 15 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Информация для физических лиц
Организатор мероприятия: ИП Абдюшев Павел Рашитович, ИНН 503500793903, ОГРНИП 317505300051323
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Все реквизиты для оплаты вы получите на почту после того, как нажмете кнопку справа Записаться и заполните все поля. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если у Вас есть какие-то вопросы, их можно задать по адресу указанному выше.
Информация для юридических лиц:
По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru . Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
Возможна оплата участия на условиях публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ .
Отзывы
Павлов Дмитрий
Курс помог мне получить хорошие практические навыки по использованию языка SQL. Было интересно находить различные способы решения поставленных задач, несмотря на то что это отнимало большое количество времени. Рекомендую всем кто хочет набраться опыта в понимании структуры SQL-запросов.
Смирнова Ирина
Тренинг оказался даже полезнее, чем я ожидала изначально. Я не была новичком в написании запросов на SQL, но в работе никогда не обращала особого внимания на типы данных в таблицах, на обработку Null значений, не доводилось использовать регулярные выражения и четко выверять используемые типы объединений. В этом курсе все эти вопросы были подробно рассмотрены и отработаны, так что многие пробелы в знаниях теперь закрыты.
В курсе очень много разнообразных заданий, так что практики курс обеспечивает предостаточное количество. Но это одновременно приводит и к тому, что на домашнюю работу уходит намного больше времени, чем ожидается изначально. Записываясь на курс, надо быть готовым все свое свободное время посвящать домашней работе.
Компетенция тренера не вызывает сомнений, он подробно и обстоятельно отвечает на возникающие вопросы, даже если они на прямую не касаются изучаемой темы. Проверки домашних работ осуществляются очень придирчиво, что тоже способствует аккуратности и улучшению навыков.Плетнев Александр Александрович
Записываясь на тренинг, не надо ожидать, что его можно пройти, не прикладывая усилий. Также нужно быть готовым выделить не один вечер в неделю для решения (а потом и исправления) ДЗ. Совсем легко не будет.
Но усилия не пропадут даром. Добросовестно вникая в учебный материал и вовремя выполняя ДЗ, на выходе получаешь хорошие структурированные знания по обращению с БД.Князева Ирина Николаевна
Перед началом тренинга я думала, что умею писать запросы, но оказалось, что я знаю только самое элементарное, минимум. Курс помог освоить написание сложных запросов по sql, попрактиковаться и понять свои ошибки. Помог разложить по полочкам все мои знания.
Очень понравилось, что в лекциях было уделено много времени практике, для меня это было важно.
Пришлось уделить больше времени на выполнение домашних заданий, чем предполагалось иначе, но результат того стоил:)
Спасибо Павлу за интересный и очень полезный тренинг! Рекомендую!
- Тестирование
- Основы