Mtihani wa ufundishaji
Mtihani wa ufundishaji hufafanuliwa kama mfumo wa majukumu ya yaliyomo fulani, ya kuongezeka kwa ugumu, ya fomu maalum, ambayo inaruhusu mtu kupima kwa ubora na kwa ufanisi kiwango na kutathmini muundo wa utayari wa wanafunzi. Katika mtihani wa ufundishaji, kazi hupangwa kwa utaratibu wa ugumu unaoongezeka - kutoka rahisi hadi ngumu zaidi.
Mtihani wa kujumuisha
Mtihani wa kujumuisha unaweza kuitwa mtihani unaojumuisha mfumo wa kazi unaokidhi mahitaji ya yaliyomo muunganisho, fomu ya mtihani, na kuongezeka kwa ugumu wa kazi zinazolenga utambuzi wa mwisho wa utayari wa mhitimu wa taasisi ya elimu.
Utambuzi unafanywa kwa kuwasilisha kazi kama hizo, majibu sahihi ambayo yanahitaji maarifa yaliyojumuishwa (ya jumla, yanayohusiana wazi) katika uwanja wa taaluma mbili au zaidi za kitaaluma. Uundaji wa vipimo hivyo hutolewa tu kwa wale walimu ambao wana ujuzi wa idadi ya taaluma za kitaaluma na kuelewa jukumu muhimu miunganisho ya taaluma mbalimbali katika kujifunza, wana uwezo wa kuunda kazi, majibu sahihi ambayo yanahitaji wanafunzi kuwa na ujuzi wa taaluma mbalimbali na uwezo wa kutumia ujuzi huo. Upimaji wa kuunganisha unatanguliwa na shirika la mafunzo ya ushirikiano. Kwa bahati mbaya, aina ya sasa ya somo la darasa la kufanya madarasa, pamoja na mgawanyiko mkubwa wa taaluma za kitaaluma, pamoja na mila ya kufundisha taaluma za mtu binafsi (badala ya kozi za jumla), kwa muda mrefu itazuia utekelezaji wa mbinu shirikishi katika michakato. maandalizi ya kujifunza na ufuatiliaji.
Faida ya majaribio shirikishi juu ya yale tofauti-tofauti iko katika maudhui ya habari zaidi ya kila kazi na katika idadi ndogo ya kazi zenyewe.
Mbinu ya kuunda vipimo vya ujumuishaji ni sawa na mbinu ya kuunda vipimo vya jadi, isipokuwa kazi ya kuamua yaliyomo kwenye kazi. Ili kuchagua maudhui ya vipimo vya kuunganisha, matumizi ya mbinu za wataalam ni lazima.
Mtihani wa Adaptive
Jaribio la kubadilika hufanya kazi kama mkaguzi mzuri. Kwanza, "anauliza" swali la ugumu wa wastani, na jibu linalotokana ni tathmini mara moja. Ikiwa jibu ni sahihi, basi tathmini ya uwezo wa mtumaji mtihani huongezeka. Katika kesi hii, swali ngumu zaidi linaulizwa. Mwanafunzi akijibu swali kwa mafanikio, linalofuata linachaguliwa kuwa gumu zaidi; ikiwa halijafaulu, linalofuata linachaguliwa kuwa rahisi zaidi.
Faida kuu ya mtihani wa kurekebisha juu ya jadi ni ufanisi. Jaribio wasilianifu linaweza kubainisha kiwango cha maarifa cha mjaribu kwa maswali machache (wakati mwingine urefu wa jaribio hupunguzwa hadi 60%).
Katika jaribio la kubadilika, kwa wastani, una muda mwingi wa kufikiria kuhusu kila swali kuliko katika jaribio la kawaida. Kwa mfano, badala ya kuchukua dakika 2 kwa kila swali, mtumaji mtihani anaweza kuwa na dakika 3 au 4 (kulingana na maswali mangapi anayohitaji kujibu).
Kuegemea kwa matokeo ya jaribio la kubadilika sanjari na kuegemea kwa majaribio ya urefu usiobadilika. Aina zote mbili za majaribio kwa usawa hutathmini kiwango cha maarifa.
Hata hivyo, inaaminika sana kwamba mtihani wa kukabiliana ni tathmini sahihi zaidi ya ujuzi. Hii si kweli.
Jumla ya maombi. Lakini kati ya hatua hizi mbili za kupima, wengine hutokea. Mimi, kama wengine wengi, huita ujumuishaji wa majaribio kama haya.
Maneno machache kuhusu istilahi
Baada ya kuongea mengi na wapenda maendeleo wanaoendeshwa na majaribio, nilifikia hitimisho kwamba wana ufafanuzi tofauti wa neno "majaribio ya ujumuishaji." Kwa maoni yao, jaribio la ujumuishaji hujaribu nambari ya "nje", ambayo ni, ile inayoingiliana na "ulimwengu wa nje", ulimwengu wa programu.
Kwa hivyo ikiwa nambari zao zinatumia Ajax au LocalStorage au IndexedDB na kwa hivyo haziwezi kujaribiwa na majaribio ya kitengo, wao hufunika utendakazi huo kwenye kiolesura na kudhihaki kiolesura hicho cha majaribio ya kitengo, na kupima utekelezaji halisi wa kiolesura huitwa "jaribio la ujumuishaji" " Kwa mtazamo huu, "jaribio la kujumuisha" hujaribu tu msimbo unaoingiliana na "ulimwengu halisi" nje ya vitengo hivyo vinavyofanya kazi bila kuzingatia ulimwengu halisi.
Mimi, kama wengine wengi, huwa natumia neno "majaribio ya ujumuishaji" kurejelea majaribio ambayo hujaribu ujumuishaji wa vitengo viwili au zaidi (moduli, madarasa, n.k.). Haijalishi ikiwa unajificha ulimwengu halisi kupitia miingiliano iliyofungwa.
Sheria yangu ya kidole juu ya kutumia utekelezaji halisi Ajax na shughuli zingine za I/O (pembejeo/pato) katika majaribio ya ujumuishaji ni hii: ikiwa unaweza kuifanya na majaribio bado yanaendesha haraka na usifanye kwa kushangaza, basi jaribu I/O. Ikiwa operesheni ya I/O ni ngumu, polepole, au ya kushangaza tu, basi tumia vitu vya mzaha katika majaribio yako ya ujumuishaji.
Katika kikokotoo chetu, kwa bahati nzuri, I/O pekee halisi ni DOM. Hakuna simu za Ajax au sababu zingine za kuandika kejeli.
DOM bandia
Swali linatokea: ni muhimu kuandika DOM bandia katika vipimo vya ushirikiano? Tutumie sheria yangu. Kutumia DOM halisi kutafanya vipimo kuwa polepole? Kwa bahati mbaya, jibu ni ndiyo: kutumia DOM halisi ina maana ya kutumia kivinjari halisi, ambayo inafanya vipimo polepole na haitabiriki.
Je, tunatenganisha nambari nyingi za kuthibitisha kutoka kwa DOM au kujaribu kila kitu pamoja katika majaribio ya E2E? Chaguzi zote mbili sio bora. Kwa bahati nzuri, kuna suluhisho la tatu: jsdom. Kifurushi hiki kizuri na cha kushangaza hufanya kile unachotarajia kutoka kwake - kinatumia DOM katika NodeJS.
Inafanya kazi, ni haraka, inaendesha kwenye Node. Ikiwa unatumia zana hii, unaweza kuacha kutibu DOM kama "I/O". Na hii ni muhimu sana, kwa sababu kutenganisha DOM kutoka kwa msimbo wa mbele ni vigumu, ikiwa haiwezekani. (Kwa mfano, sijui jinsi ya kufanya hivyo.) Ninakisia kwamba jsdom iliandikwa mahsusi kwa ajili ya kuendesha majaribio ya frontend chini ya Node.
Hebu tuone jinsi inavyofanya kazi. Kama kawaida, kuna nambari ya uanzishaji na kuna nambari ya jaribio, lakini wakati huu tutaanza na nambari ya jaribio. Lakini kabla ya hapo, kurudi nyuma.
Rudi nyuma
Sehemu hii ni sehemu pekee ya mfululizo ambayo inazingatia mfumo maalum. Na mfumo niliochagua ni React. Si kwa sababu ni mfumo bora. Ninaamini kabisa kuwa hakuna kitu kama hicho. Sidhani hata kuna mifumo bora ya kesi maalum za utumiaji. Kitu pekee ninachoamini ni kwamba watu wanapaswa kutumia mazingira ambayo wanafanya kazi vizuri zaidi.
Na mfumo ambao nina raha kufanya kazi nao ni React, kwa hivyo nambari ifuatayo imeandikwa ndani yake. Lakini kama tutakavyoona, majaribio ya ujumuishaji wa mbele kwa kutumia jsdom inapaswa kufanya kazi katika mifumo yote ya kisasa.
Wacha turudi kutumia jsdom.
Kutumia jsdom
const React = hitaji("react") const e = React.createElement const ReactDom = hitaji("react-dom") const CalculatorApp = hitaji("../../lib/calculator-app") ... eleza( "sehemu ya programu ya kikokotoo", kitendakazi () ( ... it("inapaswa kufanya kazi", chaguo la kukokotoa () ( ReactDom.render(e(CalculatorApp), document.getElementById("container")) const displayElement = document.querySelector(" .onyesha") tarajia(displayElement.textContent).sawa("0")Ya kuvutia ni mstari wa 10 hadi 14. Kwenye mstari wa 10 tunatoa kipengele cha CalculatorApp, ambacho (ikiwa umekuwa ukifuata msimbo kwenye hazina) pia hutoa Onyesho na vipengee vya Keypad.
Kisha tunaangalia kuwa katika mstari wa 12 na 14 kipengele kwenye DOM kinaonyesha thamani ya awali ya 0 kwenye onyesho la kikokotoo.
Na nambari hii, ambayo inaendesha chini ya Node, hutumia document ! Tofauti ya kimataifa ya hati ni tofauti ya kivinjari, lakini iko hapa katika NodeJS. Ili kufanya mistari hii ifanye kazi, idadi kubwa sana ya nambari inahitajika. Kiasi hiki kikubwa cha msimbo ambacho hukaa katika jsdom kimsingi ni utekelezaji kamili wa kila kitu kwenye kivinjari, ukiondoa uwasilishaji wenyewe!
Mstari wa 10, ambao huita ReactDom kutoa kijenzi, pia hutumia hati (na dirisha), kwa kuwa ReactDom huzitumia mara kwa mara katika msimbo wake.
Kwa hivyo ni nani anayeunda anuwai hizi za ulimwengu? Jaribio - wacha tuangalie nambari:
Kabla(kazi () ( global.document = jsdom(`