Перейти к содержимому

Фотография

SQL - что должен знать тестировщик?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 Orioshka

Orioshka

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 22 июня 2011 - 07:16

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

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

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

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

#2 Zenturio

Zenturio

    Опытный участник

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


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

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

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

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

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

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

#3 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

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

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

#4 Natalya Rukol

Natalya Rukol

    Профессионал

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


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

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

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


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

#5 bsod

bsod

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • Город:Moscow

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

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

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

#6 Future

Future

    Опытный участник

  • Members
  • PipPipPipPip
  • 261 сообщений
  • Город:Москва

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

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

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

#7 ch_ip

ch_ip

    Профессионал

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


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

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

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

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

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

#8 Majestry

Majestry

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Максим
  • Город:Киев

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

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

#9 молчун

молчун

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:МЮВ

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

На собеседованиях спрашивали, но все простые, без под запросов и Join.
Куда устроился тоже спрашивали, но на конкретном проекте не требуется - так и забыть можно, то что учил :)
  • 0
Тестирую ПО для банков и не только

#10 молчун

молчун

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:МЮВ

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

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

#11 Molechka

Molechka

    Профессионал

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


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

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

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

#12 Лелик32

Лелик32

    Постоянный участник

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

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

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

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

#13 Majestry

Majestry

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Максим
  • Город:Киев

Отправлено 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.
Задание:
вывести список всех подозреваемых (вывести поля: Фамилию, Гос.номер,
позывной).


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

#14 Черная Команда

Черная Команда

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Черная Команда

Отправлено 18 апреля 2012 - 15:20

Что бы тут выше не писали (сорри не читали), тестировщик (хороший тестировщик) в идеале должен отлично знать SQL (DDL, DML, DCL, ТCL), уметь делать сложные изощренные конструкции его средствами, а так же хотя бы краем уха слышать о его других диалектах на подобие DQL и процедурных расширениях для разных БД.
  • 0

#15 Majestry

Majestry

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Максим
  • Город:Киев

Отправлено 19 апреля 2012 - 08:50

В идеале да, не спорю. Но если берешь джуниора и готов его обучать, то достаточно базовых знаний SQL. А дальше учить-учить-учить...
  • 1
CRM-системы для информационно-диспетчерских служб (такси)

#16 shaddy

shaddy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Назаров Никита


Отправлено 19 апреля 2012 - 13:10

Majestry, прямо сажаете за компьютер с такой открытой таблицей или же описываете на словах и просите написать на бумаге запрос?
  • 0

#17 Majestry

Majestry

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Максим
  • Город:Киев

Отправлено 19 апреля 2012 - 14:07

2 shaddy - на бумаге. В IBExpert (в основном используется для работы с Firebird\IB), слишком много подсказок, в том числе и построитель запросов, а это слишком просто.
За компьютер я сажал кандидатов когда предлагал выполнить практическое задание, но до него доходил в среднем 1 кандидат из 3-4.
  • 1
CRM-системы для информационно-диспетчерских служб (такси)

#18 shaddy

shaddy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Назаров Никита


Отправлено 19 апреля 2012 - 20:03

Ну тут зависит от того, на какую позицию вы собеседуете человека.
SQL - далеко не самое сложное, что существует в работе тестировщика.
Например, я на своем первом собеседовании не знал ничего кроме селектов. До сих пор стыдно за то, что я понаписал в анкете. На следующем честно признался, что не в теме - и уже через неделю свободно копался в базе. Нужно оценивать потенциал человека, а не то, что он успел заучить. Если мы конечно ведем речь о джуниоре. Во всех остальных случаях кандидат может воспринять такие тестовые задачи как оскорбление :)
  • 0

#19 ch_ip

ch_ip

    Профессионал

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


Отправлено 19 апреля 2012 - 20:38

Если мы конечно ведем речь о джуниоре. Во всех остальных случаях кандидат может воспринять такие тестовые задачи как оскорбление :)

Вы слишком хорошо думаете о людях. 90% людей, занятых в тестировании не решит предложенные задачи правильно на собеседовании.
  • 0

#20 shaddy

shaddy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Назаров Никита


Отправлено 20 апреля 2012 - 05:02

Надеюсь, что все-таки это вы слишком плохо думаете о 90% тестировщиков, поскольку задачки то обе - уровень самых первых упражнений sql-ex'а. То есть если человек знал, что его будут спрашивать об SQL - подготовка заняла бы ну максимум 2 часа.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных