Salesforce интеграцийг турших зөвлөмжүүд ба шилдэг туршлагууд

борлуулалтын хүчийг нэгтгэх

Salesforce туршилт нь таны захиалгыг баталгаажуулахад тусална Salesforce нэгтгэх болон бусад аж ахуйн нэгжийн хэрэглээний функциональ байдал. Сайн тест нь Salesforce-ийн бүх модулиудыг данснаас хар тугалга, боломж, тайлан, кампанит ажил, холбоо барих хүртэлх бүх зүйлийг хамардаг. Бүх туршилтуудын нэгэн адил Salesforce тест хийх сайн (үр дүнтэй, үр дүнтэй) арга, муу арга байдаг. Salesforce сайн туршлагыг туршиж байгаа нь юу вэ?

  • Зөв тест хийх хэрэгслийг ашиглана уу - Salesforce тест нь хөтөч дээр эсвэл хиртэлт дээр суурилсан орчинд явагддаг. Хамгийн сүүлийн хөтөч болон хиртэлт хоёулаа дибаг хийх маш сайн хэрэгсэлтэй тул та эдгээрийг туршилтын хичээлүүдтэй хослуулж маш үр дүнтэй үр дүнд хүрнэ үү. Гэхдээ танд илүү их зүйл хэрэгтэй бол Force.com сайтын Apex Interactive Debugger (эсвэл ердөө л Apex) ашиглах хэрэгтэй. Та Salesforce Lightning Inspector програмыг хромын өргөтгөл ашиглан Salesforce Lightning-ийг тусгайлан туршиж үзэх боломжтой гэдгийг анхаарна уу. Дээд нь юм Force.com Java-тэй ижил төстэй шинж чанартай платформын програмчлалын хэл. Энэ бол обьектод чиглэсэн, регистрийн мэдрэмжгүй, буржгар хаалт, цэгийн тэмдэглэгээний синтаксийг дагаж мөрддөг програмчлалын хэл юм. Та Force.com-ийн ихэнх процессын үед програмчлагдсан функцуудыг ажиллуулахын тулд Apex-ийг ашиглаж болно, үүнд гаалийн холбоосууд болон товчлуурууд, шинэчлэлтүүд, устгах, бичлэг хийх үйл явдлын зохицуулагчид Visualforce хуудасны захиалгат контроллер эсвэл хуваарь хийх замаар оруулна.
  • Нэрлэх зөв конвенцийг ашиглах - Тест бичиж эхлэхээс өмнө тестийн аргуудаа зөв нэрлэх нь маш чухал юм. Туршилтын аргын нэр нь гурван хэсэгтэй байх ёстой. Эдгээр нь nameOfMethod (гохыг турших үед оруулах / шинэчлэх / устгах / буцаах гэх мэт таны туршиж буй аргын нэр, хэрэв та холбоо барих утга хоосон байгааг шалгаж байгаа бол null холбоо барих гэх мэт уян хатан TestPath-ийн тухай мэдээлэл. эерэг / сөрөг зам.
  • 100% хамрах хүрээг баталгаажуулах - Salesforce-ийн стандарт зааварчилгаа нь нэгж тест нь таны кодын 75% -ийг хамарсан байх ёстой (тестийн ангиудыг хасах, System.debug руу залгах, тест хийх аргууд) ба та Apex код эсвэл AppExchange програмын багцыг байрлуулах боломжгүй болно. Энэ бол ердийн стандарт бөгөөд таны зорилго 100% хамрах хүрээ байх ёстой гэдгийг анхаарна уу. Бүх эерэг / сөрөг тохиолдлуудыг туршиж үзээд байгаа болон байхгүй байгаа өгөгдлүүдийг шалгана уу. Кодын хамрах хүрээний талаархи бусад чухал зөвлөмжүүд нь:
    • Кодын хамрах хүрээний дугаарыг шинэчлэхийн тулд тестийг ажиллуулах хэрэгтэй, учир нь Apex кодыг шинэчлэхэд тестийг дахин эхлүүлэх хүртэл эдгээр дугаарыг сэргээдэггүй.
    • Хэрэв хамгийн сүүлийн туршилтаас хойш байгууллагад шинэчлэлт гарсан бол кодын хамрах дугаар буруу байх эрсдэлтэй. Зөв үнэлгээний туршилтыг дахин явуулна уу.
    • Кодын хамрах хувь нь менежментийн багц тестийн кодын хамрах хүрээг оруулаагүй бөгөөд зөвхөн эдгээр тестүүд нь гохыг асаахад хүргэдэг.
    • Хамрах хүрээ нь кодын мөрийн нийт тооноос хамаарна. Хэрэв та кодын мөр нэмэх эсвэл хасах бол тухайн хувь хэмжээнд нөлөөлнө.
  • Анги ба хянагч дахь туршилтын тохиолдол - Salesforce-ийг хөгжүүлэхэд ихэнх хөгжүүлэгчид функц тус бүрт тусдаа анги, хянагчийн файлыг үүсгэдэг. Энэ нь кодчиллыг илүү цэгцтэй, хялбар, дахин ашиглах боломжтой, зөөврийн болгохын тулд хийгддэг. Гэхдээ энэ нь илүү хялбар боловч илүү үр дүнтэй биш гэдгийг анхаарах хэрэгтэй. Хэрэв та туршилтын код анхны анги, хянагчийн кодонд байгаа бол зөөврийн байдалд хүрэх болно, учир нь хамгаалагдсан хязгаарлагдмал орчиноос үйлдвэрлэл рүү шилжихдээ ямар ч туршилтын ангийг алдахгүй байх болно.
  • System.assert () ашиглах - Апекс дээр System.assert() нь нөхцөл байдлыг шалгахад ашиглагддаг. Энэ нь тодорхой функцийг хүлээгдэж буй аргаар аргаар гүйцэтгэсэн эсэхийг тодорхойлох боломжийг олгодог тул энэ нь чухал үүрэг юм. Чухал функциональ функцүүдийн хооронд System.assertEquals () ба System.assertNotEquals () -ийг ашиглах нь кодыг зохих ёсоор гүйцэтгэсэн эсэхийг тодорхойлоход туслах төдийгүй, код буруу гарсан тохиолдолд ямар ч өгөгдөл алдаатай бичигдээгүй байхыг баталгаажуулах болно.
  • Цогц шалгалт - Тест хийх нь бүх зүйлийг хамрах ёстой. Та функциональ тест, ачааллын тест, аюулгүй байдлын тест, байршуулалтын тест хийх хэрэгтэй.
  • Нэгжийн тестүүд - Бие даасан бүртгэлүүд нь зөв, хүлээгдэж буй үр дүнг гаргаж байгааг баталгаажуулахын тулд танд нэгжийн шалгалт өгөх шаардлагатай. Кодыг бүхэлд нь хамарсан аварга том тестийг ашиглах нь сайн санаа мэт санагдаж болох боловч үүссэн үр дүнг дибаг хийхэд илүү хэцүү бөгөөд бүтэлгүйтлийг ойлгоход хэцүү болохыг анхаарна уу. Нэгж тест нь туршиж буй ажиллагааны жижиг дэд хэсгийг хамрах ёстой.
  • Бөөнөөр турших тохиолдол - Сайн туршилтын код (триггер, үл хамаарах зүйл, эсвэл анги) нь хэдэн зуун бичлэгийг багтааж болно (Apex-ийн хувьд 200). Та энэ давуу талыг ашиглаж, дан ганц бүртгэл төдийгүй бөөн тохиолдлуудыг туршиж үзэх хэрэгтэй.
  • Эерэг тестүүд - Хүлээгдэж буй бүх сэлгэлтээр хүлээгдэж буй зан үйл тохиолдох эсэхийг шалгах. Тест нь хэрэглэгч маягтыг зөв бөглөсөн, хязгаараас хэтрээгүй эсэхийг шалгах ёстой.
  • Сөрөг тестүүд - Алдааны мэдэгдэл зөв хийгдсэн эсэхийг шалгахын тулд сөрөг тохиолдлуудыг туршиж үзээрэй. Ийм сөрөг тохиолдлуудын жишээ нь сөрөг дүнг зааж өгөх боломжгүй, ирээдүйн огноог нэмж оруулах боломжгүй байна. Өмнө зүг рүү чиглэсэн зөв харьцах нь бүх өөрчлөлтийг бий болгож чаддаг тул сөрөг тестүүд чухал байдаг.
  • Туршилтыг автоматжуулах - Уламжлал ёсоор Salesforce туршилтыг гар аргаар явуулдаг байсан. Энэ нь илүү давуу талтай тул та автоматжуулсан тестийг анхаарч үзэх хэрэгтэй. Үүнд:
    • Гарын авлагын шалгалт нь алдаанд өртөмтгий байдаг тул туршилт нь робот биш харин хүн хийдэг. Хүмүүс уйтгартай, төвлөрөл, тууштай байдал буурч, өнцөг булан засах хандлагаас болж алдаа гаргадаг бол роботууд давтагдах үйл ажиллагаандаа давуу байдаг.
    • Гарын авлагын туршилт нь давтагддаг, томъёолол, ядаргаатай байдаг. Туршилтын баг илүү эрэл хайгуул хийх ажлыг хийх нь дээр.
  • Кодын логик салбар бүрийг гүйцэтгэх - Нөхцөлт логикийг ашиглахдаа (гуравдагч операторуудыг оруулсан тохиолдолд) кодын логикийн салбар бүрийг гүйцэтгэх ёстой.
  • Арга руу залгахад буруу, хүчингүй оролтыг ашиглах - Арга руу дуудахдаа хүчингүй, хүчин төгөлдөр бус оролтыг ашиглах хэрэгтэй.
  • Бүрэн тестүүд - Тестүүд амжилттай дуусч байгаа эсэхийг баталгаажуулж, алдаа гарахаас бусад тохиолдолд үл хамаарах зүйлээр дамжуулж болохгүй. Баригдсан бүх үл хамаарах зүйлийг зохицуулах - тэдгээрийг барих нь тийм ч сайн биш байна.
  • ЗАХИАЛГЫГ түлхүүр үгсээр ашиглах - Таны бүртгэлийг хүссэн дарааллаар буцааж өгөхийг тулд ORDER BY түлхүүр үгсийг ашиглана уу.
  • Бичлэгийн ID-г дараалан байрлуулсан гэж битгий бодоорой - Бичлэгийн ID-г дараалсан дарааллаар байрлуулсан гэж үзэх нийтлэг алдаанаас зайлсхий. Хэрэв та ижил хүсэлттэй олон бичлэг оруулаагүй бол ID нь өсөх дарааллаар ороогүй болно.
  • Test.startTest () ба Test.stopTest () - руу залгах. Та Apex нэгжийн тестийг ажиллуулахдаа Salesforce-д заавал оруулах ёстой 75% -иас дээш кодын хамрах хүрээ авах болно. Ажиллаж байгаа асинхрон кодыг хүчээр тулгахын тулд та зогсоохын тулд дуудах хэрэгтэй. Бусад код нь өгөгдлийг өөрчилж болзошгүй тул эцсийн үр дүнгийн талаархи шинэ асуултуудыг ажиллуулна уу. UseTest.startTest () ба Test.stopTest () -г ашиглах нь захирагчийн хязгаарлалтын хүрээнд тест хийх боломжийг танд олгодог. Ингэснээр таны ашигладаг тохиргооны код хөндлөнгөөс оролцохгүй бөгөөд захирагчийн хязгаарыг тойрсон хуурамч сөрөг эсвэл эерэг талуудыг танд өгөх болно. Test.stopTest () нь тест хийхэд @ ирээдүйн дуудлага хийж дуусгана.
  • Унших чадвар - Унших чадвар нь нэгж туршилтанд маш чухал байдаг. Тестийн нэрэнд тодорхой арга хэмжээ, хүлээгдэж буй үр дүнг багтаасан байх ёстой. Арга нь дүрсэлсэн, богино байх ёстой. Арга нь янз бүрийн туршилтаар дахин ашиглах боломжтой байх ёстой.
  • Эхлэхийн өмнө тестийн томоохон мэдээллийн багцыг бий болгох - Таны туршилтууд нь янз бүрийн хамгаалагдсан хязгаарлагдмал орчин, үйлдвэрлэлийн орчинд ажиллах тул startTest руу залгахаасаа өмнө том хэмжээний туршилтын өгөгдлийн багцыг бий болгож туршилтыг бүрэн гүйцэд гүйцэтгэх боломжтой эсэхийг шалгаарай. Анхны утгаараа, Salesforce Github үйлдвэрлэлийн өгөгдлөөс тусгаарлагдсан туршилтыг явуулдаг. Профайл гэх мэт системийн өгөгдөл хэрэгтэй үед тухайн тодорхой орчинд тохирох зүйлийг олж авах.
  • Өөрийн тестийн өгөгдлийг бий болгох - Таны ашигладаг тестийн өгөгдлийг тест дээр үүсгэх ёстой. Та энэ өгөгдлийг @testSetup аннотаци болон TestUtils анги ашиглан үүсгэж болох бөгөөд энэ нь танд зөвхөн зөв өгөгдөл байгаа эсэхийг баталгаажуулахаас гадна бүх туршилтыг боловсруулагчийн хамгаалагдсан хязгаарлагдмал орчинд ажиллуулахад шаардлагатай болно.
  • Ажиллаагүй AKA null үйлдлээс зайлсхийх - Олон тооны тестерүүд нь AKA хүчингүй үйлдлийг ашигладаг. Эдгээр нь юу ч хийдэггүй, ашиггүй кодууд юм. Тэд таны кодын баазад аль хэдийн орсон тул таны хамрах хүрээний хувийг нэмэх болно.
  • Зэрэгцээ туршилтын гүйцэтгэл - Salesforce хэрэглэгчийн интерфэйс эсвэл Хөгжүүлэгчийн консолоос тест хийж эхлэхэд туршилтууд зэрэгцээ явагдах болно. Энэ нь туршилтын хугацааг хурдасгадаг тул чухал шинж чанар юм. Гэхдээ энэ нь өгөгдлийн маргаантай асуудалд хүргэж болзошгүйг анхаарах хэрэгтэй бөгөөд хэрэв ийм зүйл тохиолдож магадгүй гэж бодож байвал зэрэгцээ гүйцэтгэлийг унтраа. UNABLE_TO_LOCK_ROW алдаа гаргахад хүргэдэг өгөгдлийн маргааны хамгийн нийтлэг шалтгаанууд нь:
    • Туршилтууд нь ижил бүртгэлийг нэгэн зэрэг шинэчлэхэд зориулагдсан бол. Ижил бүртгэлийг шинэчлэх нь ихэвчлэн тестүүд өөрсдийн өгөгдлийг үүсгэдэггүй тохиолдолд тохиолддог.
    • Зэрэгцээгээр явагдаж байгаа туршилтуудын мухардалд орж, тэд индексийн талбарын утгатай тохирох бичлэг хийхийг хичээдэг. Ажиллаж буй 2 тест нь өгөгдлийг буцааж авахаар дараалалд зогсоход гацах байдал үүсэх болно (энэ нь ижил дарааллын ижил индексийн талбарын утгатай 2 оролтын бичлэгийг туршихад тохиолддог).
    • Зэрэгцээ туршилтын гүйцэтгэлийг унтраахын тулд Тохиргоо руу ороод Apex Test гэж оруулаад Apex Test Execution Options харилцах цонх руу ороод Disable Parallel Apex Testing командыг сонгоод OK товчийг дарна уу.

Зэрэгцээ оройн туршилтыг идэвхгүйжүүл

Тэрээр сайн туршилт хийхэд шаардлагатай туршлага, бэлтгэлтэй байх тул ажилд тайвшруулах хөлсөлж аваарай. Мэргэшсэн мэргэжилтэн ажиллуулах нь үндсэн бизнес дээрээ төвлөрөх боломжийг олгодог. Энэ нь танд мөнгөө хэмнэж өгдөг тул ажлын байранд дотоод баг шаардагдахгүй.

Чи юу гэж бодож байна?

Энэ сайт нь спамыг багасгахын тулд Akismet-ийг ашигладаг. Таны өгөгдлийг хэрхэн боловсруулдаг талаар суралц.