Salesforce İnteqrasiyalarının Test Edilməsi üçün Ən Yaxşı Təcrübələr

satış gücünə inteqrasiya

Salesforce testi, özəlləşdirdiyinizi təsdiqləməyinizə kömək edəcəkdir Salesforce inteqrasiyası və digər müəssisə tətbiqetmələrindəki funksiyalar. Yaxşı bir test hesablardan potensiala, fürsətlərdən hesabatlara və kampaniyalardan kontaktlara qədər olan bütün Salesforce modullarını əhatə edir. Bütün testlərdə olduğu kimi, bir Salesforce sınağının yaxşı (təsirli və təsirli) bir yolu və pis bir yolu var. Yaxşı, Salesforce yaxşı təcrübəni sınayan nədir?

  • Doğru Test Alətlərindən istifadə edin - Salesforce testi brauzerdə və ya tutulmaya əsaslanan bir mühitdə olur. Həm son brauzerlərdə, həm də tutulmada böyük bir ayıklama vasitələri var və bunları çox faydalı nəticələr üçün test dərsləri ilə birləşdirə bilərsiniz. Bununla birlikdə, daha çox şeyə ehtiyacınız varsa, Force.com tərəfindən The Apex Interactive Debugger (və ya sadəcə Apex) istifadə edilməlidir. Salesforce Lightning'i xüsusi olaraq test etmək üçün xrom uzantısı olan Salesforce Lightning Inspector-dan da istifadə edə biləcəyinizi unutmayın. Apex bir Force.com Java ilə böyük oxşarlıqlar daşıyan platforma məxsus proqramlaşdırma dili. Qıvrım-mötərizə və nöqtə işarəsi sintaksisini izləyən obyekt yönümlü, hərflərə həssas olmayan, güclü şəkildə yazılan proqramlaşdırma dilidir. Xüsusi linklər və düymələr, yeniləmələr, silmələr və Visualforce səhifə xüsusi nəzarətçiləri və ya planlaşdırma vasitəsilə qeyd hadisəsi işləyiciləri daxil olmaqla əksər Force.com proseslərində proqramlaşdırılmış funksiyaları icra etmək üçün Apex istifadə edə bilərsiniz.
  • Düzgün Adlandırma Konvensiyalarından istifadə edin - Test yazmağa başlamazdan əvvəl test metodlarınızın düzgün adlanması çox vacibdir. Test üsulu adı üç hissədən ibarət olmalıdır. Bunlar nameOfMethod (bir tetiği sınayarkən insert / update / delete / undelete kimi test etdiyiniz fərdi metodun adı, əlaqənin sıfır olduğunu test edərkən null əlaqə kimi çevik olan TestPath haqqında məlumat və test edərkən etibarlıdır. müsbət / mənfi yol.
  • 100% əhatə dairəsini təmin edin - Standart Salesforce direktivi vahid testinin kodunuzun 75% -ni əhatə etməsinə baxmayaraq (test dərsləri, System.debug-a zənglər və test metodları) və Apex kodunu və ya AppExchange tətbiqetmələrini yerləşdirə bilməyəcəksiniz. bunun sadəcə bir standart olduğunu və hədəfinizin 100% əhatə dairəsi olduğunu unutmayın. Bütün müsbət / mənfi halları və mövcud olan və olmayan məlumatları yoxlayın. Kod əhatə dairəsinə gəldikdə digər vacib tövsiyələr bunlardır:
    • Kod əhatə nömrələrini yeniləmək üçün testlər aparmalısınız, çünki Apex kodu yenilənən zaman testlər təkrarlanana qədər bu nömrələr yenilənmir.
    • Təşkilatda son test işlərindən bəri bir yeniləmə varsa, kod əhatə nömrələrinin səhv olması riski var. Düzgün qiymətləndirmə üçün testləri təkrarlayın.
    • Kod əhatə faizi, idarə olunan paket testlərindən kod əhatə dairəsini əhatə etmir, yalnız istisna olmaqla, bu testlər tetikleyicilərin atəş etməsinə səbəb olur.
    • Əhatə dairəsi ümumi kod xəttlərinin sayından asılıdır. Kod sətirləri əlavə etsəniz və ya silsəniz, faiz nisbətinə təsir edəcəksiniz.
  • Siniflərdə və Denetleyicilerde Test Edilənlər - Salesforce inkişafında əksər inkişafçılar hər bir funksiya üçün ayrı siniflər və nəzarətçi sənədləri yaradırlar. Kodlaşdırmanın daha mütəşəkkil, daha asan, yenidən istifadə edilə bilən və portativ olması üçün edilir. Bununla birlikdə qeyd etməlisiniz ki, bu daha asan olsa da, daha təsirli deyil. Test qutusu orijinal sinifdə və nəzarətçi kodundadırsa, portativliyə nail olacaqsınız, çünki qum qutusundan istehsala köçərkən heç bir test sinifini qaçırmayacaqsınız.
  • System.assert () istifadə edin - Apex-də, System.assert() şərtləri yoxlamaq üçün istifadə olunur. Bu, vacib bir funksiyadır, çünki müəyyən bir funksiyanın gözlənildiyi kimi metodla yerinə yetirilib-edilmədiyini təyin etməyə imkan verir. Kritik funksionallıqlar arasında System.assertEquals () və System.assertNotEquals () istifadə etməlisiniz ki, kodun yerinə yetirildiyini təyin etməyinizə kömək etmir, eyni zamanda kodun səhv olduğu təqdirdə heç bir məlumatın səhv yazılmamasını təmin edin.
  • HərtərəfliTest - Test hər şeyi əhatə etməlidir. Funksional test, yük testi, təhlükəsizlik testi və yerləşdirmə testi etməlisiniz.
  • Vahid testləri - Fərdi qeydlərin düzgün və gözlənilən nəticə verdiyini yoxlamaq üçün vahid testləriniz olmalıdır. Kodun hamısını əhatə edən nəhəng bir testdən istifadə etmək yaxşı bir fikir kimi görünə bilər, nəzərə alın ki, yaranan nəticələrin debug edilməsi daha çətin olacaq və uğursuzluğu anlamaq daha çətindir. Vahid testi, test edilən funksionallığın kiçik bir alt hissəsini əhatə etməlidir.
  • Toplu İşlər - Yaxşı bir test kodu (tetikleyici, istisna və ya sinif) bir neçə yüz qeyd üçün (Apex üçün 200) iştirak edə bilər. Bundan faydalanmalı və təkcə fərdi qeydləri yox, həm də toplu halları sınamalısınız.
  • Müsbət testlər - Gözlənilən davranışın bütün gözlənilən permutasiya ilə baş verdiyini yoxlamaq üçün test edin. Test istifadəçinin formu düzgün doldurduğunu və hədləri aşmadığını yoxlamalıdır.
  • Mənfi Testlər - Xəta mesajlarının düzgün hazırlandığını təmin etmək üçün mənfi halları sınayın. Bu cür mənfi halların nümunələri mənfi məbləğləri göstərə bilməmək və gələcək tarixləri əlavə edə bilməməkdir. Mənfi testlər vacibdir, çünki işlər cənuba doğru getdikdə düzgün davranış bütün fərqləri yarada bilər.
  • Testləri avtomatlaşdırın - Ənənəvi olaraq Salesforce testi əl ilə aparıldı. Avtomatlaşdırılmış testi nəzərdən keçirməlisiniz, çünki bu, daha çox üstünlük təklif edir. Bunlara daxildir:
    • Əl testi səhvlərə qarşı həssas olmağınıza səbəb olur, çünki testlər robotlar deyil, insanlar tərəfindən aparılır. İnsanlar cansıxıcılıq, azalmış konsentrasiya və tutarlılıq və küncləri kəsmək meyli səbəbindən səhvlər edərkən robotlar təkrarlanan fəaliyyətlərdə üstündür.
    • Əl testi təkrarlanan, düsturlu və yorucu olur. Sınaq qrupu, daha araşdırıcı bir iş görməkdən daha yaxşıdır.
  • Hər bir kod məntiqi şöbəsini icra edin - Şərti məntiqdən istifadə edərkən (üçlü operatorları daxil etdikdə) kod məntiqinin hər bir qolu icra edilməlidir.
  • Metodlara edilən zənglər üçün etibarsız və etibarlı girişlərdən istifadə edin - Metodlara çağırışlar həm etibarsız, həm də etibarlı girişlərdən istifadə edilməlidir.
  • Tam Testlər - Testlərin uğurla başa çatdığından əmin olun - səhvlər gözlənilmədiyi halda istisnalardan keçməməlidir. Tutulan bütün istisnalardan istifadə edin - onları tutmaq kifayət qədər yaxşı deyil.
  • Sifarişi açar sözlərdən istifadə edin - Qeydlərinizin gözlədiyiniz qaydada qaytarılmasını təmin etmək üçün SİFARİŞ AÇAR sözlərdən istifadə edin.
  • Record ID-lərinin ardıcıl olaraq düzəldildiyini düşünməyin - Qeyd şəxsiyyətlərinin ardıcıl qaydada düzəldildiyini fərz etmək kimi ümumi səhvdən çəkinin. Eyni tələblə birdən çox qeyd daxil etməmisinizsə, şəxsiyyət vəsiqələri artan sırada deyil.
  • Test.startTest () və Test.stopTest () zəng edin - Bir Apex vahid testi keçirdiyiniz zaman, Salesforce-da məcburi olan 75% -dən çox kod əhatə dairəsini əldə edəcəksiniz. Hələ başa çatmaq üçün işləyən asenkron kodları məcbur etmək üçün iddialardan əvvəl stopTest-i çağırmalısınız. Digər kodlar məlumatları dəyişdirə biləcəyi üçün son nəticələr üçün təzə sorğular keçirin. UsingTest.startTest () və Test.stopTest () istifadə edərək, valinin sərhədləri daxilində testi təmin edir. Bu şəkildə istifadə etdiyiniz quraşdırma kodu müdaxilə etməyəcək və sizə qubernator məhdudiyyətləri ətrafında yalnış mənfi və ya müsbət təsir göstərməyəcəkdir. Test.stopTest () ayrıca @gələcək zənglərin test üçün başa çatmasını təmin edir.
  • Okunabilirlik - Okuma qabiliyyəti vahid testlərində çox vacibdir. Test adları, görüləcək xüsusi işi və gözlənilən nəticəni daxil etməlidir. Metod təsviri və qısa olmalıdır. Metod elə olmalıdır ki, fərqli testlərdə yenidən istifadə oluna bilər.
  • StartTest-dən əvvəl böyük test məlumat dəstləri yaradın - Testləriniz fərqli Sandbox və istehsal mühitlərində çalışacağından, testin tam icra hüdudlarına sahib olmasını təmin etmək üçün startTest-ə zəng etmədən əvvəl böyük test məlumat dəstləri yaradın. Varsayılan olaraq, Salesforce Github istehsal məlumatlarından təcrid olunmuş testlər aparır. Profil kimi sistem məlumatlarına ehtiyacınız olduqda, həmin xüsusi mühit üçün doğru olanı əldə etmək üçün sorğu göndərin.
  • Öz Test məlumatlarınızı yaradın - İstifadə etdiyiniz test məlumatları testdə yaradılmalıdır. Bu məlumatları @testSetup annotasiyası və bir TestUtils sinifindən istifadə edərək yalnız düzgün məlumatlarınızı təmin etmək üçün deyil, eyni zamanda bütün testlərin məlumat üçün heç bir tələb olmadan bir geliştirici sandbox-da işlədilməsini təmin edə bilərsiniz.
  • İşə yaramayan AKA boş əməliyyatlarından çəkinin - Bir çox test istifadə olunmayan AKA boş əməliyyatlarından istifadə edir. Bunlar heç bir şey etməyən faydasız kodlardır. Onsuz da kod bazanızda olduqları üçün əhatə dairəsinə əlavə edəcəklər.
  • Paralel Test İcrası - Salesforce istifadəçi interfeysindən və ya Developer Konsolundan testlərə başladığınızda, testlər paralel olaraq davam edəcəkdir. Bu, testin keçirilmə müddətini sürətləndirdiyindən vacib bir xüsusiyyətdir. Bununla birlikdə bunun məlumat mübahisəsi problemlərinə yol aça biləcəyini və bunun baş verəcəyindən şübhələnirsinizsə, paralel icrasını söndürməyinizi unutmamalısınız. Tez-tez UNABLE_TO_LOCK_ROW səhvlərinə səbəb olan məlumat mübahisəsi problemlərinin ən ümumi səbəbləri bunlardır:
    • Testlərin eyni qeydləri eyni zamanda yeniləməsi nəzərdə tutulduqda. Eyni qeydlərin yenilənməsi ümumiyyətlə testlər öz məlumatlarını yaratmadıqda baş verir.
    • Paralel işləyən testlərdə bir çıxılmaz vəziyyət olduqda və uyğun indeks sahəsi dəyərlərinə sahib olan qeydlər yaratmağa çalışırlar. 2 çalışan test məlumatları geri qaytarmaq üçün növbəyə salındıqda bir kilidləmə meydana gələcək (bu, fərqli sifarişlərdə eyni unikal indeks sahəsi dəyərlərinə sahib olan 2 giriş qeydini test etdikdə baş verir).
    • Paralel test icrasını söndürmək üçün Quraşdırmaya gedin, Apex Testini daxil edin, Apex Test İcra Seçimləri dialoquna gedin, Paralel Apex Testini Deaktiv Et seçin, Tamam düyməsini basın.

Paralel Apex Testini deaktiv edin

Yaxşı bir test etmək üçün lazımlı təcrübəyə və təlimə sahib olacağından iş üçün bir mütəxəssis işə götürün, bu da sizə rahatlıq verir. Bir mütəxəssis işə götürmək əsas işinizdə konsentrə olmağınıza imkan verir. Bu həm də sizə qənaət edir, çünki iş üçün daxili komandaya ehtiyacınız olmayacaqdır.

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.