Разрыв ChatGPT: “необучаем и бесполезен в автоматизации”

Скептический взгляд на перспективы ChatGPT. Рубрика «Мнения авторитетов». UPD: итоги полугода с ChatGPT + список инструментов QA, в итоге не оправдавших надежд.

«Мой предыдущая статья о ChatGPT, в которой я продемонстрировал бесполезность ИИ в автоматизации [прим. — здесь], стала хитом на Медиуме. Я получил фидбек, суть возражений в том, что «ChatGPT все еще в ранней версии, система — да — несовершенная, но она очень быстро прогрессирует, и ее можно специально обучать на стандартных QA-тасках». Звучит на первый взгляд правдоподобно, на самом деле эти предположения некорректные, и далее я их опровергаю. Моя точка зрения состоит в том, что:

  1. Системы искусственного интеллекта — не новая вещь. А тестировщики — не ученые-исследователи.
  2. Квалификация большинства QA-инженеров оставляет желать лучшего, как они могут обучать ботов?
  3. Чем дольше обучают ChatGPT неправильным способом, тем хуже будут результаты.
  4. Мы вообще-то тестировщики, а не специалисты по нейросетям. У нас своя задача!
  5. Апдейт

1. ИИ появился еще в 1950х, и где результаты?

Википедия говорит, что первый искусственный интеллект изобретен в 1956 году. И как видим, даже современные ИИ-системы все еще не годятся для повседневных задач в разработке софта. Да, мне известно о последних успехах в machine learning. Да, некоторые (весьма ограниченные) задачи автоматизации QA могут успешно выполняться с помощью ИИ. Но чаще видим фейл. Кстати было уже два «пришествия искусственного интеллекта», о которых никто не помнит и которые закончились ничем. Да неужели сейчас будет по другому? Если вы не ученый-исследователь (а я был им 3 с половиной года), а просто обычный тестировщик-автоматизатор, глупо было бы строить свои жизненные планы, оглядываясь на такую вероятность.

Автоматизация QA должна обеспечить Объективность и Скорость тестов. Если кто-то научился применять ИИ в своих стандартных рабочих задачах, и этим приносит пользу команде — чудесно. Если кто-то просто заявляет что «автоматизация никогда не будет прежней после изобретения ChatGPT», пусть докажет это на практике.

Здесь хочу вспомнить о такой вещи в Agile: Timebox. Видите ли, разработчики и тестировщики не имеют права месяцами в рабочее время играться с новой игрушкой. По моему, одного дня, 8 часов, вполне достаточно для оценки: годится/нет. Таймбокс, напомню, это лимит времени, выделенный на задачу.

Кто-то возмутится: одного дня мало на такой сложный инструмент. Давайте смотреть так. В веб-тестировании, чтобы оценить рабочий инструмент, достаточно одного дня, как я считаю; человек, хорошо освоивший стек или конкретный инструмент, за 1 день освоит любой другой инструмент. Навыки веб-тестирования очень даже «переносимы» и «масштабируемы». Например я пользуюсь связкой raw Selenium WebDriver + RSpec (и все это бесплатное и открытое, в отличие от того же ChatGPT, к слову сказать). Для хорошего тестировщика-сеньйора таймбокс на освоение инструмента составляет порядка десятков минут, не больше часа. Моя дочь, Кортни Чжан, освоила инструментарий за один рабочий день на своей первой работе, будучи интерном. Поэтому, когда вы говорите с пафосом, что «ChatGPT перевернул тестирование», давайте пруфы. Если 20-летний интерн может за один день научиться писать неплохие скрипты для Selenium WebDriver, я ожидаю от вашего хайпового инструмента — примерно такой же простоты и качества скриптов, как в давно известных и широко применяемых инструментах QA.

Давайте учитывать также, что само по себе написание тестов — это лишь 10% от рабочего времени QA-автоматизатора.

2. Квалификация большинства QA-автоматизаторов посредственна — и они не способны обучать ИИ

В терминологии искусственного интеллекта есть понятие «Эксперт-системы», имитирующей принятие решений человеком-экспертом. Здравый смысл подсказывает, что «тренер» ИИ должен обладать идеальным знанием своей предметной области. Но такое в QA-автоматизации бывает крайне редко. Слово экспертам:

«По моему опыту, хорошие программисты не всегда могут быть хорошими тестерами, но из хорошего тестера всегда получится хороший программист (и хороший дизайнер). У них такой майндсет: любовь к качеству. Эти люди — золото.»

Сказал вице-президент Google Патрик Коупленд в интервью платформе Utest.

«95% времени 95% тестировщиков пишут плохие тесты автоматизации GUI, просто потому что это очень сложные вещи, которые тяжело сделать правильно с первого раза»

Алан Пейдж, его интервью в качестве тех-гуру Microsoft — сайту TestGuild.

«Слушайте, тестирование тяжелее программирования. Если хотите иметь в компании хорошее тестирование, найдите самых лучших людей в ИТ.»

Джеральд Вайнберг, руководитель ИТ-части первой космической программы NASA в своем подкасте.

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

По моей классификации AgileWay, которую разрабатываю 15 лет, >90% людей, называющих себя QA-автоматизаторами или даже SDET-сеньйорами, заслуживают лишь на Уровень 0 или 1 в AgileWay Continuous Testing Grading.

Может ли тестировщик нулевого уровня выступать как тренер искусственного интеллекта, и что получится из этого?

3. Чем дольше обучают ChatGPT, тем будут хуже результаты

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

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

  • Используйте raw Selenium WebDriver, это лучше в любом случае. 

WebDriver основан на стандарте W3C, который описывает все веб-технологии. Это единственный фреймворк автоматизации, поддерживаемый всеми браузерами.

С той поры как вышел Selenium2 (12 лет назад), я видел хайп по PhantomJS, Protractor, TestCafe, Puppeteer, Cypress, и что? Посмотрите: Cypress уже клонится к закату. Playwright уже лучше чем Cypress [прим.ред. — у нас есть статья об этом.], но и лучшему из новых фреймворков — Playwright’у еще далеко до raw-Selenium’а; взять хотя бы синтаксис.

Старый-добрый Selenium WebDriver по прежнему стандарт веб-тестирования, причем без рекламы, не сдает позиции перед нападками заинтересованных лиц и маркетологов.

  • Вам не нужна Java и вам не нужен C# как языки сценариев

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

  • Вам не нужен Cucumber, не нужен SpecFlow

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

Советы простые и эффективные, ИТ-компании которые я консультировал — принимали эти советы, но не следовали им. И их автоматизацию нельзя назвать успешной. Один менти, которого учил я, использовал Protractor, вопреки моим советам. И у него ничего не вышло.

Все эти ошибочные подходы будут массово повторяться и в случае с ChatGPT. 

Профессиональный автоматизатор не будет тратить уйму времени на возню с ChatGPT. У него других забот полно, хотя бы на проверку и поддержку огромных тест-свитов и автоматизированные сквозные регрессы. Это 90% времени веб-автоматизатора.

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

4. Мы тестировщики, а не специалисты по машинному обучению. У нас другие задачи.

Если ты тестировщик — так делай свою основную работу в первую очередь, и не трать время на игрушки в виде ChatGPT. Да, можно (и нужно) стремиться к упрощению своих задач, можно даже пробовать быть быстрее и эффективнее с помощью ChatGPT. Но, слушайте, исследования — это задача исследователей, ученых, и только их.

Я был ментором у людей, пытавшихся стать автоматизаторами, которых на самом деле не очень интересовала автоматизация как таковая. Хоть они много говорили об автоматизации, хорошо знали фреймворки и процессы. Я хотел бы провести эксперимент: выделить такому автоматизатору полдня на освоение ChatGPT, и чтобы человек тут же продемонстрировал результат, в виде нормальных тест-кейсов E2E.

Если мой сотрудник сможет сделать в ChatGPT хотя бы половину того что он может сделать в Selenium WebDriver — я разрешу такому сотруднику сидеть в ChatGPT сколько угодно в рабочее время. Однако я сомневаюсь, что кто-то согласится на такой эксперимент.

Я люблю спрашивать у тех, кто повелся на хайп с ChatGPT в QA-автоматизации: сколько e2e-автотестов вы пишете в ChatGPT каждый день? Они бубнят, что «ChatGPT еще не вполне готов, его доделывают.» ОК. Уже вышла 4-я версия, в 500 раз мощнее чем 3-я. Как успехи? Их нет. Ждите дальше».

Отсюда.

Кто это: Жимин Чжан — австралийский эксперт по автоматизации QA. Создатель специализированного инструмента для рефакторинга функциональных тестов, и сервера для Continuous Testing. Также коуч, консультант по Agile/DevOps, писатель книг (12), автор статей, коментов и постов на Медиуме и Substack, разработчик на Ruby (отмечен наградой Ruby Award).

***

Апдейт от 16 июня

Раздраженный реакцией на его многочисленные весьма критические публикации о ChatGPT, Учитель Чжан продолжает наносить уничтожающие удары; в новом (member-only) посте он подводит итоги полугодичного хайпа по поводу ChatGPT; а также дает объемный список других QA-инструментов, теперь заброшенных; такое же будущее он предсказывает и ChatGPT — и в чём-то он прав, наверное? 

Далее прямая речь: «

ChatGPT - trust but verify
Без цитаты Рейгана не авторитетно

ChatGPT, представленный в прошлом декабре, очень тепло принят QA-сообществом. «Это навсегда изменит автоматизацию», и другие восторженные отклики:

Хорошо, шести месяцев вполне достаточно для верификации новой технологии, особенно если дело касается автоматизации тестирования (тестировщик все верифицирует, да?)

Мой главный вопрос (точнее претензия) к ChatGPT заключается в следующем: «Прошло полгода, что мы получили в плане возможности качественной автоматизации сквозного веб-тестирования в ChatGPT?»

Ответ в общем виде: «… ыыыы … » (отговорки)

Смотрим ретроспективно:

  1. Инструмент на рынке уже полгода, причем в марте представлена новая версия, как заявлялось в 500 раз мощнее чем предыдущая. И что?
  2. Хороший тестировщик, хоть бы и стажер, должен уметь, и иметь возможность, освоить любой рабочий инструмент, будь то Selenium WebDriver или ChatGPT, в первый же день на работе, и дальше легко работать в нем. Утверждают, что ChatGPT (и подобные ИИ-инструменты) делают работу тестировщика проще. У ChatGPT получается делать работу тестировщика проще?
  3. E2E-автоматизация не изменилась за 20 лет «в целом». И если QA-автоматизатор раньше успешно что-то делал в инструменте А, он должен иметь возможность легко реплицировать это в инструменте B,C,D. Но с ChatGPT так не получается.

«Тестирование» — это всегда «верификация». Надеетесь на новые инструменты, это ОК, но ChatGPT уже который по счету QA-инструмент, не показывающий конкретные результаты? Дело в том, что до сих пор я не вижу реальных репортов (с историей) во всех статьях об автоматизации с применением ChatGPT. Напомню, как выглядит репорт реального e2e-теста:

e2e тестовый набор

Видите, здесь в наборе 559 тестов. Опытный автоматизатор знает, сколько труда требуется для обслуживания нескольких сотен тестов из большого (то есть стандартного) e2e/UI набора. В данном случае ежедневные регрессы в CI, полное регрессионное (e2e через UI) если были изменения. И все это в связке WebDriver+RSpec.

Напомню также, что тот же хваленый Cucumber оказался далеко не так хорош.

Мой подход ко всем без исключения новым QA-инструментам заключается в разборе их применения на практике, в реальных тестах. Нет предубеждений к ИИ, включая ChatGPT, просто хотелось бы, чтобы любой инструмент был достаточно прост, чтобы любой тестировщик мог использовать его с первого дня, и этот инструмент позволял без проблем писать по 50 и более e2e-тестов в день. Это стандартная ежедневная рабочая нагрузка (потому что приложения/сайты обновляются каждый день). Пока не вижу такой возможности в ChatGPT, поэтому не могу назвать хорошим инструментом.

Почему все хайпуют по поводу ИИ в QA? Вот почему:

(Джеймс Бах — автор «Книги полезных рецептов по тестированию» и двух других. Бах пишет, что «Если вас так увлекает ИИ, то вы уже начинаете отставать, будьте внимательны. Не ищите волшебные ИИ-промпты, которые победят монстров, которые заставят ваших коллег и конкурентов думать что вы более компетентны чем они, просто будьте более компетентны. Прокачивайте свои скиллы и практикуйте критическое мышление.»)

***

Далее Учитель Чжан возмущается: как много людей впали в массовое заблуждение насчет возможностей ChatGPT, и повторяет, что автоматизаторы в основном очень глупы (даже тестировщики в Microsoft), что «квалификация 95% автоматизаторов недостаточна для того чтобы предметно судить о реальном качестве тестов, генерируемых ChatGPT».

***

Внимания заслуживает также другой пост Учителя Чжана на Медиуме, в котором он перечисляет хайповые в свое время QA-инструменты, которые, как он считает, по итогу провалились ( => и так же будет с ChatGPT). Это, по его мнению:

  • Инструменты записи-и-воспроизведения

Типа HP QTP (сейчас переименован в Micro Focus UFT) и IBM Rational Function Tester. Эти, далее прямая речь, «так называемые лидирующие в индустрии инструменты, будучи очень дорогими, сейчас теряют релевантность. Microsoft даже закрыла проект Coded UI Test , предназначавшийся для Selenium и Appium.

  • Инструменты кроссбраузерного тестирования типа SauceLabs и BrowserStack

Теперь почти никто не делает кроссбраузерное тестирование — все пользователи сидят в Chrome.

  • Headless-тестирование в PhantomJS

Как сейчас люди злятся из-за моей критики ChatGPT, так раньше было и с PhantomJS.

  • Protractor (JS)

Фреймворк, основанный на Selenium, созданный командой Angular.js, закрытый в 2021 году. 

  • TestCafe, Puppeteer и Cypress

Эти три инструмента уже практически вытеснил Puppeteer.

  • Инструменты Codeless-автоматизации

Типа Katalon.

Список провалившихся QA-инструментов можно дополнить провалившимися попытками в сфере синтаксиса:

  • FitNesse

Хайповая вещь в 2008 году, вы должно быть даже не слышали о таком инструменте, но хайп был огромный, выходили книги и т.п.

  • Gherkin и BDD

Все еще много проектов, пытающихся внедрить BDD в форме Gherkin (типа SpecFlow и Cucumber), но как-то все затухает. »

Далее автор напоминает, что он предсказывал это, со ссылками на свои книги начиная с 2007 года, и снова хвалит связку Selenium WebDriver+RSpec, лучше которой, по его мнению, ничего не придумали (а до этого он работал с Watir+RSpec). Далее он детально разбирает приведенные выше примеры (в частности headless-тестирование и Cypress). Но, кажется, это постепенно теряет актуальность, поэтому опустим подробности [впрочем, если кому-то интересно, пишите в коменты или в ТГ].

***

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас