Mga Tip at Pinakamahusay na Kasanayan para sa Pagsubok sa Mga Pagsasama ng Salesforce

pagsasama-sama ng salesforce

Tutulungan ka ng pagsubok sa Salesforce na patunayan ang iyong na-customize Mga pagsasama ng Salesforce at pagpapaandar sa iba pang mga aplikasyon ng enterprise. Saklaw ng isang mahusay na pagsubok ang lahat ng mga module ng Salesforce mula sa mga account hanggang sa mga lead, mula sa mga pagkakataon hanggang sa mga ulat, at mula sa mga kampanya hanggang sa mga contact. Tulad ng kaso sa lahat ng mga pagsubok, mayroong isang mahusay (mabisa at mahusay) na paraan ng paggawa ng isang pagsubok sa Salesforce at isang masamang paraan. Kaya, ano ang pagsubok ng Salesforce ng mabuting kasanayan?

  • Gumamit ng Tamang Mga Kasangkapan sa Pagsubok - Ang pagsubok sa Salesforce ay nangyayari sa browser o sa isang eclipse-based na kapaligiran. Parehong ang pinakabagong mga browser at eclipse ay may mahusay na mga tool sa pag-debug at maaari mong pagsamahin ang mga ito sa mga klase sa pagsubok para sa mga kapaki-pakinabang na resulta. Gayunpaman, kung kailangan mo ng higit pa, dapat gamitin ang The Apex Interactive Debugger (o simpleng Apex) ng Force.com. Tandaan na maaari mo ring gamitin ang Salesforce Lightning Inspector, isang chrome extension, upang partikular na subukan ang Salesforce Lightning. Ang Apex ay isang Force.com pagmamay-ari ng platform ng pagmamay-ari ng programa na may mahusay na pagkakatulad sa Java. Ito ay isang nakatuon sa object, case-insensitive, malakas na nai-type ang wika ng programa na sumusunod sa curly-brackets at dot-notation syntax. Maaari mong gamitin ang Apex upang magpatupad ng mga naka-program na pag-andar sa panahon ng karamihan sa mga proseso ng Force.com, kabilang ang mga pasadyang link at pindutan, pag-update, pagtanggal, at pag-record ng mga handler ng kaganapan ng pagpasok sa pamamagitan ng mga pasadyang Controller ng pahina ng Visualforce o pag-iiskedyul ng iskedyul.
  • Gumamit ng Wastong Mga Kombensyon sa Pangalan - Ang wastong pagbibigay ng pangalan ng iyong mga pamamaraan sa pagsubok bago ka magsimula sa pagsusulat ng mga pagsubok ay napakahalaga. Ang pangalan ng pamamaraan ng pagsubok ay dapat magkaroon ng tatlong bahagi. Ito ang mga nameOfMethod (pangalan ng indibidwal na pamamaraan na sinusubukan mo tulad ng insert / update / delete / undelete kapag sumusubok ng isang gatilyo, impormasyon tungkol sa TestPath na nababaluktot tulad ng null contact kung sinusubukan mo na ang contact ay null, at wasto kapag sumusubok isang positibo / negatibong landas.
  • Tiyaking 100% na Sakop - Kahit na ang standard na direktiba ng Salesforce ay ang pagsubok sa yunit ay dapat na may saklaw na 75% ng iyong code (minus mga klase sa pagsubok, mga tawag sa System.debug at mga pamamaraan ng pagsubok) at hindi mo ma-deploy ang Apex code o package AppExchange apps, dapat mong tandaan na ito ay pamantayan lamang at ang iyong hangarin ay dapat na 100% na saklaw. Subukan ang lahat ng positibo / negatibong mga kaso at para sa data na naroroon at hindi kasalukuyan. Ang iba pang mahahalagang tip pagdating sa saklaw ng code ay:
    • Dapat kang magpatakbo ng mga pagsubok upang i-refresh ang mga numero ng saklaw ng code dahil ang mga numerong ito ay hindi nai-refresh kapag na-update ang Apex code hanggang sa muling ibalik ang mga pagsubok.
    • Kung mayroong isang pag-update sa samahan mula pa noong huling pagpapatakbo ng pagsubok, may panganib na ang mga numero ng saklaw ng code ay hindi wasto. Paganahin muli ang mga pagsubok para sa tamang pagtatantya.
    • Ang porsyento ng saklaw ng code ay hindi nagsasama ng saklaw ng code mula sa mga pagsubok na pinamamahalaang mga package, na may tanging pagbubukod kapag ang mga pagsubok na ito ay sanhi ng pag-burn ng mga nag-trigger.
    • Ang saklaw ay nakasalalay sa kabuuang bilang ng mga linya ng code. Kung magdagdag o magtanggal ng mga linya ng code, makakaapekto sa porsyento.
  • Mga Kaso sa Pagsubok sa Mga Klase at Mga Controller - Sa pagbuo ng Salesforce, ang karamihan sa mga developer ay lumilikha ng magkakahiwalay na mga klase at mga file ng controller para sa bawat pagpapaandar. Ginagawa ito upang gawing mas maayos ang pag-coding, madali, magagamit muli, at portable. Gayunpaman, dapat mong tandaan na kahit na mas madali ito, hindi ito mas mahusay. Makakamit mo ang kakayahang dalhin kung ang test code ay nasa orihinal na klase at controller code mismo dahil hindi mo makaligtaan ang anumang pagsubok na klase kapag lumilipat mula sa sandbox patungo sa produksyon.
  • Gumamit ng System.assert () - Sa Apex, System.assertGinagamit ang () upang suriin ang mga kundisyon. Ito ay isang mahalagang pag-andar dahil pinapayagan kang matukoy kung ang isang partikular na pagpapaandar ay naisagawa ng pamamaraang inaasahan. Dapat mong gamitin ang System.assertEquals () at System.assertNotEquals () sa pagitan ng mga kritikal na pag-andar ay hindi lamang makakatulong sa iyo upang matukoy kung ang code ay naisakatuparan tulad ng nararapat, ngunit upang matiyak din na walang data na nakasulat nang mali kung ang code ay nagkamali.
  • ComprehensiveTest - Dapat saklaw ng pagsubok ang lahat. Dapat kang gumawa ng pagsubok sa pagganap, pagsubok sa pag-load, pagsubok sa seguridad, at pagsubok sa paglawak.
  • Mga Pagsubok sa Yunit - Dapat ay mayroon kang mga pagsubok sa yunit upang mapatunayan na ang mga indibidwal na talaan ay gumagawa ng tama at inaasahang resulta. Habang ang paggamit ng isang higanteng pagsubok na sumasaklaw sa buong code ay maaaring mukhang isang magandang ideya, tandaan na ang mga resulta na nabuo ay mas mahirap i-debug at ang kabiguan ay magiging mas mahirap maintindihan. Ang isang pagsubok sa yunit ay dapat masakop ang isang maliit na subset ng pagpapaandar na sinusubukan.
  • Mga Kaso ng Maramihang Pagsubok - Ang isang mahusay na code ng pagsubok (pag-trigger, pagbubukod, o klase) ay maaaring kasangkot hanggang sa daan-daang mga tala (200 para sa Apex). Dapat mong samantalahin ito at subukan hindi lamang ang mga indibidwal na talaan, kundi pati na rin ang mga malalaking kaso.
  • Mga Positibong Pagsubok - Pagsubok upang matiyak kung ang inaasahang pag-uugali ay nangyayari sa pamamagitan ng lahat ng inaasahang permutasyon. Dapat na i-verify ng pagsubok na ang gumagamit ay napunan nang tama ang form at hindi siya lumampas sa mga limitasyon.
  • Mga Negatibong Pagsubok - Subukan ang mga negatibong kaso upang matiyak na ang mga mensahe ng error ay ginawa nang tama. Ang mga halimbawa ng naturang mga negatibong kaso ay hindi maaaring tukuyin ang mga negatibong halaga at hindi maidaragdag ang mga petsa sa hinaharap. Mahalaga ang mga negatibong pagsusuri sapagkat ang tamang paghawak kapag ang mga bagay ay pupunta sa timog ay maaaring magawa ang lahat ng pagkakaiba.
  • I-automate ang Pagsubok - Ayon sa kaugalian, manu-manong ang pagsubok sa Salesforce. Dapat mong isaalang-alang ang awtomatikong pagsubok dahil nag-aalok ito ng higit na mga kalamangan. Kabilang dito ang:
    • Ang manual na pagsusuri ay madaling kapitan sa mga pagkakamali dahil ang pagsubok ay ng mga tao at hindi mga robot. Ang mga robot ay naghuhusay sa mga paulit-ulit na aktibidad habang ang mga tao ay nagkakamali dahil sa inip, nabawasan ang konsentrasyon at pagkakapare-pareho, at isang pagkahilig na gupitin.
    • Ang manu-manong pagsusuri ay paulit-ulit, pormula at nakakapagod. Ang koponan sa pagsubok ay mas mahusay na gumawa ng trabaho na mas exploratory.
  • Ipatupad ang bawat Code Logic Branch - Kapag gumagamit ng kondisyon na lohika (kapag isinama mo ang mga ternary operator), ang bawat sangay ng lohika ng code ay dapat na ipatupad.
  • Gumamit ng Di-wasto at Wastong Mga Pag-input para sa Mga Tawag sa Mga Paraan - Ang mga tawag sa mga pamamaraan ay dapat gawin gamit ang parehong hindi wasto at wastong mga input.
  • Kumpletuhin ang Mga Pagsubok - Tiyaking matagumpay na nakumpleto ang mga pagsubok - hindi sila dapat sa pamamagitan ng anumang mga pagbubukod maliban kung inaasahan ang mga pagkakamali. Pangasiwaan ang lahat ng mga eksepsiyon na nahuli - ang paghuli sa kanila ay hindi sapat.
  • Gumamit NG ORDER NG Mga Keyword - Upang matiyak na ibabalik ang iyong mga talaan sa pagkakasunud-sunod na inaasahan mo ang mga ito, gamitin ang ORDER BY keyword.
  • Huwag Ipagpalagay na Naayos ang mga ID ng Naitala nang Susunod - Iwasan ang karaniwang pagkakamali ng pag-aakalang mga record ID ay nakaayos sa sunud-sunod na pagkakasunud-sunod. Ang mga ID ay wala sa pataas na pagkakasunud-sunod, maliban kung nagsingit ka ng maraming mga tala na may parehong kahilingan.
  • Tumawag sa Test.startTest () at Test.stopTest () - Kapag nagpatakbo ka ng isang pagsubok ng unit ng Apex, makakakuha ka ng higit sa saklaw na 75% ng code na sapilitan sa Salesforce. Dapat mong tawagan ang stopTest bago ang mga assertsyon upang pilitin ang mga asynchronous na code na maaaring tumatakbo pa rin upang matapos. Patakbuhin ang mga sariwang query para sa pangwakas na resulta dahil maaaring baguhin ng ibang code ang data. Tinitiyak ng GamitTest.startTest () at Test.stopTest () na i-sandbox ang pagsubok sa loob ng mga limitasyon ng gobernador. Sa ganitong paraan, ang makagagambalang code na ginagamit mo ay hindi makagambala at magbibigay sa iyo ng maling mga negatibo o positibong nakapalibot sa mga limitasyon ng gobernador. Tinitiyak din ng Test.stopTest () na makumpleto ang mga tawag sa @future para sa pagsubok.
  • Kakayahang mabasa - Napakahalaga ng kakayahang mabasa sa mga pagsubok sa yunit. Dapat isama sa mga pangalan ng pagsubok ang tiyak na aksyon na gagawin at ang inaasahang resulta. Ang pamamaraan ay dapat na mapaglarawan at maikli. Ang pamamaraan ay dapat na tulad na maaari itong magamit muli sa iba't ibang mga pagsubok.
  • Bumuo ng Malaking Mga Set ng Data ng Pagsubok bago simulan ang Pagsubok - Dahil tatakbo ang iyong mga pagsubok sa iba't ibang mga sandbox at mga kapaligiran sa produksyon, bumuo ng mga malalaking hanay ng data ng pagsubok bago mo tawagan ang startTest upang matiyak na ang pagsubok ay may ganap na mga limitasyon sa pagpapatupad. Bilang default, Salesforce Github nagpapatakbo ng mga pagsubok na nakahiwalay mula sa data ng produksyon. Kapag kailangan mo ng data ng system tulad ng isang Profile, query upang makuha ang tamang bagay para sa tukoy na kapaligiran.
  • Bumuo ng Iyong Sariling Data ng Pagsubok - Ang data ng pagsubok na iyong ginagamit ay dapat na nabuo sa pagsubok. Maaari mong likhain ang data na ito gamit ang @testSetup na anotasyon at isang klase ng TestUtils upang hindi lamang matiyak na mayroon kang tamang data, ngunit upang matiyak din na ang lahat ng mga pagsubok ay pinapatakbo sa isang sandbox ng developer na walang kinakailangan para sa data.
  • Iwasan ang no-op na AKA null na operasyon - Maraming mga tester ang gumagamit ng no-op na AKA null na operasyon. Ito ay walang silbi na mga code na walang ginagawa. Dahil nasa mga code base na ang mga ito, idaragdag nila ang porsyento ng iyong saklaw.
  • Parehong Pagsasagawa ng Pagsubok - Kapag sinimulan mo ang mga pagsubok mula sa interface ng gumagamit ng Salesforce o sa Developer Console, tatakbo ang mga pagsubok nang kahanay. Ito ay isang mahalagang tampok habang pinapabilis nito ang oras ng pagsubok sa run. Gayunpaman, dapat mong tandaan na maaari itong humantong sa mga isyu sa pagtatalo ng data at kung pinaghihinalaan mo na maaaring mangyari ito, patayin ang parallel na pagpapatupad. Ang pinakakaraniwang mga sanhi ng mga isyu sa pagtatalo ng data na madalas na humantong sa mga error na UNABLE_TO_LOCK_ROW ay:
    • Kapag sinadya ang mga pagsubok upang mai-update ang parehong mga tala nang sabay. Karaniwang nangyayari ang pag-update ng parehong mga tala kapag ang mga pagsubok ay hindi lumilikha ng kanilang sariling data.
    • Kapag mayroong isang bara sa mga pagsubok na tumatakbo nang kahanay at sinubukan nilang lumikha ng mga talaan na may katugmang mga halaga ng patlang ng index. Magaganap ang isang deadlock kapag pumila ang 2 tumatakbo na pagsusulit upang i-roll back ang data (nangyayari ito kapag 2 pagsubok ang mga tala ng pag-input na may parehong natatanging mga halaga ng patlang ng index sa iba't ibang mga order).
    • Upang patayin ang parallel na pagpapatupad ng pagsubok, pumunta sa Pag-setup, ipasok ang Apex Test, pumunta sa dialog ng Mga Pagpipilian sa Pagpapatupad ng Apex Test, piliin ang Huwag paganahin ang Parallel Apex Testing, i-click ang OK.

Huwag paganahin ang Parallel Apex Testing

Kumuha ng isang pro para sa trabaho dahil magkakaroon siya ng karanasan at pagsasanay na kinakailangan upang makagawa ng isang mahusay na pagsubok, na magbibigay sa iyo ng kapayapaan ng isip. Ang pagkuha ng isang pro ay nagbibigay-daan sa iyo upang tumutok sa iyong pangunahing negosyo. Makakatipid din sa iyo ng pera dahil hindi mo kakailanganin ang isang koponan sa bahay para sa trabaho.

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.