Salesforce интеграциясын тестирлөө боюнча кеңештер жана мыкты тажрыйбалар

сатуу күчтөрүнүн интеграциясы

Salesforce тестирлөөсү настройкаланганыңызды текшерүүгө жардам берет Salesforce интеграциясы жана башка ишкана тиркемелери менен иштөө мүмкүнчүлүктөрү. Жакшы сыноо Salesforce модулдарынын бардыгын эсептерден баштап лидерлерге, мүмкүнчүлүктөрдөн отчетторго жана кампаниялардан байланыштарга чейин камтыйт. Бардык тесттердегидей эле, Salesforce тестин жүргүзүүнүн жакшы (натыйжалуу жана натыйжалуу) ыкмасы жана жаман жолу бар. Ошентип, Salesforce кандай жакшы тажрыйбаны сынап жатат?

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

Parallel Apex тестирлөөнү өчүрүү

Жумушка профессионалдарды жалдаңыз, анткени ал жакшы тесттен өтүү үчүн керектүү тажрыйбага жана билимге ээ болот, бул дагы жан дүйнөңүзгө тынчтык берет. Кесипкөй адистерди жалдоо негизги бизнес ишиңизге көңүл топтоого мүмкүндүк берет. Ошондой эле, бул сиздин акчаңызды үнөмдөйт, анткени жумуш үчүн үйдөн чыккан команда талап кылынбайт.

Эмне деп ойлойсуң?

Бул сайт спам азайтуу Akismet колдонот. Сиздин комментарий маалымат кандайча иштелишин Үйрөнүү.