Samouczek testowania Salesforce
Co to jest Salesforce?
Salesforce to pierwszy na świecie system CRM oparty na chmurze. Została założona przez Marca Benioffa i Parkera Harrisa w marcu 1999 roku. Celem rozwoju tej platformy CRM jest pomoc użytkownikom w przystępnej i łatwej sprzedaży, obsłudze, wprowadzaniu na rynek, analizowaniu i nawiązywaniu kontaktu z klientami.
SFDC (Sales Force Dot Com) ma wiele standardowych funkcji, które pomagają zarządzać relacjami z potencjalnymi i obecnymi klientami. Umożliwia także angażowanie i współpracę z pracownikami i partnerami biznesowymi w celu bezpiecznego przechowywania ich danych w chmurze.
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ń.
Co to jest testowanie Salesforce?
Świetną rzeczą w Salesforce jest to, że wiele gotowych funkcji można dostosować do potrzeb firmy. Testowanie Salesforce to walidacja konfiguracji i dostosowywania wykonywanego w podstawowym SDFC.
Wyzwanie polega na tym, aby upewnić się, że tester sprawdza dostosowany kod, zamiast testować wbudowaną funkcjonalność Salesforce.
SalesForce CRM jest zbudowany na języku programowania platformy zwanym WIERZCHOŁEK. Zapewnia także wiele wbudowanych przypadków testów jednostkowych dla programistów w celu sprawdzenia poprawności ich kodu.
Dlaczego testowanie Salesforce?
Pozwólcie, że wyjaśnię główne powody, dla których uważam, że testowanie Salesforce jest konieczne:
- Testowanie Salesforce pozwala sprawdzić, czy konfiguracja i kod działają.
- Pomaga zweryfikować, czy gotowy system będzie w stanie wspierać procesy biznesowe Klienta.
- Ten typ testów pomaga potwierdzić, że początkowa kompilacja systemu spełnia uzgodnione wymagania.
- Pomaga wcześnie wykryć problemy, a jednocześnie można je łatwo naprawić.
- Raport przepływów funkcjonalnych na podstawie statusu przypadków testowych. Umożliwia to zespołowi tworzenie przepływów funkcjonalnych w celu określenia funkcjonalności aplikacji.
- Funkcja Process Builder pomaga sprawdzić stan pracy i zachowanie systemu.
- Przepływy pracy umożliwiają sprawdzenie funkcjonalności zdarzeń opartych na czasie.
Terminologia Salesforce’a
- Siła wizualna: Struktura umożliwiająca programistom tworzenie niestandardowych interfejsów użytkownika za pomocą języka znaczników opartego na tagach, podobnego do HTML.
- Wymiana aplikacji: Rynek online Salesforce, na którym użytkownicy mogą znajdować i instalować niestandardowe aplikacje i rozszerzenia dla środowisk Salesforce.
- Wierzchołek: Język programowania obiektowego o ściśle określonych typach, służący do wykonywania poleceń sterowania przepływem i transakcjami na platformie Salesforce.
Rodzaje testów Salesforce
Testowanie ręczne
Proces ręcznego testowania oprogramowania obejmuje testowanie aplikacji Salesforce.com tradycyjnymi metodami. Zespół ds. kontroli jakości może używać testów ręcznych do wykonywania testów funkcjonalnych, testów szczęśliwej ścieżki, testów integracyjnych, testów regresyjnych i testów systemowych.
Automatyczne testowanie
Testowanie automatyczne obejmuje program komputerowy testujący aplikację Salesforce.com lub Force.com. Zautomatyzowane narzędzia testujące, takie jak Selenium, Assure Click, QTP itp. są używane.
Poziomy testowania w Salesforce
W samouczku dotyczącym testowania Salesforce'a przyjrzymy się następującym poziomom testowania, które zwykle mają zastosowanie w Salesforce'ie:
Testów jednostkowych
- Proces testów jednostkowych prowadzony jest przez programistów Apex. Polega na pisaniu w kodzie klauzul, które automatycznie sprawdzają jego pokrycie.
- Pomaga ocenić, na ile rekordów danych ma to wpływ, tak aby kod mógł pomyślnie działać w tym środowisku.
- Aby wdrożyć kod Apex w środowisku produkcyjnym, współczynnik pokrycia kodu powinien wynosić co najmniej 78%.
Testowanie systemu:
- Wykonuje go zespół ekspertów-konsultantów Salesforce.
- Obejmuje procesy techniczne systemu testowego od początku do końca.
- Obejmuje skrypt testowy oparty na określonych wynikach.
- Umożliwia rozwiązywanie problemów ze zautomatyzowanymi regułami systemowymi, takimi jak przepływ pracy, walidacja, przypisanie itp.
Testowanie UAT:
- Prowadzą ją użytkownicy, którzy będą korzystać z aplikacji
- Pozwala przetestować zdolność systemu do wspierania procesów biznesowych
- Testowanie UAT według skryptu testowego opartego na tym, co dzieje się w firmie
- Pożądanym efektem powinno być potwierdzenie przez klienta, że system nadaje się do zamierzonego celu
Testowanie produkcyjne:
- Jest to powtórka testów systemowych w środowisku produkcyjnym
- Testowanie produktu w Salesforce pozwala sprawdzić, czy konfiguracja i kod zostały prawidłowo wdrożone ze środowiska testowego do środowiska produkcyjnego.
- Jeśli do uruchomienia końcowego projektu pozostało trochę czasu, klient powinien ponownie uruchomić skrypty UAT po wdrożeniu
Testowanie regresji:
- Głównym przedmiotem Testy regresji polega na określeniu, czy wydania kodu i konfiguracji wpływają na istniejące procesy użytkownika w systemie.
- Test zostanie przeprowadzony po wdrożeniu ulepszenia lub poprawki w środowisku produkcyjnym.
- Użytkownik udostępnia listę zmian, które mogą mieć wpływ na jego bieżący proces.
Proces testowania Salesforce
Proces testowania Salesforce jest taki sam, jak każdej zwykłej aplikacji internetowej. Tester powinien mieć jasny pogląd na konfigurowalne funkcje tworzone w trakcie procesu testowania. Pomaga im skoncentrować się na dostosowanym kodzie zamiast na wbudowanych funkcjach Salesforce.
Programiści i testerzy powinni używać środowiska Sandbox (Test Environment) do każdego ze swoich celów. Testowany kod w środowisku Sandbox jest wdrażany do produkcji ze środowiska Sandbox. Zakłada się, że tester QA ma podstawową wiedzę i zrozumienie terminów używanych w Salesforce.
Wyzwania testowania Salesforce
Testowanie Salesforce nie jest łatwym procesem. Istnieje wiele wyzwań, przed którymi stanął tester w trakcie procesu. Niektórzy z nich są:
- Testowanie zaawansowanych funkcji, takich jak Visualforce, Salesforce czy Service Cloud Console, jest trudne.
- Musisz odtworzyć wszystkie klasyczne testy dla interfejsu Lightning.
- Niektórych standardowych funkcjonalności, choć nieużywanych, nie da się usunąć.
- Testy GUI nie działają po przejściu do środowiska testowego.
- Testy automatyczne powinny działać we wszystkich środowiskach testowych.
- Podczas tworzenia lokalizatorów pól dla ekranów Salesforce występują problemy, ponieważ niektóre identyfikatory pól różnią się w zależności od organizacji.
Najlepsze praktyki w zakresie testowania Salesforce
- Uruchamiaj testy jako prawdziwe profile użytkowników.
- Należy przygotować dane testowe w celu sprawdzenia funkcjonalności raportu.
- Metoda testowania musi obejmować testy funkcjonalne, testy interfejsu użytkownika, testy regresyjne i testy integracji systemu.
- Należy zwrócić szczególną uwagę na dynamiczną naturę stron internetowych z elementami wizualnymi, ponieważ nie wszystkie elementy strony internetowej mogą zostać załadowane jednocześnie.
- Testy automatyczne należy wykonywać przy użyciu narzędzi takich jak Selenium oraz ujednolicone testy funkcjonalne HP.
- Testerzy Salesforce powinni rozważyć, które przepływy obejmują pozytywne, a które negatywne.
- Role użytkowników muszą być konstruowane i testowane przy użyciu przepływów pracy.
Role i obowiązki testera Salesforce
Ważne role i obowiązki testerów Salesforce to:
- Powinien umieć przeprowadzić testy dymu, aby upewnić się, że wszystkie główne funkcje działają zgodnie z wymaganiami.
- Utwórz zarówno pozytywne, jak i negatywne scenariusze testowe.
- Potrafi przeprowadzić podział równoważności i analizę wartości brzegowych.
- Testerzy są również potrzebni do pracy nad aplikacją i poznania jej funkcjonalności w celu stworzenia mapy funkcjonalnej.
- Tester powinien mieć łatwy kanał komunikacji z zespołem programistów.
- Powinien rozumieć konfigurowalne funkcje, które można zbudować dla aplikacji Salesforce.
- Tester musi wykonać przypadki testowe oparte na rolach, aby zapewnić spójność danych.
- Powinien także wykonać test kompatybilności w przypadku integracji Salesforce z aplikacjami firm trzecich.
- Tester Salesforce powinien znać narzędzia do testowania obciążenia, takie jak JMeter aby sprawdzić złożone przepływy, które mogą dawać niespójne wyniki w Salesforce.
- Znajomość Apex'a.
Narzędzia do automatyzacji testów SalesForce
Przeprowadzenie automatycznych testów funkcjonalnych w SalesForce jest wyzwaniem, ponieważ większość testowych stron internetowych jest dynamiczna. Dlatego tester musi zbudować solidny framework automatyzacji, który powinien być przydatny dziś i w przyszłości.
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 UI dla środowisk Salesforce. Inteligentne lokalizatory są zasilane przez sztuczną inteligencję i automatycznie naprawiają się i ulepszają, minimalizując w ten sposób konserwację i zapewniając stabilność testu.
Cechy:
- Kompleksowa weryfikacja scenariusza: Klienci mogą zweryfikować swoje kompletne, kompleksowe scenariusze, począwszy od aplikacji internetowej po 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 pomagającym im kontrolować i zarządzać wzrostem testów i zespołów.
- Wykonanie kodu Apex do walidacji: Uruchom kod Apex w kroku testowym, aby sprawdzić wyniki zapytania.
- Integracja testów API: Zintegruj testy API.
2) Wilk QA
Wilk QA rewolucjonizuje testowanie Salesforce, osiągając 80% zautomatyzowanego pokrycia testowego end-to-end w ciągu zaledwie kilku tygodni, zapewniając niezawodne i szybkie wyniki. W przeciwieństwie do tradycyjnych rozwiązań QA, które wymagają dużo czasu i zasobów, QA Wolf gwarantuje zero błędów testowych i zapewnia w pełni równoległą infrastrukturę testową bez dodatkowych kosztów. Pozwala to zespołom budującym na Salesforce zwiększyć produktywność programistów, przyspieszyć tempo wydawania i znacznie obniżyć koszty operacyjne.
Cechy:
- Struktura testowa: QA Wolf korzysta z własnego środowiska testowego, które jest zbudowane na bazie Microsoftdramatopisarza. Partnerstwo z QA Wolf obejmuje pełny dostęp dla całego Twojego zespołu do ich platformy, na którą składają się nieograniczone testy i przebiegi testowe.
- Całodobowa konserwacja testowa: QA Wolf będzie opiekował się całym zestawem testów, więc Ty nie będziesz musiał tego robić. Utrzymujemy niestabilne testy, dzięki czemu nie otrzymujesz fałszywych alarmów i możesz bezpiecznie kontynuować wysyłkę.
- Raporty o błędach zweryfikowane przez człowieka: Jego zespół pracuje przez całą dobę, aby sprawdzić każdy błąd testu i zgłasza jedynie rzeczywiste błędy.
- Integracja CI/CD: Integracja CI/CD doskonale nadaje się do współpracy i rozwiązywania problemów. Mógłbym dalej wysyłać wiadomości Slack lub Zespoły, aby komunikować się z zespołem QA Wolf.
Dlaczego warto korzystać z narzędzi testowych Salesforce
- Pomaga zaoszczędzić 75% czasu i 25% kosztów automatyzacji testów.
- Oferuje lepszą realizację testów Apex, szczegółowy zakres testów i raporty zasięgu klas.
- Możesz skorzystać z wiodących w branży narzędzi do automatyzacji, takich jak Selenium i JMeter.
- Automatycznie generuj scenariusze testowe do uruchomienia w różnych środowiskach i wielu przeglądarkach.
- Bezproblemowo nagrywaj i odtwarzaj nagrane przypadki testowe.
- Pomaga zautomatyzować wszystkie typy zadań przed i po wdrożeniu.
- Proces testowania Salesforce oddziela dane od skryptu testowego i pozwala na ulepszenie wielu zestawów danych.
Przykładowe scenariusze testowe Salesforce
- Przypadek testowy 01: Możesz przechwycić dane kontaktowe potencjalnego klienta/klienta.
- Przypadek testowy 02: Kontakty można oznaczyć jako aktywne/nieaktywne.
- Przypadek testowy 03: Każdą firmę można oznaczyć jako klienta lub potencjalnego klienta.
- Przypadek testowy 04: Leady można pozyskiwać za pomocą formularzy internetowych.
- Przypadek testowy 05: Cena w ofercie nie może wynosić zero.
- Przypadek testowy 06: E-mail powinien zostać wysłany po zamknięciu transakcji. E-maile, które nie zostały dostarczone, powinny zostać obsłużone.
- Przypadek testowy 07: Integracja z oprogramowaniem firm trzecich powinna działać poprawnie.
- Przypadek testowy 08: Billusługi powinny działać zgodnie z oczekiwaniami.
- Przypadek testowy 09: Brak duplikacji zapisów w kontaktach, szansach sprzedaży i zarządzaniu potencjalnymi klientami.
- Przypadek testowy 10: Mobilny przepływ pracy działa zgodnie z oczekiwaniami.
- Przypadek testowy 11: Nieautoryzowani użytkownicy nie mogą mieć dostępu do Plików.
Testowanie Salesforce: wyzwania klientów
Klienci zawsze denerwują się testami Salesforce, ponieważ mogą nie wiedzieć, jak je prawidłowo przeprowadzić. W rezultacie tworzą mit, który bardzo różni się od rzeczywistości.
Tutaj jest kilka z nich:
Problemy klienta | Rozwiązanie |
---|---|
Nie wiesz jak korzystać z systemu Salesforce. | Klienci muszą testować swój proces, a nie funkcjonalność systemu. |
Nie możemy przeprowadzić testu, jeśli wszystkie nasze dane nie będą obecne w systemie. | Do przetestowania potrzebują tylko kilku przykładowych rekordów. |
Nie mam czasu na testowanie i zarządzanie swoją codzienną pracą. | Powinni utrzymywać kontakt z PM i regularnie dzwonić w celu odprawy na etapach projektowania i budowy. |
Podsumowanie
- Salesforce to pierwszy na świecie system CRM oparty na chmurze.
- Testy Salesforce weryfikują konfigurację i dostosowanie wykonane w waniliowym SDFC.
- Testowanie Salesforce pozwala zweryfikować, czy gotowy system będzie w stanie wspierać procesy biznesowe Klienta.
- Największym wyzwaniem podczas testowania SalesForce jest upewnienie się, że testujesz dostosowanie, a nie wbudowane funkcje SDFC.
- Ważnymi poziomami testów Salesforce są testy jednostkowe, testy systemowe, testy UAT, testy produkcyjne i testy regresyjne.
- Największym wyzwaniem podczas testowania Salesforce jest konieczność odtworzenia wszystkich klasycznych testów dla interfejsu Lightning.
- Testerzy Salesforce powinni przeprowadzać testy na profilach prawdziwych użytkowników.
- Salesforce powinien być w stanie przeprowadzić testy dymne, aby upewnić się, że wszystkie główne funkcje działają zgodnie z wymaganiami.
- Selenium Sterownik sieciowy, HP Unified Functional Testing (UFT) i Cucumber to kilka ważnych narzędzi testowych Salesforce.