Посібник з тестування Salesforce для початківців
⚡ Розумний підсумок
У розділі «Тестування Salesforce» пояснюється, як команди контролю якості перевіряють налаштований код Apex, потоки інтерфейсу Lightning, інтеграції та функції Einstein AI у провідній світовій хмарній CRM, уникаючи при цьому пастки тестування вбудованої поведінки платформи в різних «пісочницях».

Що таке Salesforce?
Salesforce — це перша у світі хмарна CRM-система. Її заснували Марк Беніофф і Паркер Гарріс у березні 1999 року. Мета цієї CRM-платформи — допомогти користувачам доступно продавати, обслуговувати, просувати на ринку, аналізувати та взаємодіяти зі своїми клієнтами через усі канали.
SFDC (Sales Force Dot Com) постачається зі стандартними функціями, які дозволяють вам керувати відносинами з потенційними та існуючими клієнтами. Він також дозволяє вам взаємодіяти та співпрацювати зі співробітниками та партнерами, безпечно зберігаючи дані в багатокористувацькій хмарі. Сьогодні він охоплює Sales Cloud, Service Cloud, Marketing Cloud, Data Cloud та платформу Einstein 1, яка забезпечує генеративні функції штучного інтелекту.
Salesforce CRM побудовано на мові розробки платформи під назвою APEX. Тестування Salesforce дозволяє перевірити працездатність конфігурації та коду. Ця CRM дозволила мені підвищити рівень лояльності, утримання та задоволеності клієнтів, прагнучи створити тривалі зв’язки.
Що таке тестування Salesforce?
Чудова річ у Salesforce полягає в тому, що більшість готових функцій можна налаштувати відповідно до потреб компанії. Тестування Salesforce — це перевірка конфігурації та налаштування, виконаних у звичайному SFDC, включаючи класи Apex, веб-компоненти Lightning, потоки, конструктор процесів та інтеграції.
Завдання полягає в тому, щоб переконатися, що тестер перевіряє налаштований код, а не вбудовану функціональність Salesforce, яку Salesforce вже охоплює у своєму конвеєрі довіри та випуску.
Salesforce CRM побудовано на мові платформи під назвою Вершина, доповнені Lightning Web Components (LWC) на фронтенді. Платформа постачається з вбудованим фреймворком для модульного тестування, щоб розробники могли перевірити свій код перед розгортанням.
Навіщо тестувати Salesforce?
Ось основні причини, чому я вважаю тестування Salesforce необхідним:
- Він перевіряє працездатність конфігурації та коду Apex після кожного оновлення пісочниці.
- Це підтверджує, що готова система повністю підтримує бізнес-процеси клієнта.
- Це підтверджує, що початкова збірка відповідає узгодженим вимогам перед її введенням в експлуатацію.
- Він виявляє проблеми на ранній стадії, поки їх легко та недорого виправити.
- Звіти про функціональний потік на основі статусу тестового випадку допомагають команді відобразити функціональність програми.
- Функції Flow Builder та Process Builder можна перевірити на предмет робочих умов та поведінки.
- Робочі процеси дозволяють перевіряти функціональність подій, що залежать від часу, таких як правила ескалації.
Термінологія Salesforce
- Досвід блискавки: Поточний інтерфейс Salesforce за замовчуванням, побудований на веб-компонентах Lightning; Salesforce Classic поступово припиняється, і більшість організацій переходять на Lightning.
- Візуальна сила: Застарілий фреймворк для створення користувацьких інтерфейсів за допомогою мови розмітки на основі тегів, подібної до HTML, який все ще підтримується для старіших налаштувань.
- AppExchange: Онлайн-майданчик Salesforce, де користувачі можуть знаходити та встановлювати власні програми та розширення.
- вершина: Строго типізована об'єктно-орієнтована мова, що використовується для виконання операторів керування потоком і транзакціями на платформі Salesforce.
- Платформа Ейнштейна 1 / Agentforce: Рівень штучного інтелекту Salesforce для прогнозних та генеративних функцій і автономних агентів, які також повинні бути перевірені контролем якості.
Типи тестування Salesforce
Ручне тестування
Ручне тестування програмного забезпечення охоплює застосунок Salesforce.com з використанням традиційних методів. Команда контролю якості може використовувати ручне тестування для виконання функціонального тестування, тестування «щасливого шляху», інтеграційного тестування, регресійного тестування та системного тестування як у Lightning Experience, так і в Salesforce Mobile.
Автоматичне тестування
Автоматизоване тестування використовує програму для тестування додатка Salesforce.com або Force.com. Звичайні інструменти автоматизації включають Selenium, Provar, Copado Robotic Testing, Tricentis Автоматизація тестування для Salesforce та Testsigma. Сучасні стеки все частіше додають локатори самовідновлення на базі штучного інтелекту для поглинання змін Lightning DOM.
Рівні тестування в Salesforce
У цьому посібнику з тестування Salesforce зазвичай застосовуються такі рівні:
Unit Testing
- Проводиться розробниками Apex, які пишуть методи тестування, що перевіряють їхні класи та тригери.
- Він оцінює, скільки записів даних постраждало, щоб код надійно працював у цільовому середовищі.
- Щоб розгорнути код Apex у продакшені, загальне покриття коду має становити щонайменше 75%, а кожен тригер повинен мати покриття щонайменше 1%.
Тестування системи:
- Виконується командою консультантів Salesforce.
- Тестує технічні процеси системи від початку до кінця.
- Використовує тестові скрипти на основі конкретних очікуваних результатів.
- Вирішує проблеми з автоматизованими правилами, такими як процеси робочого процесу, перевірки, призначення та затвердження.
Тестування UAT:
- Проводиться бізнес-користувачами, які використовуватимуть додаток щодня.
- Тестує здатність системи підтримувати бізнес-процеси.
- Виконує тестові сценарії, засновані на реальних бізнес-сценаріях.
- Бажаним результатом є підтвердження клієнтом того, що система відповідає своєму призначенню.
Виробничі випробування:
- Повторне тестування системи у виробничому середовищі.
- Перевіряє, чи конфігурація та код були правильно розгорнуті з ізольованого середовища до робочого середовища.
- Якщо дозволяє час до запуску, клієнту слід знову запустити скрипти 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, є складним процесом.
- Командам часто потрібно відтворювати або рефакторувати застарілі класичні тести для Lightning Experience та мобільного додатку Salesforce.
- Деякі стандартні функції неможливо видалити, навіть якщо вони не використовуються.
- Тести інтерфейсу користувача можуть порушувати роботу під час оновлення пісочниць або випуску сезонних релізів.
- Автоматизовані тести повинні виконуватися послідовно в усіх ізольованих середовищах.
- Створення стабільних локаторів полів є складним завданням, оскільки ідентифікатори елементів Salesforce відрізняються між організаціями та змінюються з кожним релізом.
- Перевірка функцій штучного інтелекту, таких як прогнози Ейнштейна та агенти Agentforce, вимагає нових підходів, заснованих на даних та підказках.
Найкраща практика для тестування Salesforce
- Запускайте тести як справжні профілі користувачів та набори дозволів.
- Підготуйте тестові дані, які перевірять функціональність звіту та панелі інструментів.
- Поєднуйте функціональне, інтерфейсне, регресійне та системно-інтеграційне тестування в кожному циклі випуску.
- Зверніть особливу увагу на динамічний характер сторінок Lightning та Visualforce, оскільки елементи можуть завантажуватися не одночасно; використовуйте явні очікування.
- Автоматизацію слід виконувати за допомогою таких інструментів, як Selenium, Провар, Tricentis, або Testsigma, у парі з локаторами, що самовідновлюються.
- Охоплюйте як позитивні, так і негативні потоки в кожному тестовому сценарії.
- Створюйте ролі, профілі та набори дозволів користувачів у тестових даних, щоб робочі процеси можна було перевірити для кожної персони.
Ролі та обов’язки тестувальника Salesforce
Важливі ролі та обов'язки тестувальників Salesforce включають:
- Проведення димового тестування для підтвердження того, що всі основні функції працюють відповідно до вимог.
- Створення як позитивних, так і негативних тестових сценаріїв.
- Виконання розбиття еквівалентності та аналізу граничних значень.
- Робота з додатком для розуміння його функціональності та побудови функціональної карти.
- Підтримка відкритого каналу комунікації з командою розробників.
- Розуміння налаштовуваних функцій, створених для організації Salesforce.
- Виконання тестових випадків на основі ролей для забезпечення узгодженості даних.
- Виконання тестів сумісності, коли Salesforce інтегровано із сторонніми програмами.
- Знайомство з інструментами навантажувального тестування, такими як JMeter для перевірки складних потоків, які можуть повертати суперечливі результати.
- Практичне знання компонентів Apex, SOQL та Lightning.
Інструменти автоматизації тестування Salesforce
Виконання автоматизованого функціонального тестування в Salesforce є складним завданням, оскільки більшість тестових сторінок є динамічними. Тестерам потрібно створити надійну систему автоматизації, яка буде корисною сьогодні та стійкою до майбутніх релізів.
Нижче я перерахував широко використовувані інструменти тестування Salesforce, які я рекомендую.
1) Tricentis Автоматизація тестування для Salesforce
Я особливо ціную те, як Tricentis Автоматизація тестування для Salesforce прискорює розробку стійких тестів інтерфейсу користувача для середовищ Salesforce. Його інтелектуальні локатори працюють на базі штучного інтелекту для автоматичного самовідновлення та покращення, мінімізуючи обслуговування та забезпечуючи стабільність тестування в усіх релізах Lightning.
Особливості гри:
- Наскрізна перевірка сценарію: Клієнти можуть перевіряти повні сценарії від початку до кінця, починаючи від веб-застосунку до Salesforce і назад.
- Гнучка командна масштабованість: Гнучкі команди зі змішаними навичками ефективно масштабують свої тестові операції за допомогою функцій, які допомагають їм контролювати та керувати зростанням тестів та команд.
- Вершина Code Виконання для перевірки: Запустіть код Apex на етапі тестування, щоб перевірити результати запиту.
- Інтеграція тесту API: Безшовна інтеграція тестів API разом із процесами інтерфейсу користувача.
2) Testsigma
Testsigma це платформа автоматизації тестування без кодування, яка спрощує тестування Salesforce без необхідності глибокого використання Apex або Selenium експертиза. Я вважаю його інтуїтивно зрозумілий підхід до розробки тестів особливо ефективним для команд, які перевіряють стандартні та користувацькі конфігурації Salesforce після змін або розгортань, усуваючи складність традиційних фреймворків сценаріїв.
Особливості гри:
- Codeменше автоматизації для процесів інтерфейсу користувача Salesforce: Створюйте тести Salesforce, використовуючи прості кроки, схожі на англійські, без написання Apex або Selenium код. Я використовував його для залучення членів команди з різним технічним досвідом.
- Тестування користувацьких об'єктів та робочих процесів: Комплексна підтримка тестування користувацьких об'єктів, робочих процесів та інтеграцій. Це допомогло мені забезпечити правильну роботу конфігурацій, специфічних для організації, після оновлень платформи.
- Можливості тестування на основі даних: Систематично тестуйте різні ролі користувачів, профілі та набори даних. Я вважаю це безцінним для перевірки поведінки на різних рівнях дозволів.
- Повне охоплення сценаріїв: Підтримує комплексні сценарії, що включають Salesforce, а також зовнішні програми або API.
- Детальні звіти та журнали налагодження: Генерує вичерпні звіти та журнали для швидкого виявлення проблем, спричинених змінами в Salesforce.
14-денна безкоштовна пробна версія
Навіщо використовувати інструменти тестування Salesforce
- Вони допомагають вам заощадити до 75% часу тестування та значну частку витрат на автоматизацію.
- Вони пропонують краще виконання тестів Apex, детальне охоплення тестами та звіти про охоплення класів.
- Ви можете скористатися такими провідними в галузі інструментами автоматизації, як Selenium та JMeter.
- Автоматично генеруйте тестові сценарії для різних середовищ та кількох браузерів.
- Безперешкодно записуйте та відтворюйте свої тестові випадки.
- Автоматизуйте всі типи завдань до та після розгортання.
- Відокремте дані від тестового скрипта та доповніть їх кількома наборами даних.
Приклади сценаріїв тестування Salesforce
- Тестовий приклад 01: Зберіть контактну інформацію потенційного клієнта або потенційного клієнта.
- Тестовий приклад 02: Контакти можна позначити як активні або неактивні.
- Тестовий приклад 03: Компанію можна позначити як клієнта або потенційного клієнта.
- Тестовий приклад 04: Ліди можна збирати за допомогою веб-форм для збору лідів.
- Тестовий приклад 05: Ціна в комерційній пропозиції не може бути нульовою.
- Тестовий приклад 06: Електронний лист надсилається після укладання угоди; відхилені електронні листи обробляються.
- Тестовий приклад 07: Інтеграція зі стороннім програмним забезпеченням працює належним чином.
- Тестовий приклад 08: BillПослуги ing працюють належним чином.
- Тестовий приклад 09: Відсутність дублювання записів в управлінні контактами, можливостями та потенційними клієнтами.
- Тестовий приклад 10: Мобільні робочі процеси працюють належним чином у мобільному додатку Salesforce.
- Тестовий приклад 11: Неавторизовані користувачі не можуть отримати доступ до файлів або обмежених записів.
Як ШІ та Ейнштейн є Решеюping Тестування Salesforce
Штучний інтелект зараз є першокласним завданням тестування в Salesforce. Платформа Einstein 1 додає прогнозні оцінки, генеративні відповіді та автономних агентів Agentforce до Sales and Service Cloud, і кожна з цих функцій потребує власної стратегії перевірки. Тестери повинні розробляти кейси на основі даних, які перевіряють точність прогнозування, підказують заземлення та захисні огородження поряд з традиційними процесами інтерфейсу користувача.
Що стосується інструментів, сучасні системи автоматизації Salesforce покладаються на локатори самовідновлення на базі штучного інтелекту, які виявляють зміни Lightning DOM між релізами та автоматично відновлюють селектори. Tricentis, Provar, Copado Robotic Testing та Testsigma – усі вони пропонують різні варіанти цієї можливості. Поєднайте їх із даними синтетичних тестів та візуальними регресійними перевірками, щоб підтримувати високий рівень покриття без надмірного обслуговування.
Тестування Salesforce: виклики клієнта
Клієнти часто нервують щодо тестування Salesforce, оскільки вони можуть не знати, як його правильно проводити, що породжує міфи, що розходяться з реальністю.
Ось деякі з них:
| Проблеми клієнта | Рішення |
|---|---|
| Я не знаю, як користуватися системою Salesforce. | Клієнти повинні тестувати свій процес, а не функціональність системи. |
| Ми не можемо проводити тестування без наявності всіх наших даних у системі. | Для тестування потрібно лише кілька зразків записів. |
| У мене немає вільного часу, щоб тестувати та керувати своєю щоденною роботою. | Залишайтеся на зв'язку з керівником проекту та приєднуйтесь до регулярних дзвінків під час етапів проектування та будівництва. |




