пятница, 12 августа 2011 г.

И снова про SQL для тестировщиков ))

Когда мне предложили вести курс "SQL для тестировщиков" я не смогла отказаться. ;) Но задумалась: а что вообще должно быть в этом курсе? Чем он должен отличаться от тех курсов, которые проходят на любой специальности, связанной с ИТ: "Системы управления БД" и "SQL"? Ответы на многие вопросы я нашла в своей практике, но решила все же проверить правильны ли мои догадки.

Так появился опрос на Хабре и статья по его результатам.
Как они показали: вопрос и вправду неоднозначный. Кто-то считает, что знания SQL вредят тестировщикам, кто-то наоборот: что без них процесс тестирования неполноценен. Кто-то говорит, что SQL нужен только продвинутым тестировщикам для автоматизации, кто-то - что SQL не повредит и начинающим. Кто-то считает, что эта тема высосана из пальца, кто-то - что она важна. Сколько людей - столько мнений.

Ну а изучать SQL или нет каждый решает сам для себя :)

11 комментариев:

  1. В некоторых сферах SQL нужен даже тех.поддержке на минимальном уровне))

    ОтветитьУдалить
  2. Сейчас почти все веб -приложения строятся на базах.Как тестировать если ты не знаешь SQL?
    Ответ - сели на проекте используются базы. То тестировщик должен знать SQL.

    ОтветитьУдалить
  3. "если на проекте используются базы. То тестировщик должен знать SQL. "
    С одной стороны да, но если так это трактовать, то тогда если используется PHP Python Java С++ и всякие разные языки, которых не вспомнить всех - ты тоже должен их знать?..
    Согласна с red_foks:
    Любую сферу, с которой сталкиваешься как тестировщик, надо понимать - ну грубо говоря понимать принцип построения/создания, места хранения/обращения и несколько основных команд. Но прям "знать" во всей сухости этого слова его не обязательно, можно углубиться, если хочется изучить подробнее, но не забываем, что наша цель не находить пути решения проблемы(а зная тот или иной язык, БД и т.д. в подробностях - многие именно так и поступают чисто исходя из познаний, которые не терпится применить), а находить саму проблему, которую необходимо передать уже лицам, решающим ее.

    ОтветитьУдалить
  4. 2 red_foks:
    а в некоторых - вообще без SQL никому и никуда )))
    Тут уж кому как повезет ))

    ОтветитьУдалить
  5. Смотря что понимать под знаниями в SQL. :)

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

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

    ОтветитьУдалить
  6. 2 bazkitten:
    Я с Вами полностью согласна. ИМХО тестировщик должен знать хотя бы основы того языка, на котором написан проект. Если это РНР, то на уровне написания РНР-инъекций, например.

    ОтветитьУдалить
  7. "Кто-то считает, что знания SQL вредят тестировщикам.

    Неужели есть и такие люди? Ужас.

    ОтветитьУдалить
  8. 2LeshaL:
    Не поверишь - столько программистов знаю, которые так считают... )))

    ОтветитьУдалить
  9. SQL не входит в группу "MUST HAVE" знаний тестировщика, однако, его знание является огромным плюсом!

    Пример из жизни:
    На одном проекте было 15 тестировщиков. Реально SQL знало 3 человека, остальные знали, где запустить запрос и где посмотреть результат. Тест кейсы писались на таком уровне, что каждый можно их проходить (даже не зная SQL). Типа:

    1. выполни запрос: SELECT NAME FROM USERS WHERE .....
    2. проверь что NAME='тест юзер'

    К концу проекта каждый тестировщик был в состоянии писать самостоятельно простейшие запросы...

    ОтветитьУдалить
  10. Еще один огромный плюс - когда тестировщик не один на проекте и ему есть у кого учиться :)))

    ОтветитьУдалить
  11. Если под тестированием проекта понимать его доработку, т.е. "занесение хвостов" за разработчиком, то необходимо знать и SQL, и Java, и PHP, и XML, и CSS, и разные СУБД, ОС и... Ну в общем понятно.
    Частично соглашусь с bazkitten.

    Ну, а если тестирование - гарантия соответствия заявленного функционала проекта техническому заданию заказчика, то тестировщик обязан взаимодействовать с системой только посредством пользовательского интерфейса. Точно так же, как и пользователь системы.
    В этом случае ему нужны не знания SQL. Но требуется совершенное понимание вариантов использования проекта, немалая смекалка, сообразительность и достаточная квалификация, чтобы "свалить" проект. Далее общение с разработчиками и устранение дефектов.

    Конечно, многое зависит от того, насколько несовершенен процесс разработки в конкретном случае.

    Соглашусь ещё и с Алексеем Булатом, по поводу "SQL не входит в группу "MUST HAVE" знаний тестировщика".

    Если хочется ещё и SQL, то самообразования ещё никто не отменял. Потом можно подрабатывать и разработкой.

    ОтветитьУдалить