Создатели инструментов заявляют о 1000-кратном увеличении производительности.
Альтернативный взгляд и несколько важных советов при обучении использованию инструментов автоматизации тестирования AI/ML. Невероятно оптимистичные заявления о преимуществах инструментов автоматизации AI/ML сложно игнорировать: пишите автоматические тесты в 3 раза быстрее! На 90% дешевле! Получите увеличение производительности в 1000 раз! (да, тысяча) Хотя маркетологи всегда преувеличивают, улучшения, о которых говорят разработчики инструментов AI/ML, кажутся беспрецедентными.
Если бы эти заявления были правдой, ни один лидер не мог бы закрывать на это глаза.
К сожалению, трудно найти объективную критику этих инструментов.
Некоторые инструменты настолько новы, что еще не получили существенной обратной связи от сообщества, а большая часть существующей документации написана непосредственно разработчиками этих продуктов или экспертами без соответствующего опыта.
Наша позиция как сервисной компании, создающей программное обеспечение для клиентов в десятках отраслей, дает нам возможность оценить эти инструменты.
Если бы эти инструменты искусственного интеллекта и машинного обучения действительно принесли те преимущества, о которых они заявляют, а мы их не использовали, мы бы быстро остались без работы.
Хотя эта статья не претендует на исчерпывающую и подробную оценку каждого инструмента AI/ML, мы хотим высказать свое мнение о ценности этих инструментов в целом и выделить несколько моментов, которые следует учитывать при рассмотрении возможности их использования в вашей организации.
.
Для контекста мы предоставили некоторые рекламные материалы, используемые разработчиками этих инструментов.
Эти цитаты дословно взяты с веб-сайтов или рекламных объявлений различных производителей.
Мы не включили ссылки, потому что не хотим выделять какой-либо конкретный инструмент. Иногда может быть сложно отделить заявленные улучшения, связанные с AI/ML, от других функций (low-code и т. д.), но все приведенные ниже примеры представляют собой инструменты, которые тем или иным образом явно рекламируют использование AI/ML. Вот они: [этот инструмент] создает тесты в несколько кликов: выберите в своем приложении собственный сценарий — наш искусственный интеллект заранее создаст за вас тест. Добавляйте операторы, меняйте тестовые данные, изменяйте сценарий и запускайте его за считанные минуты.
Тесты полностью настраиваемы и практически не требуют кода.
Разработка тестов E2E происходит на 90 % быстрее благодаря стабильности на базе искусственного интеллекта.
Создавайте автоматизированные тесты, которые выдерживают практически любые изменения пользовательского интерфейса и буквально нерушимы.
Создавайте тесты с виртуальным и постоянным идентификатором retestID, который заменяет уродливые селекторы CSS или XPATH. Никакого объекта страницы, никакой ручной абстракции.
[этот инструмент] позволяет группам тестирования легко создавать экспоненциально больше тестов, чем они могут с помощью существующих инструментов.
AL-скрипты: увеличение производительности в 1000 раз, дизайн тестов: увеличение производительности в 10 раз, все виды тестирования в целом: увеличение производительности в 3 раза.
[этот инструмент] использует искусственный интеллект, чтобы дать каждому специалисту по обеспечению качества эквивалент усилий 100 человек.
Независимо от того, являются ли они инженерами, аналитиками или другими людьми, [этот инструмент] делает их значительно более продуктивными по сравнению с их возможностями и инструментами.
Таким образом, [этот продукт] позволяет вам создавать больше тестов с гораздо меньшими ресурсами или гораздо больше тестов с вашими текущими ресурсами.
Получите рентабельность инвестиций до 250% за 2 года.
Сократите человеко-часы тестирования на 92%.
Сократите время, затрачиваемое на регрессионное тестирование, на 87%.
Увеличение охвата тестированием в среднем на 90%.
Создание тестов происходит в 3 раза быстрее.
На 40 % меньше ошибок в производстве.
Как менеджерам следует реагировать на подобные заявления? Вот наш взгляд на истинные преимущества этих инструментов и четыре важных момента, которые следует учитывать при оценке использования этих инструментов в вашей организации.
Первое: избегайте инструментов, которые явно не описывают, как они используют AI/ML и какие проблемы этот инструмент решает с помощью AI/ML. Существует множество проблем в тестировании и автоматизации тестирования, которые потенциально может решить AI/ML. Некоторые разработчики подробно описывают, как они используют AI/ML для решения конкретных задач, другие лишь туманно связывают AI/ML со своим продуктом, не предоставляя дополнительной информации.
Например: «Боты с искусственным интеллектом генерируют для вас тесты в кратчайшие сроки!» Конкретные области, в которых используется AI/ML, включают:
- Скриншот-тесты: выявление визуальных различий между страницами после изменения кода.
- Анализ журналов (AI-Ops): обработка больших объемов журнальных данных для выявления аномальных событий.
- Находим элемент: использование AI/ML для идентификации конкретных элементов пользовательского интерфейса на странице HTML вместо использования селекторов или XPATH.
- Приоритизация тестов: определение того, какие тесты в большом наборе с наибольшей вероятностью обнаружат проблемы с учетом набора изменений.
- Разработка тестов : используйте естественный язык или записанные действия пользователя для автоматического создания тестов для приложения.
По нашему мнению, природа скриншотов-тестов и анализа логов делает их пригодными для обработки алгоритмами AI/ML, и многие разработчики предлагают интересные решения для этих случаев.
Хотя поиск элементов — это проблема, которую можно решить с помощью AI/ML, применение AI/ML в этой ситуации не устраняет основную причину.
Это подорожник на вершине перелома.
Если ваши автотесты не могут найти детерминированные и простые селекторы для важных элементов, решите проблему в ее источнике.
Такой же критике подвергаются и «самовосстанавливающиеся» селекторы.
Мы не уверены в ценности использования искусственного интеллекта и машинного обучения для идентификации предметов.
Приоритезация и проектирование тестов — это области, в которых использование искусственного интеллекта и машинного обучения иногда граничит с фантастикой.
Немногие хорошие инструменты в этой области позиционируют себя как дополнение к человеческой деятельности, а не как ее замена.
Выбор того, что тестировать, всегда будет зависеть от контекста, основанного на субъективных оценочных суждениях и понимании человеческого поведения.
Это не те вещи, для которых AI/ML хорошо подходит. Независимо от конкретных областей применения инструментов, все хорошие компании подробно расскажут вам, как они применяют AI/ML. Скептически относитесь к любому продукту, который не может точно объяснить, для решения какой проблемы используется AI/ML и как он используется.
Во-вторых: Сомнение в квалификации автора Утверждения о преимуществах AI/ML при тестировании программного обеспечения следует принимать пропорционально опыту автора.
К сожалению, если оставить в стороне маркетинг, большая часть контента об использовании AI/ML в тестировании программного обеспечения написана людьми, которые не разбираются в AI/ML или не имеют профессионального опыта тестирования программного обеспечения.
Например, поисковый запрос вернет множество ссылок на ученых, которые хорошо разбираются в AI/ML, но имеют очень мало знаний об индустрии разработки и тестирования программного обеспечения.
У них может быть большой опыт работы с глубокими нейронными сетями или моделями линейной регрессии, но они не пытаются объяснить или полностью игнорировать вопросы о том, почему эти подходы лучше, потому что они не знают о реальных проблемах и проблемах, с которыми сталкиваются инженеры по автоматизации.
.
Еще одним важным источником контента AI/ML являются авторы блогов, журналисты и другие эксперты.
Эти люди заинтересованы в создании популярного контента для получения кликов и привлечения трафика.
У них мало опыта (или даже интереса) в той области, которую они освещают, а в статьях обычно отсутствует оригинальный анализ.
Фактически, некоторые из них являются просто повторением маркетинговых брошюр.
Однако тот факт, что информация была предоставлена разработчиком, ученым или журналистом, не делает ее неверной или глупой.
Как мы уже говорили, есть хорошие компании, пытающиеся использовать AI/ML для улучшения автоматизации тестирования.
Например, Джейсон Арбон и Тарик Кинг из Тест.ай являются экспертами в области искусственного интеллекта, машинного обучения и тестирования программного обеспечения и регулярно публикуют информативный и интересный контент как о своем конкретном инструменте, так и об отрасли в целом.
Мы рекомендуем им верить, даже если мы не согласны с некоторыми их выводами.
Независимо от источника контента, узнайте, какой опыт имеет автор, прежде чем принимать его заявления о преимуществах AI/ML в автоматизации тестирования за чистую монету.
В-третьих: вы проводите контроль качества или контроль качества? Существует большая разница между тестированием программного обеспечения после его разработки — как внешней стороной, ответственной за ответ на вопрос: работает ли оно? — и участие в активной разработке программного обеспечения в качестве QA. Первое – это контроль качества, второе – обеспечение качества.
В первом случае тестируемое программное обеспечение принимается как есть, и тестировщику остается только оценить программное обеспечение максимально эффективно и экономично.
Во втором случае тестирование связано с разработкой небольших петель обратной связи.
Если следовать этим практикам, между теми, кто занимается тестированием, и теми, кто занимается разработкой, будет тесное сотрудничество.
Целью обеспечения качества является не только ответ на вопрос «работает ли это», но (что более важно) обеспечение качества программного обеспечения в момент его создания.
Почему это различие важно при оценке инструментов автоматизации тестирования AI/ML? В случае с контролем качества для инструментов тестирования и автоматизации имеет смысл использовать тестирование «черного ящика».
На самом деле это предпочтительнее, поскольку увеличивает количество специалистов, доступных для выполнения этой работы.
Инструменты без кода или с низким кодом, использующие функции AI/ML, могут быть очень эффективными для облегчения автоматизации и доступности.
Это огромное преимущество для большинства инструментов AI/ML, и в этой конкретной ситуации эти инструменты могут быть полезны.
Однако в случае обеспечения качества вы не хотите разделять разработку и тестирование, вводя специализированный набор инструментов AI/ML или инструменты без кода или с низким уровнем кода только для тестирования, или упрощая эти инструменты для неинженеров.
Вместо этого вы хотите свести к минимуму переключение контекста между автоматизацией и разработкой, используя одни и те же инструменты и стек технологий в обоих случаях.
Разработчики должны чувствовать себя в экосистеме автоматизации так же комфортно, как и в экосистеме разработки, и наоборот. Если вы используете подход обеспечения качества, использование AI/ML и инструментов без/малокодового кода будет контрпродуктивным для достижения этой цели.
По своей конструкции эти инструменты пытаются разделить создание программного обеспечения на разработку и тестирование.
Инструменты искусственного интеллекта и машинного обучения, которые хвалятся тем, насколько простым и нетехническим они делают автоматизацию тестирования, предполагают, что вы проводите контроль качества, в то время как большинство технологических или собственных продуктовых компаний предпочитают контроль качества.
Прежде чем инвестировать в какой-либо инструмент, точно поймите, какой подход использует ваша команда.
Если ваша команда создает новое программное обеспечение, мы настоятельно рекомендуем разрабатывать стратегии автоматизации с использованием инструментов с открытым исходным кодом, таких как Playwright. Кипарис.
io , Вебдрайвер.
io , Puppeteer, Selenium или аналогичные инструменты, а не инструменты AI/ML, low/.
Четвертое: скептически относиться к преувеличениям Если что-то кажется слишком хорошим, чтобы быть правдой, возможно, так оно и есть.
Это особенно верно, если что-то связано с искусственным интеллектом и машинным обучением.
Скептически относитесь к продуктам, которые обещают улучшение на порядок или гарантированный возврат инвестиций.
Хорошие разработчики понимают, что тестирование программного обеспечения и автоматизация тестирования — это сложная деятельность, на которую влияет множество переменных, и даже инновационные инструменты, использующие AI/ML, обычно обеспечивают лишь постепенное повышение эффективности или результативности.
К сожалению, до сих пор не существует серебряной пули, гарантирующей высокое качество всего программного обеспечения.
Некоторые разработчики предъявляют большие претензии, но требуют, чтобы вы запланировали демонстрацию продукта с представителем компании, чтобы получить любую фактическую информацию о реализации продукта.
Они намекают на техническую документацию, но скрывают ее от вас, пока вы не предоставите контактную информацию.
Это тактика продаж для привлечения потенциальных клиентов, и вам следует избегать этих компаний.
Пример инструмента на основе искусственного интеллекта и машинного обучения, который делает обоснованные заявления и предоставляет адекватную информацию о том, что он делает и как работает, можно найти в Eyes SDK для скриншотов-тестов от Applitools. К сожалению, похоже, это исключение из правил.
Заключение: Должно быть очевидно, что многие заявления о преимуществах AI/ML в тестировании и автоматизации тестирования преувеличены.
Похоже, что некоторые производители включают AI/ML в описания продуктов просто ради маркетинга, и эти инструменты AI/ML не представляют собой каких-либо ощутимых улучшений по сравнению с предыдущими поколениями продуктов.
Тем не менее, все еще есть сознательные компании, использующие AI/ML для улучшения тестирования программного обеспечения и автоматизации тестирования.
Задача всех руководителей, архитекторов и руководителей будет заключаться в том, чтобы отделить ложные обещания и маркетинговые уловки от хороших продуктов, которые приносят реальную пользу, и в то же время гарантировать, что преимущества инструментов действительно соответствуют потребностям и задачам их команд. Во многих случаях ответом на этот вопрос будет «нет».
Не бойтесь показаться старомодным, потому что вам нужны доказательства преимуществ AI/ML и инструментов, использующих эти алгоритмы.
AI/ML — интересная технология, и ее применение в области тестирования программного обеспечения и автоматизации тестирования, несомненно, принесет пользу.
К сожалению, как и в случае с любой новой технологией, эта ценность теряется в океане сомнительных идей, преувеличений, фальстартов и людей, которые просто используют вау-фактор для зарабатывания денег.
Теги: #Машинное обучение #искусственный интеллект #qa #тестирование ИТ-систем #машинное обучение #автоматизация контроля качества
-
Расширяющаяся Свобода Apple
19 Oct, 24 -
Начинающие Программисты Боятся Темноты
19 Oct, 24 -
Введение В Il2Cpp
19 Oct, 24 -
Майна - Онлайн Аудиоредактор
19 Oct, 24 -
Написание Статей На Yii
19 Oct, 24