Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip „Racerx“ palyginamas su kitais „MVVMCross“ programų lygiagrečių bandymo įrankiais


Kaip „Racerx“ palyginamas su kitais „MVVMCross“ programų lygiagrečių bandymo įrankiais


Palyginus „Racerx“ su kitais lyginamųjų bandymų įrankiais, ypač atsižvelgiant į „MVVMCross“ programas, būtina suprasti kiekvieno įrankio unikalias savybes ir apribojimus.

racerx

** „Racerx“ yra srauto jautri statinės analizės įrankis, skirtas aptikti suderinamumo problemas, tokias kaip rasės ir aklavietės. Tai išsiskiria reikalaujant minimalaus šaltinio kodo anotacijos, paprastai reikia tik mažos lentelės, nurodančios API, naudojamas spynų įsigijimui ir išleidimui. Tai sumažina didelių sistemų anotacijos naštą, todėl ji bus efektyvesnė kūrėjams, dirbantiems su sudėtingomis programomis. „Racerx“ iš šaltinio kodo sukuria valdymo srauto grafiką (CFG), kuriame yra informacijos apie funkcijų skambučius, bendrą atmintį ir rodyklės naudojimą. Tada jis naudoja šią diagramą, kad nustatytų galimus suderinamumo problemas, analizuodamas, kaip spynos naudojamos kodo bazėje [1].

palyginimas su šachmatais

** Šachmatai, dar vienas suderinamumo bandymo įrankis, sukurtas „Microsoft Research“, naudoja modelio tikrinimo ir dinaminės analizės derinį. Skirtingai nuo „Racerx“, šachmatai sistemingai tyrinėja gijų tvarkaraščius, kad aptiktų suderinamumo klaidas, tokias kaip lenktynių sąlygos, aklavietės ir duomenų sugadinimas. Šachmatai suteikia visiškai pakartojamą vykdymo aplinką, kuri yra naudinga derinimo tikslais. Tačiau šachmatai remiasi programuotojo tvirtinimais dėl būsenos patikrinimo ir nesiima sinchronizacijos per susipynusias operacijas, kurios gali apriboti jo pritaikomumą tam tikrais scenarijais [1].

palyginimas su kitais įrankiais

Atsižvelgiant į „MVVMCross“ programas, kurios pirmiausia yra kryžminės platformos ir naudoja MVVM modelį, pasirinkimo lygiaverčių bandymo įrankių pasirinkimui gali turėti įtakos specifiniai programos poreikiai. Pvz., Jei programa apima sudėtingas sriegimo ar kartu operacijas, tokios priemonės kaip šachmatai ar „Racerx“ gali būti naudingi. Tačiau pats MVVMCross iš prigimties nepateikia lygiagrečių bandymo priemonių; Daugiausia dėmesio skiriama įvairių platformų plėtros sistemai, naudojant MVVM modelį [9] [10].

„MVVMCross“ programų aspektai

Kuriant „MVVMCross“ programas, pagrindinis dėmesys dažnai sutelktas į elgesio ir verslo logikos dalijimąsi platformomis. Nors „MVVMCross“ pateikia tokias funkcijas kaip priklausomybės injekcija ir papildinių sistemos, tačiau jis tiesiogiai nenagrinėja suderinamumo testavimo. Todėl kūrėjams gali tekti integruoti išorinius įrankius, tokius kaip „Racerx“ ar šachmatai, į savo bandymo darbo eigą, kad būtų užtikrinta, jog lygiagrečios operacijos jų programose būtų tinkamai patvirtintos.

Apibendrinant galima pasakyti, kad „Racerx“ yra galingas įrankis, skirtas aptikti suderinamumo problemas, susijusias su minimaliu kodo anotacija, todėl jis tinka didelėms ir sudėtingoms sistemoms. Tačiau jos pritaikymas „MVVMCross“ programoms priklausytų nuo konkrečių programos suderinamumo reikalavimų, todėl ją gali reikėti naudoti kartu su kitomis bandymo sistemomis, kurios yra labiau integruotos su MVVMCross ekosistema.

Citatos:
[1] https://learn.microsoft.com/en-us/archive/msdn-magazine/2008/june/tools-and-techniques-to-didrify-concurrency-isuess
[2] https://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparion
[3] https://testsigma.com/blog/android-testing-tools/
[4] https://www.mvvmcross.com/documentation/fundamentals/testing
[5] https://www.funktize.com/automated-testing/cross-browser-testing-tools
[6] https://www.browserstack.com/guide/cross-platform-testing-tools
[7] https://stackoverflow.com/questions/17233922/mvvmcross-mvx-Race-usage
[8] https://stackoverflow.com/questions/25134716/should-i-choose-mvvmlight-or-mvvmcross-on-a-new-project-of-psple-to-medium-comp
[9] https://github.com/mvvmcross/mvvmcross
[10] https://www.mvvmcross.com