Integralus testavimas. BDD pagrindai: vienetas, integracija ir galutiniai testai

MOKINIŲ MOKYMOSI LYGIO KONTROLĖS TESTO TECHNOLOGIJŲ KŪRIMAS.

Belonogova Natalija Nikolaevna, matematikos mokytoja GBOU SPO MO "Maskvos regioninė humanitarinė kolegija"

Švietimo technologijos turi žengti koja kojon su laiku. Tempas šiuolaikinis gyvenimas kelia naujus reikalavimus mokymosi procesui. Jei anksčiau baigiamieji egzaminaimatematikabuvo formosparašytabandomasis darbas, tai dabar jau vieningas valstybinis egzaminas. Testai suteikia galimybę gerokai patobulėti ugdymo procesas, nes jie turi nemažai pranašumų prieš kitus žinių kontrolės būdus; būtis privalomoji dalis daug pedagoginių naujovių, jos sumažina žinių patikrinimo laiką, padeda nustatyti individualius mokymosi rodiklius, taip pat esamo ir baigiamojo mokymo spragas.

Anksčiau testai buvo naudojami dviejose pagrindinėse srityse: švietimo ir profesinės atrankos bei profesinio orientavimo srityje. Tokios svarbios gyvenimo sritys ir tiesioginė įtaka Bandymų kontrolės rezultatai apie milijonų žmonių likimą sukėlė įvairių nuomonių už ir prieš bandymus. Didelis juos naudojusiųjų entuziazmas ir ne mažesnis pesimizmas tų, kurie matė šio metodo netobulumą arba nukentėjo dėl netinkamo jo naudojimo, lėmė tai, kad kai kurie testų kontrolę laikė priemone sumenkinti mokytoją, o testus suvokė kaip priemonę išreikšti nepasitikėjimą tradiciniais vertinimais ir todėl parodė tam tikrą atsargumą, ir tik nedaugelis laikė juos radikalios transformacijos priemone. ugdymo procesas link jo objektyvavimo – ir tapo šio metodo entuziastais.

Kartu su kompiuteriu testai padeda kurti modernias adaptyvias mokymosi ir valdymo sistemas – moderniausias organizuojant ugdymo procesą. Be testų neįmanoma pereiti prie progresinio ugdymo pagal mūsų priimtą sistemą. visiška asimiliacijažinių. Mokymai prasideda stojamaisiais testais, po kurių seka srovės valdymas per užduotis testo forma ir baigiasi objektyviu testavimu švietimo pasiekimai. Be to, testai leidžia nustatyti savikontrolę - naudingiausią mokymuisi ir humanišką žinių kontrolės formą, taip pat organizuoti įvertinimą - veiksminga priemonė ugdymo motyvacijos didinimas.

Labiausiai žadina žodis „bandymas“. skirtingi požiūriai. Kai kurie mano, kad tai yra klausimai ar užduotys su vienu paruoštu atsakymu, kurį reikia atspėti. Kiti mano, kad testas yra žaidimas ar pramoga. Dar kiti bando tai interpretuoti kaip vertimą iš Angliškas žodis"testas", (pavyzdys, bandymas, patikrinimas). Šiais laikais yra daugybė testų tipų, todėl vargu ar įmanoma pateikti universalų visų šių tipų apibrėžimą.

Yra dvi pagrindinės testų klasės: tradicinis ir netradicinis.

Tradicinis testas yra standartizuotas pasirengimo lygio ir struktūros diagnozavimo metodas. Tokiame teste visi tiriamieji atsako į tas pačias užduotis, tuo pačiu metu, tomis pačiomis sąlygomis ir su tos pačios taisyklės atsakymų įvertinimas.

Pedagoginis testas apibrėžiamas kaip tam tikro turinio, didėjančio sunkumo ir specifinės formos užduočių sistema, leidžianti kokybiškai ir efektyviai išmatuoti mokinių pasirengimo lygį ir struktūrą. Pedagoginiame teste užduotys išdėstytos didėjančio sunkumo tvarka – nuo ​​lengviausio iki sunkiausio.

Tradiciniai testai apima testusvienalytis ir nevienalytis .

Homogeniniai testai

Homogeninis testas – tai vis sudėtingesnio, specifinės formos ir specifinio turinio užduočių sistema – sistema, sukurta siekiant objektyvaus, kokybinio ir efektyvus metodas vienos akademinės disciplinos studentų struktūros įvertinimas ir pasirengimo lygio matavimas.

Nesunku pastebėti, kad iš esmės homogeninio testo apibrėžimas sutampa su tradicinio testo apibrėžimu.

Homogeniniai testai yra labiau paplitę nei kiti. Pedagogikoje jie yra sukurti valdyti žinias vienoje akademinėje disciplinoje arba vienoje tokios, pavyzdžiui, didelės akademinės disciplinos, kaip fizikos, skyriuje. Vienarūšiame pedagoginiame teste neleidžiama naudoti užduočių, kurios atskleidžia kitas savybes. Pastarojo buvimas pažeidžia pedagoginio testo drausminio grynumo reikalavimą. Juk kiekvienas testas matuoja kažką iš anksto nustatyto.

Heterogeniniai testai

Heterogeninis testas – tai vis sudėtingesnio, specifinės formos ir specifinio turinio užduočių sistema – sistema, sukurta siekiant objektyvaus, kokybiško ir veiksmingo metodo, skirto kelių akademinių studijų studentų struktūrai ir pasirengimo lygiui išmatuoti. disciplinas.

Pagrindinis tikslas tradicinių testų taikymas – nustatyti tarp tiriamųjų nusistovėjusią tvarkos santykį pagal testavimo metu parodytą žinių lygį. Remdamiesi tuo, nustatykite kiekvieno vietą (arba įvertinimą) tam tikrame tiriamųjų rinkinyje. Bandymui jie stengiasi atrinkti kuo mažiau. pakankamas kiekis užduotis, kurios leidžia gana tiksliai nustatyti pasirengimo lygį ir struktūrą. Testo rezultatų aiškinimas pirmiausia atliekamas remiantis aritmetiniu vidurkiu ir vadinamosiomis procentinėmis normomis, kurios parodo, kiek procentų tiriamųjų testo rezultatas yra blogesnis nei bet kurio kito tiriamojo. Ši interpretacija testo rezultatai paskambinoorientuota į normatyvinę .

Integraciniai testai

Integruojamuoju testu galima vadinti testą, susidedantį iš užduočių sistemos, atitinkančios integruojamojo turinio reikalavimus, testo formą ir didėjantį užduočių sunkumą, skirtą apibendrintai galutinei švietimo įstaigos absolvento pasirengimo diagnozei.

Integruojamųjų testų pranašumas prieš heterogeninius yra didesnis kiekvienos užduoties informatyvus turinys ir mažesnis pačių užduočių skaičius.

Adaptyvūs testai

Adaptyvusis testas veikia kaip geras egzaminuotojas. Pirmiausia jis „užduoda“ vidutinio sunkumo klausimą, o gautas atsakymas iškart įvertinamas. Jei atsakymas yra teisingas, testo vykdytojo galimybių įvertinimas didėja. Šiuo atveju daugiau nei sunkus klausimas. Jei atsakymas yra sėkmingas, kompiuteris pasirenka kitą užduotį kaip sunkesnę, jei atsakymas yra nesėkmingas, kita užduotis bus lengvesnė.

Išbandyti turinį galima apibrėžti kaipoptimalus mokomosios medžiagos pateikimas sistemoje testo užduotys . Užklasinis turinys (pavyzdžiui, lygio patikrinimas intelektualinis vystymasis) nėra įtrauktas į pedagoginį testą. Tai psichologinio aspekto tema.

Kadangi pedagoginiame teste užduotys yra suskirstytos pagal sunkumo didinimo principą, vieni testo dalyviai „nepavyksta“ jau atlikdami lengviausią pirmąją užduotį, o kiti nesugeba atlikti vėlesnių užduočių. Vidutinio pasirengimo lygio mokiniai gali teisingai atsakyti tik į pusę testo klausimų, o galiausiai tik labiausiai išmanantys geba patys teisingai atsakyti į klausimus. aukšto lygio sunkumai, esantys testo pabaigoje.

Atsakymas į užduotį Pedagoginis testas yra trumpas sprendimas, susijęs su užduoties turiniu ir forma. Kiekvienai užduočiai priskiriami teisingi ir neteisingi atsakymai. Tikslumo kriterijus iš anksto nustato testo autoriai. Teisingo atsakymo į bet kurią užduotį tikimybė priklauso nuo tiriamojo žinių lygio ir užduoties sudėtingumo lygio santykio. Jei yra panašių skalių, ši tikimybė išreiškiama reikšme nuo nulio iki vieneto. Testuojant dažniau nei kiti ženklai yra tikrinamos žinios, gebėjimai, įgūdžiai ir idėjos. Iš požiūrio taško pedagoginiai matmenys Pravartu pristatyti du pagrindinius žinių kokybės rodiklius –žinių lygis ir struktūra . Jie vertinami įrašant balus už visų būtinų testuojamos medžiagos komponentų žinojimą ir nežinojimą. Norint objektyvizuoti šį procesą, visi komponentai turi būti identiški. Dalykų vertinimo taisyklės taip pat tos pačios. Šios sąlygos atveria kelią objektyviam atskirų žinių ir nežinojimo struktūrų palyginimui.

Žinių lygis atskleidžiama analizuojant kiekvieno mokinio atsakymus į visus testo dalykus. Kuo daugiau teisingų atsakymų, tuo didesnis tiriamųjų individualus testo balas. To paties lygio žinių galima įgyti atsakant į skirtingas užduotis.

Sistemingas testų kontrolės įgyvendinimas leidžia mokytojui ir ugdymo įstaigai įvertinti mokinių mokomosios medžiagos įvaldymo laipsnį per tam tikrą laikotarpį, nustatyti mokymosi sėkmę, atskirų mokinių ir visos grupės žinių, įgūdžių ir gebėjimų spragas ir trūkumus. visumą, nustato baigtos medžiagos įsisavinimo kokybę ir Valstybinių standartų mokymo lygio atitikties reikalavimus. Objektyvi studentų ugdomosios veiklos testinės stebėsenos rezultatų analizė yra pagrindas dėstytojams ir kolegijų vadovams nustatyti ugdomojo darbo būklę ir priemones, reikalingas jai tobulinti. Mokytojo vykdoma testo kontrolė, derinant su kitomis kontrolės ir savikontrolės formomis, kiekvienam mokiniui suteikia galimybę pamatyti tyrimo rezultatus ir imtis priemonių rastiems trūkumams pašalinti.

Objektyvi, patikima ir tinkama testų kontrolė turi svarbią ugdomąją ir vystomąją reikšmę, prisidedanti prie visapusiško programos tyrimo, žinių, įgūdžių plėtimo, gilinimo ir tobulinimo bei mokinių pažintinių interesų ugdymo. Kiekvienas studentas yra priverstas aktyviai ir motyvuotai dalyvauti testo kontrolės procese, nes moksliškai organizuoto pedagoginio testo technologija neleidžia tiriamiesiems būti nedėmesingiems atliekant užduotis.

Objektyvi testo kontrolė mokymosi procese taip pat pasižymi didele edukacine reikšme, neskaip tai padidina atsakomybę už ne tik mokinių, bet ir mokytojo atliekamą darbą, pratina mokinius prie sistemingo darbo ir atlikimo tikslumo edukacines užduotis, formuoja teigiamas moralines savybes ir kuria sveiką visuomenės nuomonę.

Sudėtingas naudojimas bandomosios ir netestinės mokinių ugdymo veiklos kontrolės formos galiausiai yra skirtos ugdymo kokybei gerinti.

Analizuojant teoriniai tyrimaišalies ir užsienio mokslininkų, taip pat masinio testavimo praktikos, galima teigti, kad aukštus kokybės kriterijus atitinkantys pedagoginiai testai turi neabejotinų pranašumų prieš tradicinius. subjektyvios formos mokinių mokymosi lygio stebėjimas. Patikimas ir galiojantis pedagoginis testas visiškai atitinka technologijų, skirtų mokinių žinių ir įgūdžių stebėjimui visuose etapuose, reikalavimusmokymas.

Į naudą bandymo technologija valdikliai apima:

    Individualus charakteris kontrolė, galimybė kontroliuoti kiekvieno mokinio darbą, jo asmeninę ugdomąją veiklą.

    Galimybė reguliariai, sistemingai testuoti visuose mokymosi proceso etapuose.

    Galimybė derinti su kitais tradicinės formos pedagoginė kontrolė.

    Išsamumas, o tai reiškia, kad pedagoginis testas gali apimti visas mokymo programos dalis, suteikiant pilną patikrinimą teorinių žinių, intelektualinis ir praktinių įgūdžių ir mokinių įgūdžius.

    Testo kontrolės objektyvumas, neįskaitant subjektyvių (dažnai klaidingų) vertybinių dėstytojo vertinimų ir išvadų, pagrįstų nepakankamu mokinių pasirengimo lygio ištyrimu ar šališkas požiūris kai kuriems iš jų.

    Atsižvelgiant į kiekvieno akademinio dalyko ir atskirų jo skyrių ypatumus, naudojant šiuolaikinės technikos testo užduočių formų kūrimas ir įvairovė.

    Galimybė atlikti tradicinį („popierinį“) ir kompiuterinį (į vietinis tinklas) bandymas.

    Galimybė pritaikyti šiuolaikinės technologijos kompiuterinis adaptyvus testavimas.

    Masinio didelio masto standartizuoto testavimo galimybė spausdinant ir dauginant lygiagrečias testo formas (parinktis) ir pristatomas į įvairias mokymo įstaigas.

    Atsižvelgiant į individualias konkrečios tiriamųjų imties ypatybes, reikalaujant naudoti įvairius testo rengimo metodus ir testo užduotis pagal šias charakteristikas.

    Reikalavimų vienodumas visiems egzaminų dalyviams, neatsižvelgiant į jų ankstesnius mokymosi pasiekimus.

    Testo kontrolės standartizavimas, galimybė sukurti vieną testą skirtingiems švietimo įstaigos remiantis GOS SPO reikalavimais.

    Testų balų skalės diferencijavimas, leidžiantis mokinių ugdymosi pasiekimų lygį reitinguoti plačiu diapazonu.

    Didelis testų kontrolės patikimumas, leidžiantis kalbėti apie visavertį pedagoginį mokymo lygio matavimą.

    Didelis testo kontrolės turinio pagrįstumas, pagrįstas visų įtraukimu didaktiniai vienetai mokymo programas į testines užduotis.

    Didelis nuspėjamasis stojamųjų testų pagrįstumas, leidžiantis numatyti studentų sėkmę ateityje.

    Aukšto kriterijaus (dabartinis) galutinių sertifikavimo testų galiojimas.

    Pedagoginio testo efektyvumas, leidžiantis kontroliuoti bet kokią dalykų imtį, už trumpas laikas su minimaliomis išlaidomis.

    Tinkamai organizuojant testavimą ir taikant metodus informacijos saugumas Galima atmesti kai kurių mokinių nesąžiningą požiūrį į testų raštu atlikimą (sukčiavimą, užuominų, apgaulės lapų naudojimą ir pan.).

    Testo kontrolė skatina nuolatinį visų mokinių darbą, ir tai yra tam tikru mastu pasiekiamas atliekant didelio masto testavimą, kuris tiriamiesiems yra netikėtas.

    Galimybė testuojant atsižvelgti į regioninius valstybinių išsilavinimo standartų ypatumus.

Užtikrinti ir realizuoti bandymų technologijos pranašumus galima tik atsižvelgiant į keliamus reikalavimusklasikinė ir šiuolaikinė testų teorija. Tik remiantis testų teorija ir šiuolaikiniais testų kūrimo metodais galima užtikrinti patikimumą ir pagrįstumą 1 ir kontrolės efektyvumą, savo užduočių atlikimą mokymosi procese ir baigiamąjį studentų atestavimą.

Pedagoginio testo turinį lemia didaktinės užduotys įvairiuose mokymo etapuose, specifikaakademiniai dalykai, studentų pasirengimo ir tobulėjimo lygis. Labai svarbu, kad testų kontrolė neapsiribotų mokinių žinių patikrinimu tiesiog atkuriant informaciją, kurią jie gavo iš mokytojo ar iš vadovėlių. Testo kontrolės procese didelę reikšmę turi visapusiškas visos mokinio ugdomosios veiklos patikrinimas, įskaitant jo bendrojo vystymosi dinamiką, specialiųjų įgūdžių ir gebėjimų formavimąsi, aktyvumą, pažintinius interesus, stebėjimo rezultatus jos vertinime išreiškiama mokinių ugdomoji ir pažintinė veikla. Plačiąja šio žodžio prasme vertinimas yra bet kokių objektų ar procesų vertės, lygio ar reikšmingumo charakteristika. Įvertinti reiškia nustatyti kažko lygį, laipsnį ar kokybę. Kalbant apie ugdomąją ir pažintinę veiklą, vertinimas reiškia, kad mokiniai atliko jiems skirtas užduotis.jų mokymosi procese, jų rengimo ir tobulėjimo lygį, įgytų žinių kokybę, ugdomus įgūdžius ir gebėjimus. Kadangi vertinimas yra glaudžiai susijęs su kontrole ir yra jos pasekmė, jis visiškai apima pedagoginius kontrolės reikalavimus: objektyvumą, sistemingumą, individualus požiūris ir kt.

NAUDOTŲ ŠALTINIŲ SĄRAŠAS

    Zh.N. Zaiceva, V.I. Soldatin Švietimo informatizacija: problemos būklė ir perspektyvos M.; ICPKPS, 1998, 38 p.

    Christovskis S.A. Metodiniai pagrindai dizainas elektroninis vadovėlis,Švietimo informacinių išteklių, sistemų ir technologijų projektavimas. Šešt. ataskaitos ir pranešimai - M., ICPCP, 1998, 75 p.

    Avanesovas V.S. “ Moksliniai pagrindaižinių patikrinimo kontrolė". M. Tyrimų centras, 1994 m.

    http://www.usatic.narod.ru

1 GALIOJIMAS – bandymo rezultatų tinkamumas tam tikslui, kuriam buvo atliktas bandymas.

Iš viso paraiškų. Tačiau tarp šių dviejų testavimo etapų pasitaiko ir kitų. Aš, kaip ir daugelis kitų, tokius testus vadinu integracija.

Keletas žodžių apie terminologiją

Daug kalbėdamasis su bandymais paremtais kūrimo entuziastais, padariau išvadą, kad jie turi kitokį termino „integracijos testai“ apibrėžimą. Jų požiūriu, integracijos testas išbando „išorinį“ kodą, ty tą, kuris sąveikauja su „ išorinis pasaulis“, programų pasaulis.

Taigi, jei jų kodas naudoja „Ajax“, „localStorage“ arba „IndexedDB“ ir todėl negali būti išbandytas naudojant vienetų testus, jie sujungia tą funkciją į sąsają ir tyčiojasi iš tos sąsajos vienetų bandymams, o tikrojo sąsajos įgyvendinimo testavimas vadinamas „integracijos testu“ “. Šiuo požiūriu „integracijos testas“ tiesiog išbando kodą, kuris sąveikauja su „realiu pasauliu“ už tų vienetų, kurie veikia neatsižvelgdami į realų pasaulį, ribų.

Aš, kaip ir daugelis kitų, linkęs vartoti terminą „integravimo testai“, turėdamas omenyje testus, kuriais tikrinamas dviejų ar daugiau vienetų (modulių, klasių ir kt.) integravimas. Nesvarbu, ar pasislėpsi realus pasaulis per užrakintas sąsajas.

Mano taisyklė, ar naudoti tikrus „Ajax“ ir kitų įvesties/išvesties operacijų diegimus integravimo testuose, yra tokia: jei galite tai padaryti, o testai vis tiek vyksta greitai ir nesielgia keistai, tada išbandykite I. /O. Jei įvesties / išvesties operacija sudėtinga, lėta ar tiesiog keista, integravimo testuose naudokite netikrus objektus.

Laimei, mūsų skaičiuoklėje vienintelis tikras įvestis / išvestis yra DOM. Nėra „Ajax“ skambučių ar kitų priežasčių rašyti pašaipas.

Netikras DOM

Kyla klausimas: ar integracijos testuose būtina rašyti netikrą DOM? Taikykim mano taisyklę. Ar naudojant tikrą DOM bandymai sulėtės? Deja, atsakymas yra teigiamas: naudojant tikrąjį DOM reiškia naudoti tikrą naršyklę, todėl testai yra lėti ir nenuspėjami.

Mes išsiskirsime dauguma kodą iš DOM ar viską kartu išbandyti E2E testuose? Abu variantai nėra optimalūs. Laimei, yra trečias sprendimas: jsdom. Šis nuostabus ir nuostabus paketas daro būtent tai, ko iš jo tikitės – įdiegia DOM NodeJS.

Tai veikia, greita, veikia Node. Jei naudojate šį įrankį, galite nebelaikyti DOM kaip "I/O". Ir tai labai svarbu, nes atskirti DOM nuo priekinio kodo yra sunku, jei ne neįmanoma. (Pavyzdžiui, aš nežinau, kaip tai padaryti.) Spėju, kad jsdom buvo parašytas specialiai, kad būtų galima atlikti frontend testus pagal Node.

Pažiūrėkime, kaip tai veikia. Kaip įprasta, yra inicijavimo kodas ir yra bandomasis kodas, tačiau šį kartą pradėsime nuo bandomojo kodo. Bet prieš tai atsitraukimas.

Atsitraukti

Ši dalis yra vienintelė serijos dalis, kuri yra sutelkta į konkrečią sistemą. Ir aš pasirinkau sistemą „React“. Ne todėl, kad tai yra geriausia sistema. Tvirtai tikiu, kad tokio dalyko nėra. Aš net nemanau, kad yra geresnių struktūrų konkretiems naudojimo atvejams. Vienintelis dalykas, kuriuo tikiu, yra tai, kad žmonės turėtų naudotis aplinka, kurioje jiems patogiausia dirbti.

O karkasas, su kuriuo man patogiausia dirbti, yra React, todėl joje parašytas toks kodas. Tačiau, kaip matysime, frontend integracijos testai naudojant jsdom turėtų veikti visose šiuolaikinėse sistemose.

Grįžkime prie jsdom naudojimo.

Naudojant jsdom

const React = reikalauti("reaguoti") const e = React.createElement const ReactDom = reikalauti("react-dom") const CalculatorApp = reikalauti("../../lib/calculator-app") ... aprašyti( "skaičiuotuvo programos komponentas", funkcija () ( ... it("turėtų veikti", funkcija () ( ReactDom.render(e(CalculatorApp), document.getElementById("container")) const displayElement = document.querySelector(" .display") expect(displayElement.textContent).to.equal("0")

Įdomiausios yra 10–14 eilutės. 10 eilutėje pateikiame CalculatorApp komponentą, kuris (jei sekėte saugykloje esantį kodą) taip pat pateikia ekrano ir klaviatūros komponentus.

Tada patikriname, ar 12 ir 14 eilutėse DOM elementas rodomas skaičiuotuvo ekrane pradinė vertė, lygus 0.

Ir šis kodas, kuris veikia „Node“, naudoja dokumentą! Dokumento visuotinis kintamasis yra naršyklės kintamasis, bet čia jis yra NodeJS. Kad šios eilutės veiktų, reikia labai daug kodo. Šis labai didelis kodo kiekis, esantis jsdom, iš esmės yra visiškas naršyklėje esančių dalykų įgyvendinimas, atėmus patį atvaizdavimą!

10 eilutė, kuri iškviečia „ReactDom“, kad atvaizduotų komponentą, taip pat naudoja dokumentą (ir langą), nes „ReactDom“ juos dažnai naudoja savo kode.

Taigi, kas sukuria šiuos pasaulinius kintamuosius? Testas – pažiūrėkime į kodą:

Prieš(funkcija () ( global.document = jsdom(`

`) global.window = document.defaultView )) after(function () ( ištrinti global.window ištrinti global.document ))

3 eilutėje sukuriame paprastą dokumentą, kuriame yra tik div.

4 eilutėje sukuriame visuotinį objekto langą. Reakcijai to reikia.

Išvalymo funkcija pašalins šiuos visuotinius kintamuosius ir jie neužims atminties.

Idealiu atveju dokumento ir lango kintamieji neturėtų būti visuotiniai. Priešingu atveju negalėsime vykdyti testų lygiagrečiai su kitais integravimo testais, nes jie visi perrašys globalius kintamuosius.

Deja, jie turi būti visuotiniai – „React“ ir „ReactDom“ reikia, kad dokumentas ir langas būtų būtent tokie, nes negalite jų perduoti.

Renginių tvarkymas

O kaip su likusia testo dalimi? Pažiūrėkime:

ReactDom.render(e(CalculatorApp), document.getElementById("konteineris")) const displayElement = document.querySelector(.display") expect(displayElement.textContent).to.equal("0") const digit4Element = dokumentas. querySelector(.skaitmuo-4") const digit2Element = document.querySelector(".skaitmuo-2") const operatorMultiply = document.querySelector(.operator-multiply") const operatorEquals = document.querySelector(".operator-equals" ) skaitmuo4elementas.paspaudimas() skaitmuo2elementas.paspaudimas() operatorMultiply.click() digit2Element.click() operatorEquals.click() tikėtis(displayElement.textContent).to.equal("84")

Likusioje testo dalyje išbandomas scenarijus, kai vartotojas paspaudžia „42 * 2 =“ ir turėtų gauti „84“.

Ir tai daro gražiai – pasitelkia elementus žinoma funkcija querySelector ir tada naudoja spustelėjimą, kad juos spustelėtų. Jūs netgi galite sukurti įvykį ir suaktyvinti jį rankiniu būdu naudodami kažką panašaus į:

Var ev = new Event("keyup", ...); document.dispatchEvent(ev);

Tačiau integruotas paspaudimo metodas veikia, todėl mes jį naudojame.

Taip paprasta!

Sumanūs pastebės, kad šis testas tikrina lygiai tą patį, ką ir E2E testas. Tai tiesa, tačiau atkreipkite dėmesį, kad šis testas yra maždaug 10 kartų greitesnis ir sinchroninio pobūdžio. Daug lengviau rašyti ir daug lengviau skaityti.

Kodėl, jei testai yra vienodi, mums reikia integracijos testo? Na, tik todėl, kad taip yra edukacinis projektas, ne tas tikrasis. Du komponentai sudaro visą programą, todėl integravimas ir E2E testai atlieka tą patį. Tačiau tikroje programoje E2E testą sudaro šimtai modulių, o integravimo testai apima kelis, galbūt 10 modulių. Taigi tikroje programoje bus apie 10 E2E testų, bet šimtai integracijos testų.



Trečiame straipsnyje buvo kalbama apie tradicinius testus. Ten taip pat buvo pateiktos vienarūšių ir nevienalyčių testų apibrėžimai. Šiandienos straipsnyje pateikiama medžiaga apie netradicinius testus, į kuriuos įeina integraciniai, adaptyvieji, kelių pakopų testai ir vadinamieji testai su į kriterijų orientuota rezultatų interpretacija.

1. Integraciniai testai
Integruojamuoju testu galima vadinti testą, susidedantį iš užduočių sistemos, atitinkančios integruojamojo turinio reikalavimus, testo formą ir didėjantį užduočių sunkumą, skirtą apibendrintai galutinei švietimo įstaigos absolvento pasirengimo diagnozei. Diagnostika atliekama pateikiant tokias užduotis, kurių teisingiems atsakymams reikia integruotų (apibendrintų, aiškiai tarpusavyje susijusių) žinių apie du ir daugiau ugdymo disciplinos. Kurti tokius testus gali tik tie mokytojai, kurie išmano daugybę akademinių disciplinų ir supranta svarbus vaidmuo tarpdalykinius ryšius mokantis, geba kurti užduotis, kurių teisingi atsakymai reikalauja iš mokinių turėti įvairių disciplinų žinių ir gebėjimo jas pritaikyti.

Prieš integruojamąjį testavimą organizuojamas integracinis mokymas. Deja, dabartinė pamokų vedimo klasė-pamokos forma kartu su pernelyg dideliu akademinių disciplinų susiskaidymu ir atskirų disciplinų (o ne apibendrintų kursų) dėstymo tradicija ilgam trukdys procesuose diegti integracinį požiūrį. mokymosi ir pasirengimo stebėjimo. Integruojamųjų testų pranašumas prieš heterogeninius yra didesnis kiekvienos užduoties informatyvus turinys ir mažesnis pačių užduočių skaičius. Didėjant išsilavinimo lygiui ir studijuojamų akademinių disciplinų skaičiui, didėja poreikis kurti integruojamuosius testus. Todėl bandymai sukurti tokius testus dažniausiai pastebimi aukštosiose mokyklose. Integraciniai testai ypač naudingi siekiant padidinti finalo objektyvumą ir efektyvumą valstybinis sertifikatas mokiniai ir studentai.

Integruojamųjų testų kūrimo metodika yra panaši į tradicinių testų kūrimo metodiką, išskyrus užduočių turinio nustatymo darbą. Norėdami pasirinkti integruojamųjų testų turinį, naudokite ekspertiniai metodai yra privalomas. Taip yra dėl to, kad tik ekspertai gali nustatyti užduočių turinio tinkamumą testo tikslams. Tačiau pirmiausia patiems ekspertams bus svarbu apsispręsti dėl tam tikrų ugdymo ir studijų tikslų edukacines programas, o tada susitaria tarpusavyje esminiais klausimais, palikdami nagrinėti tik reikšmingumo laipsnio supratimo skirtumus atskiri elementai V bendra struktūra pasirengimas. Esminiais klausimais sutarta atrinkta ekspertų sudėtis užsienio literatūra dažnai panelė. Arba atsižvelgiant į prasmės skirtumus paskutinis žodis, rusiškai tokią kompoziciją galima pavadinti reprezentacine ekspertų grupe. Grupė parenkama taip, kad tinkamai atspindėtų metodą, naudotą kuriant atitinkamą testą.

2. Adaptyvieji testai
Adaptyviojo valdymo galimybė atsiranda dėl poreikio racionalizuoti tradicinį testavimą. Kiekvienas mokytojas supranta, kad gerai pasiruošusiam mokiniui nereikia duoti lengvų ar labai lengvų užduočių. Nes tikimybė priimti teisingą sprendimą yra per didelė. Be to, lengvos medžiagos neturi pastebimo vystymosi potencialo. Simetriškai, dėl didelės tikimybės neteisingas sprendimas Nėra prasmės duoti sunkių užduočių silpnam mokiniui. Yra žinoma, kad sunkios ir labai sunkios užduotys sumažėja mokymosi motyvacija daug studentų. Reikėjo rasti palyginamąjį, vienoje skalėje, užduočių sudėtingumo ir žinių lygio matą. Šis matas buvo rastas pedagoginio matavimo teorijoje. Danų matematikas G. Raschas pavadino šį matą žodžiu „logit“ (1). Atsiradus kompiuteriams, ši priemonė sudarė pagrindą adaptyviajai žinių kontrolės metodikai, kurios metodais reguliuojamas pateikiamų užduočių sudėtingumas ir skaičius, priklausomai nuo mokinių atsako. Jei atsakymas sėkmingas, kompiuteris parenka kitą užduotį sunkesnę, jei atsakymas bus nesėkmingas, kita užduotis bus lengvesnė. Natūralu, kad šis algoritmas reikalauja iš anksto išbandyti visas užduotis, nustatyti jų sudėtingumo laipsnį, taip pat sukurti užduočių banką ir specialią programą.

Pasirengimo lygį atitinkančių užduočių naudojimas žymiai padidina matavimų tikslumą ir sumažina individualaus testavimo laiką iki maždaug 5 - 10 minučių. kiekvieno mokinio teisingo atsakymo tikimybė.

IN Vakarų literatūra Yra trys adaptyvaus testavimo parinktys. Pirmasis vadinamas piramidiniu testavimu. Nesant išankstinių vertinimų, visiems tiriamiesiems pateikiama vidutinio sunkumo užduotis ir tik tada, priklausomai nuo atsakymo, kiekvienam dalykui suteikiama lengvesnė arba sunkesnė užduotis; Kiekviename žingsnyje naudinga naudoti sunkumų skalės padalijimo per pusę taisyklę. Antrajame variante kontrolė prasideda nuo bet kokio sunkumo lygio, kurio nori bandomasis subjektas, palaipsniui artėjant prie tikrojo žinių lygio. Trečias variantas yra tada, kai testavimas atliekamas per užduočių banką, suskirstytą pagal sudėtingumo lygius.

Taigi adaptyvusis testas yra automatizuotos testavimo sistemos variantas, kuriame iš anksto žinomi kiekvienos užduoties sunkumo ir gebėjimo diferencijuoti parametrai. Ši sistema sukurta kaip kompiuterinis užduočių bankas, sutvarkytas pagal dominančių užduočių ypatybes. Svarbiausia adaptyviųjų testų užduočių charakteristika yra jų sudėtingumo lygis, gautas empiriškai, o tai reiškia: prieš patenkant į banką kiekviena užduotis yra empiriškai patikrinama su pakankamai dideliu tipinių dominančios populiacijos mokinių skaičiumi. Žodžiai „interesų kontingentas“ čia reiškia griežtesnės „bendrosios populiacijos“ sąvokos, žinomos moksle, reikšmę.

Adaptyviojo požiūrio ištakos gali būti siejamos su atsiradimu pedagoginiai darbai Comenius, Pestalozzi ir Disterweg, kuriuos vienija atitikimo gamtai ir mokymosi žmogiškumo idėjos. Jų centre pedagogines sistemas buvo studentas. Pavyzdžiui, mažai žinomame A. Disterwego veikale (2) „Didaktikos taisyklės“ (Kijevas, 1870 m.) galite perskaityti tokius žodžius: „Mokykitės pagal prigimtį... Mokykitės be spragų... Pradėkite mokyti ten, kur mokinys baigė... Prieš pradedant dėstyti, reikia patyrinėti atspirties tašką... Nežinant, kur mokinys sustojo, jo padoriai išmokyti neįmanoma“. Faktinio mokinių žinių lygio nesuvokimas ir natūralūs jų gebėjimų įsisavinti siūlomas žinias skirtumai tapo pagrindine priežastimi adaptyvios sistemos, remiantis mokymosi individualizavimo principu. Šį principą sunku įgyvendinti tradicinėje pamokų formoje.

Prieš atsirandant pirmiesiems kompiuteriams, dauguma žinoma sistema, artimas adaptyviam mokymuisi, buvo vadinamoji „visiško žinių įsisavinimo sistema“. Apie tai jau buvo rašyta Mokykloje Nr.26/99.

3. Vadinamieji kriterijais pagrįsti testai
Tai labai įprastas ir iš principo neteisingas bandymų grupės pavadinimas, sulaukęs tam tikro platinimo ir pripažinimo mūsų šalyje. Deja, šį pavadinimą netgi buvo bandoma įvesti į mūsų sertifikavimo ir standartų įstatymų tekstą, kuriam šio straipsnio autorius prieštaravo (3). Iš esmės mes susiduriame ne su bandymais, o su unikalia testų rezultatų interpretacija.

Jeigu pagrindinė užduotis yra noras išsiaiškinti – kokius akademinės disciplinos turinio elementus yra įvaldęs vienas ar kitas bandomasis dalykas, tuomet tai yra esminio – pedagoginis požiūrisį testo rezultatų interpretavimą. Šiuo atveju nustatoma, kuris iš gyventojų užduotys (anglų kalba Domain) subjektas žino ir ko nežino. Rezultatus interpretuoja dėstytojai akademinės disciplinos kalba.

Išvada sudaryta pagal loginę grandinę: akademinės disciplinos ® turinys (tai yra rodyklės ženklas, štai kaip atrodo) bendroji žinių visuma užduočių ® testas, kaip šios populiacijos užduočių pavyzdys. , tiriamojo atsakymai ® tikimybinė išvada apie jo akademinės disciplinos žinias. Orientuojantis į tokius testus, reikalingas didelis užduočių skaičius ir gana išsamus studijuojamos disciplinos turinio apibrėžimas. Rezultatų interpretaciją atlieka dalykų mokytojai.

Diskusijos sukasi apie du pagrindinius klausimus:

1) testo turinio teisingumas, o tai reiškia jo užduočių formuluotės tikslumą, dalykinį mokslinį pagrįstumą ir testo leistinumą tikrinti dominančias žinias tam tikroje dalykų grupėje. Argumentuodami už konkretų testą, dalykų mokytojai remiasi konceptualiu aparatu, kalbos principais ir apskritai dėstomos akademinės disciplinos žiniomis. Tokiais atvejais kalbame apie testus su į turinį orientuota rezultatų interpretacija (4). Tai yra vadinamasis domeno nuorodų testavimo atvejis, kuris gali būti išverstas kaip žinių iš testo rezultatų koreliavimas su žiniomis. visas sąrašas kurios atstovaujamos bendrojoje populiacijoje (domenas).

2) žinių vertinimo pagrįstumą visame akademinis dalykas, remiantis tiriamųjų bandymų rezultatais naudojant nedidelę bandomųjų elementų imtį; visų užduočių, kurias galima būtų duoti tiriamiesiems, kad būtų užtikrintas ir pagrįstas įvertinimas, pavyzdį iš potencialiai arba faktiškai esamos visumos. Tiesą sakant, tai yra indukcinių išvadų, susijusių su daugelio klausimų, pagrįstų atsakymais į nedidelį skaičių testo elementų, tikslumo pateisinimo.

Antrasis testų tipas yra susijęs su sutelkimu į tokius konkrečių tikslų ir užduotis, tokias kaip, pavyzdžiui, palyginti trumpo reikalingų žinių, įgūdžių ir gebėjimų sąrašo įvaldymo lygio patikrinimas, kuris yra tam tikras meistriškumo standartas arba kriterijus. Pavyzdžiui, dėl absolventų atestavimo švietimo įstaigos Svarbu turėti užduočių, leidžiančių daryti išvadą apie minimalią priimtiną absolventų kompetenciją. Užsienyje jie vadinami: minimalių kompetencijų testai. Tikrinant minimalų priimtiną žinių lygį, užduočių turinys iš esmės supaprastinamas. Kadangi tokias užduotis turi atlikti visi absolventai, priimami į mokymo įstaigą atestuoti, negalima kalbėti apie testus kaip apie objektyvų ir efektyvų dalykų matavimo metodą. skirtingų lygių pasirengimą, griežtąja „testo“ sąvokos prasme. Šis metodas buvo sukurtas švietimo institucijoms, susidūrusioms su būtinybe greitai patikrinti švietimo būklę daugelyje švietimo įstaigų ir neleisti pastarosioms nukristi žemiau didžiausio leistino reikalavimų lygio.

Tokiais atvejais Vakarų literatūroje kalbama apie testus su kriterine rezultatų interpretacija. Išvada sudaroma pagal loginę grandinę: užduotys - atsakymai - išvados apie dalyko atitiktį tam tikram kriterijui. Į kriterijų orientuotą interpretaciją turime omenyje sertifikavimo medžiagos turinio palyginimą su bandymų rezultatais ir išvadą – kas iš konkretaus standarto, atsižvelgiant į reikalavimus ir kokiu lygiu, iš tikrųjų buvo išmokta.

Kriterijais pagrįstas aiškinimas reikalauja kelių mažesnis skaičius užduotys, per kurias nustatoma, ką subjektas žino ir ko nežino pagal pateiktą standartą. Kitaip tariant, čia atsakymai vertinami ne pagal visą reikalingų žinių sritį (Domain), o tik iš srities, kurią riboja konkretus žinių standartas ar lygis (kriterijai). Kaip ir Domain Referenced Testing atveju, rezultatai interpretuojami akademinės disciplinos kalba, tačiau daugiausia švietimo institucijų darbuotojai ir tie mokytojai, kurių nuomone vadovai remiasi sertifikuodami.

Autoriaus nuomone, šiuo atveju naudojami „testai“ neatitinka tikrųjų tradicinių ir adaptyviųjų testų testo reikalavimų. Taikant į kriterijų orientuotą interpretaciją, diagnozuojant iš anksto nustatytą pasirengimo lygį, iš esmės naudojami ne testai, tradicine šio metodo prasme, o testų ir kitų formų užduočių rinkiniai, nieko daugiau. Žodis vienas, o prasmė kita. „Testai“ su į kriterijų orientuota interpretacija dažnai kontrastuojami su testais su vadinamąja normatyvine rezultatų interpretacija. Tiesą sakant, pastarieji yra tradiciniai testai, kai kurie iš jų turi lygiagrečius variantus.

Literatūra
  1. Rasch, G. Kai kurių intelekto ir pasiekimų testų tikimybiniai modeliai. Su pratarme ir pokalbiu B.D. Wright. Univ. Chicago Press. Chicago & London, 1980. 199 p. Norint tiksliau suvokti sąvokos „logit“ reikšmę, gali praversti kai kurie formalizmas. Iš esmės G. Rushas pristatė dvi priemones: „žinių lygio logitą“ ir „užduoties sudėtingumo lygio logitą“. Pirmąjį jis apibrėžė kaip natūralusis logaritmas tiriamojo teisingų atsakymų santykio su visais testo klausimais santykis su neteisingų atsakymų proporcija, o antrasis - kaip kito santykio natūralusis logaritmas - neteisingų atsakymų į testo dalyką santykis su teisingų atsakymų proporcija. ta pati užduotis, skirta dalykų rinkiniui.
  2. Disterweg A. „Didaktikos taisyklės“ (Kijevas, 1870)
  3. Pavyzdžiui, žiūrėkite straipsnį: Avanesov V.S. “ Išsilavinimo standartai reikia keisti“. USh, Nr. 46, 1998 m. gruodžio mėn
  4. Gyvas W. (Red.). Domeno nuorodų testavimas. Švietimo technologijų leidiniai. Englewood Cliffs, NJ, 1974 m.
  5. Berkas R.A. (Red.). Kriterijaus vadovas – referencinio testo sudarymas. John Hopkins Univ. Spauda, ​​Baltimorė, 1984 m.

12 atsakymų

Integracijos testavimas kai išbandote kelis komponentus ir kaip jie veikia kartu. Pavyzdžiui, kaip kita sistema sąveikauja su jūsų sistema arba duomenų bazė sąveikauja su duomenų abstrakcijos sluoksniu. Paprastai tam reikia visiškai įdiegtos sistemos, nors ji neveikia grynomis formomis.

Funkcinis testavimas yra tada, kai išbandote sistemą pagal gaminio funkcinius reikalavimus. Produkto / projekto valdymas paprastai įrašo šiuos duomenis, o QA įformina procesą, ką vartotojas turėtų matyti ir patirti ir ką galutinis rezultatasšiuos procesus. Priklausomai nuo produkto, tai gali būti automatizuota arba ne.

Funkcinis testavimas: Taip, mes funkcionaliai išbandome gaminį ar programinę įrangą kaip visumą, nesvarbu, ar ji veikia funkcionaliai, ar ne (bandymo mygtukai, nuorodos ir kt.)

Pavyzdžiui: Prisijungimo puslapis

pateikiate vartotojo vardą ir slaptažodį, patikrinate, ar jis nukreipia jus į pagrindinį puslapį, ar ne.

Integracijos testavimas: Taip, jūs tik testuojate integruotą programinę įrangą, bet tikrinate, kur vyksta duomenų srautas ir ar duomenų bazėje nevyksta kokių nors pakeitimų.

Pavyzdžiui: el. pašto siuntimas

Išsiunčiate kam nors vieną pranešimą, yra duomenų srautas, taip pat duomenų bazės pasikeitimas (išsiųsta lentelė padidina reikšmę 1)

Tikimės, kad tai jums padėjo.

Tai svarbus skirtumas, bet, deja, niekada nerasite susitarimo. Problema ta, kad dauguma kūrėjų juos apibrėžia savo savo tašką regėjimas. Tai labai panašu į Plutono diskusiją. (Jei ji būtų arčiau Saulės, ar tai būtų planeta?)

Vieneto testavimą lengva apibrėžti. Jis išbando CUT ( Testuojamas kodas) ir nieko daugiau. (Na, kuo mažiau.) Tai reiškia, kad tai yra pasityčiojimas, išmušimai ir sutapimai.

Kitame spektro gale daugelis žmonių vadina sistemos integravimo testavimu. Tai yra kiek įmanoma daugiau bandymų, tačiau vis tiek ieškoma klaidų jūsų pačių CUT.

Bet kaip dėl didžiulės erdvės tarp jų?

  • Pavyzdžiui, ką daryti, jei patikrinsite šiek tiek daugiau nei CUT? Ką daryti, jei įjungtumėte Fibonacci funkciją, o ne naudotumėte įvestą šviestuvą? Pavadinčiau tai funkciniu testavimu, bet pasaulis su manimi nesutinka.
  • Ką daryti, jei įtrauktumėte laiką () arba randą ()? Arba ką daryti, jei paskambinsite http://google.com ? Aš tai pavadinčiau sistemos testavimu, bet vėlgi esu vienas.

Kodėl tai svarbu? Kadangi sistemos testai yra nepatikimi. Jie yra būtini, bet kartais gali nepavykti dėl priežasčių, nepriklausančių nuo jūsų. Kita vertus, funkciniai testai turi būti išlaikyti visada, o ne atsitiktinai; jei jie yra greiti, jie taip pat gali būti naudojami nuo pat pradžių, kad būtų galima naudoti testu pagrįstą plėtrą, neparašant per daug testų savo vidiniam įgyvendinimui. Kitaip tariant, manau, kad vienetų testai gali būti sudėtingesni, nei jie verti, ir aš esu geroje kompanijoje.

Aš nustatiau testus ant 3 ašių, o vienetinio testavimo metu visos jos yra nuliai:

  • Funkcinis testavimas: naudokite tikrą kodą vis giliau ir giliau į skambučių krūvą.
  • Integracijos testavimas: vis didesnis jūsų skambučių krūvas; kitaip tariant, išbandyti savo CUT paleidžiant kodą, kuris jį naudos.
  • Sistemos testavimas: vis daugiau unikalių operacijų (O/S planuotojas, laikrodis, tinklas ir kt.).

Testas lengvai gali būti visų 3 skirtingu laipsniu.

Funkcinis testavimas: tai testavimo procesas, kurio metu išbandomas kiekvienas modulio komponentas. Pavyzdžiui: jei tinklalapyje yra teksto laukas, turite pažymėti radijo roboto žymimuosius laukelius, mygtukus ir išskleidžiamuosius meniu ir pan.

Integracijos testavimas: procesas, kurio metu tikrinamas duomenų srautas tarp dviejų modulių.

Integracijos testavimas. Integracijos testavimas yra ne kas kita, kaip įvairių modulių testavimas. Turėtumėte patikrinti ryšį tarp modulių. Pavyzdžiui, atidarote facebook, tada įvedę prisijungimo ID ir slaptažodį matote prisijungimo puslapį, galite pamatyti facebook pagrindinį puslapį, todėl prisijungimo puslapis yra vienas modulis, o pagrindinis puslapis yra kitas modulis. ryšį tarp jų reikėtų tikrinti tik prisijungus, tada turėtų būti atidarytas tik pagrindinis puslapis, o ne pranešimų dėžutė ar dar kas nors. Yra du pagrindiniai integracijos testavimo tipai: metodas iš viršaus į apačią ir metodas iš apačios į viršų.

Funkcinis testavimas. Funkcinio testavimo metu turėtumėte galvoti tik apie įvestį ir išvestį. Tokiu atveju turite galvoti kaip tikras vartotojas. Testavimas, ką davėte ir kokį rezultatą gavote, yra funkcinis testavimas. reikia tik stebėti išėjimą. Atliekant funkcinį testavimą, jums nereikia tikrinti programos kodavimo ar programinė įranga.

Funkcinio testavimo testas skirtas programos funkcionalumui ir pagalbinėms funkcijoms. Programos funkcionalumas turi veikti tinkamai arba ne.

Atliekant integracijos testavimo testą, reikia patikrinti modulių arba submodulių priklausomybę. Modulio įrašų pavyzdys turi būti tinkamai pateiktas ir rodomas kitame modulyje.

Integravimo testas: – kai baigiamas įrenginio testavimas ir išspręstos problemos su susijusiais komponentais, tada viskas būtini komponentai turi būti integruota į vieną sistemą, kad galėtų atlikti operaciją. Integravus sistemos komponentus Norint patikrinti, ar sistema veikia tinkamai, ar ne, tokio tipo testavimas vadinamas integracijos testavimu.

Funkcinis testavimas: - Testavimas daugiausia skirstomas į dvi kategorijas: 1. Funkcinis testavimas 2. Nefunkcinis testavimas ** Funkcinis testavimas: - Patikrinti, ar programinė įranga veikia pagal vartotojo reikalavimus, ar ne. ** Nefunkcinis testavimas: - patikrinti, ar programinė įranga atitinka kokybės kriterijus, tokius kaip testavimas nepalankiausiomis sąlygomis, saugos testas ir kt.

Paprastai Klientas pateikia reikalavimus tik funkciniam testui ir nefunkciniam testui, reikalavimai neturėtų būti paminėti, tačiau šiai veiklai atlikti reikalinga programa.

Sakyčiau, kad jie abu yra glaudžiai susiję vienas su kitu ir juos labai sunku atskirti. Mano nuomone, integracijos testavimas yra funkcinio testavimo pogrupis.

Funkcionalumo patikrinimas pagrįstas pradiniais jūsų pateiktais reikalavimais. Jūs patikrinsite programos elgseną, kaip tikėtasi, atsižvelgiant į reikalavimus.

Kalbant apie integracijos testavimą, kalbama apie modulių sąveiką. Jei modulis siunčia įvestį, modulis B gali jį apdoroti arba ne.

Integracijos testavimas

Galite pamatyti, kaip skirtingi sistemos moduliai veikia kartu. Daugiausia kalbame apie integruotą įvairių modulių funkcionalumą, o ne apie skirtingus sistemos komponentus. Už efektyvus darbas bet kokia sistema arba programinės įrangos produktas kiekvienas komponentas turi būti sinchronizuotas vienas su kitu. Daugeliu atvejų integracijos testavimui naudojamas įrankis bus tas, kurį naudojome vienetų testavimui. Jis naudojamas sunkios situacijos kai vienetinio testavimo nepakanka sistemai išbandyti.

Funkcinis testavimas

Tai galima apibrėžti kaip atskirų modulių funkcionalumo testavimą. Tai reiškia programinės įrangos produkto testavimą individualus lygis patikrinti jo funkcionalumą. Bandomieji atvejai yra skirti programinei įrangai išbandyti laukiamus ir netikėtus rezultatus. Šio tipo bandymai labiau atliekami iš vartotojo perspektyvos. Tai reiškia, kad atsižvelgiama į vartotojo lūkesčius dėl tipo įvesties. Jis taip pat vadinamas juodosios dėžės testavimu ir taip pat vadinamas uždaros dėžės testavimu

Joks programinės įrangos kūrimas nėra baigtas neišbandžius vykdomojo kodo. Tiesą sakant, tai užima pusę viso kūrimo laiko ir daugiau nei pusę projekto išlaidų. Tačiau tai yra neatsiejama naujų programų, programų ir sistemų kūrimo proceso dalis.

Integracijos testavimas kaip didelio darbo dalis

Vienas iš programinės įrangos kokybės kontrolės būdų yra integracinis testavimas, kurio įvestis paimama iš atskirų modulių, išbandytų ankstesniame etape.

Skirtingai nuo modulinės parinkties, kuri nustato klaidas, lokalizuotas kiekvienoje atskiroje funkcijoje ar klasėje, integracijos testavimas yra defektų, susijusių su sąveikos tarp atskirose dalyse sukurtas produktas. Integraciniam funkciniam testavimui naudojamas „baltosios dėžutės“ metodas, tai yra, kokybės inžinierius turi prieigą prie kiekvieno atskiro modulio tekstų ir išmano juos bei jų tarpusavio sąveikos principus.

Modulio surinkimo būdai

Monolitinis metodas reiškia, kad visi moduliai, kuriems ateityje bus taikomas integracijos testavimas, surenkami kartu vienu metu. Beveik neabejotinai pasitaiko situacijų, kai dalis bandomojo komplekso dar nėra paruošta.

Tokiu atveju jis pakeičiamas papildomai sukurtais „stubeliais“ arba tvarkyklėmis.

Kartu su monolitiniu metodu yra ir prieauginis metodas (jis taip pat vadinamas žingsnis po žingsnio), nes bandomojo kodo tūris palaipsniui didėja, todėl galima lokalizuoti sritis, kuriose yra atskirų dalių santykių defektų.

Prieauginis metodas apima du modulių pridėjimo būdus:

  • iš viršaus į apačią arba didėjančia tvarka,
  • iš apačios į viršų – besileidžiantis.

Monolitinio ir prieauginio testavimo ypatumai

Pagrindinis monolitinio tipo surinkimo trūkumas yra didelis skaičius laiko ir darbo sąnaudos išleidžiamos imituojant trūkstamas bandomojo komplekso dalis. Atrodytų, kad stubai yra gana patogus testavimo įrankis, tačiau pasitaiko situacijų, kai procese reikia iš naujo sukurti imituojamas programos dalis. Pavyzdžiui, jei pasikeičia testuojamų modulių sudėtis. Be to, defektų radimo efektyvumas nėra toks didelis, kai dirbama ne su realia preke, o tik su fiktyviu komponentu. Tas pats trūkumas taip pat susijęs su laipsnišku bandymu, naudojant „iš apačios į viršų“ metodą.

Tuo pačiu metu vienas iš žingsnis po žingsnio metodo trūkumų yra poreikis organizuoti ir sukurti aplinką moduliams vykdyti tam tikra seka. Lygiagrečiai plėtoti viršutinį ir apatinį lygius taip pat praktiškai neįmanoma.

Žinoma, abu surinkimo būdai, monolitiniai ir inkrementiniai, turi ne tik trūkumų, bet ir privalumų. Pirmuoju atveju yra puikios galimybės lygiagrečiai plėtoti visas su testavimu susijusias klases ir funkcijas, kaip ir pradinis etapas, ir po modifikavimo. Žingsnis po žingsnio metodas yra mažiau darbo reikalaujantis: moduliai pridedami palaipsniui, o klaidos ir defektai taip pat palaipsniui atrandami. Tai, kaip žinoma, sumažina laiką, praleistą jų paieškai.

Integracijos testavimo pranašumai

Šiame etape atliekamas didžiulis darbas siekiant patikrinti visų lygių ryšius, be kurių, žinoma, neįmanoma atlikti tolesnių bandymų.

Programinės įrangos integravimo testavimas turi keletą privalumų:

  • atskirų programos modulių sąveikos sąsajos tikrinimas;
  • santykių tarp išbandytų kompleksinių ir trečiųjų šalių programinės įrangos sprendimų kontrolė;
  • išorinių sprendimo komponentų veikimo testavimas;
  • projektinės dokumentacijos dėl atskirų modulių sąveikos atitikties kontrolė.

Defektų taisymas

Integracijos testavimas baigtas, bet tai dar ne viskas. Rastos klaidos įrašomos ir siunčiamos kūrėjui taisyti, o po to procesas prasideda iš naujo.

Pirmiausia reikia patikrinti, ar nustatyti defektai buvo pašalinti. Antra, pakeitus šaltinio kodą, gali atsirasti naujų klaidų, susijusių su programos veikimu ir sąveika su trečiųjų šalių programine įranga.

Nors šiuo metu yra daug kokybės kontrolės metodų, integracijos testavimas vis dar atlieka svarbų vaidmenį. Šio tipo patikrinimo pavyzdys gali aiškiai parodyti programinės įrangos kūrimo ir dokumentacijos kliūtis.

Testavimo automatika

Priklausomai nuo pradinio duomenų komplekso apimties ir dalykinė sritis gali iškilti išbandymo laiko ir viso renginio darbo intensyvumo problema.

Daugiausiai veiksmingas patikrinimas plėtra turi būti naudojama didžiulė sumaįvesties duomenis ir sąlygas, kurių neįmanoma apdoroti „rankiniu būdu“. Šiai problemai išspręsti naudojama testavimo automatika. Kaip ir kiti tipai, integracijos testavimas taip pat gali būti automatizuotas. Tai sumažins bendrą kūrimo laiką ir padidins klaidų aptikimo proceso efektyvumą.

Tačiau testavimo automatika negali visiškai pakeisti kokybės inžinieriaus darbo, o tik jį papildyti.

Taigi integracijos testavimas yra neatsiejama bet kokios programinės įrangos kūrimo dalis ir vienas iš viso produkto kokybės tikrinimo proceso etapų. Kaip ir bet kuris metodas, jis turi nemažai privalumų ir trūkumų, tačiau jo nenaudojant aukštos kokybės programinės įrangos kūrimas tampa neįmanomas.



Ar jums patiko straipsnis? Pasidalinkite su draugais!