Регулярные выражения для тестировщика

Регулярные выражения для тестировщика

Регулярные выражения — шаблоны, с помощью которых можно проверять валидность данных, оперативно находить совпадения, заменять определенные фрагменты в строке, файле или сразу в нескольких файлах. Этот инструмент используют не только разработчики, но тестировщики программного обеспечения в автоматизированных тестах. С помощью регулярных выражений можно намного быстрее анализировать строки, проверять корректность пользовательского ввода и обрабатывать текст.

У регулярных выражений свой синтаксис, набор функций для обнаружения совпадений и внесения изменений.  Плюс в том, что они поддерживаются почти всеми языками программирования, в том числе JavaScript и, если разобраться с основными принципами, можно будет писать шаблоны в коде любого проекта. В этой статье вместе с экспертами Test Pro обсуждаем регулярные выражения для тестировщика — их написание и проверку.

ПОДАТЬ ЗАЯВКУ

Что мы рассмотрим:

  1. Написание и тестирование регулярных выражений
  2. Тест регулярных выражений после написания
  3. Проверка регулярного выражения на эффективность: где может использоваться шаблон?
  4. Какой тестер регулярных выражений самый популярный

Написание и тестирование регулярных выражений

Итак, мы определись, что регулярное выражение(regular expressions)  — это шаблон или, другими словами, последовательность символов или селекторов, которые нужны для поиска, обработки чисел, слов, строк и других данных.

Написать шаблон regular expressions можно, используя следующую шпаргалку:

  • число d;
  • не число D;
  • символ, буква, знак подчеркивания, цифра (любой текст, кроме специальных символов) W;
  • любой символ *;
  • начало строки ^;
  • конец строки $;
  • не пробел S;
  • пробел s;
  • экранирование ;
  • перевод строки n;
  • [а-я] — русские буквы нижнего регистра;
  • [А-Я] — заглавные;
  • [^0-9] — любой символ кроме цифр.

Например, если использовать d, найдутся только все цифры, а при использовании wwws, найдутся все слова, состоящие из трех символов.

Каждый шаблон регулярного выражения состоит из символов или их комбинаций. Пример символов — /abc/, комбинаций —/ab*c/.

Тест регулярных выражений после написания

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

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

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

Проверка регулярного выражения на эффективность: где может использоваться шаблон?

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

  • Метод test(string). Если в тексте нашлись совпадения, ответное выражение — true, если совпадений нет — false.
  • Метод exec(string). С помощью регулярных выражений можно извлечь совпадения. С помощью этого метода можно получить массив результатов. Используется в том случае, если в тексте регулярного выражения была использована группировка скобками.
  • Метод замены по строке с помощью регулярного сообщения. Для этого нужно использовать вызов source_string.replace(regex, replace_string).

Какой тестер регулярных выражений самый популярный

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

  • Regex101 — очень популярные тест регулярных выражений в популярных языках программирования. В результатах проверки есть цветные пометки, разделяющие символы на группы. Удобно, что есть генератор кода и опция сохранения.
  • RegexPlanet — еще один неплохой тестер регулярных выражений, но интерфейс у него похуже, чем у предыдущего. Зато больше языков, что нравится опытным программистам и тестировщикам. Регулярные выражения JS, Ruby, Haskell и многое другое проверяет без проблем.
  • Debuggex  — удобный интерфейс, отличная визуализация, поддержка regular expressions Python, JavaScript и PCRE. Но отсутствует поддержка глобального поиска.

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

ПОДАТЬ ЗАЯВКУ

Часто задаваемые вопросы

Для решения каких типовых задач можно использовать regular expressions?

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

Может быть такая ситуация, что использование регулярных выражений только усложнит процесс?

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

Как лучше создавать шаблоны regular expressions?

Можно использовать new и далее «регулярное выражение» и «флаги». Другой вариант — использовать слеши. Например, /регулярное выражение/флаги. Оба варианта приемлемы, можно использовать тот, что удобнее.

ПОДАТЬ ЗАЯВКУ

Похожие статьи

Нужны ли тестировщики?

Сегодня мир уже невозможно представить без IT технологий, современный человек ежедневно пользуется электронными продуктами, которые позволяют упростить и ускорить те или иные процессы его жизни, найти информацию, получить необходимую услугу. За «ширмой» простой эксплуатации условного мобильного приложения пользователем, стоит длительная и трудоемкая работа разработчиков, тестировщиков, аналитиков, дизайнеров и многих других специалистов.  В IT отрасли найти […]

Зачем тестировщику консоль в браузере

Практически 99, 9 % web-тестировщиков сталкиваются в своей работе с DevTools или с консолью разработчика. Освоив этот набор инструментов, QA-специалист может упростить себе работу — быстрее и эффективнее тестировать сайты и приложения. В этой статье рассказываем, зачем тестировщику консоль в браузере — как инструменты DevTools помогают в изучении внутренней структуры ресурса и тестировании функционала в […]

Где найти работу тестировщику

Цифровизация и диджитализация всех процессов сегодня идет семимильными шагами, поэтому спрос на IT-специалистов постоянно растет. Не исключением являются и тестировщики, которые требуются во многие компании самых разных уровней. И все же, поиск первой вакансии для тестировщика может оказаться непростым испытанием. Необходимо тщательно подготовиться, чтобы получить желаемую должность с высоким доходом. Обучение в Test Pro – […]