Рубрики
Uncategorized

Функциональный тест близорука

Миопия означает близорукость. Если вы пишете функциональные тесты, вы, вероятно, страдаете от функционального теста M … Tagged testing, DevOps, новички.

Миопия означает близорукость. Если вы пишете функциональные тесты, вы, вероятно, страдаете от миопии функциональных тестов. Вы сосредотачиваетесь на своем ожидаемом исходе и своем тестовом покрытии. Но вы скучаете по общей картине.

Мы все знаем шутку о одной ночи с парнем на коленях под улицей. Когда он возится, прохожий замечает его.

«Сэр, — говорит прохожий, — что ты там делаешь?»

«Я ищу свой кошелек», — отвечает парень.

«Где ты это потерял?» спрашивает прохожих.

«Думаю, внизу», — говорит парень, указывая на место по затемненной улице.

«Почему ты тогда смотришь здесь?» Чудес прохожий.

«Ах, — говорит парень, — я вижу здесь».

Источник: http://first-the-trousers.com/hello-world/

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

Каковы ваши цели для тестирования веб -приложений? Позвольте мне начать с того, чтобы спросить вас — какие цели вы поставили перед тестированием веб -приложений?

Вы когда -нибудь задумывались, если вы создаете веб -приложение, почему вы потрудитесь использовать браузер для тестирования приложения? Если вы проверяете, правильно отвечает ли приложение на входы и селекторы, почему бы не тестировать с помощью Curl или текстового браузера, такого как Browsh ?

Я ирония. Вы знаете, что браузер отображает ваше приложение, и вы хотите убедиться, что ваше приложение правильно отображается.

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

Я прошу этот вопрос не сбить вас с толку, а помочь прояснить ваши ожидания.

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

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

Почему автоматизация функциональных тестов может сбой Функциональное тестирование миопии Чтобы управлять активностью веб -приложений, большинство инженеров используют соответствующую технологию, такую как Selenium webdriver Анкет Селен подходит для этого необходимо довольно хорошо. Другие инструменты, такие как Кипарис , может управлять приложением.

Аналогичным образом, инструмент на основе кода оценивает ответ приложения в HTML. Testng , Junit Кипарис или какой -то другой инструмент осматривает Дом для точного или относительного локатор это соответствует предполагаемому ответу кодера и подтверждает, что:

  • Поле текста ответа существует
  • Текст в этом поле соответствует ожиданиям

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

Как и человек на коленях под улицей, функциональное тестирование подтверждает условия, которые тест может проверить. И здесь лежит миопия. Даже если код может проверить весь ответ DOM, код не может проверить визуализированную страницу. Функциональные тесты тестирования предварительно Рендерированный код.

Разница между функциональным тестом и пользовательским опытом объясняет миопию функциональных тестов. Наш лучший код автоматизации веб -браузеров проверяет только на крошечную часть атрибутов страницы и не соответствует полному визуальному опыту, который есть у человека.

В одиночку функциональные тесты пропускают такие вещи, как:

  • Перекрывающийся текст
  • Перекрывающиеся кнопки действия
  • Кнопки действий окрашены так же, как окружающий текст
  • Пользовательские регионы или области действий слишком маленькие, чтобы пользователь мог их увидеть
  • Невидимые или вне страницы HTML-элементы, которые пользователь не увидит

Откуда вы знаете, что ваше приложение правильно отображает? Можете ли вы сказать, появляется ли ваше приложение так, как ожидали ваши клиенты, или как намеревались ваши дизайнеры? Как проверять рендеринг приложений?

Многие разработчики приложений опирались на ручное тестирование в целях проверки. Один из моих хороших друзей сделал карьеру в качестве ручного тестера QA. Его работа — запустите приложение через его шаги как реального пользователя, и проверить поведение приложения.

Ручное тестирование может раскрыть визуальные ошибки, пропущенные при функциональной тестировании миопии. Но ручное тестирование страдает от трех недостатков:

  • СкоростьУ вас может быть несколько приложений, с десятками адаптивных страниц для тестирования на нескольких размерах экрана, с каждой ежедневной сборкой. Даже если тестер может тщательно проверить страницу через пару минут, они складываются, чтобы задержки в вашем цикле выпуска.
  • Оценка несоответствияРучные тестеры могут легко упустить небольшие проблемы, которые могут повлиять на пользователей или указывать на проблему
  • Покрытие несоответствияТестовое покрытие с помощью ручных тестеров зависит от их способности следовать этапам и оценивать ответы, которые варьируются от тестера к тестеру.

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

И наоборот, инженеры-тестирование не хотят бота, которому не все равно, будут ли веб-страницы в стиле Minecraft от Browsh.

Источник: https://pxhere.com/en/photo/536919

Legacy Visual Testing Technologies Учитывая количество доступных инструментов визуальной разработки, можно подумать, что инструменты визуального тестирования соответствуют инструментам разработки в области объема и доступности. К сожалению нет. В то время как можно разработать одно приложение для запуска на мобильных родных и настольных браузерах, от размеров экрана, от пяти дюймового ЖК-дисплея до 4K, две наиболее часто используемые технологии визуального тестирования остаются дифференцировки для пикселей и дифференциации DOM. И у них обоих есть проблемы.

Сравнения DOM DIFF на самом деле не сравнивают визуальный выход. DOM Diffs:

  • Определите регионы веб -страницы через DOM
  • Может обнародовать изменения в макете, когда регионы различаются
  • Укажите потенциальные различия, когда данная область указывает на изменение содержания или CSS
  • Оставаться слепым к ряду визуальных изменений, таких как различный базовый контент с одним и тем же идентификатором

Pixel Diffing использует сравнения пикселей, чтобы определить, изменилось ли содержание страницы. Но рендеринг пикселя может варьироваться в зависимости от версии браузера, операционной системы и видеокарт. Экранные настройки с анти-альцами и алгоритмы рендеринга изображений могут привести к различиям в пикселях. В то время как Diff Pixel могут идентифицировать достоверные визуальные различия, они также могут определить незначительные визуальные различия, которые настоящий пользователь не мог различить. В результате пиксельные различия страдают от ложных срабатываний — сообщенных различий, которые требуют от вас исследовать только для вывода, что они не отличаются. Другими словами, пустая трата времени.

ИИ и визуальное тестирование За последнее десятилетие визуальное тестирование продвинулось от автономных инструментов до интегрированных инструментов визуального тестирования. Некоторые из этих инструментов можно получить с помощью открытого исходного кода. Другие — это коммерческие инструменты, которые используют новые технологии.

Наиболее многообещающий подход использует технологии компьютерного зрения — визуальный ИИ, технология, лежащая в основе глаз Applitools — для различения визуальных изменений между версиями визуализированной страницы. Visual AI использует ту же технологию компьютерного зрения, что и в разработке автомобилей с самостоятельным вождением, чтобы заменить различия в пикселе.

Источник: https://www.teslarati.com/wp-content/uploads/2017/07/traffic-light-computer-vision-lvl5.jpg

Однако вместо сравнения пикселей визуальный ИИ воспринимает различные визуальные элементы — кнопки, текстовые поля и т. Д. — и может сравнить их презентацию как человека. В результате, визуальный ИИ более близко «видит» веб -страницу с тем же богатством, что и человеческий пользователь. По этой причине Visual AI обеспечивает гораздо более высокий уровень точности в проверке тестов.

Вот пример визуального ИИ в действии:

Источник: https://applitools.com/images/function-testing/image5.png

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

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

Не зацикливайтесь на функциональной тестировании близорукости.

Хотите стать тестовой инженерной рок -звездой? Как насчет денег и призов? Подписаться Для визуального хакатона AI Rockstar. кликните сюда Узнать больше.

Оригинал: «https://dev.to/michaelvisualai/functional-test-myopia-4068»