Когда мне предложили вести курс "SQL для тестировщиков" я не смогла отказаться. ;) Но задумалась: а что вообще должно быть в этом курсе? Чем он должен отличаться от тех курсов, которые проходят на любой специальности, связанной с ИТ: "Системы управления БД" и "SQL"? Ответы на многие вопросы я нашла в своей практике, но решила все же проверить правильны ли мои догадки.
Так появился опрос на Хабре и статья по его результатам.
Как они показали: вопрос и вправду неоднозначный. Кто-то считает, что знания SQL вредят тестировщикам, кто-то наоборот: что без них процесс тестирования неполноценен. Кто-то говорит, что SQL нужен только продвинутым тестировщикам для автоматизации, кто-то - что SQL не повредит и начинающим. Кто-то считает, что эта тема высосана из пальца, кто-то - что она важна. Сколько людей - столько мнений.
Ну а изучать SQL или нет каждый решает сам для себя :)
Так появился опрос на Хабре и статья по его результатам.
Как они показали: вопрос и вправду неоднозначный. Кто-то считает, что знания SQL вредят тестировщикам, кто-то наоборот: что без них процесс тестирования неполноценен. Кто-то говорит, что SQL нужен только продвинутым тестировщикам для автоматизации, кто-то - что SQL не повредит и начинающим. Кто-то считает, что эта тема высосана из пальца, кто-то - что она важна. Сколько людей - столько мнений.
Ну а изучать SQL или нет каждый решает сам для себя :)
В некоторых сферах SQL нужен даже тех.поддержке на минимальном уровне))
ОтветитьУдалитьСейчас почти все веб -приложения строятся на базах.Как тестировать если ты не знаешь SQL?
ОтветитьУдалитьОтвет - сели на проекте используются базы. То тестировщик должен знать SQL.
"если на проекте используются базы. То тестировщик должен знать SQL. "
ОтветитьУдалитьС одной стороны да, но если так это трактовать, то тогда если используется PHP Python Java С++ и всякие разные языки, которых не вспомнить всех - ты тоже должен их знать?..
Согласна с red_foks:
Любую сферу, с которой сталкиваешься как тестировщик, надо понимать - ну грубо говоря понимать принцип построения/создания, места хранения/обращения и несколько основных команд. Но прям "знать" во всей сухости этого слова его не обязательно, можно углубиться, если хочется изучить подробнее, но не забываем, что наша цель не находить пути решения проблемы(а зная тот или иной язык, БД и т.д. в подробностях - многие именно так и поступают чисто исходя из познаний, которые не терпится применить), а находить саму проблему, которую необходимо передать уже лицам, решающим ее.
2 red_foks:
ОтветитьУдалитьа в некоторых - вообще без SQL никому и никуда )))
Тут уж кому как повезет ))
Смотря что понимать под знаниями в SQL. :)
ОтветитьУдалитьЕсли написать выборку с подзапросами, агрегацией и тд или запросы на инсёрт-делет записи, то тут навреное такое может пригодиться почти везде.
А если нужны специфические зания по оптимизации скорости определённого запроса под определённую субд, то наверное тестировщику эти знания не очень пригодятся, даже при написании автотестов.
2 bazkitten:
ОтветитьУдалитьЯ с Вами полностью согласна. ИМХО тестировщик должен знать хотя бы основы того языка, на котором написан проект. Если это РНР, то на уровне написания РНР-инъекций, например.
"Кто-то считает, что знания SQL вредят тестировщикам.
ОтветитьУдалитьНеужели есть и такие люди? Ужас.
2LeshaL:
ОтветитьУдалитьНе поверишь - столько программистов знаю, которые так считают... )))
SQL не входит в группу "MUST HAVE" знаний тестировщика, однако, его знание является огромным плюсом!
ОтветитьУдалитьПример из жизни:
На одном проекте было 15 тестировщиков. Реально SQL знало 3 человека, остальные знали, где запустить запрос и где посмотреть результат. Тест кейсы писались на таком уровне, что каждый можно их проходить (даже не зная SQL). Типа:
1. выполни запрос: SELECT NAME FROM USERS WHERE .....
2. проверь что NAME='тест юзер'
К концу проекта каждый тестировщик был в состоянии писать самостоятельно простейшие запросы...
Еще один огромный плюс - когда тестировщик не один на проекте и ему есть у кого учиться :)))
ОтветитьУдалитьЕсли под тестированием проекта понимать его доработку, т.е. "занесение хвостов" за разработчиком, то необходимо знать и SQL, и Java, и PHP, и XML, и CSS, и разные СУБД, ОС и... Ну в общем понятно.
ОтветитьУдалитьЧастично соглашусь с bazkitten.
Ну, а если тестирование - гарантия соответствия заявленного функционала проекта техническому заданию заказчика, то тестировщик обязан взаимодействовать с системой только посредством пользовательского интерфейса. Точно так же, как и пользователь системы.
В этом случае ему нужны не знания SQL. Но требуется совершенное понимание вариантов использования проекта, немалая смекалка, сообразительность и достаточная квалификация, чтобы "свалить" проект. Далее общение с разработчиками и устранение дефектов.
Конечно, многое зависит от того, насколько несовершенен процесс разработки в конкретном случае.
Соглашусь ещё и с Алексеем Булатом, по поводу "SQL не входит в группу "MUST HAVE" знаний тестировщика".
Если хочется ещё и SQL, то самообразования ещё никто не отменял. Потом можно подрабатывать и разработкой.