Комментарии 16
QC — ищет, описывает и воспроизводит дефекты
QA — еще и работает над снижением риска появления дефектов
Насчет Software Engineer in Test: поиск на HH.ru дает ровно одну такую вакансию. Гораздо чаще встречается Software Development Engineer in Test и там все очевидно из названия: это разработчик, предметная область которого — тестирование.
В моем понимании разделение такое:
SET - может писать автоматизацию данными ему средставами (программист узкой направленности).
SDET - может сам написать средства автоматизации (разработчик программных систем и комплексов узкой направленности*)
* -- т.е. сами комплексы и системы узконаправленные, а разработчик - полноценный.).
Т.е. разница как небо и земля.
Интересно. Это интуитивное понимание или вы встречали такие определения в какой-то литературе?
Я бы согласился, но кто такой тогда QA Automation Engineer? Как мне кажется, ваше первое определение как раз про эту должность.
Я думаю, что Automation Engineer и Software Engineer in Test одно и тоже, а вот приставка QA говорит о том, что человек охватывает большую часть периметра цикла. Т.е. он умеет не только писать автоматизацию на инструменте, но понимает все задачи автоматизации в релизном цикле. Он понимает принцип Continuous Delivery и может его наладить со всеми необходимыми ступенями. от сдачи кода через его автоматическую проверку до деплоя. Т.е. он может и юнит тесты писать, и знает как это делать хорошо, может сонар настроить, дженкинс, виртуалки, контейнеры для баз данных и прочее. Короче ставит автоматизацию в проекте на поток и поддерживает ее.
Тут просто разный набор навыков, поэтому названия разные. Чтобы дать этому набору навыков какое-то отличное от других название. A можно, например, себе представить название Test Automation Solution Architect. Тоже сразу понятно что надо. Человек который может понять процесс клиента и предложить подходящее решение по автоматизации опробовать его и внедрить. Он проложит колею,а выращивать это решение уже будут SET-ы.
Вообще в англоговорящих странах и Европе слово Engineer используется, чтобы отличать технарей от менеджеров.
И например вполне можно себе представить, что какой-нибудь Middle SET перерастет в Junior QA AET если будет расти в ширину, а если в глубину то может стать SDET например. Senior SET я себе с трудом представляю. Там просто некуда сеньориться.
И вам @lxsmkv и @conopus спасибо за дискуссию! Для меня важный вывод - в будущем подкреплять подобный материал ссылками на первоисточники.
Я вернулась сейчас к уважаемой многими книге-бестселлеру How Google Tests Software: Whittaker, James, Arbon, Jason и глава 2 так и называется Software Engineer in Test, вот дословное определение на странице 16:
Google SETs are test developers, responsible for assisting SWEs with the unit test portion of their work and also in writing larger test frameworks to assist SWEs in writing small and medium tests to assess broader quality concerns.
примечание:
Software Engineers in Test == SET
Software Engineer == SWE
И вот, например, GitLab говорит. что у них тоже есть Software Engineer in Test и список обязанностей впечатляет
![](https://habrastorage.org/getpro/habr/upload_files/652/581/dc3/652581dc3a33839c64fb2239b3f81912.png)
Считаю, это хорошим подкреплением того, что в своей статье я достаточно верно рассмотрела вопрос Кто такой Software Engineer in Test. Да, рассмотрение поверхностное, и в разных компаниях допускаются отклонения, поэтому вариации нужно уже смотреть на месте работы.
Вера верифицирует.
Валя валидирует.
Отдел тестирования в сборе!
На самом деле многие путаются, потому что трудно найти внятное объяснение, которое бы работало на понятийном уровне.
Верификация - сверка на соответствие полученного результата, изначальным требованиям.
Например, вам приходит коробка с цветными карандашами и вы сверяете по списку что получили именно то что заказывали, коробка металическая одна штука, карандашей разноцветных двенадцать штук, все разные цвета. Сомнений нет, правда*, это карандаши. Te, что мы заказывали.
* от лат. verus - истинный и facio - делаю
Валидация - проверка на пригодность к эксплуатации.
Начинаете карандаши точить - грифель ломается, начинаете рисовать, цвета слишком бледные и желтый практически не отличается от оранжевого. Т.е. для эксплуатации такие карандаши не годятся. Плохие карандаши, не здоровые**.
** от лат. validus - здоровый, крепкий.
Можно представить и обратный случай: коробка не металлическая как указано в заказе, а пластиковая, но карандаши годятся в эксплуатацию. Тут верификация не прошла, но прошла валидация.
----
Только вот на практике от умения различать эти понятия пользы ровно ноль. Если только ты в NASA не работаешь или в фармацевтике. Я не могу представить себе ситуацию у тестировщика (ПО) где бы он мог применив свое знание этих понятий положительно повлиять на качество продукта.
В лучшем случае он схлопочет в свой адрес: "Садись, пять, теорию выучил! Прагматичнее надо быть, Валера, прагматичнее, понимаешь? Тут бизнес, а не школа."
Привет, Ира! Давно не было статей от тебя :(
Спасибо, что разложила по полочкам - будет проще объяснить менеджменту кого мы ищем :)
Кто такой QA Engineer, QC Engineer и Software Engineer in Test