Tutorial sul test di Salesforce
Che cosa è Salesforce?
Salesforce è il primo sistema CRM al mondo basato su cloud. È stata fondata da Marc Benioff e Parker Harris nel marzo 1999. Lo scopo di sviluppare questa piattaforma CRM è aiutare gli utenti a vendere, fornire assistenza, commercializzare, analizzare e connettersi con i propri clienti in modo semplice e conveniente.
SFDC (Sales Force Dot Com) ha molte funzionalità standard che ti aiutano a gestire i tuoi rapporti con potenziali clienti e clienti. Ti consente inoltre di coinvolgere e collaborare con dipendenti e partner commerciali per archiviare i loro dati in modo sicuro nel cloud.
Salesforce CRM è basato su un linguaggio di sviluppo di piattaforma chiamato APEX. I test di Salesforce consentono di verificare che la configurazione e il codice siano funzionali. Questo CRM mi ha permesso di migliorare la fedeltà, la fidelizzazione e la soddisfazione dei clienti, puntando a creare connessioni durature.
Che cos'è Salesforce Testing?
Un vantaggio di Salesforce è che molte delle funzionalità predefinite possono essere personalizzate in base alle esigenze aziendali. I test di Salesforce sono una convalida della configurazione e della personalizzazione eseguite in SFDC.
La sfida è garantire che un tester controlli il codice che è stato personalizzato invece di testare la funzionalità Salesforce integrata.
SalesForce CRM è basato su un linguaggio di sviluppo della piattaforma chiamato APEX. Fornisce inoltre molti casi di test unitari integrati per consentire agli sviluppatori di convalidare il proprio codice.
Perché testare Salesforce?
Lasciatemi spiegare i motivi principali per cui ritengo necessario il test di Salesforce:
- I test Salesforce consentono di verificare che la configurazione e il codice siano funzionanti.
- Ti aiuta a verificare che il sistema finito possa supportare i processi aziendali del cliente.
- Questo tipo di test ti aiuta a confermare che la build iniziale del sistema soddisfa i requisiti concordati.
- Ti aiuta a individuare i problemi in anticipo mentre sono facili da risolvere.
- Report sui flussi funzionali in base allo stato dei casi di test. Ciò consente al team di creare flussi funzionali per determinare la funzionalità dell'applicazione.
- La funzione Process Builder ti aiuta a verificare le condizioni di lavoro e il comportamento del sistema.
- I flussi di lavoro consentono di verificare la funzionalità degli eventi basati sul tempo.
Terminologia di Salesforce
- Forza visiva: Un framework che consente agli sviluppatori di creare interfacce utente personalizzate con un linguaggio di markup basato su tag, simile all'HTML.
- AppExchange: Il mercato online di Salesforce in cui gli utenti possono scoprire e installare applicazioni ed estensioni personalizzate per gli ambienti Salesforce.
- Apice: Un linguaggio di programmazione fortemente tipizzato e orientato agli oggetti utilizzato per eseguire istruzioni di controllo del flusso e delle transazioni sulla piattaforma Salesforce.
Tipi di test di Salesforce
Test manuale
Il processo di test manuale del software include il test dell'app Salesforce.com utilizzando metodi tradizionali. Il team QA può utilizzare test manuali per eseguire test funzionali, test del percorso felice, test di integrazione, test di regressione e test di sistema.
Test automatizzati
Il test automatizzato prevede l'utilizzo di un programma per computer per testare un'app Salesforce.com o Force.com. Strumenti di test automatizzati come Selenium, Assure Click, QTP, ecc. vengono utilizzati.
Livelli di test in Salesforce
Nel tutorial sui test di Salesforce, esploreremo i seguenti livelli di test che solitamente si applicano a Salesforce:
Test unitari
- Il processo di test unitario è condotto dagli sviluppatori Apex. Si tratta di scrivere clausole nel loro codice che ne testano automaticamente la copertura.
- Ti aiuta a valutare quanti record di dati sono interessati in modo che il codice venga eseguito correttamente in quell'ambiente.
- Per distribuire il codice Apex in un ambiente di produzione, il rapporto di copertura del codice deve essere minimo del 78%.
Test di sistema:
- Viene eseguito da un team di esperti consulenti Salesforce.
- Coinvolge i processi tecnici del sistema di test dall'inizio alla fine.
- Implica uno script di test basato su output specifici.
- Ti consente di risolvere i problemi con le regole del sistema automatizzato come flusso di lavoro, convalida, assegnazione, ecc.
Test UAT:
- È condotto dagli utenti che utilizzeranno l'applicazione
- Consente di testare la capacità del sistema di supportare i processi aziendali
- Test UAT seguendo uno script di test basato su ciò che accade nell'azienda
- L'output desiderato dovrebbe essere che il cliente confermi che il sistema è adatto allo scopo
Test di produzione:
- Si tratta di una ripetizione del test del sistema nell'ambiente di produzione
- Il test del prodotto in Salesforce consente di verificare se la configurazione e il codice sono stati distribuiti correttamente dall'ambiente sandbox a quello di produzione oppure no
- Se rimane tempo prima del lancio del progetto finale, il client deve eseguire nuovamente gli script UAT dopo la distribuzione
Test di regressione:
- L'oggetto principale di Test di regressione è determinare se i rilasci del codice e della configurazione influiscono sui processi utente esistenti del sistema.
- Verrà condotto una volta distribuito un miglioramento o una correzione in produzione.
- L'utente fornisce un elenco di modifiche che potrebbero influire sul processo corrente.
Processo di test di Salesforce
Il processo di test di Salesforce è lo stesso di qualsiasi normale applicazione basata sul web. Il tester dovrebbe avere una prospettiva chiara delle funzionalità personalizzabili che vengono create durante il processo di test. Li aiuta a concentrarsi su quel codice personalizzato invece che sulle funzionalità Salesforce integrate.
Gli sviluppatori e i tester dovrebbero usare l'ambiente Sandbox (Test Environment) per ciascuno dei loro scopi. Il codice testato nell'ambiente Sandbox viene distribuito in produzione dall'ambiente Sandbox. Si presume che il tester QA abbia le conoscenze di base e la comprensione dei termini usati in Salesforce.
Sfide di test di Salesforce
Il test di Salesforce non è un processo facile. Ci sono molte sfide che il tester ha dovuto affrontare durante il processo. Alcuni di loro sono:
- Testare funzionalità avanzate come Visualforce, Salesforce o Service Cloud Console è difficile.
- Devi ricreare tutti i test classici per l'interfaccia utente di Lightning.
- Alcune delle funzionalità standard, sebbene non utilizzate, non possono essere rimosse.
- I test della GUI non funzionano quando passiamo all'ambiente di test.
- I test automatizzati dovrebbero essere in grado di funzionare in tutti i tuoi ambienti di test.
- Si verificano problemi durante la creazione di localizzatori di campo per le schermate Salesforce perché alcuni ID di campo differiscono tra le organizzazioni.
migliori pratiche per i test di Salesforce
- Esegui test come profili utente reali.
- I dati di test devono essere preparati per convalidare la funzionalità del report.
- Il metodo di test deve includere test funzionali, test dell'interfaccia utente, test di regressione e test di integrazione del sistema.
- Bisogna prestare particolare attenzione alla natura dinamica delle pagine di visual force, poiché non tutti gli elementi di una pagina web possono essere caricati simultaneamente.
- I test di automazione dovrebbero essere eseguiti utilizzando strumenti come Selenium e test funzionali unificati HP.
- I tester di Salesforce dovrebbero considerare quali flussi includono quelli positivi e quelli negativi.
- I ruoli utente devono essere costruiti e testati utilizzando i flussi di lavoro.
Ruoli e responsabilità di un tester Salesforce
Ruoli e responsabilità importanti dei tester Salesforce sono:
- Dovrebbe essere in grado di condurre test del fumo per assicurarsi che tutte le principali funzionalità funzionino secondo i requisiti.
- Crea scenari di test sia positivi che negativi.
- In grado di eseguire il partizionamento di equivalenza e l'analisi dei valori al contorno.
- Sono inoltre necessari tester per lavorare sull'applicazione e comprenderne le funzionalità per creare una mappa funzionale.
- Un tester dovrebbe avere un canale di comunicazione facile con il team di sviluppo.
- Dovrebbe comprendere le funzionalità personalizzabili che possono essere create per l'app Salesforce.
- Il tester deve eseguire casi di test basati sui ruoli per garantire la coerenza dei dati.
- Dovrebbe anche eseguire un test di compatibilità nel caso in cui Salesforce sia integrato con applicazioni di terze parti.
- Un tester Salesforce dovrebbe avere familiarità con strumenti di test di carico come JMeter per convalidare flussi complessi, che possono fornire risultati incoerenti in Salesforce.
- Conoscenza dell'Apex.
Strumenti di automazione dei test SalesForce
L'esecuzione di test funzionali automatizzati in SalesForce è impegnativa poiché la maggior parte delle pagine Web di test sono dinamiche. Pertanto, il tester deve creare un robusto framework di automazione che dovrebbe essere utile oggi e in futuro.
Di seguito ho elencato gli strumenti di test Salesforce ampiamente utilizzati che consiglio.
1) Tricentis Testare l'automazione per Salesforce
Apprezzo particolarmente il modo Tricentis Testare l'automazione per Salesforce accelera lo sviluppo di test dell'interfaccia utente resilienti per gli ambienti Salesforce. I suoi localizzatori intelligenti sono alimentati dall'intelligenza artificiale per autoripararsi e migliorare automaticamente, riducendo così al minimo la manutenzione e garantendo la stabilità del test.
Caratteristiche:
- Convalida dello scenario end-to-end: I clienti possono convalidare i propri scenari end-to-end completi, estendendoli dall'applicazione Web a Salesforce e viceversa.
- Scalabilità del team agile: Team agili con competenze miste scalano le proprie operazioni di test in modo efficiente con funzionalità che li aiutano a controllare e gestire la crescita dei test e dei team.
- Esecuzione del codice Apex per la convalida: Eseguire il codice Apex in una fase di test per convalidare i risultati della query.
- Integrazione del test API: Integra i test API.
2) DQ Lupo
DQ Lupo rivoluziona i test Salesforce ottenendo l'80% di copertura automatizzata end-to-end in poche settimane, garantendo risultati affidabili e rapidi. A differenza delle tradizionali soluzioni QA che richiedono molto tempo e risorse, QA Wolf garantisce zero test flake e fornisce un'infrastruttura di test completamente parallela senza costi aggiuntivi. Ciò consente ai team che si basano su Salesforce di migliorare la produttività degli sviluppatori, accelerare la velocità di rilascio e ridurre significativamente i costi operativi.
Caratteristiche:
- Quadro di prova: QA Wolf utilizza il proprio framework di test, su cui è costruito Microsoftè il drammaturgo. Una partnership con QA Wolf include l'accesso completo per l'intero team alla loro piattaforma, che comprende test illimitati.
- Manutenzione di prova 24 ore su XNUMX: QA Wolf manterrà la tua intera suite di test, così non dovrai farlo tu. I test inaffidabili vengono mantenuti in modo da non ricevere falsi positivi e poter continuare a spedire con sicurezza.
- Segnalazioni di bug verificate dall'uomo: Il suo team lavora 24 ore su 24 per verificare ogni fallimento dei test e segnala solo i bug effettivi.
- Integrazione CI/CD: L'integrazione CI/CD è eccellente per la collaborazione e la risoluzione dei problemi. Potrei inviare messaggi Slack o Squadre per comunicare con il team QA Wolf.
Perché utilizzare gli strumenti di test di Salesforce
- Ti aiuta a risparmiare il 75% del tuo tempo e il 25% dei costi di automazione dei test.
- Offre una migliore esecuzione dei test Apex, una copertura dettagliata dei test e report sulla copertura delle lezioni.
- Puoi sfruttare strumenti di automazione leader del settore come Selenium e JMeter.
- Genera automaticamente scenari di test da eseguire per ambienti diversi e più browser.
- Registra e riproduci senza problemi i casi di test registrati.
- Ti aiuta ad automatizzare tutti i tipi di attività pre e post-distribuzione.
- Il processo di test di Salesforce separa i dati dallo script di test e consente di migliorarli con più set di dati.
Esempi di scenari di test di Salesforce
- Caso di prova 01: È possibile acquisire le informazioni di contatto del lead/cliente.
- Caso di prova 02: I contatti possono essere contrassegnati come attivi/inattivi.
- Caso di prova 03: Qualsiasi azienda può essere contrassegnata come cliente o potenziale cliente.
- Caso di prova 04: I lead possono essere acquisiti con l'aiuto di moduli web.
- Caso di prova 05: Il prezzo in preventivo non può essere zero.
- Caso di prova 06: L'email dovrebbe essere inviata una volta che l'affare è stato chiuso. Le email respinte, se presenti, dovrebbero essere gestite.
- Caso di prova 07: L'integrazione con software di terze parti dovrebbe funzionare correttamente.
- Caso di prova 08: Billi servizi dovrebbero funzionare come previsto.
- Caso di prova 09: Nessuna duplicazione dei record nella gestione dei contatti, delle opportunità e dei lead.
- Caso di prova 10: Il flusso di lavoro mobile funziona come previsto.
- Caso di prova 11: Gli utenti non autorizzati non devono avere accesso ai file.
Test di Salesforce: sfide dei clienti
I clienti sono sempre nervosi riguardo ai test Salesforce perché potrebbero non sapere come eseguirli correttamente. Di conseguenza, hanno un mito molto distinto dalla realtà.
Qui ci sono alcuni di loro:
Problemi del cliente | Soluzione |
---|---|
Non so come utilizzare il sistema Salesforce. | I clienti devono testare il proprio processo, non la funzionalità del sistema. |
Non possiamo testare senza che tutti i nostri dati siano presenti nel sistema. | Hanno bisogno solo di alcuni record di esempio da testare. |
Non ho tempo libero per testare e gestire il mio lavoro quotidiano. | Dovrebbero mantenersi in contatto con il PM e effettuare regolari chiamate di check-in nelle fasi di progettazione e costruzione. |
Conclusione
- Salesforce è il primo sistema CRM al mondo basato su cloud.
- I test di Salesforce convalidano la configurazione e la personalizzazione eseguite in Vanilla SFDC.
- I test di Salesforce ti aiutano a verificare che il sistema finito possa supportare i processi aziendali del cliente.
- La sfida più grande dei test di SalesForce è garantire che si stia testando la personalizzazione e non le funzionalità SFDC integrate.
- Livelli importanti di test di Salesforce sono test unitari, test di sistema, test UAT, test di produzione e test di regressione.
- La sfida più grande dei test Salesforce è che devi ricreare tutti i test classici per l'interfaccia utente Lightning.
- I tester Salesforce dovrebbero eseguire i test come profili utente reali.
- Salesforce dovrebbe essere in grado di condurre test del fumo per assicurarsi che tutte le principali funzionalità funzionino secondo i requisiti.
- Selenium Driver Web, HP Unified Functional Testing (UFT) e Cucumber sono alcuni importanti strumenti di test di Salesforce.