Content Marketing

Nasveti in najboljše prakse za preizkušanje integracije Salesforce

Preskušanje Salesforce vam bo pomagalo potrditi vaše prilagojene Integracije Salesforce in funkcionalnosti z drugimi podjetniškimi aplikacijami. Dober test zajema vse module Salesforce od računov do potencialnih strank, od priložnosti do poročil in od kampanj do stikov. Tako kot pri vseh testih, obstaja tudi dober (učinkovit in uspešen) način izvedbe testa Salesforce in slab način. Torej, kaj Salesforce preizkuša dobro prakso?

  • Uporabite prava orodja za testiranje - Preskušanje Salesforce poteka v brskalniku ali v okolju, ki temelji na mrku. Tako najnovejši brskalniki kot eclipse imajo odlična orodja za odpravljanje napak, ki jih lahko kombinirate s preskusnimi razredi za zelo koristne rezultate. Če pa potrebujete več, je treba uporabiti Apex Interactive Debugger (ali preprosto Apex) podjetja Force.com. Upoštevajte, da lahko tudi Salesforce Lightning Inspector, kromirano razširitev, uporabite za posebno testiranje Salesforce Lightning. Apex je a force.com lastniški programski jezik platforme, ki je zelo podoben Javi. Je objektno usmerjen programski jezik, ki ne razlikuje med velikimi in malimi črkami, močno tipski programski jezik, ki sledi sintaksi zavitih oklepajev in pik. Apex lahko uporabljate za izvajanje programiranih funkcij med večino procesov Force.com, vključno s povezavami in gumbi po meri, posodobitvami, brisanjem in obdelavami dogodkov vstavljanja zapisov prek krmilnikov po meri ali razporejanja strani Visualforce.
  • Uporabite pravilne konvencije o poimenovanju - Pravilno poimenovanje testnih metod je zelo pomembno, preden začnete pisati teste. Ime preskusne metode mora imeti tri dele. To so nameOfMethod (ime posamezne metode, ki jo preizkušate, na primer insert / update / delete / undelete pri preizkušanju sprožilca, informacije o TestPathu, ki je prilagodljiv, na primer ničelni stik, če preskušate, da je stik ničen in veljaven pri preskušanju pozitivna / negativna pot.
  • Zagotovite 100% pokritost - Čeprav je standardna direktiva Salesforce, da mora preskus enote zajemati 75% vaše kode (minus preizkusni razredi, klici System.debug in preskusne metode) in ne boste mogli uvesti kode Apex ali pakirati aplikacij AppExchange, bi morali upoštevajte, da je to le standard in vaš cilj mora biti 100% pokritost. Preizkusite vse pozitivne / negativne primere in podatke, ki so prisotni in niso prisotni. Drugi pomembni nasveti glede pokritosti kode so:
    • Izvedite teste za osvežitev številk pokritosti kode, saj se te številke ne osvežijo, ko se koda Apex posodobi, dokler se testi ne ponovijo.
    • Če je v organizaciji prišlo do posodobitve od zadnjega preizkusa, obstaja nevarnost, da bodo številke pokritosti kode napačne. Ponovite teste za pravilno oceno.
    • Odstotek pokritosti kode ne vključuje pokritosti kode iz testov upravljanih paketov, z izjemo le, kadar ti testi povzročijo sprožitev sprožilcev.
    • Pokritost je odvisna od skupnega števila vrstic kode. Če dodate ali izbrišete vrstice kode, boste vplivali na odstotek.
  • Testni primeri v razredih in krmilnikih - Pri razvoju Salesforce večina razvijalcev ustvari ločene razrede in datoteke krmilnika za vsako funkcijo. To se naredi, da je kodiranje bolj organizirano, lažje, za večkratno uporabo in prenosno. Upoštevajte pa, da je to sicer lažje, vendar ni bolj učinkovito. Prenosnost boste dosegli, če je testna koda v prvotnem razredu in sama koda krmilnika, saj pri selitvi iz peskovnika v produkcijo ne boste zamudili nobenega testnega razreda.
  • Uporabite System.assert () - V Apexu, System.assert() se uporablja za preverjanje pogojev. To je pomembna funkcionalnost, saj vam omogoča, da ugotovite, ali je bila določena funkcija izvedena z metodo, kot je bilo pričakovano. Med kritičnimi funkcionalnostmi morate uporabljati System.assertEquals () in System.assertNotEquals (), ne samo, da boste lažje ugotovili, ali je bila koda izvedena, kot je treba, ampak tudi, da se pri napačni kodi ne zapišejo nobeni podatki.
  • Celovit test - Testiranje mora zajemati vse. Izvesti morate funkcionalno preskušanje, preskušanje obremenitve, varnostno preskušanje in preskušanje uvajanja.
  • Enotni testi - Morali bi imeti enote za preverjanje, ali posamezni zapisi dajejo pravilen in pričakovan rezultat. Čeprav se zdi uporaba velikanskega testa, ki zajema celotno kodo, dobra ideja, upoštevajte, da bo ustvarjene rezultate težje odpraviti in napake težje razumeti. Preizkus enote mora zajemati majhno podskupino funkcionalnosti, ki se preskuša.
  • Preizkusni primeri v razsutem stanju - Dobra testna koda (sprožilec, izjema ali razred) lahko vključuje do nekaj sto zapisov (200 za Apex). To bi morali izkoristiti in preizkusiti ne samo posamezne zapise, temveč tudi množične primere.
  • Pozitivni testi - Preizkusite, ali se pričakovano vedenje pojavlja skozi vse pričakovane permutacije. Preizkus mora preveriti, ali je uporabnik pravilno izpolnil obrazec in ali ni prekoračil omejitev.
  • Negativni testi - Preizkusite negativne primere in se prepričajte, da so sporočila o napakah pravilno ustvarjena. Primeri takih negativnih primerov ne morejo določiti negativnih zneskov in ne morejo dodati prihodnjih datumov. Negativni testi so pomembni, saj lahko pravilno ravnanje, ko gre na jug, vse spremeni.
  • Samodejno testiranje - Tradicionalno je bilo testiranje Salesforce ročno. Razmislite o samodejnem testiranju, saj to ponuja več prednosti. Tej vključujejo:
    • Zaradi ročnega testiranja ste dovzetni za napake, saj testiranje izvajajo ljudje in ne roboti. Roboti se odlikujejo pri ponavljajočih se dejavnostih, medtem ko ljudje delajo napake zaradi dolgočasja, zmanjšane koncentracije in doslednosti ter nagnjenosti k zarezi.
    • Ročno testiranje je ponavljajoče se, osnovno in utrujajoče. Preizkusna skupina bolje opravlja bolj raziskovalno delo.
  • Izvedite vsako vejo logike kode - Pri uporabi pogojne logike (če ste vključili ternarne operatorje) je treba izvesti vsako vejo logike kode.
  • Uporabite neveljavne in veljavne vnose za klice na metode - Metode je treba klicati z neveljavnimi in veljavnimi vnosi.
  • Popolni testi - Poskrbite, da se bodo testi uspešno zaključili - ne smejo priti do izjem, razen če se napake pričakujejo. Obravnavajte vse ujete izjeme - ujeti jih ni dovolj dobro.
  • Uporabite NAROČI PO ključnih besedah ​​- Za zagotovitev, da se vaši zapisi vrnejo v vrstnem redu, kot jih pričakujete, uporabite ključne besede NAROČI PO.
  • Ne domnevaj, da so ID-ji zapisov urejeni zaporedno - Izogibajte se pogosti napaki, če domnevate, da so ID-ji zapisov razvrščeni v zaporednem vrstnem redu. ID-ji niso v naraščajočem vrstnem redu, razen če ste vstavili več zapisov z isto zahtevo.
  • Pokličite Test.startTest () in Test.stopTest () - Ko zaženete test enote Apex, boste prejeli več kot 75-odstotno pokritost kode, ki je obvezna v programu Salesforce. Pred trditvami morate poklicati stopTest, da dokončate asinhrone kode, ki se morda še vedno izvajajo. Zaženite nove poizvedbe za končne rezultate, saj lahko druga koda spremeni podatke. Uporaba Test.startTest () in Test.stopTest () zagotavlja, da preizkus preizkusite v peskovniku znotraj njegovih omejitev. Na ta način namestitvena koda, ki jo uporabljate, ne bo motila in vam bo dala lažnih negativov ali pozitivnih rezultatov, ki obkrožajo omejitve upravitelja. Test.stopTest () tudi zagotavlja, da se klici @future zaključijo za testiranje.
  • Berljivost - Čitljivost je pri preskusih enot zelo pomembna. Imena testov morajo vključevati določene ukrepe in pričakovani rezultat. Metoda mora biti opisna in kratka. Metoda mora biti takšna, da jo je mogoče ponovno uporabiti v različnih preskusih.
  • Ustvari velike nabore testnih podatkov pred zagonomTest - Ker se bodo preskusi izvajali v različnih okoljih peskovnika in produkcijskih okoljih, pred klicem startTest ustvarite velike nabore podatkov o preskusu, da zagotovite, da ima test polne omejitve izvajanja. Privzeto, Salesforce Github izvaja preskuse, izolirane iz proizvodnih podatkov. Ko potrebujete sistemske podatke, kot je profil, poizvedite, ali boste našli pravo stvar za to določeno okolje.
  • Ustvarite lastne testne podatke - Podatke o preskusu, ki jih uporabljate, je treba ustvariti v testu. Te podatke lahko ustvarite s pripisom @testSetup in razredom TestUtils, da ne samo zagotovite, da imate prave podatke, temveč tudi, da se vsi preskusi izvajajo v peskovniku razvijalca brez potrebe po podatkih.
  • Izogibajte se nujnim operacijam AKA - Mnogi preizkuševalci uporabljajo ničelne operacije AKA, nične. To so neuporabne kode, ki nič ne naredijo. Ker so že v vaši kodi, bodo dodali vaš odstotek pokritosti.
  • Vzporedno izvajanje preizkusa - Ko zaženete teste iz uporabniškega vmesnika Salesforce ali Developer Console, se bodo preskusi izvajali vzporedno. To je pomembna lastnost, saj pospeši čas preizkusnega delovanja. Upoštevajte pa, da lahko to privede do težav s prepiranjem podatkov in če sumite, da se to lahko zgodi, izklopite vzporedno izvajanje. Najpogostejši vzroki za težave s prepiranjem podatkov, ki pogosto vodijo do napak UNABLE_TO_LOCK_ROW, so:
    • Kadar naj bi testi hkrati posodobili iste zapise. Posodobitev istih zapisov se običajno zgodi, ko testi ne ustvarijo lastnih podatkov.
    • Ko pride do zastoja v preskusih, ki se izvajajo vzporedno, in poskušajo ustvariti zapise, ki imajo ujemajoče se vrednosti indeksnih polj. Zastoj se bo zgodil, ko bosta dva tekoča preskusa v čakalni vrsti za vrnitev podatkov nazaj (to se zgodi, če sta vhodna zapisa 2 preizkusa, ki imata enake vrednosti indeksnih polj v različnih vrstnih vrsticah).
    • Če želite izklopiti vzporedno izvajanje preizkusa, pojdite na Setup, vnesite Apex Test, pojdite v pogovorno okno Apex Test Execution Options, izberite Disable Parallel Apex Testing, kliknite OK.

Onemogoči testiranje paralelnega vrha

Za to delo najemite profesionalca, saj bo imel dovolj izkušenj in usposabljanja, da bo naredil dober test, kar vam bo dalo tudi mir. Najem profesionalca vam omogoča, da se osredotočite na svojo osnovno dejavnost. Prihranite tudi denar, saj za to ne boste potrebovali lastne ekipe.

Amar Kukreja

Amar Kukreja ima dolgoletne izkušnje s testiranjem Salesforce. Uporablja Apex kot tudi druge teste. Ponuja tudi druge povezane storitve Salesforce, vključno z začetno nastavitvijo in upravljanjem Salesforcea. Če želite izvedeti več o tem Salesforce Github.

Povezani članki

Nazaj na vrh
Zapri

Zaznan Adblock

Martech Zone vam lahko zagotovi to vsebino brezplačno, ker naše spletno mesto monetiziramo s prihodki od oglasov, pridruženimi povezavami in sponzorstvi. Hvaležni bi bili, če bi med ogledom našega spletnega mesta odstranili zaviralec oglasov.