Samouczek testowania Salesforce dla początkujących

⚡ Inteligentne podsumowanie

W artykule Salesforce Testing wyjaśniono, w jaki sposób zespoły ds. zapewnienia jakości weryfikują dostosowany kod Apex, przepływy interfejsu użytkownika Lightning, integracje i funkcje Einstein AI w ramach wiodącego na świecie rozwiązania CRM w chmurze, unikając jednocześnie pułapki testowania wbudowanego zachowania platformy w środowiskach testowych.

  • ☁️. Co to jest: Walidacja konfiguracji, klas Apex i komponentów Lightning zbudowanych na bazie podstawowej wersji Salesforce.
  • 🎯 Dlaczego jest to ważne: Wdrożenia Apex wymagają pokrycia kodu na poziomie 75%, a przepisanie kodu Lightning powoduje przerwanie stosowania starszych zestawów testów Classic.
  • 🧪 Poziomy: Jednostka, system, UAT, produkcja, regresja, a także kontrole integracji w środowiskach testowych.
  • 🛠️. Najlepsze narzędzia: Tricentis Automatyzacja testów dla Salesforce, Testsigma, Provar, Copado i Selenium z niestandardowymi lokalizatorami.
  • 🤖 Kąt AI: Samonaprawiające się lokalizatory, walidacja platformy Einstein 1 i przepływy pracy Agentforce napędzają teraz kolejną falę automatyzacji testów.

Samouczek testowania Salesforce

Co to jest Salesforce?

Salesforce to pierwszy na świecie system CRM w chmurze. Został założony w marcu 1999 roku przez Marca Benioffa i Parkera Harrisa. Celem tej platformy CRM jest pomoc użytkownikom w przystępnej cenie w sprzedaży, obsłudze, marketingu, analizie i nawiązywaniu kontaktu z klientami za pośrednictwem wszystkich kanałów.

Platforma SFDC (Sales Force Dot Com) jest standardowo wyposażona w funkcje, które pozwalają zarządzać relacjami z potencjalnymi i obecnymi klientami. Umożliwia również interakcję i współpracę z pracownikami i partnerami, a jednocześnie bezpieczne przechowywanie danych w chmurze wielodostępnej. Obecnie obejmuje ona Sales Cloud, Service Cloud, Marketing Cloud, Data Cloud oraz platformę Einstein 1, która obsługuje generatywne funkcje sztucznej inteligencji.

Najszczęściej wybierane
Salesforce

Salesforce CRM jest zbudowany na języku programowania platformy o nazwie APEX. Testowanie Salesforce pozwala sprawdzić, czy konfiguracja i kod są funkcjonalne. Ten CRM pozwolił mi poprawić lojalność, retencję i zadowolenie klientów, mając na celu budowanie trwałych połączeń.

Odwiedź Salesforce

Co to jest testowanie Salesforce?

Największą zaletą Salesforce jest to, że większość gotowych funkcji można dostosować do potrzeb firmy. Testowanie Salesforce polega na weryfikacji konfiguracji i dostosowań przeprowadzanych w podstawowej wersji SFDC, w tym klas Apex, komponentów Lightning Web, przepływów, narzędzia Process Builder i integracji.

Testowanie SalesForce

Wyzwaniem jest upewnienie się, że tester sprawdza dostosowany kod, a nie wbudowaną funkcjonalność Salesforce, którą Salesforce uwzględnia już w swoim procesie zaufania i wydania.

Salesforce CRM jest zbudowany na języku platformowym o nazwie Wierzchołek, uzupełnione o Lightning Web Components (LWC) na froncie. Platforma jest dostarczana z wbudowanym frameworkiem testów jednostkowych, dzięki czemu programiści mogą weryfikować swój kod przed wdrożeniem.

Dlaczego testowanie Salesforce?

Oto główne powody, dla których uważam, że testowanie Salesforce jest konieczne:

  • Sprawdza, czy konfiguracja i kod Apex działają po każdym odświeżeniu piaskownicy.
  • Sprawdza, czy gotowy system w pełni obsługuje procesy biznesowe klienta.
  • Potwierdza, że ​​początkowa wersja spełnia ustalone wymagania przed uruchomieniem.
  • Pozwala wykryć problemy na wczesnym etapie, gdy ich naprawa jest łatwa i niedroga.
  • Raporty przepływu funkcjonalnego oparte na statusie przypadków testowych pomagają zespołowi mapować funkcjonalność aplikacji.
  • Funkcje Flow Builder i Process Builder można walidować pod kątem warunków pracy i zachowania.
  • Przepływy pracy umożliwiają weryfikację funkcjonalności zdarzeń czasowych, takich jak reguły eskalacji.

Terminologia Salesforce’a

  • Doświadczenie Błyskawiczne: Obecny domyślny interfejs użytkownika Salesforce opiera się na komponentach Lightning Web Components; Salesforce Classic jest stopniowo wycofywany, a większość organizacji migruje do Lightning.
  • Siła wizualna: Starsza wersja infrastruktury do tworzenia niestandardowych interfejsów użytkownika z językiem znaczników opartym na tagach, podobnym do HTML, nadal obsługiwana w przypadku starszych dostosowań.
  • Wymiana aplikacji: Sklep internetowy Salesforce, w którym użytkownicy mogą wyszukiwać i instalować niestandardowe aplikacje i rozszerzenia.
  • Wierzchołek: Język obiektowy o ściśle określonych typach, służący do wykonywania poleceń sterujących przepływem i transakcjami na platformie Salesforce.
  • Platforma Einstein 1 / Agentforce: Warstwa sztucznej inteligencji firmy Salesforce zapewnia funkcje predykcyjne i generatywne oraz autonomicznych agentów, które również muszą zostać zweryfikowane przez dział zapewnienia jakości.

Rodzaje testów Salesforce

Testowanie ręczne

Ręczne testowanie oprogramowania obejmuje aplikację Salesforce.com przy użyciu tradycyjnych metod. Zespół ds. zapewnienia jakości może wykorzystywać testy ręczne do przeprowadzania testów funkcjonalnych, testów happy path, testów integracyjnych, testów regresyjnych i testów systemowych zarówno w środowisku Lightning Experience, jak i Salesforce Mobile.

Automatyczne testowanie

Testowanie automatyczne wykorzystuje program do testowania aplikacji Salesforce.com lub Force.com. Typowe narzędzia automatyzacji obejmują: Selenium, Provar, Testowanie robotów Copado, Tricentis Automatyzacja testów dla Salesforce i Testsigma. Nowoczesne stosy coraz częściej dodają samonaprawiające się lokalizatory oparte na sztucznej inteligencji, aby absorbować zmiany w Lightning DOM.

Poziomy testowania w Salesforce

W tym samouczku dotyczącym testowania Salesforce zazwyczaj stosuje się następujące poziomy:

Poziomy testowania w Salesforce

Testów jednostkowych

  • Testy przeprowadzane są przez programistów Apex, którzy piszą metody testowe ćwiczące ich klasy i wyzwalacze.
  • Ocenia, ile rekordów danych jest modyfikowanych, aby zapewnić niezawodne działanie kodu w środowisku docelowym.
  • Aby wdrożyć kod Apex w środowisku produkcyjnym, ogólne pokrycie kodu musi wynosić co najmniej 75%, a każdy wyzwalacz musi mieć pokrycie wynoszące co najmniej 1%.

Testowanie systemu:

  • Wykonane przez zespół konsultantów Salesforce.
  • Testuje procesy techniczne systemu od początku do końca.
  • Używa skryptów testowych w oparciu o konkretne oczekiwane wyniki.
  • Rozwiązywanie problemów z regułami automatycznymi, takimi jak procesy przepływu pracy, walidacji, przypisywania i zatwierdzania.

Testowanie UAT:

  • Przeprowadzane przez użytkowników biznesowych, którzy będą korzystać z aplikacji na co dzień.
  • Testuje zdolność systemu do wspierania procesów biznesowych.
  • Korzysta ze skryptów testowych opartych na rzeczywistych scenariuszach biznesowych.
  • Oczekiwanym wynikiem jest potwierdzenie przez klienta, że ​​system jest odpowiedni do zamierzonego celu.

Testowanie produkcyjne:

  • Powtórzenie testów systemowych w środowisku produkcyjnym.
  • Sprawdza, czy konfiguracja i kod zostały prawidłowo wdrożone z piaskownicy do produkcji.
  • Jeżeli czas na to pozwoli, przed uruchomieniem klient powinien ponownie uruchomić skrypty UAT po wdrożeniu.

Testowanie regresji:

  • Głównym celem testy regresji ma na celu ustalenie, czy nowe wersje mają wpływ na istniejące procesy użytkownika.
  • Jest on uruchamiany po każdym ulepszeniu, poprawce lub wydaniu sezonowym Salesforce (wiosna, lato, zima).
  • Użytkownik dostarcza listę zmian, które mogą mieć wpływ na bieżące procesy, dzięki czemu możliwe jest ponowne sprawdzenie poprawności przepływów, na które mają wpływ.

Proces testowania Salesforce

Proces testowania w Salesforce przypomina testowanie dowolnej aplikacji internetowej. Tester musi mieć jasny pogląd na temat konfigurowalnych funkcji tworzonych w trakcie projektu, aby skupić się na kodzie dostosowanym do indywidualnych potrzeb, a nie na wbudowanych funkcjach Salesforce.

Programiści i testerzy powinni korzystać ze środowisk Sandbox (Developer, Developer Pro, Partial Copy, Full) do swoich celów. Kod testowany w sandboxie jest przenoszony do środowiska produkcyjnego za pośrednictwem zestawów zmian, Salesforce DX lub narzędzi DevOps, takich jak Copado i Gearset. Zakłada się, że tester QA rozumie podstawową terminologię Salesforce przed dołączeniem do projektu.

Wyzwania testowania Salesforce

Testowanie Salesforce nie jest łatwym procesem. Testerzy napotykają wiele wyzwań, w tym:

  • Testowanie zaawansowanych funkcji, takich jak Lightning Web Components, Visualforce, Service Cloud Console i witryny Experience Cloud, jest skomplikowane.
  • Zespoły często muszą ponownie tworzyć lub refaktoryzować starsze testy klasyczne dla środowiska Lightning Experience i aplikacji mobilnej Salesforce.
  • Niektórych standardowych funkcjonalności nie można usunąć, nawet jeśli nie są używane.
  • Testy interfejsu użytkownika mogą przestać działać, gdy odświeżone zostaną środowiska testowe lub gdy pojawią się nowe wersje sezonowe.
  • Testy automatyczne muszą być uruchamiane spójnie we wszystkich środowiskach testowych.
  • Tworzenie stabilnych lokalizatorów pól jest trudne, ponieważ identyfikatory elementów Salesforce różnią się między organizacjami i zmieniają się w każdej wersji.
  • Weryfikacja funkcji sztucznej inteligencji, takich jak przewidywania Einsteina i agenci Agentforce, wymaga nowych podejść opartych na danych i natychmiastowych sygnałach.

Najlepsze praktyki w zakresie testowania Salesforce

  • Przeprowadź testy przy użyciu prawdziwych profili użytkowników i zestawów uprawnień.
  • Przygotuj dane testowe weryfikujące funkcjonalność raportów i pulpitów nawigacyjnych.
  • Łącz testy funkcjonalne, interfejsu użytkownika, regresyjne i integracji systemów w każdym cyklu wydań.
  • Należy zwrócić szczególną uwagę na dynamiczną naturę stron Lightning i Visualforce, ponieważ elementy mogą nie ładować się jednocześnie; należy używać jawnych czasów oczekiwania.
  • Automatyzację należy przeprowadzać przy użyciu narzędzi takich jak: Selenium, Provar, Tricentislub Testsigma, w połączeniu z samonaprawiającymi się lokalizatorami.
  • W każdym scenariuszu testowym należy uwzględnić zarówno przepływy dodatnie, jak i ujemne.
  • Twórz role użytkowników, profile i zestawy uprawnień w danych testowych, aby umożliwić weryfikację przepływów pracy dla każdej persony.

Role i obowiązki testera Salesforce

Do ważnych ról i obowiązków testerów Salesforce należą:

  • Przeprowadzenie testów dymnych w celu potwierdzenia, że ​​wszystkie główne funkcjonalności działają zgodnie z wymaganiami.
  • Tworzenie zarówno pozytywnych, jak i negatywnych scenariuszy testowych.
  • Przeprowadzanie analizy równoważności i wartości brzegowych.
  • Praca z aplikacją w celu zrozumienia jej funkcjonalności i zbudowania mapy funkcjonalnej.
  • Utrzymywanie otwartego kanału komunikacji z zespołem programistów.
  • Zrozumienie funkcji, które można dostosować do potrzeb organizacji Salesforce.
  • Wykonywanie przypadków testowych opartych na rolach w celu zapewnienia spójności danych.
  • Przeprowadzanie testów zgodności w przypadku integracji Salesforce z aplikacjami innych firm.
  • Znajomość narzędzi do testowania obciążenia, takich jak JMeter do walidacji złożonych przepływów, które mogą zwracać niespójne wyniki.
  • Praktyczna znajomość komponentów Apex, SOQL i Lightning.

Narzędzia do automatyzacji testów Salesforce

Przeprowadzanie zautomatyzowanych testów funkcjonalnych w Salesforce jest trudne, ponieważ większość stron testowych jest dynamiczna. Testerzy muszą zbudować solidne ramy automatyzacji, które będą przydatne dzisiaj i odporne na przyszłe wersje.

Poniżej wymieniłem powszechnie stosowane narzędzia testowe Salesforce, które polecam.

1) Tricentis Automatyzacja testów dla Salesforce

Szczególnie doceniam sposób Tricentis Automatyzacja testów dla Salesforce Przyspiesza rozwój odpornych testów interfejsu użytkownika dla środowisk Salesforce. Jego inteligentne lokalizatory oparte na sztucznej inteligencji (AI) automatycznie się naprawiają i ulepszają, minimalizując konserwację i zapewniając stabilność testów w różnych wersjach platformy Lightning.

Tricentis

Cechy:

  • Kompleksowa weryfikacja scenariusza: Klienci mogą weryfikować kompletne scenariusze od początku do końca, począwszy od aplikacji internetowej, przez Salesforce, aż po platformę Salesforce i z powrotem.
  • Skalowalność zwinnego zespołu: Zespoły Agile o zróżnicowanych umiejętnościach skutecznie skalują swoje operacje testowania dzięki funkcjom, które pomagają im kontrolować i zarządzać wzrostem testów i zespołów.
  • Wierzchołek Code Wykonanie w celu walidacji: Uruchom kod Apex w kroku testowym, aby sprawdzić wyniki zapytania.
  • Integracja testów API: Bezproblemowa integracja testów API z przepływami interfejsu użytkownika.

Odwiedź Tricentis >>


2) Test sigma

Test sigma jest platformą automatyzacji testów bez kodu, która upraszcza testowanie Salesforce bez konieczności głębokiego korzystania z Apex lub Selenium Jego intuicyjne podejście do projektowania testów okazało się szczególnie skuteczne w zespołach weryfikujących standardowe i niestandardowe konfiguracje Salesforce po zmianach lub wdrożeniach, eliminując złożoność tradycyjnych frameworków skryptowych.

Test sigma

Cechy:

  • Codemniej automatyzacji dla przepływów interfejsu użytkownika Salesforce: Twórz testy Salesforce, korzystając z prostych kroków w języku angielskim, bez pisania Apex lub Selenium kod. Używałem go do wdrażania członków zespołu o różnym wykształceniu technicznym.
  • Testowanie obiektów niestandardowych i przepływu pracy: Kompleksowe wsparcie w testowaniu niestandardowych obiektów, przepływów pracy i integracji. Dzięki temu mogłem upewnić się, że konfiguracje specyficzne dla organizacji działają poprawnie po aktualizacjach platformy.
  • Możliwości testowania opartego na danych: Systematycznie testuj różne role użytkowników, profile i zestawy danych. Uważam, że jest to nieocenione przy walidacji zachowań na różnych poziomach uprawnień.
  • Kompleksowe pokrycie scenariuszy: Obsługuje kompleksowe scenariusze obejmujące Salesforce oraz aplikacje zewnętrzne lub interfejsy API.
  • Szczegółowe raporty i dzienniki debugowania: Generuje kompleksowe raporty i dzienniki umożliwiające szybką identyfikację problemów wynikających ze zmian w Salesforce.

Odwiedź Testsigma >>

14-dniowy bezpłatny okres próbny

Dlaczego warto korzystać z narzędzi testowych Salesforce

  • Pomagają zaoszczędzić do 75% czasu przeznaczonego na testowanie oraz znaczną część kosztów automatyzacji.
  • Oferują lepsze wykonywanie testów Apex, szczegółowe pokrycie testów i raporty dotyczące pokrycia klas.
  • Możesz skorzystać z wiodących w branży narzędzi do automatyzacji, takich jak Selenium oraz JMeter.
  • Automatycznie generuj scenariusze testowe dla różnych środowisk i wielu przeglądarek.
  • Bezproblemowo rejestruj i odtwarzaj przypadki testowe.
  • Zautomatyzuj wszystkie rodzaje zadań przed i po wdrożeniu.
  • Oddziel dane od skryptu testowego i uzupełnij je o wiele zestawów danych.

Przykładowe scenariusze testowe Salesforce

  • Przypadek testowy 01: Zbierz dane kontaktowe potencjalnego klienta lub klienta.
  • Przypadek testowy 02: Kontakty mogą być oznaczone jako aktywne lub nieaktywne.
  • Przypadek testowy 03: Firma może zostać oznaczona jako klient lub potencjalny klient.
  • Przypadek testowy 04: Potencjalnych klientów można pozyskiwać za pośrednictwem formularzy web-to-lead.
  • Przypadek testowy 05: Cena w ofercie nie może być równa zeru.
  • Przypadek testowy 06: Wiadomość e-mail jest wysyłana po zamknięciu transakcji; wiadomości nieodebrane są obsługiwane.
  • Przypadek testowy 07: Integracja z oprogramowaniem innych firm działa prawidłowo.
  • Przypadek testowy 08: BillUsługi ing działają zgodnie z oczekiwaniami.
  • Przypadek testowy 09: Brak duplikacji zapisów w kontaktach, szansach sprzedaży i zarządzaniu potencjalnymi klientami.
  • Przypadek testowy 10: Mobilne przepływy pracy działają prawidłowo w aplikacji mobilnej Salesforce.
  • Przypadek testowy 11: Nieupoważnieni użytkownicy nie mają dostępu do plików ani ograniczonych rekordów.

Jak AI i Einstein są Reshaping Testowanie Salesforce’a

Sztuczna inteligencja jest obecnie priorytetem w testowaniu w Salesforce. Platforma Einstein 1 wprowadza do Sales and Service Cloud funkcje predykcyjnych wyników, generatywnych odpowiedzi i autonomicznych agentów Agentforce, a każda z tych funkcji wymaga własnej strategii walidacji. Testerzy powinni projektować przypadki oparte na danych, które sprawdzają dokładność predykcji, szybkie uziemienie i zabezpieczenia obok tradycyjnych przepływów interfejsu użytkownika.

Jeśli chodzi o narzędzia, nowoczesne struktury automatyzacji Salesforce opierają się na samonaprawiających się lokalizatorach obsługiwanych przez sztuczną inteligencję, które wykrywają zmiany w Lightning DOM pomiędzy wersjami i automatycznie naprawiają selektory. TricentisProvar, Copado Robotic Testing i Testsigma oferują różne warianty tej funkcji. Połącz je z syntetycznymi danymi testowymi i wizualnymi testami regresji, aby utrzymać wysoki poziom pokrycia bez nadmiernego nakładu prac konserwacyjnych.

Testowanie Salesforce: wyzwania klientów

Klienci często obawiają się testów Salesforce, ponieważ nie wiedzą, jak je prawidłowo przeprowadzić. W efekcie powstają mity rozmijające się z rzeczywistością.

Tutaj jest kilka z nich:

Problemy klienta Rozwiązanie
Nie wiem jak używać systemu Salesforce. Klienci muszą testować swój proces, a nie funkcjonalność systemu.
Nie możemy przeprowadzać testów, dopóki wszystkie nasze dane nie znajdą się w systemie. Do przeprowadzenia testu potrzebnych jest tylko kilka przykładowych rekordów.
Nie mam wolnego czasu na testowanie i zarządzanie moją codzienną pracą. Bądź w kontakcie z PM i dołącz do regularnych rozmów kontrolnych na etapach projektowania i budowy.

FAQ

Salesforce wymaga co najmniej 75% pokrycia kodu Apex, aby wdrożyć go do produkcji, a każdy wyzwalacz musi mieć pokrycie co najmniej 1%. Testy muszą zostać pomyślnie uruchomione i nie mogą polegać na seeAllData=true dla nowego kodu.

Większość nowych rozwiązań jest ukierunkowana na Lightning Experience, który jest domyślnym interfejsem użytkownika. Salesforce systematycznie wycofuje Classic z wielu funkcji, dlatego plany testów powinny priorytetowo traktować Lightning Web Components, Flow i Salesforce Mobile, chyba że organizacja klienta pozostanie przy Classic.

Tak. Selenium Działa w Salesforce, ale zmienność DOM w Lightning sprawia, że ​​czyste lokalizatory XPath są kruche. Zespoły zazwyczaj łączą Selenium z usługą Lightning Testing Service, niestandardowymi oczekiwaniami i lokalizatorami samonaprawiającymi się AI lub użyj narzędzi specyficznych dla Salesforce, takich jak Provar i Tricentis.

Zweryfikuj prognozy Einsteina za pomocą oznaczonych zestawów danych, a następnie określ zakresy prognoz i wyjaśnienia. W przypadku Agentforce przetestuj uziemienie, zabezpieczenia, wywołania akcji i przepływy konwersacji. Połącz kontrole funkcjonalne z błędami, halucynacjami i przeglądami bezpieczeństwa.

Tricentis Automatyzacja testów dla Salesforce, Provar, Copado Robotic Testing i Testsigma oferują oparte na sztucznej inteligencji samonaprawiające się lokalizatory i inteligentne generowanie testów. Funkcje te absorbują zmiany w Lightning DOM podczas wydań sezonowych i znacznie redukują konieczność konserwacji skryptów.

Sandboxy Developer i Developer Pro przechowują wyłącznie metadane. Sandboxy Partial Copy zawierają przykładowe dane, a sandboxy Full odzwierciedlają dane produkcyjne i metadane. Użyj Full lub Partial Copy do testów UAT i regresji, a sandboxów Developer do prac jednostkowych i integracyjnych.

Przeprowadzaj testy regresji po każdym wdrożeniu sprintu, przed każdą sezonową wersją Salesforce (wiosna, lato, zima) oraz po głównych odświeżeniach środowiska testowego. Nadaj priorytet podstawowym procesom sprzedaży, obsługi i integracji, a następnie rozszerz zakres o funkcje sztucznej inteligencji i niestandardowe komponenty Lightning.

Podsumuj ten post następująco: