Тестируйте и развивайте с помощью синтетических тестовых данных нового уровня
Предположим, что у вашей организации есть программное решение, которое вы хотите улучшить. Чтобы сделать это эффективно, вам придется тестировать и разрабатывать новые функции. Обычно владельцы продуктов, разработчики программного обеспечения и тестировщики программного обеспечения используют тестовую инфраструктуру для тестирования и разработки программного решения, чтобы убедиться, что новые функции соответствуют существующей бизнес-логике, что ваше программное решение работает без сбоев и не содержит ошибок. Здесь мы обсудим данные тестирования, в частности, как основу для тестирования, разработки и предоставления современных программных решений.
Являются ли производственные данные в качестве данных испытаний окончательным решением?
Естественно, что использование более точных данных дает более точные тесты. Следовательно, наилучшими тестовыми данными для использования, вероятно, будут ваши фактические производственные данные.
Все просто, правда?
К сожалению, это не так. Из-за правил (конфиденциальности) организациям не разрешается использовать фактические производственные данные в качестве данных тестирования. Следовательно, организациям необходимо создать эффективную тестовую инфраструктуру с альтернативными решениями.
Дилемма теста: данные о производстве запрещены, но альтернативы неоптимальны
Как правило, мы видим, что у компаний есть одно из следующих неоптимальных и сомнительных «решений» для тестовых данных (щелкните, чтобы открыть):
Анонимные данные или замаскированные данные
С помощью анонимизации или маскирования можно манипулировать исходными данными, чтобы затруднить поиск людей. Например, один удаляет части данных, обобщает данные или перемещает строки и столбцы. Если вы сделаете это в небольшой степени, все еще можно будет восстановить исходные части данных, что вызовет риски для конфиденциальности.
Более того, мы видим, что это часто затратный и трудоемкий процесс, потому что эти методы работают по-разному для каждого набора данных и для каждого типа данных. Это вводит внутренние дискуссии о том, как применять эти методы и уровень снижения риска, которого вы должны достичь. Поскольку формат данных часто меняется, вам придется начинать заново.
Зашифрованные данные
Что, если мы скремблируем наши данные? Этот классический прием относительно прост в применении. Однако этот метод приводит к нерепрезентативным данным для целей тестирования.
Фиктивные данные
Фиктивные данные — это данные, созданные случайным образом, обычно вручную. Хотя он генерируется случайным образом и не содержит никаких рисков, он не является репрезентативным и не является бизнес-логикой. Он не представляет какой-либо статистической жизнеспособности и соответствующей бизнес-логики, поскольку данные не настоящие. Кроме того, создание фиктивных данных часто требует больших затрат и времени.
Хотя указанные выше варианты являются субоптимальными, они по-прежнему широко используются, поскольку отсутствуют лучшие альтернативы.
| Качество данных | (Конфиденциальность) риски | Требуемые усилия | |
| Производственные данные | High | High | Низкий |
Анонимные данные или замаскированные данные | Средний | Средний | High |
| Зашифрованные данные | Низкий | Средний | Низкий |
| Фиктивные данные | Низкий | Низкий | High |
3 ключевые проблемы с тестовыми данными, когда вы не можете использовать исходные производственные данные в качестве тестовых данных
Бизнес-логика и ссылочная целостность не сохраняются
Альтернативы требуют ручной работы, не масштабируются и требуют затрат времени.
Невозможно оптимизировать ваши данные для тестирования
Наше решение: тестирование и разработка с помощью синтетических тестовых данных, созданных искусственным интеллектом, для создания современных программных решений.

Syntho является экспертом в end-to-end генерация и реализация синтетических данных. Мы преуспеваем как в создании (1) двойников синтетических данных, так и в поддержке различных (2) функций оптимизации, дополнений и моделирования синтетических данных. И то, и другое можно использовать для создания синтетических тестовых данных, чтобы вы могли тестировать, разрабатывать и поставлять самые современные программные решения.
Объяснение разницы: двойник против оптимизации, дополнения и моделирования
Двойник синтетических данных
При создании синтетического двойника данных Syntho максимально точно имитирует исходные данные, сохраняя при этом конфиденциальность. Syntho генерирует совершенно новые точки данных и моделирует их таким образом, чтобы сохранить свойства, взаимосвязи и статистические закономерности исходных данных. Улавливаются даже сложные, скрытые закономерности, взаимосвязи и неэффективность, поэтому синтетические данные можно использовать как прямую альтернативу исходным данным.
Оптимизация, расширение и моделирование данных
Основой для оптимизации и увеличения синтетических данных является двойник синтетических данных. Исходя из этого, мы можем оптимизировать и дополнять ваши данные с помощью интеллектуального генеративного ИИ на основе требований, логики и ограничений вашего бизнеса. Мы предлагаем различные дополнительные функции по оптимизации и расширению синтетических данных, чтобы вывести ваши (как «грязные», так и «чистые») данные на новый уровень.
Ценность искусственного интеллекта, генерируемого данными синтетических тестов, для создания современных программных решений.
Высококачественные тестовые данные с сохраненной бизнес-логикой и ссылочной целостностью
Наше программное обеспечение генерирует совершенно новые точки данных и моделирует эти новые точки данных таким образом, чтобы мы сохраняли свойства, взаимосвязи и статистические шаблоны, чтобы гарантировать высокое качество с сохраненной бизнес-логикой.
Благодаря многотабличным базам данных и множеству различных программных приложений мы поддерживаем ссылочную целостность. Это означает, что человек A со свойствами XYZ в наборе данных 1 является тем же человеком A со свойствами XYZ в наборе данных 2, 3, 4 и т. Д.
Простое и быстрое создание данных с помощью современного искусственного интеллекта
Вместо того, чтобы создавать наборы данных вручную, мы можем создавать большие наборы данных и сложные базы данных полностью автоматически с помощью нашего программного обеспечения AI, без каких-либо дополнительных необходимых знаний. Здесь мы знаем, что структуры данных, типы данных и наблюдения данных меняются со временем. Вот почему так важно иметь возможность обновлять тестовые данные всей вашей тестовой инфраструктуры за считанные минуты.
Оптимизированные тестовые данные для пограничного тестирования
Проверка крайних случаев имеет решающее значение. Однако крайние случаи обычно случаются нечасто, и, следовательно, соответствующих данных для тестирования этих сценариев недостаточно.
Как это работает? Предположим, у вас 33% женщин и 66% мужчин. Мы можем сгенерировать дополнительные синтетические данные определенного подмножества, чтобы настроить и сбалансировать набор данных в соответствии с вашими собственными тестовыми предпочтениями. В этом примере мы сгенерируем дополнительные синтетические записи данных о женщинах, чтобы уравновесить 50% женщин и 50% мужчин.
Создавайте новые тестовые данные для новых функций, когда у вас еще нет данных
Когда вы разрабатываете новые функции, у вас обычно еще нет данных. Следовательно, вы не можете тестировать, разрабатывать и поставлять свое программное решение. Другой пример: у вас есть комбинации точек данных, которых не было в прошлом, но которые могут произойти в будущем.
Мы можем решить эту проблему с помощью наших функций оптимизации, дополнения и моделирования данных для создания интеллектуальных синтетических данных. Это позволяет вам тестировать, разрабатывать и предоставлять в сценариях, которые в противном случае вы бы сделали без данных или с данными, созданными вручную.
Результат: тестовые данные нового уровня и тестовая инфраструктура для предоставления самых современных программных решений.
% Увеличение способности наших клиентов …
… Повышение общего качества тестирования, разработки и доставки
… Выпустите быстрее и сократите время вывода на рынок
… уменьшает количество ошибок и потенциально недовольных клиентов
.
.. Счастливые тестировщики, разработчики и владельцы продуктов
Какой тип мышления у вас преобладает?
Какой тип мышления у вас преобладает?
Для эффективного обучения и выстраивания личной траектории развития необходимо знать свои особенности восприятия информации, понимать, как проходят мыслительные процессы. Составили тест, который поможет определить, какой тип мышления у вас преобладает.
Начать тест
1/15
Для запоминания информации мне необходимо
Составить конспект, письменно зафиксировать тезисы, несколько раз переслушать или перечитатьОдин раз послушать или прочитать, а затем обсудить с кем-то полученную информацию и постараться применить знания на практикеИ почитать, и послушать в зависимости от моего состояния и настроения, личной заинтересованности
2/15
Когда я занимаюсь умственной работой, я
Нахожусь в полной тишине, меня отвлекают внешние звуки Иногда включаю музыку.
Однако если мне нужно полностью погрузиться в работу — занимаюсь в тишинеСтавлю музыку на фон или какой-нибудь подкаст
3/15
Когда возникает проблема
Я переживаю очень редко и стараюсь как можно быстрее найти пути решенияЯ очень остро воспринимаю любые проблемы В первую очередь я реагирую эмоционально, но могу контролировать свою реакцию и быстро перехожу к решению проблемы
4/15
Когда я рисую
Импровизирую, рисую что в голову придетМне нравится и импровизировать, и копироватьОпираюсь на готовые изображения, чаще копирую
5/15
Когда нужно сделать выбор
Я стараюсь слушать внутренний голос, опираюсь на ощущения, интуициюТщательно взвешиваю все за и противВзвешиваю плюсы и минусы, но в то же время опираюсь и на собственные ощущения
6/15
Обсуждать личные проблемы
Предпочитаю с друзьями, близкими людьмиМогу и с друзьями, и со специалистомПредпочитаю со специалистом
7/15
После прочтения художественной книги
Я часто рефлексирую и обдумываю прочитанноеУ меня возникают сильные эмоции, я переживаю за персонажей почти всегдаЯ в процессе самого чтения периодически анализирую прочитанное
8/15
Мне больше нравится мечтать, представлять идеальную жизнь, чем конкретизировать и расписывать план действий на ближайшее будущее
Не могу сказать, что мечтаю чаще.
Мне нравится и четкое планирование, и представление своего будущего Чаще строю план, расписываю все на месяц, год, несколько лет вперед и стараюсь следовать этим пунктам Да, это так. Я очень часто представляю красочное будущее и идеальную жизнь
9/15
Во время выступлений, презентаций, питчей
Мне важны и эмоции во время выступления, и правильно изложенные идеиЯ не скрываю собственные эмоции, мне нравится задавать вопросы аудитории, обсуждатьЯ последовательно излагаю основные тезисы, ответить на вопросы могу в конце выступления
10/15
Если мне необходимо расставить книги в домашней библиотеке
Я сначала сгруппирую по определенному критерию, а потом постараюсь расставить их так, чтобы они смотрелись стильноВ первую очередь я буду опираться на то, как корешки сочетаются между собойЯ расставлю в определенной последовательности — по серии, жанрам или хронологии
11/15
Мне сложно долго удерживать внимание на чем-либо
Мне относительно легко концентрироваться, редко отвлекаюсьЭто зависит от моего состояния и самой задачи.
Если она очень важна для меня, я не буду отвлекаться ни на что долгое времяДа, я очень часто отвлекаюсь, даже если выполняю важную работу
12/15
Я стараюсь систематизировать все в своей жизни
Не могу сказать, что все. Однако многие вещи стараюсь упорядочитьДа, в моем гардеробе все разложено по полочкам, порядок на рабочем столе всегда, прописываю дела на деньМне нравится хаос, мне так комфортнее работать и учиться
13/15
Мне больше нравится
Придумывать идеиЯ могу и придумать идею, и действовать по готовой схемеРаботать с готовыми решениями
14/15
Во время встреч с друзьями
Я много болтаю, обсуждаю, спорюБольше слушаю и наблюдаю, но если очень интересно, могу поспорить, обсудить, выразить собственное мнениеПредпочитаю слушать и наблюдать
15/15
В рекламе мне важнее
Мне важны и форма, и содержаниеСюжет, визуальные составляющиеЕе суть, посыл
Синтетическое тестирование: что это такое и как оно работает
Что такое синтетическое тестирование?
Синтетическое тестирование, также известное как синтетический мониторинг или упреждающий мониторинг, — это способ выявления проблем с производительностью ключевых путей пользователя и конечных точек приложений до того, как они ухудшат работу пользователей.
Компании могут использовать синтетическое тестирование для проактивного мониторинга доступности своих сервисов, времени отклика своих приложений и функциональности клиентских транзакций. В этом руководстве мы обсудим, как работают синтетические тесты, рассмотрим некоторые из наиболее важных вариантов использования и определим основные функции, на которые следует обратить внимание при выборе платформы для синтетического тестирования.
Как работает синтетическое тестирование?
Синтетические тесты имитируют реальный пользовательский трафик, отправляя смоделированные запросы к вашим приложениям и службам из разных браузеров, устройств и мест по всему миру. Синтетические тесты можно использовать для мониторинга транзакций веб-сайтов и конечных точек приложений на различных сетевых уровнях, а результаты этих тестов могут предоставить ценную информацию о времени безотказной работы, времени отклика и региональных проблемах с производительностью.
Синтетические тесты могут отслеживать различные пути пользователя и конечные точки приложения Инженеры могут развертывать синтетические тесты вручную или использовать платформу синтетического мониторинга для автоматического запуска тестов через определенные промежутки времени.
Команды могут запускать синтетические тесты в рабочей среде или в тестовых средах, чтобы убедиться, что новые функции работают правильно, прежде чем они будут развернуты. Как правило, синтетические тесты не несут больших накладных расходов, поэтому они могут выполняться непрерывно, независимо от того, какой объем трафика обрабатывает приложение.
Синтетическое тестирование устанавливает базовый уровень производительности приложений в разное время дня и в разных местах, но есть некоторые проблемы, которые оно не может выявить само по себе. Например, ваши приложения могут генерировать непредвиденные ошибки, если поведение реального пользователя не охвачено условиями тестирования. Вы можете устранить это несоответствие, объединив синтетическое тестирование с мониторингом реальных пользователей, что устранит разрыв между реальной и смоделированной активностью и обеспечит полный охват. Кроме того, синтетические тесты сами по себе не могут отличить задержку, вызванную архитектурными проблемами, такими как узкие места на уровне обслуживания, и аппаратными проблемами, такими как низкая загрузка ЦП на уровне устройства.
Чтобы различать эти типы проблем, вам потребуется просматривать результаты тестов вместе с данными о производительности приложений и инфраструктуры.
Почему важно синтетическое тестирование?
Инженеры по обеспечению качества, разработчики, инженеры по надежности сайтов и инженеры WebOps полагаются на синтетическое тестирование, чтобы:
Упреждающее выявление проблем с производительностью любые определяемые вами условия, например время отклика. Вы также можете убедиться, что ключевые бизнес-транзакции работают должным образом, а также обнаруживать и устранять проблемы с производительностью до того, как с ними столкнутся ваши конечные пользователи.
Сокращение среднего времени решения (MTTR)
В случае сбоя синтетического теста эффективная платформа синтетического мониторинга также предоставит доступ к связанным данным, таким как серверные запросы, журналы ошибок и сетевые тайминги. Эти корреляции дают вам контекст, необходимый для быстрого устранения неполадок.

Запуск на новом рынке
Если вы хотите запустить свой продукт на новом географическом рынке, где у вас еще нет реального пользовательского трафика, вы можете использовать синтетическое тестирование, чтобы проверить ожидаемую производительность продукта на этом рынке. место расположения.
Достижение целевых показателей производительности
Большинство организаций имеют целевые уровни обслуживания (SLO) или другие эталонные показатели, которым должны соответствовать их приложения. Синтетические тесты позволяют вам постоянно отслеживать, достигаете ли вы этих целей, где происходят отклонения и сколько вашего бюджета ошибок остается для каждого SLO.
Регулярное развертывание кода
Многие быстрорастущие организации используют конвейеры непрерывной интеграции (CI) и непрерывной доставки (CD), что позволяет им ежедневно вносить множество небольших изменений в рабочую среду.
Выполнение синтетических тестов в конвейерах CI/CD позволяет этим организациям оставаться гибкими, сводя к минимуму риск регрессии.
Чем дольше проблемы, с которыми сталкиваются пользователи, остаются без внимания, тем сложнее и дольше их устранять. Эти проблемы также могут привести к потере дохода, поскольку клиенты отказываются от вашего сайта в пользу более плавного цифрового взаимодействия в другом месте. Синтетическое тестирование помогает вам убедиться, что ваши приложения соответствуют ожиданиям ваших пользователей. Если возникает проблема, вы можете быстро решить ее, прежде чем она станет проблемой для клиентов и укоренится в вашей кодовой базе.
Типы синтетического тестирования
Два основных класса синтетических тестов — это тесты браузера, которые проверяют, могут ли пользователи выполнять важные транзакции, такие как регистрация и проверка учетной записи, и тесты API, которые позволяют отслеживать ключевые конечные точки в каждой сети.
слой.
Тесты API могут относиться к одной из следующих подкатегорий:
Тесты HTTP
Проверьте, доступны ли ваши приложения и отвечают ли они на запросы от других служб. Эти тесты также могут оценивать время загрузки страницы, коды состояния и содержимое заголовка/тела.
Тесты SSL
Убедитесь, что пользователи могут безопасно получить доступ к веб-сайту, проверив его сертификаты SSL.
TCP-тесты
Проверка доступности критических служебных портов, таких как SSH (22) и DNS (53).
Тесты DNS
Мониторинг разрешения и времени поиска ваших записей DNS и обнаружение потенциальных ошибок конфигурации или атак DNS.
Тесты ICMP
Задержка наземной сети и проблемы с подключением.
Многошаговые тесты API
Объединение нескольких тестов HTTP в один тест для мониторинга последовательных рабочих процессов, в которых данные должны передаваться от одной конечной точки к другой.

Различные типы синтетических тестов подходят для самых разных вариантов использования. Например, компания, управляющая финансовым веб-сайтом, может реализовать многоэтапный тест API для проверки рабочего процесса аутентификации пользователя. Кроме того, организации, которые хранят конфиденциальную информацию, например данные кредитных карт, могут запускать тесты SSL в целях безопасности. И компания электронной коммерции может запустить тесты браузера, чтобы убедиться, что процесс оформления заказа проходит гладко.
Мониторинг рабочих процессов с помощью Datadog SSL, TCP и многоэтапных тестов API
Читать блог
Синтетическое тестирование и мониторинг реальных пользователей (RUM)
пользовательский опыт, но реализованы они по-разному. Синтетические тесты, которые могут выполняться в предпроизводственной и производственной средах, имитируют запросы, имитирующие взаимодействие реальных пользователей с веб-сайтом или приложением.
Организации используют синтетические тесты для упреждающего выявления ошибок и проблем с производительностью. С другой стороны, RUM — это тип мониторинга, который фиксирует реальные транзакции пользователей на веб-сайте или в приложении. Организации используют RUM для сбора пользовательской аналитики, определения того, какие ошибки влияют на реальных пользователей, повышения производительности и улучшения поддержки клиентов.Может быть трудно предсказать, как реальные пользователи будут взаимодействовать с веб-сайтом или приложением, поэтому синтетические тесты могут не охватывать все проблемы, с которыми сталкиваются пользователи. По этой причине многие команды предпочитают использовать RUM и синтетическое тестирование вместе, чтобы достичь полного охвата внешнего интерфейса, проверить свои предположения и гарантировать, что ошибки, с которыми сталкиваются пользователи, не ускользнут.
Проблемы синтетического тестирования
Современные приложения состоят из многочисленных служб, зависимостей и компонентов инфраструктуры, и клиенты могут получить к ним доступ из различных точек входа и типов устройств.
Эта сложность приводит к высокому риску ошибок, с которыми разработчики справляются, тестируя свои приложения раньше и чаще в процессе разработки. Этот подход к тестированию, известный как «тестирование со сдвигом влево», помогает разработчикам выявлять проблемы до их усугубления, что, в свою очередь, снижает затраты и время, связанные с их исправлением. Однако традиционные синтетические инструменты мониторинга не были разработаны с учетом этих потребностей и сопряжены со следующими проблемами:
Сложная настройка
Традиционное создание синтетических тестов требует навыков кодирования и знания специализированных языков сценариев, что создает высокий барьер для входа для нетехнических членов команды. Разработчикам, обладающим нужными навыками, часто приходится часами писать тестовые сценарии для сложных приложений.
Нестабильные тесты
Небольшие изменения пользовательского интерфейса, такие как перемещение или переименование кнопки, могут привести к сбою тестов по сценарию, что приведет к множеству ложных тревог и ненужных уведомлений.

Отсутствие контекста
Многие инструменты синтетического тестирования предупредят вас о сбоях тестирования, не объясняя, почему произошел сбой или масштаб его влияния на бизнес.
Индустрия синтетического тестирования реагирует на эти болевые точки, упрощая создание тестов, увеличивая автоматизацию и повышая устойчивость тестов.
Инструменты для синтетического тестирования
При оценке платформ для синтетического тестирования рассмотрите возможность выбора платформы со следующими функциями:
Тесты без кода
Веб-рекордеры и другие инструменты для создания тестов с графическим интерфейсом позволяют любому члену команды самостоятельно создавать и запускать тесты.
Управляемые и частные расположения
Запуск тестов из различных мест гарантирует, что все ваши пользователи смогут получить доступ к вашему приложению, где бы они ни находились.
Большинство платформ предлагают несколько готовых местоположений для тестирования, но вы также получите выгоду от возможности запускать тесты из частных местоположений, чтобы отслеживать непубличные URL-адреса и внутренние приложения.Оповещения
Платформы синтетического тестирования обычно интегрируются с электронной почтой и другими средствами связи, поэтому вы можете направлять уведомления нужным командам в случае сбоя теста.
Контекст устранения неполадок
Платформа синтетического тестирования может позволить вам перейти от сбоев тестов к связанным трассировкам, журналам, метрикам на уровне хоста и сетевым данным, что упрощает устранение неполадок.
Интеграция CI/CD
Когда в конвейере CI/CD происходит сбой теста, платформа тестирования может предоставить вам возможность заблокировать развертывание или инициировать откат.
Средства визуализации
Эффективные платформы синтетического тестирования позволяют отслеживать результаты синтетического тестирования с помощью информационных панелей, графиков и других средств визуализации.
Это позволяет вам выявлять тенденции и сравнивать текущую и прошлую производительность ваших приложений.Самообслуживание
На некоторых платформах синтетические браузерные тесты автоматически адаптируются к поверхностным изменениям пользовательского интерфейса, чтобы уменьшить количество ложных срабатываний.
Синтетический мониторинг Datadog включает в себя все эти функции, позволяя любому члену вашей команды запускать тесты API и браузера без кода из любой точки мира. Вы можете запускать тесты в рабочей среде или на любом этапе конвейера CI/CD для более раннего обнаружения проблем. А Datadog Synthetic Monitoring предоставляет четкую визуализацию и контекстную информацию для каждого сбоя теста, включая серверный запрос, журналы ошибок, метрики на уровне хоста и сетевые данные, чтобы команды могли быстро и эффективно устранять проблемы.
Начните работу с синтетическим мониторингом сегодня и создайте свой первый синтетический тест за считанные минуты.
Определение и его сравнение с Real User Monitoring · Блог Raygun
Мониторинг производительности имеет решающее значение для работоспособного программного приложения. Если у вас нет синтетического тестирования или реального пользовательского мониторинга, возможности оптимизации производительности ускользают. С другой стороны, под руководством инструмента мониторинга вы можете исправить такие проблемы, как медленная загрузка страниц, в течение часа.
Существует два основных типа мониторинга приложений: реальный пользовательский мониторинг (RUM) и синтетическое тестирование (или синтетический мониторинг). Важно знать различия и понимать, какие из них дадут нужные вам результаты.
- Синтетическое тестирование и мониторинг реальных пользователей
- Что такое синтетическое тестирование?
- Примеры использования синтетического тестирования
- Плюсы синтетического тестирования
- Минусы синтетического тестирования
- Чем отличается Real User Monitoring?
- Примеры использования мониторинга реальных пользователей
- Плюсы мониторинга реальных пользователей
- Минусы мониторинга реальных пользователей
- Заключение
Синтетическое тестирование и мониторинг реальных пользователей (RUM)
Мониторинг реального пользователя и синтетическое тестирование позволяют проверять и анализировать производительность внешнего интерфейса и взаимодействие с пользователем веб-сайта или приложения.
Однако, хотя синтетический мониторинг является методом тестирования и мониторинга, который можно использовать до и после развертывания, RUM используется исключительно после развертывания, на этапе «эксплуатация и обслуживание» жизненного цикла разработки программного обеспечения (SDLC).
Тем не менее, нет ни лучшей, ни худшей техники; они просто служат разным целям в мониторинге внешних приложений. По сути, в то время как синтетическое тестирование — это активный мониторинг, выполняемый на симулированных пользователях, мониторинг реальных пользователей — это пассивный мониторинг, осуществляемый на реальных пользователях.
Обратите внимание, однако, что здесь мы говорим исключительно о мониторинге внешних приложений, который фокусируется на пользовательском опыте. Существует также мониторинг производительности приложений (APM), метод мониторинга серверной части, который дает представление о производительности вашего сервера приложений и кода на стороне сервера, что выходит за рамки этой статьи.
Теперь давайте подробно рассмотрим различия, варианты использования, преимущества и недостатки синтетического тестирования и мониторинга реальных пользователей.
Что такое синтетическое тестирование?
Синтетическое тестирование — это метод понимания того, как ваши пользователи воспринимают ваше приложение, путем прогнозирования их поведения. Основная цель синтетического тестирования — предотвратить связанные с производительностью, функциональные и другие проблемы до того, как с ними столкнутся реальные пользователи — поэтому его также называют активным или проактивным мониторингом.
Вы можете выполнять синтетические тесты вручную или использовать инструмент синтетического мониторинга, который автоматизирует процесс. Эти инструменты подключаются к тестовым серверам (обычно в разных местах по всему миру) и используют поведенческие сценарии для имитации типичных действий конечных пользователей.
Вы можете воспроизвести вход пользователей в систему, подписку на рассылку новостей, отправку форм, операции с корзиной покупок, процессы оформления заказа и другие действия пользователей.
Помимо тестирования производительности и взаимодействия с пользователем при выполнении важных бизнес-транзакций и общих путей навигации, инструменты синтетического тестирования также могут предоставить информацию о времени безотказной работы, времени отклика, региональных проблемах, доступности конечных точек API и многом другом.
Примеры использования синтетического тестирования
Практически отсутствует трафик
Поскольку синтетическое тестирование является проактивным методом, вы можете использовать его на этапе разработки, прежде чем ваше приложение будет запущено в производство, или сразу после развертывания, когда у вас все еще очень мало трафика, а инструменты пассивного мониторинга не дадут много информации.
С помощью смоделированных тестов вы можете убедиться, что ваши важные бизнес-транзакции работают правильно, найти узкие места в производительности и обнаружить проблемы взаимодействия с пользователем до того, как они повлияют на ваших реальных пользователей.
Моделирование конкретных сегментов или новых рынков
Поскольку инструменты синтетического мониторинга позволяют настраивать различные условия, вы можете тестировать свой веб-сайт или приложение для определенных географических местоположений, типов сетевых запросов, веб-браузеров, конечных точек API и т. д. Это может быть полезно, когда вы ориентируетесь на определенный сегмент пользователей или перед запуском своего приложения на новом рынке.
Мониторинг времени безотказной работы и сторонних API
Еще один пример использования инструментов синтетического тестирования — мониторинг доступности вашего сервиса, включая сторонние API, поэтому вы будете получать уведомления, когда часть вашего приложения выйдет из строя или станет полностью недоступной. Поскольку вы можете автоматизировать весь процесс и запускать синтетические тесты через заданные промежутки времени, ваша команда может быть немедленно предупреждена о возникновении проблемы.
Улучшение непрерывной интеграции и доставки (CI/CD)
Если ваша команда использует итеративную разработку и часто развертывает новый код, рекомендуется интегрировать синтетическое тестирование в конвейер CI/CD.
Если вы тестируете свой код в различных условиях перед развертыванием, вы минимизируете риск ошибок после развертывания и проблем с производительностью, а также предотвращаете накопление технического долга.
Плюсы синтетического тестирования
- Создавайте синтетические тесты как вручную, так и с помощью автоматизированного инструмента.
- Упреждающее тестирование сложных, многоэтапных бизнес-транзакций и циклов взаимодействия пользователей с несколькими наборами определенных условий.
- Обнаружение проблем, вызванных сторонними сценариями и конечными точками API.
- Мониторинг важных запросов к базе данных на предмет доступности и производительности в периоды низкого трафика.
- Оперативно сообщайте вашей команде о сбоях и проблемах с производительностью.
- Создайте базовый уровень тенденций производительности в разных странах.
- Современные инструменты синтетического тестирования предоставляют вам доступ к графическим пользовательским интерфейсам, тестам без кода и веб-рекордерам.

Минусы синтетического тестирования
- Для настройки и написания синтетических тестов вручную требуются знания в области программирования и надлежащая инфраструктура тестирования.
- Синтетические инструменты не могут отслеживать действия реальных пользователей. Даже если ваши тесты пройдут нормально, ваши реальные пользователи все равно могут столкнуться с проблемами, не ожидаемыми в тестовых условиях.
- Небольшие изменения пользовательского интерфейса могут нарушить сценарии тестирования, что может привести к ложноотрицательным результатам.
- Сложно поддерживать в масштабе.
- Вы не можете измерить Core Web Vitals в полевых условиях, что может негативно повлиять на ваш рейтинг в поисковых системах.
Чем отличается реальный мониторинг пользователей?
В отличие от синтетического тестирования мониторинг реальных пользователей является методом пассивного мониторинга. Вместо использования независимых тестовых серверов и предварительно написанных сценариев инструменты RUM собирают данные с помощью небольшого сценария, который автоматически запускается в браузере каждого пользователя и собирает данные во время навигации по вашему веб-сайту или приложению.
Основная цель реального мониторинга пользователей — выявить узкие места в производительности, такие как медленная загрузка страниц и плохой UX, которые напрямую влияют на ваших пользователей и могут негативно повлиять на вашу прибыль. Поскольку RUM является безагентным и асинхронным, он не влияет на производительность вашего приложения.
Расширенные инструменты RUMдают вам представление как об отдельных пользовательских сеансах, так и об агрегированных данных, которые вы можете дополнительно фильтровать по времени, географическому местоположению, пользовательскому устройству, браузеру и т. д. Они предоставляют вам ряд показателей производительности, например, время загрузки страницы, первую отрисовку, время отклика AJAX и баллы Google Core Web Vitals, в зависимости от платформы.
Некоторые реальные инструменты мониторинга пользователей, такие как Raygun, дополнительно разбивают время загрузки страниц на отдельные действия, такие как разрешение DNS, задержка сервера, рукопожатие SSL и другие, чтобы вы могли найти виновника каждой проблемы с производительностью.
Примеры реальных вариантов использования мониторинга пользователей
Захват незарегистрированных проблем с производительностью
Пользователи, как правило, не сообщают о проблемах, с которыми они сталкиваются при использовании веб-сайта или приложения. Вы можете получить отзывы или плохие отзывы, жалующиеся на медленную загрузку или вялый интерфейс, но такой отчет редко дает вам много контекста. Здесь могут очень помочь реальные пользовательские данные.
ИнструментыRUM не только обнаруживают проблемы и дают представление о соответствующих пользовательских сеансах, но также могут отправлять вам предупреждения при выполнении определенных условий, чтобы вы могли своевременно отреагировать. Если вы устраните проблемы с производительностью сразу после того, как с ними столкнутся первые пользователи, вы сможете сэкономить много времени для всей клиентской базы.
Улучшение SEO и основных веб-жизненных показателей
Core Web Vitals — это новейшие показатели производительности Google, которые включены в алгоритмы поисковых систем.
Преодоление минимальных пороговых значений для всех трех основных веб-показателей как на настольных компьютерах, так и на мобильных устройствах поможет вашим веб-страницам ранжироваться в Google. Здесь может помочь хороший инструмент мониторинга реальных пользователей.
Несмотря на то, что вы можете создавать синтетические тесты для оценки баллов Core Web Vitals в разных браузерах, это всего лишь лабораторные данные, которые могут сильно отличаться от полевых данных, собранных на реальных пользователях. Лучшие платформы мониторинга реальных пользователей, в том числе Raygun, предоставляют вам реальные данные о трех основных веб-жизненных показателях, а именно о наибольшей отрисовке контента (LCP), первой задержке ввода (FID) и совокупном смещении макета (CLS), чтобы вы знали, когда вы не соответствуют требованиям и могут понять основные проблемы.
Исправление неточностей синтетического тестирования
С помощью реального инструмента мониторинга пользователей вы также можете проверить предположения, которые вы используете в своем рабочем процессе синтетического тестирования.
Во-первых, во время развертывания могут возникнуть проблемы с производительностью, о которых ваш синтетический инструмент мониторинга не сообщит, поскольку вы запускали тесты перед развертыванием в смоделированной среде. Во-вторых, в маршрутах пользователей, транзакциях, настройках и местоположениях могут быть переменные, о которых вы просто не думали, пока не увидели полевые данные от реальных пользователей.
Если вы сравните смоделированные тесты с поведением реальных пользователей, вы сможете обнаружить неточности, несоответствия и избыточность между ними и скорректировать свои синтетические тесты, чтобы лучше имитировать поведение ваших реальных пользователей.
Содействие тестированию браузера и внедрению новых функций
Заставить ваш веб-сайт или приложение работать быстро и без проблем в разных браузерах на разных устройствах — одна из самых сложных задач в разработке внешнего интерфейса. Мониторинг браузера — важная функция, которую может предоставить хороший инструмент RUM.
Вы можете создавать отчеты о производительности для разных веб-браузеров, чтобы улучшать свой код в зависимости от браузера, собирать статистику браузера, а также отслеживать и сравнивать производительность самых популярных браузеров. Мониторинг браузера также упрощает тестирование новых функций внешнего интерфейса, которые имеют лишь частичную поддержку браузера и нуждаются в префиксах поставщиков, полифилах или резервных методах в некоторых браузерах.
Плюсы мониторинга реальных пользователей
- Отслеживает все пользовательские данные и взаимодействия, обеспечивая большую точность, чем синтетическое тестирование.
- Легко находите высокоприоритетные и важные страницы и фокусируйтесь на них.
- Подробно воспроизвести сеансы отдельных пользователей.
- Собирайте полевые данные для Core Web Vitals, чтобы поддерживать и улучшать поисковые рейтинги.
- Соберите исторические данные и сравните производительность вашего приложения в разное время.

- Дает вам контекст, который вы не получаете от смоделированных тестов, и может использоваться для корректировки ваших приоритетов и целей разработки.
- После того, как скрипт отслеживания добавлен на ваш веб-сайт, можно запустить реальный мониторинг пользователей без каких-либо знаний в области кодирования.
Минусы мониторинга реальных пользователей
- Работает только после развертывания, поэтому для отслеживания сеансов пользователей требуется активированный трафик.
- В отличие от синтетического тестирования, вы не можете выполнить его вручную, поэтому вам придется инвестировать в инструмент RUM.
- Не проверяет веб-сайты или приложения ваших конкурентов, что возможно при синтетическом тестировании.
- Может предоставлять слишком много данных, которыми иногда трудно управлять, если они не представлены в доступной форме.
Сводка
Мониторинг реальных пользователей и синтетическое тестирование — это дополняющие друг друга инструменты, которые подходят к мониторингу приложений под другим углом.

