Sql что нужно знать тестировщику

Зачем тестировщику SQL?

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

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

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

Sql что нужно знать тестировщику. 1e7f80c74b33596d3357d09253f9acd6. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-1e7f80c74b33596d3357d09253f9acd6. картинка Sql что нужно знать тестировщику. картинка 1e7f80c74b33596d3357d09253f9acd6

Sql что нужно знать тестировщику. b26959961b2be41f76f2ea4eab11b9fe. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-b26959961b2be41f76f2ea4eab11b9fe. картинка Sql что нужно знать тестировщику. картинка b26959961b2be41f76f2ea4eab11b9fe

Sql что нужно знать тестировщику. 09b1acb09d43faf1bae16050ef0939a1. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-09b1acb09d43faf1bae16050ef0939a1. картинка Sql что нужно знать тестировщику. картинка 09b1acb09d43faf1bae16050ef0939a1

Sql что нужно знать тестировщику. deab9dc94736a861c18123c7c0bb50ed. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-deab9dc94736a861c18123c7c0bb50ed. картинка Sql что нужно знать тестировщику. картинка deab9dc94736a861c18123c7c0bb50ed

Sql что нужно знать тестировщику. 3e461aa27e5775909756710c697ce0ae. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-3e461aa27e5775909756710c697ce0ae. картинка Sql что нужно знать тестировщику. картинка 3e461aa27e5775909756710c697ce0ae

Sql что нужно знать тестировщику. 3e461aa27e5775909756710c697ce0ae. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-3e461aa27e5775909756710c697ce0ae. картинка Sql что нужно знать тестировщику. картинка 3e461aa27e5775909756710c697ce0ae

Sql что нужно знать тестировщику. deab9dc94736a861c18123c7c0bb50ed. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-deab9dc94736a861c18123c7c0bb50ed. картинка Sql что нужно знать тестировщику. картинка deab9dc94736a861c18123c7c0bb50ed

Sql что нужно знать тестировщику. 85ba60712775ed202a743d3236e04f9f. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-85ba60712775ed202a743d3236e04f9f. картинка Sql что нужно знать тестировщику. картинка 85ba60712775ed202a743d3236e04f9f

Sql что нужно знать тестировщику. fd354fbce7241a6122bc3a86f62d829c. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-fd354fbce7241a6122bc3a86f62d829c. картинка Sql что нужно знать тестировщику. картинка fd354fbce7241a6122bc3a86f62d829c

Sql что нужно знать тестировщику. b26959961b2be41f76f2ea4eab11b9fe. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-b26959961b2be41f76f2ea4eab11b9fe. картинка Sql что нужно знать тестировщику. картинка b26959961b2be41f76f2ea4eab11b9fe

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

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

Sql что нужно знать тестировщику. db7adaaed0c8efe61dbe33023891ec6a. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-db7adaaed0c8efe61dbe33023891ec6a. картинка Sql что нужно знать тестировщику. картинка db7adaaed0c8efe61dbe33023891ec6a

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

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

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

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

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

Sql что нужно знать тестировщику. 659ba84763c6f6da54e0cefb7c2de32f. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-659ba84763c6f6da54e0cefb7c2de32f. картинка Sql что нужно знать тестировщику. картинка 659ba84763c6f6da54e0cefb7c2de32f

Что-то все ходят вокруг да около. Правильный ответ такой:

Знание SQL нужно тестировщику для написания автоматизированных модульных тестов, проверяющих правильность работы тех вызовов программы, которые работают с базой данных.

Например, в программе есть функция «записать в базу данные пользователя». Как проверить, что функция работает правильно? Очевидно, нужно вызвать эту функцию, а затем посмотреть — тот ли получился результат, который ожидался?

Для вызова функции используется, собственно, сама функция. А вот для того, чтобы посмотреть результат, нужно залезть в базу. И тут понадобится знание SQL. А поскольку мы говорим об автоматизированных тестах, то графический клиент тут не подходит. Нужно знание SQL.

Sql что нужно знать тестировщику. f6ef0c998e2ff9cd2858a84e91515ea2. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-f6ef0c998e2ff9cd2858a84e91515ea2. картинка Sql что нужно знать тестировщику. картинка f6ef0c998e2ff9cd2858a84e91515ea2

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

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

Источник

27 распространённых вопросов по SQL с собеседований и ответы на них

Авторизуйтесь

27 распространённых вопросов по SQL с собеседований и ответы на них

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

Теория

Что такое СУБД?

Допустим, есть большая база данных, которой пользуются многие сотрудники: кто-то ищет информацию, а кто-то изменяет или даже удаляет её. Чтобы правильно обрабатывать все эти запросы, нужно специальное программное обеспечение, и именно такое ПО получило название системы управления базами данных (СУБД).

Какие типы СУБД в соответствии с моделями данных вы знаете?

Этот вопрос по SQL предполагает не просто назвать, но и дать краткое описание каждому типу.

Что такое первичный ключ?

Первичный ключ или PRIMARY KEY предназначен для однозначной идентификации каждой записи в таблице и является строго уникальным ( UNIQUE ): две записи таблицы не могут иметь одинаковые значения первичного ключа. Нулевые значения ( NULL ) в PRIMARY KEY не допускаются. Если в качестве PRIMARY KEY используется несколько полей, их называют составным ключом.

Здесь в качестве первичного ключа используется поле id.

Когда используется PRIMARY KEY?

PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.

А что такое внешний ключ?

Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.

Какие ещё ограничения вы знаете, как они работают и указываются?

SQL-ограничения (constraints) указываются при создании или изменении таблицы. Это правила для ограничения типа данных, которые могут храниться в таблице. Действие с данными не будет выполнено, если нарушаются установленные ограничения.

Для чего используется ключевое слово ORDER BY?

Для сортировки данных в порядке возрастания ( ASC ) или убывания ( DESC ).

Выбираются пользователи, которые будут отсортированы по имени в порядке убывания. Дополните ответ на этот вопрос по SQL тем, что без указания DESC данные были бы отсортированы по умолчанию — в порядке возрастания:

Назовите четыре основных типа соединения в SQL

Sql что нужно знать тестировщику. DFDFD. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-DFDFD. картинка Sql что нужно знать тестировщику. картинка DFDFD

А что такое Self JOIN?

Такой вопрос тоже может прозвучать на собеседовании по SQL. Это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

Например, следующий SQL-запрос объединяет клиентов из одного города:

Для чего нужен оператор UNION?

Он используется для объединения полученных данных из двух или более запросов, которые должны иметь одинаковое количество столбцов с одинаковыми типами данных и расположенных в том же порядке.

Как работают подстановочные знаки?

Какими бывают подстановочные знаки?

Данный запрос позволяет найти данные всех пользователей, имена которых содержат в себе «test».

А в этом случае имена искомых пользователей начинаются на «t», после содержат какой-либо символ и «est» в конце.

Что делают псевдонимы Aliases?

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

Для чего нужен оператор INSERT INTO SELECT?

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

Что такое нормализация и денормализация?

Соответственно, денормализация является обратным процессом, который вносит в нормализованную таблицу избыточные данные.

Подробнее о пяти нормальных формах и форме Бойса-Кодда можно узнать из данного видеокурса:

Объясните разницу между командами DELETE и TRUNCATE

Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию:

При этом создаются логи удаления, то есть операцию можно отменить.

А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно:

Чем VARCHAR отличается от NVARCHAR?

Главное отличие в том, что VARCHAR хранит значения в формате ASCII, где символ занимает один байт, а NVARCHAR хранит значения в формате Unicode, где символ «весит» 2 байта. Тип VARCHAR следует использовать, если вы уверены, что в значениях не будет Unicode-символов. Например, VARCHAR можно применить к адресам электронной почты, состоящих из ASCII-символов.

Практика

Как выбрать записи с нечётными Id?

Один из самых распространённых вопросов на собеседовании. SQL запрос для выбора записей с нечётными id должен выглядеть следующим образом:

Если остаток от деления id на 2 равен нулю, перед нами чётное значение, и наоборот.

Как найти дубли в поле email?

При выборке из таблицы прибавьте к дате 1 день

Функция DATE_ADD() прибавляет к дате заданный промежуток времени. Синтаксис выглядит следующим образом:

Выберите только уникальные имена

SELECT DISTINCT возвращает разные значения, даже если в выбранном столбце есть дубли.

Найдите в таблице среднюю зарплату работников

Функция AVG() применяется только к числовым типам данных и возвращает среднее значение по столбцу.

Источник

Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

Sql что нужно знать тестировщику. image loader. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-image loader. картинка Sql что нужно знать тестировщику. картинка image loader

Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»

Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

Наша статья с вопросами по SQL — универсальный ресурс, с помощью которого вы можете ускорить подготовку к собеседованию. Она состоит из набора из 65 самых распространенных вопросов, которые интервьюер может задать во время собеседования. Оно обычно начинается с базовых вопросов по SQL, а затем переходит к более сложным на основе обсуждения и ваших ответов. Эти вопросы по SQL с собеседований помогут вам извлечь максимальную выгоду на различных уровнях понимания.
Давайте начнем!

Вопросы по SQL с собеседований

Вопрос 1. В чем разница между операторами DELETE и TRUNCATE?

DELETETRUNCATE
Используется для удаления строки в таблицеИспользуется для удаления всех строк из таблицы
Вы можете восстановить данные после удаленияВы не можете восстановить данные (прим. перевод.: операции логируются по разному, но в SQL Server есть возможность сделать откат) транзакции)
DML-командаDDL-команда
Медленнее, чем оператор TRUNCATEБыстрее

№ Вопрос 2. Из каких подмножеств состоит SQL?

Вопрос 3. Что подразумевается под СУБД? Какие существуют типы СУБД?

База данных — структурированная коллекция данных. Система управления базами данных (СУБД) — программное обеспечение, которое взаимодействует с пользователем, приложениями и самой базой данных для сбора и анализа данных. СУБД позволяет пользователю взаимодействовать с базой данных. Данные, хранящиеся в базе данных, могут быть изменены, извлечены и удалены. Они могут быть любых типов, таких как строки, числа, изображения и т. д.

Существует два типа СУБД:

Вопрос 4. Что подразумевается под таблицей и полем в SQL?

Таблица — организованный набор данных в виде строк и столбцов. Поле — это столбцы в таблице. Например:
Таблица: Student_Information
Поле: Stu_Id, Stu_Name, Stu_Marks

Вопрос 5. Что такое соединения в SQL?

Для соединения строк из двух или более таблиц на основе связанного между ними столбца используется оператор JOIN. Он используется для объединения двух таблиц или получения данных оттуда. В SQL есть 4 типа соединения, а именно:

Вопрос 6. В чем разница между типом данных CHAR и VARCHAR в SQL?

И Char, и Varchar служат символьными типами данных, но varchar используется для строк символов переменной длины, тогда как Char используется для строк фиксированной длины. Например, char(10) может хранить только 10 символов и не сможет хранить строку любой другой длины, тогда как varchar(10) может хранить строку любой длины до 10, т.е. например 6, 8 или 2.

Вопрос 7. Что такое первичный ключ (Primary key)?

Sql что нужно знать тестировщику. image loader. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-image loader. картинка Sql что нужно знать тестировщику. картинка image loader

_Пример: в таблице Student StuID является первичным ключом.

Вопрос 8. Что такое ограничения (Constraints)?

Ограничения (constraints) используются для указания ограничения на тип данных таблицы. Они могут быть указаны при создании или изменении таблицы. Пример ограничений:

Вопрос 9. В чем разница между SQL и MySQL?

SQL — стандартный язык структурированных запросов (Structured Query Language) на основе английского языка, тогда как MySQL — система управления базами данных. SQL — язык реляционной базы данных, который используется для доступа и управления данными, MySQL — реляционная СУБД (система управления базами данных), также как и SQL Server, Informix и т. д.

Вопрос 10. Что такое уникальный ключ (Unique key)?

Вопрос 11. Что такое внешний ключ (Foreign key)?

Вопрос 12. Что подразумевается под целостностью данных?

Целостность данных определяет точность, а также согласованность данных, хранящихся в базе данных. Она также определяет ограничения целостности для обеспечения соблюдения бизнес-правил для данных, когда они вводятся в приложение или базу данных.

Вопрос 13. В чем разница между кластеризованным и некластеризованным индексами в SQL?

Вопрос 14. Напишите SQL-запрос для отображения текущей даты.

В SQL есть встроенная функция GetDate (), которая помогает возвращать текущий timestamp/дату.

Вопрос 15. Перечислите типы соединений

Существуют различные типы соединений, которые используются для извлечения данных между таблицами. Принципиально они делятся на четыре типа, а именно:

Sql что нужно знать тестировщику. image loader. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-image loader. картинка Sql что нужно знать тестировщику. картинка image loader

Inner join (Внутреннее соединение): в MySQL является наиболее распространенным типом. Оно используется для возврата всех строк из нескольких таблиц, для которых выполняется условие соединения.

Left Join (Левое соединение): в MySQL используется для возврата всех строк из левой (первой) таблицы и только совпадающих строк из правой (второй) таблицы, для которых выполняется условие соединения.

Right Join (Правое соединение): в MySQL используется для возврата всех строк из правой (второй) таблицы и только совпадающих строк из левой (первой) таблицы, для которых выполняется условие соединения.

Full Join (Полное соединение): возвращает все записи, для которых есть совпадение в любой из таблиц. Следовательно, он возвращает все строки из левой таблицы и все строки из правой таблицы.

Вопрос 16. Что вы подразумеваете под денормализацией?

Денормализация — техника, которая используется для преобразования из высших к низшим нормальным формам. Она помогает разработчикам баз данных повысить производительность всей инфраструктуры, поскольку вносит избыточность в таблицу. Она добавляет избыточные данные в таблицу, учитывая частые запросы к базе данных, которые объединяют данные из разных таблиц в одну таблицу.

Вопрос 17. Что такое сущности и отношения?

Сущности: человек, место или объект в реальном мире, данные о которых могут храниться в базе данных. В таблицах хранятся данные, которые представляют один тип сущности. Например — база данных банка имеет таблицу клиентов для хранения информации о клиентах. Таблица клиентов хранит эту информацию в виде набора атрибутов (столбцы в таблице) для каждого клиента.

Отношения: отношения или связи между сущностями, которые имеют какое-то отношение друг к другу. Например — имя клиента связано с номером учетной записи клиента и контактной информацией, которая может быть в той же таблице. Также могут быть отношения между отдельными таблицами (например, клиент к счетам).

Вопрос 18. Что такое индекс?

Индексы относятся к методу настройки производительности, позволяющему быстрее извлекать записи из таблицы. Индекс создает отдельную структуру для индексируемого поля и, следовательно, позволяет быстрее получать данные.

Вопрос 19. Опишите различные типы индексов.

Есть три типа индексов, а именно:

Вопрос 20. Что такое нормализация и каковы ее преимущества?

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

Вопрос 21. В чем разница между командами DROP и TRUNCATE?

Команда DROP удаляет саму таблицу, и нельзя сделать Rollback команды, тогда как команда TRUNCATE удаляет все строки из таблицы (прим. перевод.: в SQL Server Rollback нормально отработает и откатит DROP).

Вопрос 22. Объясните различные типы нормализации.

Существует много последовательных уровней нормализации. Это так называемые нормальные формы. Каждая последующая нормальная форма включает предыдущую. Первых трех нормальных форм обычно достаточно.

Вопрос 23. Что такое свойство ACID в базе данных?

ACID означает атомарность (Atomicity), согласованность (Consistency), изолированность (Isolation), долговечность (Durability). Он используется для обеспечения надежной обработки транзакций данных в системе базы данных.

Атомарность. Гарантирует, что транзакция будет полностью выполнена или потерпит неудачу, где транзакция представляет одну логическую операцию данных. Это означает, что при сбое одной части любой транзакции происходит сбой всей транзакции и состояние базы данных остается неизменным.

Согласованность. Гарантирует, что данные должны соответствовать всем правилам валидации. Проще говоря, вы можете сказать, что ваша транзакция никогда не оставит вашу базу данных в недопустимом состоянии.

Изолированность. Основной целью изолированности является контроль механизма параллельного изменения данных.

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

Вопрос 24. Что вы подразумеваете под «триггером» в SQL?

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

Вопрос 25. Какие операторы доступны в SQL?

В SQL доступно три типа оператора, а именно:

Вопрос 26. Совпадают ли значения NULL со значениями нуля или пробела?

Значение NULL вовсе не равно нулю или пробелу. Значение NULL представляет значение, которое недоступно, неизвестно, присвоено или неприменимо, тогда как ноль — это число, а пробел — символ.

Вопрос 27. В чем разница между перекрестным (cross join) и естественным (natural join) соединением?

Перекрестное соединение создает перекрестное или декартово произведение двух таблиц, тогда как естественное соединение основано на всех столбцах, имеющих одинаковое имя и типы данных в обеих таблицах.

Вопрос 28. Что такое подзапрос в SQL?

Подзапрос — это запрос внутри другого запроса, в котором определен запрос для извлечения данных или информации из базы данных. В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом. Подзапросы всегда выполняются первыми, а результат подзапроса передается в основной запрос. Он может быть вложен в SELECT, UPDATE или любой другой запрос. Подзапрос также может использовать любые операторы сравнения, такие как >, SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE AND indid

Ещё 35 вопросов с ответами опубликуем в следующей части… Следите за новостями!

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

H Тестировщик ПО. Минимальный пакет знаний для трудоустройства в черновиках Из песочницы

Sql что нужно знать тестировщику. 18b99085170c516a35e66393f00118e0. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-18b99085170c516a35e66393f00118e0. картинка Sql что нужно знать тестировщику. картинка 18b99085170c516a35e66393f00118e0

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

I) Прочитать и понять эту книгу Роман Савин. Тестирование Дот Ком;
II) Разобраться с SQL — запросами;
III) Разослать резюме;
IV) Показать свои знания и адекватность на собеседовании.

I) Прочитать и понять книгу

В книге около 300 страниц. За 1-2 дня прочитать несложно. Для тех, у кого нет времени на чтение, попробую изложить коротко основные моменты. Но рекомендую прочитать её полностью.

Участники разработки ПО:
1. Менеджер проекта — специалист, занимающийся вопросами поиска заказчиков проектов и исполнителей
2. QA-инженер — специалист, задача которого организовать процесс разработки таким образом, чтобы работа была выполнена в срок и на надлежащем уровне качества.
3. Продюсер — специалист, задача которого составить спецификацию (spec)
4. Программист — специалист, занимающийся написанием или корректировкой кода программы
5. Тестировщик — специалист, занимающийся поиском багов

Цикл разработки ПО состоит из:
1. Идея.
2. Разработка дизайна продукта и создание документации.
3. Кодирование или создание кода.
4. Исполнение тестирования и ремонт багов.
5. Релиз.

Цикл тестирования ПО состоит из трех этапов:
1. Изучение и анализ предмета тестирования.
2. Планирование тестирования.
3. Исполнение тестирования.

1. Тестирование — это сравнение фактического результата с ожидаемым.
2. Цели тестирования — нахождение багов до того, как их найдут пользователи.
3. Баг (bug) — это отклонение фактического результата от ожидаемого.
4. Спецификация (spec) — это детальное описание того, как должно работать ПО. Так же, это детальное описание ожидаемого результата. (В спецификации тоже могут быть баги, например, двусмысленные предложения).
5. Тест-кейс — это инструмент тестировщика, предназначенный для документирования и проверки одного или более ожидаемых результатов.
6. Тест-комплект — совокупность тест-кейсов находящихся, как правило, в одном документе, которые проверяют какую-то определенную часть нашего проекта.
7. Шаги тест-кейса (procedure) — это часть тест-кейса, ведущая исполнителя тест-кейса к фактическому результату. (Излишняя детализация может осложнить поддержку, а излишнее абстрагирование привести к непониманию того, как исполнить тест-кейс).
8. Front end — это непосредственный интерфейс пользователя (текст, картинки, кнопки, линки и прочие вещи, которые видно в окне приложения)
9. Back end — это то что на заднем фоне приложения (веб-сервер, код приложения, база данных и т.д.).
10. New feature testing — тестирование новых компонентов.
11. Regression testing — исполнение старых тест-кейсов для проверки того, что старые компоненты ПО еще работают.
12. СТБ (Bug Tracking System) — Система в которую заносятся баги.
13. Git — распределённая система управления версиями файлов (для управления коллекцией исправлений, патчей).

1. По знанию внутренностей системы:
• черный ящик (black box testing) — тестирование программы без доступа к коду;
• белый ящик (white box testing) — тестирование программы только по коду;
• серый ящик (grey box testing) — тестирование без кода+тестирование по коду.

2. По объекту тестирования:
• функциональное тестирование (functional testing) — например, проверка выводимого результата;
• тестирование интерфейса пользователя (UI testing) — из названия понятно;
• тестирование локализации (localization testing) — например, проверка шрифтов и другая адаптация приложения для пользователей;
• тестирование скорости и надежности (load/stress/performance testing) — например, проверка скорости загрузки сайта при определенном количестве пользователей;
• тестирование безопасности (security testing) — суть в том, чтобы усложнить условия для кражи данных (например телефонов и др. личной информации);
• тестирование опыта пользователя (usability testing) — суть в том, чтобы интерфейс был интуитивно понятен даже непродвинутым пользователям;
• тестирование совместимости (compatibility testing) — запуск на разных операционках и браузерах.

3. По субъекту тестирования:
• альфа-тестировщик (alpha tester) — тестирование сотрудниками фирмы;
• бета-тестировщик (beta tester) — тестирование пользователями.

4. По важности тестирования:
• сначала тестирование новых функциональностей (new feature testing) — тестирование новых функциональностей;
• потом регрессивное тестирование (regression testing) — повторное тестирование старых функций.

5. По критерию «позитивности»сценариев:
• позитивное тестирование (positive testing) — тестируем ожидаемыми методами;
• негативное тестирование (negative testing) — тестируем нестандартными методами(например вводим вместо 9 цифр — 11 букв).

6. По степени изолированности тестируемых компонентов:
• компонентное тестирование (component testing) — это тестирование одного логического компонента;
• интеграционное тестирование (integration testing) — это тестирование на уровне двух или больше логических компонентов;
• системное тестирование (system or end- to-end testing) — это проверка всей системы от начала до конца.

7. По степени автоматизированности тестирования:
• ручное тестирование (manual testing) — это исполнение тест-кейсов без помощи каких-либо программ, автоматизирующих вашу работу (например, создаем аккаунт вручную);
• автоматизированное тестирование (automated testing)- акаунт создается программой автоматически;
• смешанное/полуавтоматизированное тестирование (semi automated testing) — создаем акаунт вручную, но закупки сделаются автоматически.

8. По степени подготовки к тестированию:
• тестирование по документации (formal/documented testing) — тестирование по тест-кейсам;
• эд хок-тестирование (ad hoc testing) — интуитивное тестирование без документации (например, когда что-то нужно быстро проверить).

Sql что нужно знать тестировщику. 191bd111a39c4ffb483d960caa54325d. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-191bd111a39c4ffb483d960caa54325d. картинка Sql что нужно знать тестировщику. картинка 191bd111a39c4ffb483d960caa54325d

Также по документам существует:
• Тест-смета (Test Estimation) — документ, включающий в себя предварительную оценку времени, необходимого на подготовку к тестированию и на тестирование новых фича (new feature testing);
• Тест-план (test-plan) — документ, обобщающий и координирующий тестирование (подробнее об этом документе можно узнать в книге Савина).

II) Разобраться с SQL запросами

SQL (structured query language) — структурированный язык запросов.
С помощью SQL- запросов можно создавать и работать с реляционными базами данных.
Реляционная база данных — это таблица, в которой в качестве столбцов выступают поля данных, а каждая строка хранит данные.

SQL определяется Американским Национальным Институтом Стандартов и Международной Организацией по стандартизации (ISO)
Несмотря на это, некоторые производители баз данных вносят изменения и дополнения в этот язык. Эти изменения незначительны и основа остаётся совместимой со стандартом. (например ms sql, my sql, postgreSQL).

В каждой таблице должно быть одно уникальное поле, которое однозначно будет идентифицировать строку. Это поле назовем ключевым (Key1, Key2..).
В качестве ключа обычно используют численный тип и если позволяет база данных, то он будет типа «autoincrement» (автоматически увеличивающееся).

Столбцы в базе данных, также должны быть уникальными, но в этом случае не обязательно числовыми. Их можно называть как угодно, лишь бы было уникально и понятно.

SQL может быть двух типов: интерактивный и вложенный. Интерактивный — это отдельный язык, он сам выполняет запросы и сразу показывает результат работы. Второй — это когда SQL язык вложен в другой, например в С++ или Delphi.

Так как мы формируем минимальный список знаний трудоустройства, мы рассмотрим интерактивный SQL.

Представим, что у нас есть две таблицы:

Prog.db
Key1 / ProgName / Cost
1 / Windows 95 / 100
2 / Windows 98 / 120

User.db
Key1 / Key2 / LastName
1 / 1 / Иванов
2 / 1 / Петров
3 / 2 / Сидоров

Рассмотрим первый запрос:

SELECT *
FROM Prog, User
WHERE Prog.Key1= Key2
AND ProgName LIKE ‘Windows 95’

Выбрать (SELECT) все поля (*) из (FROM) баз данных Prog и User, где (WHERE) есть связь(Prog.Key1 и Key2) Prog.Key1= Key2 и ProgName LIKE ‘Windows 95’.
LIKE это тоже самое что равно(=) только для строк

Результатом этого запроса будет:

Prog.db User.db
Key1 / ProgName / Cost / Key1 / Key2 / LastName
1 / Windows 95 / 100 / 1 / 1 / Иванов
1 / Windows 95 / 100 / 2 / 1 / Петров

Отредактируем немного запрос:
SELECT Prog.Key1, Prog.ProgName, Prog.Cost*2 ‘руб’,
Cost.Key1, Cost.Key2, Cost.LastName
FROM Prog, User
WHERE Prog.Key1= Key2

Prog.Cost*2 ‘руб’ — эта запись говорит, что к каждое значение надо умножить на 2 и прибавить строку ‘руб’.

Результат:
Prog.db User.db
Key1 / ProgName / Cost / Key1 / Key2 / LastName
1 / Windows 95 / 200 руб / 1 / 1 / Иванов
1 / Windows 95 / 200 руб / 2 / 1 / Петров

Для сортировки используется команда ORDER BY. После этого пишутся поля, по которым надо отсортировать. В самом конце нужно поставить АSC (сортировать в порядке возрастания) или DESC (в порядке убывания). Если ты не ставишь АSC или DESC, то таблица сортируется по возрастанию и подразумевается параметр АSC.

Например:
SELECT *
FROM Prog
ORDER BY ProgName DESC

Результатом будет таблица Prog, отсортированная по полю ProgNamе в порядке убывания.

SQL калькулятор:
Вот несколько функций:
• COUNT — подсчёт количества строк;
• SUM — подсчёт суммы;
• AVG — подсчёт среднего значения;
• MAX — поиск максимального значения;
• MIN — поиск минимального значения.

Этот запрос просто подсчитывает количество строк в базе:
SELECT COUNT(LecNumber)
FROM User

Этот запрос опять подсчитывает количество строк, но теперь результатом будет количество народу, у которых поле LecNumber = 1:
SELECT COUNT(LecNumber)
FROM User
WHERE LecNumber=1

Этот запрос выводит количество лицензий и единицу измерения в одном столбце. Здесь к числу прибавляется текст:
SELECT LecNumber+’шт.’
FROM User

Работа с полями:
NSERT (вставить), UPDATE (модифицировать), DELETE (удалить).
После оператора VALUES идёт перечисление всех полей строки. Теперь рассмотрим пример:
INSERT INTO User1
VALUES (‘Иванов’, ‘Сергей’, 34);

Этой командой мы вставили строку и присвоили значения полям. В таблице три поля: первые два поля строковые (Фамилия и Имя), последнее поле — целое число (возраст). Типы данных обязаны совпадать с теми, что установлены в таблице.

Если не надо задавать все поля, тогда можно оставить их пустыми с помощью NULL:
INSERT INTO User1
VALUES (‘Иванов’, NULL, 34);

Если таблица с большим количеством полей и нужно заполнить только два из них?
Решение:

INSERT INTO User1 (Family, Age)
VALUES (‘Иванов’, 35);

После конструкции INSERT INTO и имени базы стоят скобки, где перечислены поля, которые необходимо заполнить (Фамилия и Возраст). В скобках после слова VALUES перечисляем эти поля в той же последовательности, в которой перечислил перед этим (сначала фамилия, а потом возраст).

Теперь представь, что мы хотим сохранить результат запроса SELECT в отдельной таблице. Для этого в SQL всё уже предусмотрено. Нужно только написать:

INSERT INTO User1
SELECT *
FROM User2
WHERE Age=10

В этом примере сначала выполнится запрос SELECT:

SELECT *
FROM User2
WHERE Age=10

После его выполнения результат будет занесён в таблицу User1. Важно, что количество столбцов в запросе и результирующей таблицы должно быть одинаково. А самое главное — это чтобы тип данных совпадал

Теперь рассмотрим такой запрос:

INSERT INTO User1(Name,Age)
SELECT Name,Age
FROM User2
WHERE Age=10

Теперь в таблицу User1 будут перенесены только два столбца (имя и возраст). Поля должны быть перечислены в таком порядке, чтобы типы и длина полей совпадали.

Мы смогли добавить строки, но надо и научиться изменять данные. Для этого нам доступна команда UPDATE. Сразу же попробуем взглянуть на пример:

UPDATE User1
SET age=65

Первая строка говорит о том, что нам надо обновить базу User1. Вторая строка начинается с оператора SET (установить). После этого мы пишем поле, которое хотим обновить, и присваиваем ему значение.

Если нужно обновить только определённые строки, то ты должен написать так:
UPDATE User1
SET age=65
WHERE Name LIKE ‘Вася’

UPDATE User1
SET age=age+1

UPDATE User1
SET age=age+1, Name=’Иван’
WHERE Family LIKE ‘Сидоров’

Этот запрос увеличит поле Age на единицу и установит поле Name в «Иван» во всех строках, где поле Family равно «Сидоров».

Теперь команда DELETE:

Эта конструкция удаляет абсолютно все строки из таблицы User1. Можно сказать, что этим мы очищаем таблицу.

Теперь рассмотрим другой пример:

DELETE FROM User1
WHERE Age=10

Этот пример удаляет только те строки, в которых поле Age равно 10.

Понимания этих запросов будет достаточно.

III) Разослать резюме

Самая короткая глава, это все умеют, hh.ru вам в помощь. Там же можно составить резюме. Перед составлением не забывайте смотреть резюме своих конкурентов.

Sql что нужно знать тестировщику. 816d3c40280c2560c7de1a47b266fb82. Sql что нужно знать тестировщику фото. Sql что нужно знать тестировщику-816d3c40280c2560c7de1a47b266fb82. картинка Sql что нужно знать тестировщику. картинка 816d3c40280c2560c7de1a47b266fb82

IV) Показать свои знания и адекватность на собеседовании

Обычно собеседование делятся на 3 этапа:
1) Встреча с девушкой из отдела кадров. На этом этапе будет несколько вопросов по вашим знаниям, чтобы было понятно, что вы в «теме» и много общих вопросов, чтобы определить вашу адекватность.
2) Тестовое задание — обычно дается на дом
3) Встреча с руководителем где будут вопросы, касающиеся ваших навыков тестирования.

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

Предположим, что у нас нет никакого официального опыта работы тестировщиком, в нашей голове только теория, хобби- программирование на самом начальном этапе, а в трудовой запись «менеджер по продажам».

Рассмотрим основные вопросы и и примеры самых обычных ответов на них:

1) Почему вы решили стать тестировщиком?
Меня всегда тянуло в IT сферу, эта профессия больше всего подходит моему характеру и моим интересам.

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

3) Какими достоинствами должен обладать эффективный тестировщик?
Честность, внимательность (для поиска багов), общительность(так как нужно будет много общаться с персоналом), обучаемость (без этого никуда), умение работать с большим объемом информации и умение расставлять приоритеты, и, конечно, стрессоустойчивость.

4) Ваше самое большое профессиональное достижение (не обязательно в области тестирования).
Создание и поддержание базы для логистики и закупа, которой пользовались все менеджеры компании. По этой базе, я мог закупить все, что мне нужно максимально дешево, и с любой точки России доставить товар с отличным соотношением цены, качества и риска.

5) Почему вы ушли (уходите) из своей предыдущей компании?
Мне нравилось работать в прошлой компании, но я хочу опробовать себя как тестировщик ПО. Так как данная сфера ближе к моим интересам, характеру и увлечениям. На этой должности я буду получать гораздо большое удовольствия от работы.

6) Приведите пример сложной ситуации, с которой вы столкнулись в своей карьере, и какой выход из нее вы нашли?
Из-за текучки кадров, мне часто приходилось брать обязанности других на себя, например доставка или закупки. И чтобы свести всю свою деятельность в единую систему, в свободное от работы время я создал базу (excel), которая собрала в кучу всю мою старую и новую деятельность. Эта база не дала мне запутаться в огромном количестве работы. Так же она помогла избавиться от блокнотов и стикеров, а это значит, что покупатели всегда видели порядок за моим рабочим столом.

7) Что бы вы пожелали усовершенствовать в себе? Что вы для этого делаете?
У меня есть хобби — программирование. Хочу совершенствовать свои навыки в этой области, они же в дальнейшем помогут улучшить мои навыки тестировщика.

8) Что вы ждете от нашей компании?
Хороший коллектив, и профессиональное развитие

9) Какой минимальный доход вас устроит?
Можно посмотреть средний доход по региону на эту вакансию и назвать его. Но, если вы проходите собеседование в 2гис, то говорите что готовы работать бесплатно 24/7/365, как рекомендует Савин. Так как эта книга эталон для их отдела кадров и им будет приятно знать что вы ее уже прочитали.

10) Какими источниками вы пользуетесь для развития в этой области
Можно посмотреть в конец статьи и назвать все, что будет в списке «Источники, которые были использованы для написания статьи:»

11) Кем вы видите себя через 5 лет?
Тут на ваш вкус.

В принципе все. У вас все получится. Главное:

Источник

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

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