Programmatūras Testēšana

Integrācijas testēšanas apmācība iesācējiem

2021. gada 30. oktobris

Satura rādītājs

Kas ir integrācijas pārbaude?

Integrācijas testēšana ir aprakstīta kā programmatūras testēšanas process, kurā tiek loģiski integrēti un pārbaudīti vairāki programmatūras moduļi. Šajā procesā vairākus moduļus vispirms testē atsevišķi un pēc tam testē kā vienu integrētu vienību. Visa grupa tiek pārskatīta, lai noskaidrotu, vai integrētais modulis darbojas, kā paredzēts.

Tā ir pragmatiska pieeja programmatūras izstrādei, kas prasa rūpīgu procesu, lai izstrādātu produktu, veicot nepārtrauktu testēšanu un pārskatīšanu. Tas tiek darīts, pakāpeniski integrējot lietojumprogrammas moduļus vai komponentus.

Šis testa veids tiek lietots un apkopots testēšanai un definēts integrācijas pārbaudes plānā, kas tiek veikts lokāli. Integrācijas testi nodrošina integrējošu sistēmu un sistēmu, kas ir gatava pārbaudei. Šo testu galvenais mērķis ir pārbaudīt dažādu komponentu mijiedarbību.

Integrācijas testi ir ļoti svarīgi, jo visi komponenti un moduļi tiek apvienoti un pārbaudīti. Integrācijas pārbaude kļūst par būtisku nepieciešamību jebkuram uzņēmumam, kad tas plāno pāriet uz jaunu biznesa modeli, jaunām tehnoloģijām vai pat jauniem produktiem vai pakalpojumiem. Integrācijas testi ir būtiska testēšanas cikla sastāvdaļa, kas ļauj testētājiem atrast trūkumus pēc vairāku vienību integrēšanas.

Mums ir dažādi pārbaudes veidi, piemēram Vienības pārbaude , Sistēmas testēšana , un Pieņemšanas pārbaude .

Integrācijas pārbaude

Kāpēc integrācijas pārbaude?

  • Pārbaudes ir uzticamākas un ērtākas, lai izolētu kļūdas.
  • Var izmantot manekenus vai stublājus un draiverus.
  • Integrācijas pārbaude sniedz izstrādātājam pārliecību.
  • Ātrāki testa braucieni.
  • Integrācijas testēšana sākas ļoti agrīnā izstrādes dzīves cikla posmā, un izstrādātāji var konstatēt kļūdas agrāk nekā vēlu.
  • Integrācijas testi atklāj sistēmas līmeņa kļūdas, piemēram, bojātu datu bāzes shēmu un nepareizu kešatmiņas integrāciju.
  • Ērtāk testēt jaunattīstības vidē.
  • Pareiza testa izveide nodrošina precīzu atgriezeniskās saites cilpas mehānismu gan starp izstrādātājiem, gan testēšanas inženieriem.
  • Labāks koda pārklājums.
  • Ērtāk izsekot koda pārklājumam.
  • Lieliski palīdz izveidot reāllaika lietošanas gadījumus testēšanas laikā no gala līdz beigām.

Kas ir stubs un draiveri integrācijas testos?

Stubs un draiveri ir pseido kodi vai fiktīvi kodi, ko izmanto, lai pārbaudītu integrācijas komponentus, ja viens vai vairāki moduļi nav izstrādāti un ir nepieciešami citu moduļu testēšanai. Tā ir programma, kas nodrošina cieti kodētus kodus, jo integrācijas testā ievade pieņem moduļa izvadi.

Parasti sauktas par izsaukšanas programmām, stubs un draiveri ir vēlami no augšas uz leju integrācijas testu metodoloģijā. Turpretim autovadītāji piesakās uz augšupēju pieeju. Stubs un draiveru pārbaudītāji var izmantot un stimulēt to moduļu darbību, kas vēl nav integrēti programmatūrā. Turklāt tie palīdz simulēt trūkstošo komponentu darbību.

Kādi ir integrācijas testēšanas veidi/pieejas?

Lielā sprādziena integrācijas pārbaude:

Lielā sprādziena integrācijas pārbaude ir izdevīga pieeja programmatūras testēšanai; tas nodrošina izstrādātājus ar pilnu viņu programmatūras, sistēmu un lietojumprogrammu integrācijas testu komplektu integrācijas testu sākumā.

Lielā sprādziena integrācijas pārbaude ir nepārtraukta testēšana, kas notiek pirms sistēmas segmentu izveidošanas sistēmu. Tā ir viena no daudzsološākajām pieejām programmatūras testēšana , kur pastāvīga sistēmu un komponentu integrācija noved pie pilnīgas sistēmas vai lietojumprogrammas veidošanās.

Priekšrocības:

  • Noder mazām sistēmām.
  • Galvenā priekšrocība ir tā, ka viss ir pabeigts pirms integrācijas pārbaudes sākuma.

Trūkumi:

  • Ļoti laikietilpīgi
  • Aizkavētas integrācijas dēļ ir grūti izsekot kļūmju cēloni.
  • Kritisku kļūmju iespējamība ir lielāka tāpēc, ka lielā sprādziena testēšanā visas sastāvdaļas tiek testētas vienlaikus.
  • Pastāv liela iespējamība, ka ražošanas vidē var rasties kritiskas kļūdas.
  • Ja tiek atrasta kļūda, kļūst ārkārtīgi grūti atvienot visus moduļus, lai noteiktu tās cēloni.

Inkrementālās integrācijas pārbaude

Inkrementālās integrācijas testos programmētāji integrē moduļus, izmantojot stubs vai draiverus, lai atklātu defektus pa vienam. Šajā pieejā testēšana tiek veikta, sajaucot divus vai vairākus moduļus, kas ir loģiski saistīti viens ar otru, un pēc tam pārbauda to pareizu darbību. Pārējie saistītie moduļi tiek integrēti pakāpeniski, un process turpinās, līdz visi loģiski saistītie moduļi ir integrēti un veiksmīgi pārbaudīti. Turpretim lielais sprādziens ir vēl viens integrācijas testēšanas paņēmiens, kur visi moduļi ir integrēti vienā kadrā.

Pakāpeniska pārbaude ir divu veidu.

1. No augšas uz leju pieeja:

No augšas uz leju integrācijas testēšana ir pieeja, kurā komponents tiek izveidots zemākā līmenī un integrēts komponentā augstākā līmenī. No augšas uz leju vērstie integrācijas testi vairāk koncentrējas uz komponentu integrēšanu augšpusē, nevis apakšā. Šai pieejai izstrādātājs var izmantot stubs. Šī pieeja ir paredzēta dažādiem pasākumiem, piemēram, mērķu noteikšanai, budžeta veidošanai un prognozēšanai.

No augšas uz leju integrācijas testa pieeja vispirms pārbauda augsta līmeņa moduļus un pēc tam arvien zemāka līmeņa moduļus. Šī metode ļauj veikt testus no augšas uz leju, izsekojot vadības plūsmas un arhitektūras struktūras, integrācijas testus sākot no augšas uz leju. Visizplatītākā lietojumprogramma ir pieeja no augšas uz leju, izmantojot integrācijas testus un testa rezultātu.

Priekšrocības:

  • Šī metode neietekmē darbības un uzturēšanas resursus tik nopietni kā augšupējā pieeja.
  • Bojājumu lokalizācija ir vienkārša.
  • Agrīnu prototipu var iegūt viegli.
  • Vispirms varēja atrast un novērst galvenos dizaina trūkumus.
  • Vispirms var pārbaudīt prioritāros moduļus.
  • Šīs pieejas priekšrocība ir tā, ka lēmumus var pieņemt un īstenot ļoti ātri.

Trūkumi:

  • Šai pieejai ir nepieciešami daudzi elementi.
  • Zemākā līmeņa moduļi tiek pārbaudīti neefektīvi.
  • Nodrošina ierobežotu pārklājumu pirmajās fāzēs.
  • Izstrādātājiem var būt agrīnā stadijā jāizstrādā pielāgoti adapteri.
  • Ieviešanas izmaksas, visticamāk, būs lielākas.

2. Uz augšu pieeja:

Augšupējā pieeja ir pretēja integrācijas pārbaudei no augšas uz leju: zemākajā slānī esošie moduļi vispirms tiek pārbaudīti un integrēti, un pēc tam tiek integrēti secīgi ar citiem moduļiem kustībā.

Augšupējās integrācijas testi sākas ar vienību testiem, kam seko moduļu konstrukcija. Vispirms tiek pārbaudīts vecākais modulis, pēc tam pakārtotais modulis un tā tālāk, līdz tas ir integrēts.

Pārbaudes draiveris tiek vadīts un nodod atbilstošos datus no zemā līmeņa moduļa, un, kad kods citā modulī ir gatavs, draiveris aizstāj faktisko moduli. Apakšējais modulis tiek pārbaudīts, un augstāka līmeņa moduļi tiek pārbaudīti tāpat kā papildināšanas integrācijas testā, bet ar citu draiveri.

Priekšrocības:

  • Vienkāršāka defektu lokalizācija.
  • Laiks, kas nepieciešams augšupējas pieejas ievērošanai, ir daudz mazāks nekā citām testēšanas metodēm.
  • Lietotāja informētība par produktu.
  • Automatizācija var aizstāt daudzus manuālus procesus.
  • Rentabls.
  • Vieglāki testa novērojumi.
  • Tas ir izdevīgi, ja programmas apakšdaļā rodas būtiski trūkumi.

Trūkumi

  • Programma kopumā nepastāv, kamēr nav pievienots pēdējais modulis.
  • Agrīnais prototips nav iespējams.
  • Augšupējo stratēģiju vada esošā infrastruktūra, nevis biznesa procesi.
  • Obligātie moduļi (programmatūras arhitektūras augstākajā līmenī), kas kontrolē lietojumprogrammu plūsmu, tiek pārbaudīti pēdējie un var tikt bojāti.

Sviestmaižu / hibrīda testēšana

Sviestmaižu testēšana ir augšupējas un lejupējas pieejas savienība, tāpēc tā izmanto gan augšupējās, gan lejupējās pieejas priekšrocības.

Šajā fāzē tiek pārbaudīta saskarne un saziņa starp katru moduli. To sauc arī par hibrīda integrācijas testēšanu. Modificētie sviestmaižu testi ir neticami izdevīgi, palīdzot testētājiem testēt dažādus sistēmas komponentus, kamēr tie ir integrēti.

Priekšrocības:

  • Sviestmaižu testēšanas pieeja ir noderīga plašiem projektiem, kuriem ir apakšprojekti.
  • Tas ļauj veikt paralēlu testēšanu.
  • Tas ir laika ziņā efektīvs.
  • Izstrādātāji novērtē šo pieeju, jo tie apvieno ieguvumi no visiem saistītajiem testēšana ietvarus, palīdzot profesionāļiem skaidri un gaiši izmantot visu, kas viņiem ir vislabākais.

Trūkumi:

  • Sviestmaižu pārbaude ir diezgan dārga.
  • Sviestmaižu testēšanu nevar izmantot sistēmām, kurām ir liela savstarpēja atkarība ar dažādiem komponentiem/moduļiem.
  • Sviestmaižu testēšanā/hibrīda testēšanā vajadzība pēc stubs un draiveriem ir ļoti liela.
  • Pārbaude var kļūt sarežģīta.
  • Grūti lokalizēt defektus.
  • Jaukta pārbaude prasa augstas izmaksas.
  • Šī pieeja nav piemērota maziem projektiem.

Kā veikt integrācijas testēšanu?

Parasti integrācijas testēšana notiek pēc vienības testēšanas. Kad visas atsevišķās vienības ir pārbaudītas, izstrādātāji sāk apvienot šos pārbaudītos moduļus un sāk veikt integrācijas testēšanu. Procesa galvenais mērķis šeit ir pārbaudīt saskarnes starp blokiem/moduļiem.

  • Sagatavojiet dizainu.
  • Iepriekš esošajā sarakstā izvēlieties testēšanas pieejas veidu.
  • Attiecīgi atlasiet pārbaudes gadījumus, kontūras un skriptus.
  • Izvietojiet izvēlētās vienības kopā un palaidiet integrācijas testus.
  • Izsekojiet defektiem un kļūdām, lai reģistrētu pārbaužu rezultātus.
  • Atkārtojiet iepriekš minētos punktus, līdz tiek pārbaudīta visa sistēma.

Procesa prioritātei jābūt interfeisa saitēm, kas ir integrētas starp moduļiem.

Labākie integrācijas testēšanas rīki:

VectorCAST/C++ ir automatizēts vienību un integrācijas testēšanas risinājums, ko izmanto drošībai un tirgum svarīgu iegulto sistēmu apstiprināšanai. Šis dinamiskās testēšanas risinājums tiek plaši izmantots tādās nozarēs kā aviācijas elektronika, medicīnas ierīces, automobiļi, rūpnieciskās vadības ierīces, dzelzceļš un finanšu nozarēs.

Citrus ir atvērtā pirmkoda ietvars, kas var palīdzēt izstrādātājiem automatizēt integrācijas testēšanu jebkuram ziņojumapmaiņas protokolam vai datu formātam. Citrus ir izvēles sistēma, lai pārbaudītu jūsu lietojumprogrammas ziņojumapmaiņas integrāciju. Ja izmantojat ziņojumapmaiņas transportu, piemēram, HTTP, REST, SOAP vai JMS.

LDRA ļauj izstrādātājiem veikt vienības un integrācijas testus resursdatorā un mērķa ierīcē. Izmantojot LDRA, izstrādātāji var ātri un viegli ģenerēt un izpildīt testus vienības un integrācijas līmenī gan resursdatorā (savrupā vai ar mērķa simulāciju), gan mērķa aparatūrā.

Mūsdienās vairāki uzņēmumi veicina uz biznesu orientētu arhitektūru. Tradicionālā integrācijas testēšanas metode, tāpat kā augšupēja pieeja, prasa ievērojamas pūles, lai izveidotu testa datus. Wipro viedās integrācijas testa paātrinātājs (SITA) palīdz izstrādātājiem pārvarēt šīs problēmas. Šis ietvars ļauj izstrādātājiem paātrināt testa datu un testa noformējuma ģenerēšanu.

Rational Integration Tester (RIT) ir integrācijas testēšanas rīks, kas iepriekš bija pazīstams kā Green Hat. IBM iegādājās Green Hat 2012. gadā. Izmantojot IBM Rational Integration Tester, izstrādātāji var iegūt vidi bez skriptiem, un ir iespējama SOA ziņojumapmaiņas testu un integrācijas projektu izstrāde. Rational Integration Tester novērš integrācijas problēmas ar iteratīvu un veiklu izstrādes metožu palīdzību. Šis rīks tagad ir daļa no Rational Test Workbench.

Padomi integrācijas testēšanai:

  • Veiciet integrācijas testus, līdz atrodat vismaz vienu kļūdu.
  • Pēc kļūmes izolēšanas nekavējoties novērsiet to, pievienojot vai modificējot kodu.
  • Praktizējiet integrācijas testēšanu tikai pēc pareizas vienības pārbaudes.
  • Palīdz reģistrēt savu progresu; izstrādātāji labāk analizē kļūmi un saglabā iespējamo neveiksmes iemeslu uzskaiti.
  • Mežizstrāde palīdz analizēt kļūmi un saglabāt iespējamo kļūmes iemeslu uzskaiti, kā arī izslēgt citus skaidrojumus, sašaurinot faktisko cēloni.
  • Pārliecinieties, vai jūsu testēšanas un izstrādes vide atbilst.
  • Izmantojiet vērtīgus testa datus.
  • Izmantojiet kopīgu kļūdu un testu krātuvi.

Saistītie raksti

Vienības pārbaude Sistēmas testēšana Pieņemšanas pārbaude