Какие знания 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 или как работает Интернет (для новичков)
        • Автоматизация
          • Автоматизированное тестирование
          • Теория по 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» или «SQL на уровне понимания элементарных запросов». Зачем тестировщику SQL?
                        Я спрашивала у знакомых тестировщиков, недавно изучивших SQL: «Зачем?». Ответы были примерно: «потому что надо», «знакомый опытный тестер посоветовал», «лишним не будет».
                        Так надо ли это? Может, проще написать в гуглдоке пару запросов и потом копипастить куда надо?

                        ЗЫ. Я не из праздного интереса — почитаю ответы и заодно статистику соберу 🙂 Заранее спасибо всем ответившим 🙂

                        • Вопрос задан более трёх лет назад
                        • 20051 просмотр

                        2 комментария

                        Оценить 2 комментария

                        Похоже ваши знакомые мануальные блэкбокс тестировщики
                        Вы так говорите, как будто это что-то плохое
                        Решения вопроса 0
                        Ответы на вопрос 10

                        Чтобы дать разработчикам более понятную обратную связь. Не «вот эта красная кнопочка не делает то, что должна делать», а «у вас ошибка в запросе XXX».

                        Ответ написан более трёх лет назад
                        Нравится 4 3 комментария
                        Откуда тестеру знать, что за кнопочкой скрывается запрос?
                        Vestfalka @Vestfalka Автор вопроса

                        А SQL-инъекции, например?
                        Их же (теоретически) можно насобирать в файлик и копипастить оттуда вовсю ))

                        Теоретически можно насобирать файлик, а практически нет. много таблиц, разные поля, чтоб написать нормальную иньекцию, надо знать хоть немножко как устроена бд

                        php программист
                        А как насчет SQL иньекций? Довольно таки попурярная ошибка.
                        Ответ написан более трёх лет назад
                        Нравится 4 1 комментарий
                        Vestfalka @Vestfalka Автор вопроса
                        Да, вот про нее реже всего вспоминают, кстати, при упоминании об SQL 🙂

                        Если в обязанности тестировщика входит не просто прокликивание по кнопкам, но и некоторая автоматизация тестирования, то база данных (например с файлами, которые открывает программа, с результами тестов) может быть очень полезной.

                        Ответ написан более трёх лет назад
                        Комментировать
                        Нравится 3 Комментировать

                        Тестировщикам частенько приходится писать автоматические тесты, и результаты тестов, разумнее всего, именно, напрямую в базу данных сливать, чтобы другие разработчики (программисты/отладчики) не собирали кучу файлов-логов по всем компам (за которыми сидят тестеры), а брали выборку сразу из этой базы.
                        Конечно же можно самих программистов попросить написать нужную штуку для тестировщика, избавляя его тем самым от необходимости изучать SQL, но с точки зрения бизнеса, всякий раз при написании очередного теста отвлекать программистов от основной задачи, либо вбухивать кучу средств на разработку одной универсальной на все случаи жизни системы тестирования — крайне неоправданно.

                        Ответ написан более трёх лет назад
                        Комментировать
                        Нравится 2 Комментировать
                        Предприниматель

                        Например, чтобы забить базу тестовыми данными.

                        А вообще язык простой и понятный, почему бы не изучить? Пригодится наверняка в жизни любого IT-шника.

                        Ответ написан более трёх лет назад
                        Комментировать
                        Нравится 2 Комментировать

                        Так как конкретно тут уже поотвечали, я позволю себе обобщить ваш вопрос: нужно ли тестировщику знать, как разработан продукт, который он тестирует?

                        Соответственно, тут возможны два варианта:
                        1. Обычный тестер, чёрный ящик, нажимаем кнопки.
                        2. Необычный тестер, серый-белый ящик, мочим по полной — автотесты, автоматический анализ кода, анализ покрытия кода, генерация тестовых данных и так далее.

                        Во втором варианте, очевидно, чем больше знаний, тем лучше.

                        Но и в первом варианте есть один важный психологический момент: знание того, как именно разрабатывается тот или иной продукт, зачастую делает тестера менее эффективным.

                        Тестер начинает думать: «Ох, как тут омерзительно выглядят шрифты… Ну, это же .NET с его сглаживанием, ничего не поделаешь» — и не заводит тикет. Между тем, это проблема менеджера и разработчика — выбор конкретного фреймворка; а ошибку лучше рассматривать исходя из ожиданий конечного потребителя продукта. Его не волнует, какая там была использована библиотека и с какой целью, его волнует, почему всё так тормозит и убого выглядит.

                        Отсюда и полуанекдотичные случаи, когда женщина-бухгалтер лет 50 умеет разнести в клочья программу, которую до этого проверял профессионал и ничего не нашёл — потому что профессионал, сочувствуя (и программисту, он же понимает, каких трудов стоило накодить эту красивую кнопку, и написанному им продукту, жаль же!), не нажимает на кнопку, пока бедная программка не «прокашляется». А вот у бухгалтера такого ограничения нет.

                        Ответ написан более трёх лет назад
                        Комментировать
                        Нравится 2 Комментировать

                        Чтобы тестировщик был в состоянии забить таблицы в базе тестовыми данными, в особенности для построения отчётности. Чтобы мог справиться с локализацией в БД. Есть вообще специфичные тестировщики, тестирующие приложения БД и Data Warehouses, но скорее всего не Ваш случай.

                        Ну и при любом не-ручном тестировании (а такого сейчас всё больше — приложения растут по сложности), SQL — ежедневный инструмент.

                        Ответ написан более трёх лет назад
                        Нравится 1 1 комментарий
                        А гуи клиенты для бд не катят уже? там не нужно знать sql чтоб забить бд

                        Тут проще описать на примере задачи. К примеру, программисту необходимо сделать программку, которая парсит экселевский файл, записывает из него данные в БД, а потом это где-то выводится на сайте. Разработка разбивается таким образом, что сначала идет парс, а потом создание интерфейса. Так вот для того, чтобы проверить корректность работы парсера, и соответственн данных в БД, на этапе отсутствия интерфейса, тестировщику просто необходимо знание SQL.

                        Ответ написан более трёх лет назад
                        Комментировать
                        Нравится 1 Комментировать
                        Один мой знакомый как-то сказал? что на самом деле существует только три языка: английский, С и SQL.
                        Ответ написан более трёх лет назад
                        Может он просто не знает, что существуют еще и другие? 🙂

                        N05trom0

                        Всем привет! Можно дополнить вопрос, с позиции человека только начинающего изучать автоматизацию?
                        Подскажите какой наиболее часто используемый SQL и какую литературу выбрать, что бы вникнуть в БД?

                        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 — что должен знать тестировщик?

                        Фотография

                        Последний год изучаю основы программирования, хочу заложить некоторую базу знаний, чтобы устроиться Тестировщиком. HTML, CSS, Javascript, TCP. — базовые знания имеются. Дело коснулось SQL. и я не могу понять, на каком уровне его учить для того чтобы взяли на работу.

                        Обычно, говорят что базовых конструкций достаточно. но понятие «базовые» у каждого своё. Вопрос: на каком уровне тестировщику желательно знать SQL? Можете привести примеры запросов?

                        — придётся ли писать под-запросы?
                        — СООТНЕСЁННЫЕ (коррелированные) запросы?
                        — Join?
                        — агрегатные функции?
                        — индексы, ограничения, просмотры?

                        Ps. если углубляться сейчас в это. то на это потратится уйма времени. Я понимаю, что всё это знать хорошо. но какой нужен базовый минимум для работодателя и меня. чтобы справляться с задачами?

                        #2 Zenturio

                      • Members
                      • PipPipPipPip
                      • 386 сообщений
                      • ФИО: Дмитрий
                      • Город: Смоленск — Москва

                      Отправлено 22 июня 2011 — 08:08

                      Последний год изучаю основы программирования, хочу заложить некоторую базу знаний, чтобы устроиться Тестировщиком. HTML, CSS, Javascript, TCP. — базовые знания имеются. Дело коснулось SQL. и я не могу понять, на каком уровне его учить для того чтобы взяли на работу.

                      Обычно, говорят что базовых конструкций достаточно. но понятие «базовые» у каждого своё. Вопрос: на каком уровне тестировщику желательно знать SQL? Можете привести примеры запросов?

                      — придётся ли писать под-запросы?
                      — СООТНЕСЁННЫЕ (коррелированные) запросы?
                      — Join?
                      — агрегатные функции?
                      — индексы, ограничения, просмотры?

                      Ps. если углубляться сейчас в это. то на это потратится уйма времени. Я понимаю, что всё это знать хорошо. но какой нужен базовый минимум для работодателя и меня. чтобы справляться с задачами?

                      sql-ex.ru
                      Пройдете тест, получите сертификат, значит вы знаете sql на среднем уровне, достаточном для исполнения своих обязанностей))
                      А вообще join и функции агрегирования это основное..
                      Остальное в процессе.

                      #3 Vasiliy

                      Отправлено 22 июня 2011 — 10:31

                      А еще лучше спросите конкретного работодателя — какие знания ему нужны.
                      Вы точно знаете, что будете искать работу где востребован SQL?

                      #4 Natalya Rukol

                      Natalya Rukol

                    • Admin
                    • PipPipPipPipPipPip
                    • 2 001 сообщений
                    • Город: Moscow

                    Отправлено 22 июня 2011 — 13:32

                    Устраивайтесь уже на работу 🙂

                    1) Все эти знания в теории абсолютно не то же самое, что на практике, толку от них в таком маринованном виде всё равно ноль
                    2) Узнаете, что от вас действительно потребуется.

                    SQL — далеко не самое распространённое требование к тестировщику, но объяснить это человеку, который имеет эфемерное представление о работе, невозможно.

                    #5 bsod

                    Отправлено 22 июня 2011 — 19:48

                    Наталья дело говорит — идите устраиваться, там и поймете что нужно работодателю.

                    Все дело в том, что сферического работодателя в вакууме не существует. Всем нужно по-разному. Бывают такие, которым SQL вообще не нужен 😉

                    #6 Future

                    Отправлено 05 июля 2011 — 05:29

                    По опыту различных собеседований, требования как правило одни и те же (попробую описать типовые задания):
                    1) Самый простой select
                    2) Селект из двух таблиц с разным условием
                    3) Пару join запросов

                    Редко просили написать сложные запросы с нетривиальной выборкой. А вообще по опыту работы, SQL штука сомнительная, в работе как правило будешь пользоваться 2 — 3 запросами, которые в крайнем случае тебе могут объяснить разработчики.

                    #7 ch_ip

                  • Members
                  • PipPipPipPipPipPip
                  • 1 097 сообщений
                  • ФИО: Павел Абдюшев
                  • Город: Москва

                  Отправлено 05 июля 2011 — 07:57

                  По опыту различных собеседований, требования как правило одни и те же (попробую описать типовые задания):
                  1) Самый простой select
                  2) Селект из двух таблиц с разным условием
                  3) Пару join запросов

                  Чем второй пункт отличается от третьего?

                  А вообще по опыту работы, SQL штука сомнительная, в работе как правило будешь пользоваться 2 — 3 запросами, которые в крайнем случае тебе могут объяснить разработчики.

                  SQL — штука отличная, поскольку заставляет шевелить мозгами. Считаю, что его стоит изучить до среднего уровня обязательно. Используется сейчас практически везде, поэтому знание о том, как строятся запросы весьма помогает как при создании тестовых ситуаций, так и при анализе запросов в логах. Использование 2-3 запросов в работе — это уровень совсем начинающего тестировщика

                  Если минарет, значит выше всех (с)

                  #8 Majestry

                  Отправлено 21 марта 2012 — 09:53

                  ИМХО, необходимый минимум для начинающего тестировщика — это уметь написать следующие типы запросов:
                  select с одной-двух таблиц, без join
                  update по условиям (1-3 условия, с одной таблицы).
                  delete по условиям (1-2 условия, с одной таблицы)
                  Если человек знает это, то дальше он сможет спокойно доучивать и практиковаться в более сложных вещах.

                  CRM-системы для информационно-диспетчерских служб (такси)

                  #9 молчун

                  Отправлено 03 апреля 2012 — 19:48

                  На собеседованиях спрашивали, но все простые, без под запросов и Join.
                  Куда устроился тоже спрашивали, но на конкретном проекте не требуется — так и забыть можно, то что учил 🙂

                  Тестирую ПО для банков и не только

                  #10 молчун

                  Отправлено 03 апреля 2012 — 19:51

                  А еще здесь по тренироваться можно http://sql-ex.ru/learn_exercises.php
                  Удачи!
                  Тестирую ПО для банков и не только

                  #11 Molechka

                • Members
                • PipPipPipPipPipPip
                • 1 224 сообщений
                • ФИО: Ольга Назина (Киселева)
                • Город: Москва

                Отправлено 04 апреля 2012 — 05:16

                Мне везде давали несколько задач, начиная от простого select и заканчивая join.
                Но все запросы — простые.

                Еще на одном из собеседования попросили нарисовать схему БД

                Автор сайта для начинающих тестировщиков http://testbase.ru/
                Автор портала проверки названий багов http://bugred.ru/
                Веду блог http://okiseleva.blogspot.com/

                #12 Лелик32

              • Members
              • PipPipPip
              • 235 сообщений

              Отправлено 04 апреля 2012 — 14:24

              Куда устроился тоже спрашивали, но на конкретном проекте не требуется — так и забыть можно, то что учил 🙂

              У нас на работе используется NoSQL (MongoDB), хотя знания SQL-все равно пригодились. Благодаря отличному мануалу по сравнению запросов SQL и MongoDB на оф.сайте, можно легко написать запрос для MongoDB. При нулевых знаниях SQL запросов разобраться было бы сложнее.

              #13 Majestry

              Отправлено 18 апреля 2012 — 11:49

              Приведу примеры заданий, которые я задавал кандидатам на собеседовании. Используется Firebird.
              Первое задание:

              Имеем следующую структуру таблицы «Clients»:
              Client_No — числовое поле, уникальное значение, not null
              Client_Name — строковое поле, не уникальное, может быть Null
              Client_Surname — строковое поле, не уникальное, может быть Null
              Order_Count — числовое поле, не уникальное, not null (описание — кол-во
              успешных заказов)
              Discount_Type — числовое поле, не уникальное, not null (описание поля: тип
              скидки. если значение 0 — скидки нет, значение 1 — скидка в грн, значение 2
              — скидка в %)
              Discount_Size — числовое поле, не уникальное, может быть null (описание поля
              — размер скидки в % или в грн)
              Creation_Date — поле типа «Timestamp», не уникальное, not null (описание
              поля — дата создания записи о клиенте)
              Названия полей и таблиц являются регистрочувствительными

              Задание:
              всем клиентам, у которых более 50 (не включительно) и менее 100
              (включительно) поездок, у которых отсутствует скидка и которые были созданы
              до 23 января 2012 года (не включительно), выставить скидку в % и размер
              скидки — 10%

              Если кандидат его с трудом выполнял, то следующее не давал. Если кандидат легко его выполнял, то давал следующее задание:

              Есть 3 таблицы.
              Таблица Drivers:
              — Driver_No:integer, not null, primary key;
              — F:varchar(описание — фамилия водителя)
              — N:varcharl;(описание — имя водителя).
              Таблица Cars:
              — Car_ID:integer, not null, primary key;
              — Car_No:varchar, not null, unique (описание — гос. номер автомобиля);
              — Signal: integer, unique (описание — позывной водителя);
              Таблица DriverCar:
              — Driver_No:integer, not null, foreign key на Drivers.Driver_No;
              — Signal: integer, foreign key на Cars.Signal;

              Предистория:
              На пассажира было совершено нападение водителем. Пассажир помнит, что
              фамилия водителя заканчивалась на «ов» ,а в номере машины были цифры 98.
              Задание:
              вывести список всех подозреваемых (вывести поля: Фамилию, Гос.номер,
              позывной).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *