Tarkvara Testimine

Integratsioonitestimise õpetus algajatele

30. oktoober 2021

Sisukord

Mis on integratsioonitestimine?

Integratsioonitestimist kirjeldatakse kui tarkvara testimisprotsessi, mille käigus integreeritakse ja testitakse loogiliselt mitut tarkvaramoodulit. Selle protsessi käigus testitakse mitut moodulit esmalt eraldi ja seejärel ühtse integreeritud üksusena. Kogu grupp vaadatakse üle, et näha, kas integreeritud moodul töötab ootuspäraselt.

See on pragmaatiline lähenemine tarkvaraarendusele, mis nõuab hoolikat protsessi toote arendamiseks pideva testimise ja läbivaatamise teel. Seda tehakse rakenduse moodulite või komponentide järkjärgulise integreerimisega.

Seda testitüüpi rakendatakse ja koondatakse testimiseks ning see määratletakse kohapeal läbiviidavas integratsioonitestiplaanis. Integratsioonitestid pakuvad integreerivat süsteemi ja testimiseks valmis süsteemi. Nende testide peamine eesmärk on testida erinevate komponentide koostoimet.

Integratsioonitestid on tohutu tähtsusega, kuna kõiki komponente ja mooduleid kombineeritakse ja testitakse. Integratsioonitest muutub iga ettevõtte jaoks ülioluliseks vajaduseks, kui ta kavatseb liikuda uude ärimudelisse, uutesse tehnoloogiatesse või isegi uutesse toodetesse või teenustesse. Integratsioonitestid on testimistsükli oluline osa, mis võimaldab testijatel pärast mitme üksuse integreerimist puudusi leida.

Meil on erinevat tüüpi testimine, näiteks Ühiku testimine , Süsteemi testimine , ja Vastuvõtu testimine .

Integratsiooni testimine

Miks integratsiooni testimine?

  • Testid on usaldusväärsemad ja rikete eraldamiseks mugavamad.
  • Kasutada saab mannekeene või nuppe ja draivereid.
  • Integratsiooni testimine toob arendajasse kindlustunde.
  • Kiiremad testid.
  • Integratsiooni testimine algab arendustegevuse elutsükli väga varajases staadiumis ja arendajad võivad vigu tuvastada varem kui hilja.
  • Integratsioonitestid tuvastavad süsteemitaseme vead, nagu katkine andmebaasiskeem ja vale vahemälu integreerimine.
  • Mugavam testida arenevas keskkonnas.
  • Õige testi loomine annab täpse tagasisideahela mehhanismi nii arendajate kui testimisinseneride vahel.
  • Parem koodikatvus.
  • Koodi leviala on mugavam jälgida.
  • Peamiselt aitab luua reaalajas kasutusjuhtumeid lõpust lõpuni testimise ajal.

Mis on integratsioonitestide tünnid ja draiverid?

Stubid ja draiverid on pseudokoodid või näidiskoodid, mida kasutatakse integratsioonikomponentide testimiseks, kui üht või mitut moodulit pole välja töötatud ja neid on vaja teiste moodulite testimiseks. See on programm, mis pakub kõvasti kodeeritud koode, kuna sisend aktsepteerib integratsioonitestis mooduli väljundit.

Tavaliselt kutsutakse neid programmide kutsumiseks, tünnid ja draiverid on integratsioonitestide metoodikas soovitavad ülalt alla. Seevastu juhid taotlevad alt-üles lähenemisviisi. Stubid ja draiverite testijad saavad kasutada ja stimuleerida nende moodulite käitumist, mis pole veel tarkvaraga integreeritud. Lisaks aitavad need simuleerida puuduvate komponentide tegevust.

Millised on integratsioonitestimise tüübid/käsitlusviisid?

Suure Paugu integratsiooni testimine:

Suure paugu integratsioonitest on kasulik lähenemine tarkvara testimisele; see varustab arendajaid integratsioonitestide alguses nende tarkvara, süsteemide ja rakenduste täieliku integratsioonitestidega.

Suure paugu integratsiooni testimine on pidev testimine, mis toimub enne, kui süsteemisegmendid süsteemi moodustavad. See on üks paljutõotavamaid lähenemisviise tarkvara testimine , kus süsteemide ja komponentide pidev integreerimine viib tervikliku süsteemi või rakenduse kujunemiseni.

Eelised:

  • Kasulik väikeste süsteemide jaoks.
  • Peamine eelis on see, et kõik on lõpetatud enne integratsiooni testimise algust.

Puudused:

  • Väga aeganõudev
  • Hilinenud integratsiooni tõttu on rikete põhjust raske kindlaks teha.
  • Kriitiliste tõrgete tõenäosus on suurem, kuna suure paugu testimisel testitakse kõiki komponente korraga.
  • Kriitiliste vigade esinemise tõenäosus tootmiskeskkonnas on suur.
  • Kui leitakse mõni viga, muutub selle algpõhjuse kindlakstegemiseks kõigi moodulite lahtivõtmine äärmiselt raskeks.

Inkrementaalse integratsiooni testimine

Täiendava integratsiooni testides integreerivad programmeerijad moodulid tünnide või draiverite abil, et defektid ükshaaval avastaksid. Selle lähenemisviisi korral viiakse testimine läbi kahe või enama üksteisega loogiliselt seotud mooduli segamise teel ja seejärel testitakse selle nõuetekohast toimimist. Teised seotud moodulid integreeritakse järk-järgult ja protsess jätkub, kuni kõik loogiliselt seotud moodulid on integreeritud ja edukalt testitud. Seevastu suur pauk on veel üks integratsiooni testimise tehnika, kus kõik moodulid on integreeritud ühte võtet.

Järkjärgulist testimist on kahte tüüpi.

1. Ülalt-alla lähenemine:

Ülalt-alla integratsiooni testimine on lähenemine, kus komponent luuakse madalamal tasemel ja integreeritakse komponendiga kõrgemal tasemel. Ülalt-alla integreerimise testid keskenduvad rohkem komponentide integreerimisele ülaosas kui allosas. Arendaja saab selle lähenemisviisi jaoks kasutada tünnisid. See lähenemine on mõeldud paljudeks ettevõtmisteks, näiteks eesmärkide seadmiseks, eelarve koostamiseks ja prognoosimiseks.

Ülalt-alla integratsioonitesti lähenemisviis testib esmalt kõrgetasemelisi mooduleid ja seejärel järjest madalama taseme mooduleid. See meetod võimaldab katseid läbi viia ülalt alla, jälgides juhtimisvooge ja arhitektuurseid struktuure, integratsioonitestidega alustades ülalt alla. Kõige tavalisem rakendus on ülalt-alla lähenemine, mis kasutab integratsioonitestide ja testi väljundi jaoks tüvesid.

Eelised:

  • See meetod ei mõjuta kasutus- ja hooldusressursse nii tõsiselt kui alt-üles lähenemisviis.
  • Vea lokaliseerimine on lihtne.
  • Varase prototüübi saab hõlpsasti hankida.
  • Peamised disainivead võiks esmalt leida ja parandada.
  • Esmalt saab testida prioriteetseid mooduleid.
  • Selle lähenemisviisi eeliseks on see, et otsuseid saab teha ja ellu viia väga kiiresti.

Puudused:

  • See lähenemine nõuab palju tühjendeid.
  • Madalamal tasemel mooduleid testitakse ebaefektiivselt.
  • Pakub esimestes etappides piiratud katvust.
  • Võimalik, et arendajad peavad varajases staadiumis välja töötama kohandatud adapterid.
  • Rakenduskulud on tõenäoliselt suuremad.

2. Alt-üles lähenemine:

Alt-üles lähenemine on vastupidine ülalt-alla integreerimise testile: alumise kihi mooduleid testitakse ja integreeritakse ning seejärel integreeritakse järjestikku teiste liikvel olevate moodulitega.

Alt-üles integratsioonitestid algavad ühikutestidega, millele järgneb modulaarne ehitus. Esiteks testitakse ülemmoodulit, seejärel alammoodulit ja nii edasi, kuni see on integreeritud.

Testdraiver juhib ja edastab vastavad andmed madala taseme moodulist ning kui teises moodulis olev kood on valmis, vahetab draiver välja tegeliku mooduli. Madalamat moodulit testitakse ja kõrgema taseme mooduleid testitakse samamoodi nagu top-up integratsioonitestis, kuid erineva draiveriga.

Eelised:

  • Lihtsam rikke lokaliseerimine.
  • Alt-üles lähenemisviisi järgimiseks kulub palju vähem aega kui teistel testimismeetoditel.
  • Kasutaja teadlikkus tootest.
  • Automatiseerimine võib asendada paljusid käsitsiprotsesse.
  • Kuluefektiivne.
  • Lihtsamad katsevaatlused.
  • Kasulik, kui programmi allosas ilmnevad suured vead.

Puudused

  • Programmi tervikuna ei eksisteeri enne viimase mooduli lisamist.
  • Varajane prototüüp pole võimalik.
  • Alt-üles strateegiat juhib äriprotsesside asemel olemasolev infrastruktuur.
  • Kohustuslikke mooduleid (tarkvaraarhitektuuri tipptasemel), mis juhivad rakenduste voogu, testitakse viimasena ja need võivad esineda defekte.

Võileiva/hübriidi testimine

Sandwich Testing on alt-üles ja ülalt-alla lähenemisviisi liit, nii et see kasutab ära nii alt-üles kui ka ülalt-alla lähenemisviisi eeliseid.

Selles etapis testitakse liidest ja sidet iga mooduli vahel. Seda tuntakse ka kui hübriidintegratsiooni testimist. Muudetud sandwich-testid on uskumatult kasulikud, aidates testijatel testida erinevaid süsteemikomponente, kui need on integreeritud.

Eelised:

  • Sandwich-testimise lähenemisviis on kasulik ulatuslike projektide jaoks, millel on alamprojekte.
  • See võimaldab paralleelset testimist.
  • See on ajaliselt efektiivne.
  • Arendajad hindavad seda lähenemist, sest nad kombineerivad kasu kõigist seotud testimine raamistikke, aidates professionaalidel selgelt ära kasutada kõike, mis nende juures on parim.

Puudused:

  • Võileiva testimine on üsna kallis.
  • Sandwich Testingut ei saa kasutada süsteemide jaoks, millel on suur vastastikune sõltuvus erinevate komponentide/moodulitega.
  • Sandwich-testimise/hübriidtesti puhul on stubide ja draiverite vajadus väga suur.
  • Testimine võib muutuda keeruliseks.
  • Rikkeid on raske lokaliseerida.
  • Segatestimine nõuab suuri kulusid.
  • See lähenemisviis ei sobi väikeste projektide jaoks.

Kuidas integratsioonitesti teha?

Tavaliselt toimub integratsioonitestimine pärast üksuse testimist. Kui kõik üksikud üksused on testitud, hakkavad arendajad neid testitud mooduleid kombineerima ja integratsioonitesti läbi viima. Protsessi põhieesmärk on siin testida üksuste/moodulite vahelisi liideseid.

  • Valmistage ette disain.
  • Valige ülaltoodud loendist testimismeetodi tüüp.
  • Valige vastavalt testjuhtumid, kontuurid ja skriptid.
  • Juurutage valitud üksused koos ja käivitage integratsioonitestid.
  • Testide testitulemuste salvestamiseks jälgige defekte ja vigu.
  • Korrake ülaltoodud punkte, kuni kogu süsteem on testitud.

Protsessi prioriteet peab olema liidese linkidel, mis on moodulite vahel integreeritud.

Parimad tööriistad integratsiooni testimiseks:

VectorCAST/C++ on automatiseeritud seadmete ja integratsiooni testimise lahendus, mida kasutatakse ohutuse ja turukriitiliste manussüsteemide valideerimiseks. Seda dünaamilist testimislahendust kasutatakse laialdaselt sellistes tööstusharudes nagu avioonika, meditsiiniseadmed, autotööstus, tööstuslikud juhtimisseadmed, raudtee ja finantssektorid.

Citrus on avatud lähtekoodiga raamistik, mis aitab arendajatel automatiseerida mis tahes sõnumiprotokolli või andmevormingu integratsioonitesti. Tsitrusviljad on valitud raamistik teie rakenduse sõnumsideintegratsioonide testimiseks. Kui kasutate sõnumiedastust, näiteks HTTP, REST, SOAP või JMS.

LDRA võimaldab arendajatel teha hosti- ja sihtseadmes üksuse- ja integratsiooniteste. LDRA abil saavad arendajad kiiresti ja lihtsalt genereerida ja teostada teste üksuse ja integratsiooni tasemel nii hostis (eraldi või sihtmärgi simulatsiooniga) kui ka sihtriistvaras.

Tänapäeval edendavad mitmed ettevõtted ärile orienteeritud arhitektuuri. Traditsiooniline integratsiooni testimise meetod, nagu ka alt-üles lähenemisviis, nõuab katseandmete loomiseks märkimisväärseid jõupingutusi. Wipro Smart Integration Test Accelerator (SITA) aitab arendajatel nendest väljakutsetest üle saada. See raamistik võimaldab arendajatel kiirendada katseandmete genereerimist ja testimiskujundust.

Rational Integration Tester (RIT) on integratsiooni testimise tööriist, mida varem tunti kui Green Hat. IBM omandas Green Hati 2012. aastal. IBM-i Rational Integration Tester abil saavad arendajad saada skriptimisvaba keskkonna ning võimalik on arendustegevus SOA sõnumitestide ja integratsiooniprojektide jaoks. Rational Integration Tester takistab integratsiooniprobleeme iteratiivsete ja agiilsete arendusmeetodite abil. Tööriist on nüüd osa Rational Test Workbenchist.

Näpunäiteid integratsiooni testimiseks:

  • Käivitage integratsioonitestid, kuni leiate vähemalt ühe vea.
  • Pärast tõrke eraldamist lahendage see kohe koodi lisamise või muutmisega.
  • Harjutage integratsioonitestimist alles pärast üksuse testimise korrektset läbiviimist.
  • Logi oma edusamme aitab; arendajad analüüsivad rikkeid paremini ja peavad arvestust rikke võimalike põhjuste kohta.
  • Logimine aitab teil riket analüüsida ja pidada arvestust rikke võimalike põhjuste kohta, samuti välistada muud seletused, piirates tegelikku põhjust.
  • Veenduge, et teie testimis- ja arenduskeskkonnad ühtivad.
  • Kasutage väärtuslikke katseandmeid.
  • Kasutage vigade ja testide jaoks ühist hoidlat.

seotud artiklid

Ühiku testimine Süsteemi testimine Vastuvõtu testimine