Учебное пособие по тестированию Salesforce для начинающих

⚡ Умное резюме

В книге Salesforce Testing объясняется, как команды контроля качества проверяют пользовательский код Apex, потоки Lightning UI, интеграции и функции Einstein AI в ведущей в мире облачной CRM-системе, избегая при этом ловушки тестирования встроенного поведения платформы в изолированных средах.

  • ☁️ Что это: Проверка конфигураций, классов Apex и компонентов Lightning, построенных на основе стандартной версии Salesforce.
  • 🎯 Почему это важно: Для развертывания Apex требуется 75% покрытия кода, а переписывание тестов в Lightning нарушает работу устаревших классических наборов тестов.
  • 🧪 Уровни: Модульные, системные, пользовательские приемочные, производственные, регрессионные, а также интеграционные проверки в различных тестовых средах.
  • 🇧🇷 Лучшие инструменты: Tricentis Автоматизация тестирования для Salesforce, Testsigma, Provar, Copado и Selenium с пользовательскими локаторами.
  • 🤖 Подход с точки зрения ИИ: Самовосстанавливающиеся локаторы, проверка платформы Einstein 1 и рабочие процессы Agentforce теперь определяют следующую волну автоматизации тестирования.

Учебное пособие по тестированию Salesforce

Что такое Salesforce?

Salesforce — первая в мире облачная CRM-система. Она была основана Марком Бениоффом и Паркером Харрисом в марте 1999 года. Цель этой CRM-платформы — помочь пользователям недорого продавать, обслуживать, продвигать, анализировать и взаимодействовать со своими клиентами по всем каналам.

SFDC (Sales Force Dot Com) поставляется со стандартными функциями, позволяющими управлять отношениями с потенциальными и существующими клиентами. Он также позволяет взаимодействовать и сотрудничать с сотрудниками и партнерами, обеспечивая при этом безопасное хранение данных в многопользовательском облаке. Сегодня он охватывает Sales Cloud, Service Cloud, Marketing Cloud, Data Cloud и платформу Einstein 1, которая обеспечивает работу функций генеративного искусственного интеллекта.

Лучший выбор
Salesforce

Salesforce CRM построена на языке разработки платформы APEX. Тестирование Salesforce позволяет проверить работоспособность конфигурации и кода. Эта CRM позволила мне повысить лояльность, удержание и удовлетворенность клиентов, стремясь построить долгосрочные связи.

Посетите Salesforce

Что такое тестирование Salesforce?

Одно из главных преимуществ Salesforce заключается в том, что большинство стандартных функций можно настроить под нужды компании. Тестирование Salesforce — это проверка конфигурации и настроек, выполненных в стандартной версии SFDC, включая классы Apex, компоненты Lightning Web Components, потоки, Process Builder и интеграции.

Тестирование отдела продаж

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

Salesforce CRM построена на языке платформ, который называется ВершинаПлатформа дополнена компонентами Lightning Web Components (LWC) на стороне клиента. Встроенная среда модульного тестирования позволяет разработчикам проверять свой код перед развертыванием.

Почему тестирование Salesforce?

Вот основные причины, по которым я считаю тестирование Salesforce необходимым:

  • После каждого обновления песочницы проверяется работоспособность конфигурации и кода Apex.
  • Это подтверждает, что готовая система поддерживает бизнес-процессы клиента от начала до конца.
  • Это подтверждает, что первоначальная сборка соответствует согласованным требованиям перед запуском в эксплуатацию.
  • Это позволяет выявлять проблемы на ранней стадии, когда их легко и недорого устранить.
  • Отчеты о функциональном потоке, основанные на статусе тестовых случаев, помогают команде составить карту функциональности приложения.
  • Функции Flow Builder и Process Builder можно проверить на соответствие условиям работы и особенностям поведения.
  • Рабочие процессы позволяют проверять функциональность событий, привязанных ко времени, таких как правила эскалации.

Терминология Salesforce

  • Lightning Experience: В настоящее время используется стандартный пользовательский интерфейс Salesforce, построенный на основе Lightning Web Components; Salesforce Classic постепенно выводится из эксплуатации, и большинство организаций переходят на Lightning.
  • Визуальная сила: Устаревшая платформа для создания пользовательских интерфейсов с использованием языка разметки на основе тегов, аналогичного HTML, по-прежнему поддерживаемая для более старых настроек.
  • Обмен приложений: Онлайн-маркетплейс Salesforce, где пользователи могут находить и устанавливать собственные приложения и расширения.
  • Apex: Строго типизированный объектно-ориентированный язык, используемый для выполнения операторов управления потоком и транзакциями на платформе Salesforce.
  • Платформа Einstein 1 / Agentforce: Слой искусственного интеллекта Salesforce для прогнозирования и генерации функций, а также автономных агентов, которые также должны пройти проверку качества.

Виды тестирования Salesforce

Ручное тестирование

Ручное тестирование программного обеспечения охватывает приложение Salesforce.com с использованием традиционных методов. Команда контроля качества может использовать ручное тестирование для выполнения функционального тестирования, тестирования сценариев успешного завершения проекта, интеграционного тестирования, регрессионного тестирования и системного тестирования как для Lightning Experience, так и для Salesforce Mobile.

Автоматизированное тестирование

Автоматизированное тестирование использует программу для проверки приложений Salesforce.com или Force.com. К распространенным инструментам автоматизации относятся: Selenium, Провар, Роботизированное тестирование Copado, Tricentis Автоматизация тестирования для Salesforce и Testsigma. В современных стеках все чаще используются самовосстанавливающиеся локаторы на основе ИИ для обработки изменений DOM в Lightning.

Уровни тестирования в Salesforce

В этом руководстве по тестированию Salesforce обычно применяются следующие уровни:

Уровни тестирования в Salesforce

Модульное тестирование

  • Тестирование проводится разработчиками Apex, которые пишут тестовые методы для проверки своих классов и триггеров.
  • Он оценивает, сколько записей данных затронуто, чтобы обеспечить надежную работу кода в целевой среде.
  • Для развертывания кода Apex в производственной среде общее покрытие кода должно составлять не менее 75%, а каждый триггер должен иметь покрытие не менее 1%.

Тестирование системы:

  • Выполнено командой консультантов Salesforce.
  • Проверяет технические процессы системы от начала до конца.
  • Использует тестовые скрипты, основанные на конкретных ожидаемых результатах.
  • Устраняет неполадки в автоматизированных правилах, таких как рабочие процессы, проверка данных, назначение задач и процессы утверждения.

UAT-тестирование:

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

Производственные испытания:

  • Повторение системного тестирования в производственной среде.
  • Проверяет, корректно ли развернуты конфигурация и код из песочницы в продакшн.
  • Если позволяет время до запуска, клиенту следует повторно запустить скрипты пользовательского тестирования после развертывания.

Регрессионное тестирование:

  • Основная цель регрессионное тестирование Задача состоит в том, чтобы определить, влияют ли новые версии на существующие пользовательские процессы.
  • Она запускается после каждого улучшения, исправления или сезонного релиза Salesforce (весеннего, летнего, зимнего).
  • Пользователь предоставляет список изменений, которые могут повлиять на текущие процессы, чтобы затронутые потоки можно было повторно проверить.

Процесс тестирования Salesforce

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

Разработчики и тестировщики должны использовать тестовые среды (Developer, Developer Pro, Partial Copy, Full) для своих целей. Протестированный в тестовой среде код переносится в рабочую среду с помощью наборов изменений, Salesforce DX или инструментов DevOps, таких как Copado и Gearset. Предполагается, что тестировщик QA-тестирования понимает основную терминологию Salesforce до начала проекта.

Проблемы тестирования Salesforce

Тестирование Salesforce — непростой процесс. Тестировщики сталкиваются со многими трудностями, в том числе:

  • Тестирование сложных функций, таких как Lightning Web Components, Visualforce, Service Cloud Console и Experience Cloud Sites, — задача непростая.
  • Командам часто приходится воссоздавать или перерабатывать устаревшие классические тесты для Lightning Experience и мобильного приложения Salesforce.
  • Некоторые стандартные функции нельзя удалить, даже если они не используются.
  • Тесты пользовательского интерфейса могут давать сбои при обновлении песочниц или при выпуске сезонных релизов.
  • Автоматизированные тесты должны стабильно выполняться во всех тестовых средах.
  • Создание стабильных локаторов полей представляет собой сложную задачу, поскольку идентификаторы элементов Salesforce различаются между организациями и меняются с каждым релизом.
  • Для проверки работоспособности таких функций ИИ, как прогнозы Einstein и агенты Agentforce, требуются новые подходы, основанные на данных и подсказках.

лучшая практика тестирования Salesforce

  • Запускайте тесты от имени реальных пользовательских профилей и наборов прав доступа.
  • Подготовьте тестовые данные для проверки функциональности отчетов и панелей мониторинга.
  • В каждом цикле выпуска продукта объединяйте функциональное тестирование, тестирование пользовательского интерфейса, регрессионное тестирование и системное интеграционное тестирование.
  • Обратите особое внимание на динамический характер страниц Lightning и Visualforce, поскольку элементы могут загружаться не одновременно; используйте явные задержки.
  • Автоматизацию следует осуществлять с помощью таких инструментов, как... SeleniumПровар, Tricentisили Тестсигма, в сочетании с самовосстанавливающимися локаторами.
  • В каждом тестовом сценарии следует учитывать как положительные, так и отрицательные потоки.
  • Создайте роли пользователей, профили и наборы разрешений в тестовых данных, чтобы можно было проверить рабочие процессы для каждого типа пользователей.

Роли и обязанности тестировщика Salesforce

Важные роли и обязанности тестировщиков Salesforce включают в себя:

  • Проведение дымовых испытаний для подтверждения работоспособности всех основных функций в соответствии с требованиями.
  • Создание как позитивных, так и негативных тестовых сценариев.
  • Выполнение анализа эквивалентности и анализа граничных значений.
  • Работа с приложением для понимания его функциональности и построения функциональной карты.
  • Поддержание открытого канала связи с командой разработчиков.
  • Понимание настраиваемых функций, разработанных для организации Salesforce.
  • Выполнение тестовых сценариев на основе ролей для обеспечения согласованности данных.
  • Выполнение тестов на совместимость при интеграции Salesforce с приложениями сторонних разработчиков.
  • Знание инструментов для нагрузочного тестирования, таких как JMeter для проверки сложных потоков данных, которые могут давать противоречивые результаты.
  • Практические навыки работы с Apex, SOQL и компонентами Lightning.

Инструменты автоматизации тестирования Salesforce

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

Ниже я перечислил широко используемые инструменты тестирования Salesforce, которые я рекомендую.

1) Tricentis Автоматизация тестирования для Salesforce

Я особенно ценю то, как Tricentis Автоматизация тестирования для Salesforce Ускоряет разработку отказоустойчивых тестов пользовательского интерфейса для сред Salesforce. Ее интеллектуальные локаторы, работающие на основе искусственного интеллекта, автоматически восстанавливаются и улучшаются, минимизируя затраты на обслуживание и обеспечивая стабильность тестов в различных релизах Lightning.

Tricentis

Требования:

  • Сквозная проверка сценария: Клиенты могут проверить полные сквозные сценарии, начиная от своего веб-приложения и заканчивая Salesforce и обратно.
  • Масштабируемость Agile-команды: Гибкие команды с разнородным набором навыков эффективно масштабируют свои операции тестирования, используя функции, помогающие им контролировать и управлять ростом числа тестов и команд.
  • Вершина Code Выполнение для проверки: Запустите код Apex на этапе тестирования, чтобы проверить результаты запроса.
  • Интеграция тестов API: Обеспечьте бесшовную интеграцию API-тестов с пользовательскими интерфейсами.

Войти Tricentis >>


2) Testsigma

Testsigma Это платформа для автоматизации тестирования без необходимости написания кода, которая упрощает тестирование Salesforce, не требуя сложных навыков работы с Apex или другими инструментами. Selenium экспертные знания. Я обнаружил, что его интуитивно понятный подход к проектированию тестов особенно эффективен для команд, проверяющих стандартные и пользовательские конфигурации Salesforce после изменений или развертывания, устраняя сложность традиционных фреймворков для написания скриптов.

Testsigma

Требования:

  • CodeМеньше автоматизации для пользовательских интерфейсов Salesforce: Создавайте тесты Salesforce, используя простые, понятные шаги, без написания кода Apex. Selenium код. Я использовал его для адаптации членов команды с разным уровнем технической подготовки.
  • Пользовательское тестирование объектов и рабочих процессов: Комплексная поддержка тестирования пользовательских объектов, рабочих процессов и интеграций. Это помогло мне убедиться в корректной работе конфигураций, специфичных для организации, после обновления платформы.
  • Возможности тестирования на основе данных: Систематически тестируйте различные роли пользователей, профили и наборы данных. Я обнаружил, что это бесценно для проверки поведения пользователей на разных уровнях доступа.
  • Комплексное покрытие сценариев: Поддерживает комплексные сквозные сценарии, включающие Salesforce, а также внешние приложения или API.
  • Подробные отчеты и журналы отладки: Создает подробные отчеты и журналы для быстрого выявления проблем, возникших в результате изменений в Salesforce.

Посетите Testsigma >>

14-дневная бесплатная пробная версия

Зачем использовать инструменты тестирования Salesforce

  • Они помогают сэкономить до 75% времени на тестировании и значительную часть затрат на автоматизацию.
  • Они обеспечивают более качественное выполнение тестов Apex, подробное покрытие тестов и отчеты о покрытии классов.
  • Вы можете воспользоваться преимуществами ведущих в отрасли инструментов автоматизации, таких как Selenium и JMeter.
  • Автоматическая генерация тестовых сценариев для различных сред и нескольких браузеров.
  • Записывайте и воспроизводите тестовые примеры без каких-либо проблем.
  • Автоматизируйте все виды задач, выполняемых до и после развертывания.
  • Отделите данные из тестового скрипта и дополните их несколькими наборами данных.

Примеры сценариев тестирования Salesforce

  • Тестовый пример 01: Соберите контактную информацию потенциального клиента или заказчика.
  • Тестовый пример 02: Контакты могут быть помечены как активные или неактивные.
  • Тестовый пример 03: Компания может быть помечена как клиент или потенциальный клиент.
  • Тестовый пример 04: Сбор лидов может осуществляться с помощью веб-форм для сбора контактных данных.
  • Тестовый пример 05: Цена в коммерческом предложении не может быть равна нулю.
  • Тестовый пример 06: После завершения сделки электронное письмо отправляется; письма, не доставленные отправителю, обрабатываются.
  • Тестовый пример 07: Интеграция со сторонним программным обеспечением работает корректно.
  • Тестовый пример 08: BillСервисы работают как положено.
  • Тестовый пример 09: Никакого дублирования записей в контактах, возможностях и управлении потенциальными клиентами.
  • Тестовый пример 10: В мобильном приложении Salesforce рабочие процессы на мобильных устройствах работают должным образом.
  • Тестовый пример 11: Неавторизованные пользователи не могут получить доступ к файлам или запрещённым записям.

Как ИИ и Эйнштейн меняют мирping Тестирование Salesforce

Искусственный интеллект теперь является первостепенной задачей тестирования в Salesforce. Платформа Einstein 1 внедряет в Sales и Service Cloud прогнозные оценки, генеративные ответы и автономных агентов Agentforce, и для каждой из этих функций необходима собственная стратегия проверки. Тестировщики должны разрабатывать основанные на данных сценарии, проверяющие точность прогнозирования, корректность ответов и ограничения, наряду с традиционными сценариями пользовательского интерфейса.

Что касается инструментов, современные фреймворки автоматизации Salesforce используют самовосстанавливающиеся локаторы на основе искусственного интеллекта, которые обнаруживают изменения DOM в Lightning между релизами и автоматически восстанавливают селекторы. TricentisProvar, Copado Robotic Testing и Testsigma — все эти компании предлагают различные варианты этой возможности. Используйте их в сочетании с синтетическими тестовыми данными и визуальными проверками регрессии, чтобы поддерживать высокий уровень покрытия без чрезмерного увеличения затрат на обслуживание.

Тестирование Salesforce: проблемы клиентов

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

Вот некоторые из них:

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

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

Для развертывания в продакшене Salesforce требует, чтобы общий уровень покрытия кода Apex составлял не менее 75%, а каждый триггер должен иметь покрытие не менее 1%. Тесты должны выполняться успешно и не должны зависеть от параметра seeAllData=true для нового кода.

Большинство новых разработок ориентированы на Lightning Experience, который является пользовательским интерфейсом по умолчанию. Salesforce постепенно отказывается от Classic в пользу многих функций, поэтому в планах тестирования следует отдавать приоритет Lightning Web Components, Flow и Salesforce Mobile, если только клиентская организация не продолжает использовать Classic.

Да. Selenium Работает с Salesforce, но нестабильность DOM в Lightning делает чистые XPath-локаторы ненадежными. Команды обычно объединяются. Selenium с помощью Lightning Testing Service, настраиваемых ожиданий и самовосстанавливающихся локаторов на основе ИИ, или используйте инструменты, разработанные специально для Salesforce, такие как Provar и другие. Tricentis.

Проверьте предсказания Эйнштейна с помощью размеченных наборов данных, затем определите диапазоны предсказаний и их объяснения. Для Agentforce протестируйте обоснование подсказок, ограничения, вызовы действий и сценарии диалога. Объедините функциональные проверки с проверками на предвзятость, галлюцинации и безопасность.

Tricentis Системы автоматизации тестирования для Salesforce, Provar, Copado Robotic Testing и Testsigma предлагают самовосстанавливающиеся локаторы на основе искусственного интеллекта и интеллектуальную генерацию тестов. Эти функции адаптируются к изменениям Lightning DOM во время сезонных релизов и значительно сокращают затраты на обслуживание скриптов.

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

Проводите регрессионные тесты после каждого развертывания спринта, перед каждым сезонным релизом Salesforce (весенним, летним, зимним) и после крупных обновлений песочницы. Приоритизируйте основные процессы продаж, обслуживания и интеграции, а затем расширьте охват на функции ИИ и пользовательские компоненты Lightning.

Подведем итог этой публикации следующим образом: