- Unitate-probak Vs Integrazio-Probak Vs Funtzionalak Probak
- Zer da proba unitarioa?
- Zer da Integration Testing. ?
- Unitate-probak vs Integrazio-probak
- Proba funtzionalak
- Ondorioa
- Irakurketa gomendatua
Unitatearen, integrazioaren eta proba funtzionalen konparaketa zehatza:
Edozein software-aplikaziorako, bai Unitate-probak, bai Integrazio-probak, oso garrantzitsuak dira horietako bakoitzak bat erabiltzen baitu. software-aplikazio bat probatzeko prozesu bakarra.
Baina edozeinek edo biek ere ezin dute proba funtzionalak ordezkatu edozein unetan.
Unitate-probak Vs Integrazio-Probak Vs Funtzionalak Probak
Unitate-probak esan nahi du aplikazio baten modulu indibidualak probatzea isolatuta (menpekotasunekin inolako interakziorik gabe) baieztatu kodea gauzak ondo egiten ari dela.
Integrazio-probak esan nahi du modulu desberdinak ondo funtzionatzen duten egiaztatzea taldean konbinatuta.
Proba funtzionalak sistemako funtzionaltasun zati bat probatzea esan nahi du (menpekotasunekin elkarreragin dezake) kodeak gauza egokiak egiten ari dela baieztatzeko.
Proba funtzionalak integrazio probekin erlazionatuta daude, hala ere, probekin adierazten dute. egiaztatu aplikazioaren funtzionaltasun osoa kode guztiak batera exekutatzen direla, ia integrazio-proba bat.
Proba unitarioak sistemaren osagai bakarra egiaztatzea kontuan hartzen du, eta funtzionaltasun-probak aplikazio baten funtzionamendua nahi denaren arabera egiaztatzea hartzen du. sistemaren eskakizunen zehaztapenean deskribatutako funtzionaltasuna. Bestalde, integrazio-probak egiaztapena hartzen du kontuansisteman integratutako moduluak.
Eta, garrantzitsuena, inbertsioaren itzulera (ROI) optimizatzeko, zure kodearen oinarriak ahalik eta unitate-proba gehien, integrazio-proba gutxiago eta proba funtzional gutxien izan behar ditu.
Hau ondoen irudikatzen da probaren piramide honetan:
Unitate-probak idazteko errazagoak eta exekutatzeko azkarragoak dira. Probak ezartzeko eta mantentzeko denbora eta ahalegina handitzen da unitate-probetatik proba funtzionaletara, goiko piramidean erakusten den moduan.
Adibidea:
Uler ditzagun hiru proba mota hauek adibide sinplifikatu batekin.
Adib. . Telefono mugikor funtzionala izateko, beharrezkoak diren zati nagusiak “bateria” eta “sim txartela” dira.
Unitatearen probaren adibidea – Bateria bere bizitza, ahalmena eta beste parametro batzuk egiaztatzen dira. Sim txartela aktibatzen den egiaztatzen da.
Integrazioaren probaren adibidea – Bateria eta sim txartela integratuta daude, hau da, mugikorra abiarazteko muntatuta daude.
Funtzionala Proba adibidea : telefono mugikor baten funtzionaltasuna bere ezaugarriei eta bateriaren erabilerari eta SIM txartelaren instalazioei dagokienez egiaztatzen da.
Adibide bat ikusi dugu an. layman-en baldintzak.
Orain, har dezagun orain saioa hasteko orri baten adibide tekniko bat:
Ia web-aplikazio guztiek behar dute bere erabiltzaileek/bezeroek saioa hasteko. Horretarako, aplikazio guztiek egin behar duteelementu hauek dituen "Saio-hasiera" orria eduki:
- Kontua/Erabiltzaile-izena
- Pasahitza
- Saio-hasiera/Saioa botoia
Unitate-probak egiteko, honako hauek izan daitezke proba kasuak:
- Eremuaren luzera: erabiltzaile-izenaren eta pasahitzaren eremuak.
- Idazketa-eremuen balioek baliozkoak izan behar dute.
- Hasierako botoia gaitzen da bi eremuetan baliozko balioak (Formatua eta luzera) sartu ondoren soilik.
Integrazio-probetarako, honako hauek izan daitezke proba kasuak:
- Erabiltzaileak ongietorri-mezua ikusten du baliozko balioak sartu eta saioa hasteko botoia sakatu ondoren.
- Erabiltzailea ongietorri orrira edo hasierako orrira joan behar da baliozko sarrera eta klik egin ondoren. Saioa hasteko botoia.
Orain, unitate- eta integrazio-probak egin ondoren, ikus ditzagun proba funtzionaletarako kontuan hartzen diren proba kasu osagarriak:
- Itxaroten den jokabidea egiaztatzen da, hau da, erabiltzailea saioa hasteko botoian klik eginda, baliozko erabiltzaile-izen eta pasahitzaren balioak sartu ondoren.
- Ba al dago ongietorri-mezurik saioa hasi ondoren agertuko den?
- Ba al dago baliogabeko saio-hasiera batean agertu beharko lukeen errore-mezurik?
- Ba al dago gordeta guneko cookierik saio-hasiera-eremuetarako?
- Aktibatu gabeko erabiltzaile batek saioa hasi al dezake?
- Ba al dago pasahitzak ahaztu dituzten erabiltzaileentzako "pasahitza ahaztu" estekarik?
Horrelako kasuak askoz gehiago daude.proba funtzional baten adimena proba funtzionalak egiten dituen bitartean. Baina garatzaile batek ezin ditu kasu guztiak hartu Unitate eta Integrazio proba kasuak eraikitzen dituen bitartean.
Horrela, hainbat eszenatoki daude oraindik probatu gabe dauden unitate eta integrazio probak egin ondoren ere.
Unitatea, integrazioa eta proba funtzionalak banan-banan aztertzeko garaia da orain.
Zer da proba unitarioa?
Izenak dioen bezala, maila honek "Unitate" bat probatzea dakar.
Hemen unitatea probagarria den aplikazio baten zati txikiena izan daiteke, izan banakako funtzio, metodo eta abar txikiena. Software garatzaileak dira unitate-probaren kasuak idazten dituztenak. Honen helburua eskakizunekin eta unitatearen espero den portaerarekin bat etortzea da.
Jarraian, unitate-probari eta bere onurei buruzko puntu garrantzitsu batzuk daude:
- Unitate-probak Integrazio-probak baino lehen egiten dira software garatzaileek kutxa zuriko proba-teknikak erabiliz.
- Unitate-probak ez dute soilik portaera positiboa egiaztatzen, hau da, irteera zuzena baliozko sarreraren kasuan, baizik eta baliogabeko sarrerarekin gertatzen diren akatsak ere. 14>
- Arazoak/akatsak hasiera batean aurkitzea oso erabilgarria da eta proiektuaren kostu orokorrak murrizten ditu. Unitatearen probak kodea integratu aurretik egiten direnez, fase honetan aurkitutako arazoak oso erraz konpon daitezke eta haien eragina ere oso txikiagoa da.
- Unitateko proba batek kode zati txikiak edo banaka probatzen ditu.funtzioak, beraz, proba-kasu hauetan aurkitutako arazo/akatsak independenteak dira eta ez dute eraginik beste proba-kasuetan.
- Beste abantaila garrantzitsu bat da unitate-test-kasuek kodearen probak errazten eta errazten dituztela. Beraz, errazagoa da arazoak konpontzea geroago ere, kodearen azken aldaketa soilik probatu behar baita.
- Unitatearen probak denbora eta kostua aurrezten du, eta berrerabilgarria eta mantentzen erraza da.
JUnit (Java framework), PHPUnit (PHP framework), NUnit (.Net framework) etab. hizkuntza ezberdinetarako erabiltzen diren unitate-proba tresna ezagunak dira.
Zer da Integration Testing. ?
Integrazio-probak sistemaren zati ezberdinen integrazioa elkarrekin probatzen du. Sistemaren bi zati edo modulu desberdin integratzen dira lehenik eta gero integrazio-probak egiten dira.
Integrazio proben helburua da funtzionaltasuna, fidagarritasuna eta errendimendua egiaztatzea. sistema integratuta dagoenean.
Integrazio-probak unitate-probak diren moduluetan egiten dira lehenik eta, ondoren, integrazio-probak definitzen du moduluen konbinazioak nahi den irteera ematen duen ala ez.
Integrazio-probak egin daitezke. probatzaile independenteek edo garatzaileek ere egin beharko dute.
Integrazio probak egiteko 3 ikuspegi mota desberdin daude. Azter ditzagun labur-labur horietako bakoitza:
a) Big Bang-en integrazioaren ikuspegia
Ikuspegi honetan, modulu edo unitate guztiak osorik integratzen eta probatzen dira aldi berean. Hau normalean sistema osoa une bakar batean integrazio-probak egiteko prest dagoenean egiten da.
Mesedez, ez nahastu integrazio-probaren ikuspegi hau sistema-probarekin, moduluen edo unitateen integrazioa bakarrik probatzen da eta ez. sistema osoa, sistemaren probetan egiten den bezala.
Big Bang-en ikuspegiaren abantaila da integratuta dagoen guztia aldi berean probatzen dela.
Nahiko bat desabantaila hutsak identifikatzea zaila egiten dela da.
Adibidea: Beheko irudian, 1. unitatetik 6. unitatera integratzen eta probatzen dira Big bang ikuspegia erabiliz.
b) Goitik beherako planteamendua
Unitate/moduluen integrazioa mailaz maila goitik beherako mailaz probatzen da.
Pausoz pauso. lehen unitatea banan-banan probatzen da test STUBS idatziz. Honen ostean, beheko mailak banan-banan integratzen dira azken maila batu eta probatu arte.
Goitik beherako ikuspegia integratzeko oso modu organikoa da, gauzak errealean gertatzen diren moduarekin koherentea baita. ingurunea.
Ikuspegi honen kezka bakarra da funtzionalitate nagusia amaieran probatzen dela.
c) Behean- Gora planteamendua
Unitateak/moduluak behetik goi mailara probatzen dira, pausoz pauso, unitate/moduluen maila guztiak integratu arteeta unitate bakar gisa probatu. Planteamendu honetan DRIVERS deitutako estimulatzaile-programak erabiltzen dira. Errazagoa da beheko mailetan arazoak edo akatsak hautematea.
Ikuspegi honen desabantaila nagusiena da goi-mailako arazoak amaieran identifikatu daitezkeela unitate guztiek dituztenean. integratuta egon da.
Unitate-probak vs Integrazio-probak
Unitate-probari eta integrazio-probei buruz nahikoa eztabaida izan ondoren, bizkor ikus ditzagun bien arteko desberdintasunak. hurrengo taulan:
Unitate-probak | Integrazio-probak |
---|---|
Sistema osoaren osagai bakarra probatzen du hau da, unitate bat isolatuta probatzen du. | Sistemaren osagaiak elkarrekin lan egiten duten probatzen du, hau da, hainbat unitateren lankidetza probatzen du. |
Azkarragoa exekutatzeko | Exekutatu daiteke. motela |
Kanpo menpekotasunik ez. Kanpoko edozein mendekotasun iseka edo ezabatzen da. | Kanpoko mendekotasunekin elkarreragina behar du (adibidez, datu-basea, hardwarea, etab.) |
Sinplea | Konplexua |
Garatzaileak egina | Probatzaileak egina |
Kutxa zuriko proba mota bat da | kutxa beltzaren proba mota bat da |
Proben hasierako fasean egiten dena eta gero edonoiz egin daiteke | Unitatearen probak egin ondoren eta sistema probatu aurretik egin behar dira |
Merkeamantentze-lanak | Mantentze-lan garestia |
Moduluaren zehaztapenetik hasten da | Interfazearen zehaztapenetik hasten da |
Unitatea probak esparru estua du, kode zati txiki bakoitzak zer egin nahi duen egiten ari den egiaztatzen baitu. | Eremu zabalagoa du, aplikazio osoa hartzen baitu. |
Unitateko proben emaitza kodearen ikusgarritasun zehatza da. | Integrazioaren emaitza. probak integrazio-egituraren ikusgarritasun zehatza da |
Azaldu modulu indibidualen funtzionaltasunen barruan dauden arazoak soilik. Ez ditu integrazio-akatsak edo sistema osoko arazoak azaltzen. | Modulu desberdinak elkarren artean elkarreragiten dutenean sortzen diren akatsak agerian uzten ditu. |
Proba funtzionalak
Kutxa beltza probatzeko teknikari, non aplikazioaren funtzionaltasuna probatzen den sarrera jakin bat ematean nahi den irteera sortzeko "Proba funtzionalak" deritzo.
Gure softwarearen proba-prozesuetan, egin hau proba kasuak idatziz eskakizunen eta eszenatokien arabera. Edozein funtzionalitaterako, idatzitako proba-kasu kopurua batetik bestera alda daiteke.
Ondorioa
Hiru proba mota hauek guztiak erlazionatuta daude.
Estaldura osoa lortzeko, beharrezkoa da kode-bide/lerroetarako unitate-probak izatea eskatzen da, funtzionalak eta Integrazio-probak "unitateak" direla ziurtatzeko.elkarrekin lan egin kohesionatuta.
Artikulu honek Unitate, Integrazio eta Funtzio-probari buruz ideia argia emango zidala haien desberdintasunekin batera, nahiz eta proba-modu hauek askoz gehiago izan!!