Konsèy ak pi bon pratik pou Tès Entegrasyon Salesforce

salesforce entegrasyon

Salesforce tès ap ede ou valide Customized ou Salesforce entegrasyon ak fonksyonalite ak aplikasyon pou antrepriz lòt. Yon bon tès kouvri tout modil Salesforce soti nan kont yo mennen, ki soti nan opòtinite nan rapò, ak nan kanpay kontak. Kòm se ka a ak tout tès yo, gen yon bon (efikas ak efikas) fason pou fè yon tès Salesforce ak yon move fason. Se konsa, ki sa Salesforce tès bon pratik?

  • Sèvi ak bon zouti pou fè tès yo - Salesforce tès k ap pase nan navigatè a oswa nan yon anviwònman ki baze sou eklips. Tou de navigatè yo dènye ak eklips gen zouti debogaj gwo, epi ou ka konbine sa yo ak klas tès pou rezilta trè itil. Sepandan, si ou bezwen plis, yo ta dwe itilize Apex entèaktif deboge a (oswa tou senpleman Apex) pa Force.com. Remake byen ou ka itilize tou Salesforce Zeklè Enspektè, yon ekstansyon chrome, espesyalman tès Salesforce Zeklè. Apex se yon Force.com platfòm langaj pwogram propriétaires ki pote gwo resanblans ak Java. Li se yon objè oryante, ka-sansibl, fòtman kalite langaj pwogram ki swiv Curly-parantèz ak dot-notasyon sentaks. Ou ka itilize Apex pou egzekite fonksyon pwograme pandan pifò pwosesis Force.com, ki gen ladan lyen koutim ak bouton, dènye nouvèl, sipresyon, ak dosye ensèsyon ensidan evènman nan paj vizyèl contrôleur koutim oswa orè.
  • Sèvi ak konvansyon non apwopriye - Bon non nan metòd tès ou anvan ou kòmanse ekri tès trè enpòtan. Non metòd tès la ta dwe gen twa pati. Sa yo se nameOfMethod (non nan metòd endividyèl la w ap fè tès tankou insert / aktyalizasyon / efase / anile lè tès yon deklanche, enfòmasyon sou TestPath ki se fleksib tankou kontak nil si w ap fè tès ke kontak la se nil, ak valab lè tès yon chemen pozitif / negatif.
  • Asire 100% Pwoteksyon - Malgre ke direktiv Salesforce estanda a se ke tès inite ta dwe gen yon pwoteksyon nan 75% nan kòd ou a (mwens klas tès, apèl nan System.debug ak metòd tès) epi ou pa yo pral kapab deplwaye Apex kòd oswa pake AppExchange apps, ou ta dwe sonje ke sa a se jis yon estanda ak bi ou ta dwe 100% pwoteksyon. Teste tout ka pozitif / negatif yo ak pou done ki prezan epi ki pa prezan. Lòt konsèy enpòtan lè li rive pwoteksyon kòd yo se:
    • Ou ta dwe fè tès pou rafrechi nimewo pwoteksyon kòd depi nimewo sa yo pa rafrechi lè kòd Apex la mete ajou jiskaske tès yo rekòmanse.
    • Si te gen yon ajou nan òganizasyon an depi dènye tès la kouri, gen yon risk ke nimewo yo pwoteksyon kòd yo pral kòrèk. Refè tès yo pou bon estimasyon an.
    • Pousantaj pwoteksyon kòd la pa gen ladan pwoteksyon kòd ki soti nan tès pakè jere yo, ak sèl eksepsyon ke yo te lè tès sa yo lakòz deklanche yo nan dife.
    • Kouvèti depann sou kantite total liy kòd yo. Si ou ajoute oswa efase liy nan kòd, ou pral afekte pousantaj la.
  • Tès ka nan klas yo ak contrôleur - Nan devlopman Salesforce, pifò devlopè kreye klas separe ak dosye kontwolè pou chak fonksyon. Sa a se fè fè kod plis òganize, pi fasil, ki kapab itilize ankò, ak pòtab. Ou ta dwe, sepandan, sonje ke pandan ke sa a se pi fasil, li pa pi efikas. Ou pral reyalize Transparans si kòd tès la se nan klas orijinal la ak kòd kontwolè tèt li depi ou pa pral manke soti sou nenpòt ki klas tès lè imigre soti nan sandboks nan pwodiksyon an.
  • Sèvi ak System.assert () - Nan Apex, System.assert() yo itilize pou tcheke kondisyon yo. Sa a se yon fonctionnalités enpòtan depi li pèmèt ou detèmine si yon fonksyon patikilye te fèt pa metòd la jan yo espere a. Ou ta dwe itilize System.assertEquals () ak System.assertNotEquals () ant fonksyonalite kritik pa sèlman ede ou detèmine si kòd la te egzekite jan li ta dwe, men tou asire pa gen okenn done ekri erè si kòd la ale mal.
  • ComprehensiveTest - Tès yo ta dwe kouvri tout bagay. Ou ta dwe fè tès fonksyonèl, tès chaj, tès sekirite, ak tès deplwaman.
  • Tès Inite - Ou ta dwe fè tès inite w la pou verifye ke dosye endividyèl yo pwodui rezilta kòrèk ak espere. Pandan w ap itilize yon tès jeyan ki kouvri kòd la tout antye ka sanble tankou yon bon lide, sonje ke rezilta yo pwodwi yo pral pi difisil debug ak echèk yo pral pi difisil yo konprann. Yon tès inite ta dwe kouvri yon ti sou fonksyonalite ke yo te teste.
  • Tès Esansyèl Bulk - Yon kòd tès bon (deklanche, eksepsyon, oswa klas) ka patisipe pou jiska plizyè santèn dosye (200 pou Apex). Ou ta dwe pran avantaj de sa a ak tès pa sèlman dosye endividyèl, men tou, ka esansyèl.
  • Tès pozitif - Tès pou asire si konpòtman espere rive nan tout pèmitasyon espere. Tès la ta dwe verifye ke itilizatè a kòrèkteman ranpli fòm lan e ke li / li pa t 'ale sou limit yo.
  • Tès negatif - Teste ka negatif yo pou asire ke mesaj erè yo pwodwi kòrèkteman. Men kèk egzanp sou ka negatif sa yo pa kapab presize kantite negatif epi yo pa kapab ajoute dat nan lavni. Tès negatif yo enpòtan paske manyen kòrèk lè bagay yo ale nan sid ka fè tout diferans lan.
  • Otomatize Tès - Tradisyonèlman, tès Salesforce te manyèl. Ou ta dwe konsidere tès otomatik tankou sa a ofri plis avantaj. Men sa yo enkli:
    • Tès Manyèl fè ou sansib a erè depi tès se pa imen epi yo pa robo. Robo briye nan aktivite repetitif pandan ke imen fè erè akòz annwi, konsantrasyon redwi ak konsistans, ak yon tandans nan koupe kwen.
    • Tès Manyèl se repetitif, fòmil ak fatigan. Ekip tès la pi bon pou fè travay ki pi eksploratwa.
  • Egzekite chak Kòd Lojik Branch - Lè w ap itilize lojik kondisyonèl (lè ou te enkli operatè ternary), yo ta dwe egzekite chak branch nan lojik kòd la.
  • Sèvi ak Antre valab ak valab pou apèl nan metòd - Apèl nan metòd yo ta dwe fèt lè l sèvi avèk tou de entrain valab ak valab.
  • Tès konplè - Asire ke tès yo konplete avèk siksè - yo pa ta dwe nan nenpòt eksepsyon sof si erè yo espere. Manyen tout eksepsyon kenbe - pwan yo se pa bon ase.
  • Sèvi ak lòd pa mo kle - Pou asire dosye ou yo retounen nan lòd ou espere yo, sèvi ak L BYD pa mo kle yo.
  • Pa asime ID dosye yo ranje sekansyèlman - Evite erè a komen nan asepte ID dosye yo ranje nan lòd sekans. ID yo pa nan lòd ki monte, sof si ou te mete dosye miltip ak menm demann lan.
  • Rele Test.startTest () ak Test.stopTest () - Lè ou kouri yon tès inite Apex, ou pral jwenn plis pase kouvèti a 75% kòd ki obligatwa nan Salesforce. Ou ta dwe rele stopTest anvan deklarasyon yo fòse kòd asenkron ki ta ka toujou ap kouri fini. Kouri demann fre pou rezilta final depi lòt kòd ta ka chanje done yo. UsingTest.startTest () ak Test.stopTest () asire ou sandboks tès la andedan limit gouvènè li yo. Fason sa a, kòd la konfigirasyon ou itilize pa pral entèfere ak ba ou fo negatif oswa pozitif ki antoure limit yo gouvènè. Test.stopTest () asire tou ke apèl @future pral konplete pou tès yo.
  • Lisibilite - Lisibilite trè enpòtan nan tès inite yo. Non tès yo ta dwe gen ladan aksyon espesifik yo dwe pran ak rezilta a espere. Metòd la ta dwe deskriptif ak kout. Metòd la ta dwe tankou ke li kapab ankò itilize atravè tès diferan.
  • Bati ansanbl Gwo Done Tès anvan startTest - Depi tès ou yo pral kouri nan diferan sandboks ak anviwònman pwodiksyon, bati gwo tès done kouche anvan ou rele startTest asire tès la gen limit ekzekisyon konplè. Pa defo, Salesforce Github kouri tès izole nan done pwodiksyon an. Lè ou bezwen done sistèm tankou yon Profile, sijè rechèch yo ka resevwa bon bagay la pou ki anviwònman espesifik.
  • Jenere done tès pwòp ou a - Done tès ou itilize yo ta dwe pwodwi nan tès la. Ou ka jenere done sa a lè l sèvi avèk @testSetup anotasyon ak yon klas TestUtils pa sèlman asire ou gen done yo dwa, men tou asire tout tès yo ap kouri sou yon sandboks pwomotè ki pa gen okenn kondisyon pou done.
  • Evite pa gen okenn operasyon AKA operasyon nil - Anpil Tester itilize pa gen okenn-OP AKA operasyon nil. Sa yo se kòd initil ki pa fè anyen. Depi yo deja nan baz kòd ou a, yo pral ajoute nan pousantaj pwoteksyon ou.
  • Egzekisyon Paralèl Tès - Lè ou kòmanse tès ki soti nan koòdone nan itilizatè Salesforce oswa Developer Console, tès yo pral kouri nan paralèl. Sa a se yon karakteristik enpòtan kòm li vitès moute tan kouri tès yo. Ou ta dwe, sepandan, sonje ke sa a ka mennen nan pwoblèm deba deba ak si ou sispèk sa a ka rive, fèmen ekzekisyon paralèl. Kòz ki pi komen nan pwoblèm deba done ki souvan mennen nan UNABLE_TO_LOCK_ROW erè yo se:
    • Lè tès yo vle di ke pou mete ajou dosye yo an menm tan. Mete ajou nan dosye yo menm anjeneral k ap pase lè tès yo pa kreye pwòp done yo.
    • Lè gen yon enpas nan tès ki ap kouri nan paralèl epi yo eseye kreye dosye ki gen matche valè jaden endèks. Yon enpas ap fèt lè 2 tès kouri te file pou woule done (sa rive lè 2 tès dosye opinyon ki gen menm valè endèks jaden inik nan lòd diferan).
    • Pou fèmen egzekisyon tès paralèl, ale nan Enstalasyon, antre nan Apex Tès, ale nan Apex Egzamen Egzekisyon Opsyon dyalòg, chwazi Enfim Paralèl Apex Tès, klike sou OK.

Enfim paralèl Apex Tès

Anboche yon pro pou travay la depi li pral gen eksperyans ak fòmasyon ki nesesè pou fè yon bon tès, ki tou ba ou lapè nan tèt ou. Anplwaye yon pro pèmèt ou konsantre sou biznis debaz ou. Li te tou ekonomize ou lajan depi ou pa pral bezwen yon ekip nan-kay pou travay la.

Ki sa ou panse?

Sit sa a sèvi ak Akismet diminye Spam. Aprann kijan kòmantè ou a trete.