Salesforce-testvejledning
Hvad er Salesforce?
Salesforce er verdens første cloud-baserede CRM-system. Det blev grundlagt af Marc Benioff og Parker Harris i marts 1999. Formålet med at udvikle denne CRM-platform er at hjælpe brugere til en overkommelig pris og let at sælge, servicere, markedsføre, analysere og forbinde med deres kunder.
SFDC (Sales Force Dot Com) har mange standardfunktioner, der hjælper dig med at administrere dine relationer med kundeemner og kunder. Det giver dig også mulighed for at engagere og samarbejde med medarbejdere og forretningspartnere for at gemme deres data sikkert i skyen.
Salesforce CRM er bygget på et platformsudviklingssprog kaldet APEX. Salesforce-test giver dig mulighed for at kontrollere, at konfigurationen og koden er funktionelle. Dette CRM gav mig mulighed for at forbedre kundeloyalitet, fastholdelse og tilfredshed med det formål at opbygge varige forbindelser.
Hvad er Salesforce-testning?
En stor ting ved Salesforce er, at mange af out-of-box-funktionerne kan tilpasses, så de passer til en virksomheds behov. Salesforce-test er en validering af konfigurationen og tilpasningen udført i vanilla SFDC.
Udfordringen er at sikre, at en tester tjekker den kode, der er blevet tilpasset, i stedet for at teste den indbyggede Salesforce-funktionalitet.
SalesForce CRM er bygget på et platformsudviklingssprog kaldet SPIDS. Det giver også mange indbyggede unit test cases for udviklere til at validere deres kode.
Hvorfor Salesforce-testning?
Lad mig forklare de vigtigste grunde til, at jeg mener, at Salesforce-test er nødvendigt:
- Salesforce-test giver dig mulighed for at kontrollere, at konfigurationen og koden er funktionelle.
- Det hjælper dig med at verificere, at det færdige system kan understøtte kundens forretningsprocesser.
- Denne type test hjælper dig med at bekræfte, at systemets indledende opbygning opfylder det aftalte krav.
- Det hjælper dig med at fange problemer tidligt, mens de er nemme at løse.
- Funktionelle flowrapporter baseret på status for testsager. Dette giver teamet mulighed for at skabe de funktionelle flows for at bestemme funktionaliteten af applikationen.
- Process Builder-funktionen hjælper dig med at kontrollere systemets funktionstilstand og opførsel.
- Arbejdsgange giver dig mulighed for at kontrollere funktionaliteten af tidsbaserede hændelser.
Salesforce-terminologi
- VisualForce: En ramme, der giver udviklere mulighed for at bygge brugerdefinerede brugergrænseflader med et tag-baseret markup-sprog, der ligner HTML.
- AppExchange: Salesforces online markedsplads, hvor brugere kan opdage og installere tilpassede applikationer og udvidelser til Salesforce-miljøer.
- Spids: Et stærkt styret, objektorienteret programmeringssprog, der bruges til at udføre flow- og transaktionskontroludsagn på Salesforce-platformen.
Typer af Salesforce-test
Manuel testning
Den manuelle softwaretestproces omfatter test af Salesforce.com-appen ved hjælp af traditionelle metoder. QA-teamet kan bruge manuel test til at udføre funktionstest, happy path-test, integrationstest, regressionstest og systemtest.
automatiseret Test
Automatiseret test involverer et computerprogram til at teste en Salesforce.com- eller Force.com-app. Automatiserede testværktøjer som Selenium, Assure Click, QTP osv. bruges.
Testniveauer i Salesforce
I selvstudiet til Salesforce-test udforsker vi følgende testniveauer, der normalt gælder for Salesforce:
Enhedstest
- Enhedstestprocessen udføres af Apex-udviklere. Det involverer at skrive klausuler i deres kode, der automatisk tester dens dækning.
- Det hjælper dig med at evaluere, hvor mange dataposter der er påvirket, så koden kan køre med succes i det miljø.
- For at implementere Apex-kode i et produktionsmiljø skal dit kodedækningsforhold være minimum 78 %.
Systemtest:
- Det udføres af et team af Salesforce-konsulenteksperter.
- Involverer testsystemets tekniske processer fra start til slut.
- Indebærer et testscript baseret på specifikke output.
- Det giver dig mulighed for at fejlfinde problemer med automatiserede systemregler såsom workflow, validering, tildeling mv.
UAT-test:
- Det udføres af de brugere, der vil bruge applikationen
- Giver mulighed for at teste systemets evne til at understøtte forretningsprocesser
- UAT-testning efter et testscript baseret på, hvad der sker i virksomheden
- Det ønskede output bør være, at klienten bekræfter, at systemet er egnet til formålet
Produktionstest:
- Det er en gentagelse af systemtest i produktionsmiljøet
- Produkttest i salesforce giver dig mulighed for at teste, om konfiguration og kode er blevet korrekt implementeret fra sandbox til produktionsmiljø eller ej
- Hvis der er tid tilbage, før det endelige projekt lanceres, skal klienten køre gennem UAT-scripts igen efter implementeringen
Regressionstest:
- Hovedformålet med Regressionstest er at bestemme, om kode- og konfigurationsudgivelser påvirker systemets eksisterende brugerprocesser.
- Det vil blive udført, når en forbedring eller en rettelse er implementeret i produktionen.
- Brugeren giver en liste over ændringer, der kan påvirke deres nuværende proces.
Salesforce testproces
Testprocessen for Salesforce er den samme som enhver normal webbaseret applikation. Testeren bør have et klart perspektiv af de brugerdefinerbare funktioner, der bygges under testprocessen. Det hjælper dem med at fokusere på den tilpassede kode i stedet for de indbyggede Salesforce-funktioner.
Udviklere og testere bør bruge Sandbox-miljøet (testmiljøet) til hvert deres formål. Testet kode i Sandbox-miljøet implementeres til produktion fra Sandbox-miljøet. Det antages, at QA-testeren har den grundlæggende viden og forståelse af de termer, der bruges i Salesforce.
Salesforce-testudfordringer
Salesforce-test er ikke en nem proces. Der er mange udfordringer, som testeren stod over for under processen. Nogle af dem er:
- Det er svært at teste avancerede funktioner som Visualforce, Salesforce eller Service Cloud Console.
- Du skal genskabe alle dine klassiske test til Lightning UI.
- Nogle af standardfunktionerne, selvom de ikke er i brug, kan ikke fjernes.
- GUI-test virker ikke, når vi skifter til testmiljøet.
- Automatiserede test bør kunne fungere i alle dine testmiljøer.
- Der opstår problemer under oprettelse af feltfindere til Salesforce-skærmbillederne, fordi nogle felt-id'er er forskellige mellem organisationer.
Bedste Practice for Salesforce Testing
- Kør test som rigtige brugerprofiler.
- Testdata bør forberedes for at validere rapportfunktionaliteten.
- Testmetoden skal omfatte funktionel test, UI-test, regressionstest og systemintegrationstest.
- Der bør lægges særlig vægt på den dynamiske karakter af sider med visuel kraft, da alle elementer på en webside muligvis ikke indlæses samtidigt.
- Automationstest bør udføres ved hjælp af værktøjer som f.eks Selenium og HP Unified Functional Testing.
- Salesforce-testere bør overveje, hvilke flows der inkluderer positive og negative.
- Brugerroller skal konstrueres og testes ved hjælp af arbejdsgange.
Roller og ansvar for en Salesforce-tester
Vigtige roller og ansvarsområder for Salesforce-testere er:
- Bør være i stand til at udføre røgtest for at sikre, at alle de vigtigste funktionaliteter fungerer i henhold til kravene.
- Opret både positive og negative testscenarier.
- Kunne udføre ækvivalenspartitionering og grænseværdianalyse.
- Testere er også nødvendige for at arbejde på applikationen og få en forståelse af dens funktionalitet for at skabe et funktionelt kort.
- En tester skal have en nem kommunikationskanal med udviklingsteamet.
- Han bør forstå de brugerdefinerbare funktioner, som kan bygges til Salesforce-appen.
- Testeren skal udføre rollebaserede testcases for at sikre konsistensen af data.
- Han bør også udføre en kompatibilitetstest i tilfælde af, at Salesforce integreres med tredjepartsapplikationer.
- En Salesforce-tester bør være fortrolig med belastningstestværktøjer som f.eks JMeter at validere de komplekse flows, som kan give inkonsistente resultater i Salesforce.
- Kendskab til Apex.
SalesForce Test Automation Tools
At udføre automatiseret funktionstest i SalesForce er udfordrende, da de fleste af testwebsiderne er dynamiske. Derfor skal testeren bygge en robust automatiseringsramme, der bør være nyttig i dag og i fremtiden.
Nedenfor har jeg listet de meget brugte Salesforce-testværktøjer, som jeg anbefaler.
1) Tricentis Test automatisering for Salesforce
Jeg sætter især pris på hvordan Tricentis Test automatisering for Salesforce accelererer udviklingen af modstandsdygtige UI-tests til Salesforce-miljøer. Dens Smart Locators er drevet af AI for at selvhelbredende og automatisk forbedre, hvilket minimerer vedligeholdelse og sikrer teststabilitet.
Funktioner:
- End-to-end scenarievalidering: Kunder kan validere deres komplette end-to-end-scenarier lige fra deres webapplikation til Salesforce og tilbage.
- Agile teamskalerbarhed: Agile teams med blandede færdighedssæt skalerer deres testoperationer effektivt med funktioner, der hjælper dem med at kontrollere og styre væksten i test og teams.
- Apex-kodeudførelse til validering: Kør Apex-kode i et testtrin for at validere forespørgselsresultater.
- API-testintegration: Integrer API-tests.
Hvorfor bruge Salesforce-testværktøjer
- Det hjælper dig med at spare 75 % af din tid og 25 % af dine testautomatiseringsomkostninger.
- Tilbyder bedre Apex-testudførelse, detaljeret testdækning og klassedækningsrapporter.
- Du kan drage fordel af brancheførende automatiseringsværktøjer som Selenium og JMeter.
- Autogenerer testscenarier til at køre for forskellige miljøer og flere browsere.
- Optag og afspil problemfrit dine optagede testcases.
- Det hjælper dig med at automatisere alle typer opgaver før og efter implementering.
- Salesforce-testprocessen adskiller data fra testscriptet og giver dig mulighed for at forbedre med flere datasæt.
Eksempel på Salesforce-testscenarier
- Testcase 01: Du kan fange kontaktoplysningerne for den lead/klient.
- Testcase 02: Kontakter kan markeres som aktive/inaktive.
- Testcase 03: Enhver virksomhed kan markeres som kunde eller kundeemne.
- Testcase 04: Leads kan fanges ved hjælp af webformularer.
- Testcase 05: Prisen i tilbud kan ikke være nul.
- Testcase 06: E-mail skal sendes, når handlen er lukket. Afviste e-mails, hvis nogen, skal håndteres.
- Testcase 07: Integration med tredjepartssoftware bør fungere korrekt.
- Testcase 08: Billing-tjenester skal fungere som forventet.
- Testcase 09: Ingen duplikering af optegnelser i kontakt-, salgsmuligheds- og leadstyring.
- Testcase 10: Mobil arbejdsgang fungerer som forventet.
- Testcase 11: Uautoriserede brugere må ikke have adgang til Filer.
Salesforce-test: Kundeudfordringer
Kunder er altid nervøse for Salesforce-testning, fordi de måske ikke ved, hvordan de udføres korrekt. Som et resultat har de en myte, der er meget adskilt fra virkeligheden.
Her er nogle af dem:
Kundeproblemer | Løsning |
---|---|
Ved ikke, hvordan man bruger Salesforce-systemet. | Klienter skal teste deres proces, ikke systemets funktionalitet. |
Vi kan ikke teste, uden at alle vores data er til stede i systemet. | De har kun brug for et par prøveoptegnelser for at teste. |
Jeg har ikke tid til at teste og klare mit daglige arbejde. | De bør holde kontakten med PM og regelmæssige check-in-opkald i design- og byggefaserne. |
Konklusion
- Salesforce er verdens første cloud-baserede CRM-system.
- Salesforce-test validerer konfigurationen og tilpasningen udført i vanilla SFDC.
- Salesforce-test hjælper dig med at verificere, at det færdige system kan understøtte kundens forretningsprocesser.
- Den største udfordring ved SalesForce-testning er at sikre, at du tester tilpasningen og ikke de indbyggede SFDC-funktioner.
- Vigtige niveauer af Salesforce-test er enhedstest, systemtest, UAT-test, produktionstest og regressionstest.
- Den største udfordring ved Salesforce-test er, at du skal genskabe alle dine klassiske tests til Lightning-brugergrænsefladen.
- Salesforce-testere bør køre test som rigtige brugerprofiler.
- Salesforce bør være i stand til at udføre røgtest for at sikre, at alle de vigtigste funktionaliteter fungerer i henhold til kravet.
- Selenium Webdriver, HP Unified Functional Testing (UFT) og Cucumber er et par vigtige Salesforce-testværktøjer.