Mis on süsteemiintegratsiooni testimise (SIT) näide
Mis on süsteemiintegratsiooni testimine?
süsteem Integratsiooni testimine on määratletud kui tarkvara testimise tüüp, mis viiakse läbi integreeritud riist- ja tarkvarakeskkonnas, et kontrollida kogu süsteemi käitumist. Seda testitakse tervikliku integreeritud süsteemiga, et hinnata süsteemi vastavust selle kindlaksmääratud nõuetele.
Süsteemiintegratsiooni testimine (SIT) viiakse läbi, et kontrollida tarkvarasüsteemi moodulite vahelist koostoimet. See käsitleb tarkvaranõuete spetsifikatsioonis/andmetes ja tarkvara projekteerimisdokumendis toodud kõrge ja madala taseme tarkvaranõuete kontrollimist. Samuti kontrollib see tarkvarasüsteemi kooseksisteerimist teistega ja testib tarkvararakenduse moodulite vahelist liidest. Seda tüüpi testimise puhul testitakse mooduleid esmalt ükshaaval ja seejärel kombineeritakse need süsteemiks. Näiteks tarkvara- ja/või riistvarakomponente kombineeritakse ja testitakse järk-järgult, kuni kogu süsteem on integreeritud.
Miks süsteemiintegratsiooni testida?
Tarkvaratehnikas tehakse süsteemiintegratsiooni testimine, kuna
- See aitab tuvastada Defekt varajane
- Saadaval on varasem tagasiside üksiku mooduli vastuvõetavuse kohta
- Defektide parandamise ajastamine on paindlik ja seda saab arendusega kattuda
- Õige andmevoog
- Õige juhtvool
- Õige ajastus
- Õige mälukasutus
- Tarkvaranõuetega korrektne
Kuidas teha süsteemiintegratsiooni testimist
See on süstemaatiline tehnika programmi struktuuri koostamiseks, tehes samal ajal teste, et avastada liidesega seotud vigu.
Kõik moodulid on eelnevalt integreeritud ja kogu programmi testitakse tervikuna. Kuid selle protsessi käigus ilmneb tõenäoliselt rida vigu.
Selliste vigade parandamine on keeruline, kuna põhjuste eraldamist raskendab kogu programmi ulatuslik laienemine. Kui need vead on parandatud ja parandatud, ilmub uus viga ja protsess jätkub sujuvalt lõputus tsüklis. Selle olukorra vältimiseks kasutatakse teist lähenemisviisi, inkrementaalset integratsiooni. Täpsemalt näeme järkjärgulise lähenemise kohta hiljem õpetuses.
On mõned järkjärgulised meetodid, näiteks integratsioonitestid viiakse läbi sihtprotsessoril põhinevas süsteemis. Kasutatud metoodika on Must Box Testimine. Kasutada saab kas alt-üles või ülalt-alla integreerimist.
Testjuhtumite määratlemisel kasutatakse ainult kõrgetasemelisi tarkvaranõudeid.
Tarkvara integreerimine võib toimuda suures osas ka hostkeskkonnas, kusjuures sihtkeskkonnale omaseid üksusi simuleeritakse jätkuvalt hostis. Kinnituse saamiseks on vaja uuesti testida sihtkeskkonnas.
Selle taseme kinnitustestid tuvastavad keskkonnaspetsiifilisi probleeme, nagu vead mälu eraldamisel ja eraldamisel. Dirigeerimise praktilisus tarkvara integreerimine hostikeskkonnas oleneb sellest, kui palju sihtotstarbelisi funktsioone seal on. Mõne manussüsteemi puhul on side sihtkeskkonnaga väga tugev, mistõttu on tarkvara integreerimine hostkeskkonnas ebapraktiline.
Suured tarkvaraarendused jagavad tarkvara integreerimise mitmeks tasandiks. Tarkvara integreerimise madalamad tasemed võiksid põhineda valdavalt hostkeskkonnal, kusjuures hilisemad tarkvaraintegratsiooni tasemed muutuvad sihtkeskkonnast enam sõltuvaks.
Märge: Kui testitakse ainult tarkvara, nimetatakse seda tarkvara tarkvara integratsiooni testimiseks [SSIT] ja kui testitakse nii riistvara kui ka tarkvara, nimetatakse seda riistvara tarkvara integratsiooni testimiseks [HSIT].
Integratsioonitesti sisenemise ja väljumise kriteeriumid
Tavaliselt kasutatakse integratsioonitestimisel ETVX-i (sisenemiskriteeriumid, ülesanne, kinnitamine ja väljumiskriteeriumid) strateegiat.
Sisenemise kriteeriumid:
- Lõpetamine Üksuse testimine
Sisendid:
- Tarkvaranõuete andmed
- Tarkvara disaini dokument
- Tarkvara kinnitamise plaan
- Tarkvara integreerimise dokumendid
Tegevus:
- Kõrge ja madala taseme nõuete alusel looge testjuhtumid ja -protseduurid
- Kombineerige madala taseme mooduleid, mis rakendavad ühist funktsiooni
- Töötage välja testrihmad
- Testige ehitust
- Kui test on läbitud, kombineeritakse järg teiste järgudega ja testitakse, kuni süsteem on tervikuna integreeritud.
- Käivitage kõik testid sihtprotsessoripõhisel platvormil uuesti ja hankige tulemused
Väljumiskriteeriumid:
- Tarkvaramooduli sihtriistvaraga integreerimise edukas lõpuleviimine
- Tarkvara õige toimimine vastavalt määratud nõuetele
Väljundid
- Integratsioonitesti aruanded
- Tarkvara testimise juhtumid ja protseduurid [SVCP].
Riistvara tarkvara integratsiooni testimine
Riistvara tarkvara integratsiooni testimine on arvutitarkvara komponentide (CSC) testimise protsess sihtriistvarakeskkonna kõrgetasemeliste funktsionaalsuste jaoks. Riistvara/tarkvara integratsiooni testimise eesmärk on testida riistvarakomponendile integreeritud arendatud tarkvara käitumist.
Nõuetepõhine riistvara-tarkvara integratsiooni testimine
Nõudepõhise riistvara/tarkvara integratsiooni testimise eesmärk on veenduda, et sihtarvutis olev tarkvara vastab kõrgetasemelistele nõuetele. Selle testimismeetodiga leitud tüüpilised vead hõlmavad järgmist:
- Riistvara/tarkvara liideste vead
- Tarkvara partitsioonide rikkumised.
- Suutmatus tuvastada rikkeid sisseehitatud testiga
- Vale reageerimine riistvaratõrgetele
- Viga, mis on tingitud järjestamisest, mööduvatest sisendkoormustest ja sisendvõimsuse siirdehäiretest
- Tagasiside loob vale käitumise
- Mäluhaldusriistvara vale või vale juhtimine
- Andmesiini konkurentsiprobleem
- Väljalaaditava tarkvara ühilduvuse ja õigsuse kontrollimise mehhanismi vale töö
Riistvaratarkvara integratsioon tegeleb kõrgetasemeliste nõuete kontrollimisega. Kõik selle taseme testid viiakse läbi sihtriistvaraga.
- Musta kasti testimine on sellel testimise tasemel kasutatav esmane testimismetoodika.
- Määratle testjuhtumid ainult kõrgetasemeliste nõuete järgi
- Test tuleb läbi viia standardse tootmisriistvaraga (sihtkohal)
Asjad, mida tuleb HW/SW integratsiooni testjuhtumite kavandamisel arvestada
- Kõigi andmete õige hankimine tarkvara poolt
- Andmete skaleerimine ja ulatus vastavalt ootustele riistvarast tarkvarani
- Andmete korrektne väljastamine tarkvarast riistvarasse
- Andmed spetsifikatsioonide piires (tavaline vahemik)
- Andmed väljaspool tehnilisi andmeid (ebanormaalne vahemik)
- Piiriandmed
- Katkestab töötlemist
- Ajastamine
- Õige mälukasutus (adresseerimine, kattuvused jne)
- Olekute üleminekud
Märge: Katkestuste testimiseks kontrollitakse kõiki katkestusi sõltumatult alates esialgsest taotlusest kuni täieliku teeninduse ja lõpetamiseni. Katkestuste adekvaatseks testimiseks kavandatakse katsejuhtumid spetsiaalselt.
Tarkvara integratsiooni testimine
See on host-/sihtarvutis töötava arvutitarkvara komponendi testimine
Keskkond, simuleerides samal ajal kogu süsteemi [muud CSC-d] ja kõrgetasemelist funktsionaalsust.
See keskendub CSC käitumisele simuleeritud host-/sihtkeskkonnas. Tarkvara integreerimisel kasutatav lähenemisviis võib olla järkjärguline lähenemisviis (ülevalt alla, alt-üles lähenemisviis või mõlema kombinatsioon).
Inkrementaalne lähenemine
Inkrementaalne testimine on integratsioonitestimise viis. Seda tüüpi testimismeetodi puhul testite esmalt iga tarkvara moodulit eraldi ja seejärel jätkate testimist, lisades sellele teised moodulid, seejärel veel ühe ja nii edasi.
Inkrementaalne integratsioon on kontrast suure paugu lähenemisviisile. Programm on üles ehitatud ja testitud väikestes segmentides, kus vigu on lihtsam eraldada ja parandada. Suure tõenäosusega testitakse liideseid täielikult ja võib kasutada süstemaatilist testimisviisi.
Inkrementaalset testimist on kahte tüüpi
- Ülevalt alla lähenemine
- Alt-üles lähenemine
Ülalt-alla lähenemine
Seda tüüpi lähenemisviisi puhul alustatakse individuaalselt ainult kasutajaliidese testimisega, mille aluseks olevad funktsioonid on simuleeritud tünnidega, seejärel liigute allapoole, integreerides madalamad ja madalamad kihid, nagu on näidatud alloleval pildil.
- Alustades peamisest juhtimismoodulist, integreeritakse moodulid juhthierarhias allapoole liikudes
- Põhijuhtmooduli alammoodulid on konstruktsiooni integreeritud kas laiuse-eelis- või sügavuspõhimõttel.
- Sügavus-esimene integreerimine integreerib kõik moodulid struktuuri peamises juhtrajas, nagu on näidatud järgmisel diagrammil:
Mooduli integreerimise protsess toimub järgmisel viisil:
- Peamist juhtmoodulit kasutatakse testdraiverina ja tünnid asendatakse kõigi põhijuhtimismoodulile vahetult alluvate moodulitega.
- Alluvad tünnid asendatakse ükshaaval tegelike moodulitega olenevalt valitud lähenemisest (laius enne või sügavus enne).
- Testid teostatakse iga mooduli integreerimisel.
- Iga testikomplekti lõpetamisel asendatakse iga testikomplekti lõpetamisel veel üks tünn pärismooduliga
- Veendumaks, et uusi vigu pole sisse toodud Regressioonitestimine võib läbi viia.
Protsess jätkub etapist 2 kuni kogu programmistruktuuri loomiseni. Ülalt-alla strateegia tundub suhteliselt lihtne, kuid praktikas tekivad logistilised probleemid.
Kõige levinumad neist probleemidest ilmnevad siis, kui hierarhia madalatel tasanditel on vaja töötlemist, et ülemiste tasemete adekvaatseks testimiseks.
Stubid asendavad madala taseme mooduleid ülalt-alla testimise alguses ja seetõttu ei saa programmi struktuuris olulisi andmeid ülespoole voolata.
Väljakutsed, millega testija võib silmitsi seista:
- Viivitage paljud testid, kuni tünnid asendatakse tegelike moodulitega.
- Töötage välja tünnid, mis täidavad piiratud funktsioone, mis simuleerivad tegelikku moodulit.
- Integreerige tarkvara hierarhia alt ülespoole.
Märge: Esimese lähenemisviisi korral kaotame teatud kontrolli konkreetsete testide vastavuse ja konkreetsete moodulite lisamise üle. See võib põhjustada raskusi vigade põhjuste kindlaksmääramisel, mis kipub rikkuma ülalt-alla lähenemisviisi väga piiratud olemust.
Teine lähenemisviis on toimiv, kuid võib tuua kaasa märkimisväärseid üldkulusid, kuna tünnid muutuvad üha keerukamaks.
Alt-üles lähenemine
Alt-üles integreerimine alustab ehitamist ja testimist programmi struktuuri madalaimal tasemel moodulitega. Selle protsessi käigus integreeritakse moodulid alt üles.
Selle lähenemisviisi korral on antud tasemele alluvate moodulite jaoks vajalik töötlemine alati saadaval ja stubide vajadus on välistatud.
See integratsioonitesti protsess viiakse läbi nelja etapina
- Madala taseme moodulid ühendatakse klastriteks, mis täidavad kindlat tarkvara alamfunktsiooni.
- Draiver on kirjutatud testjuhtumi sisendi ja väljundi koordineerimiseks.
- Klastrit või ehitust testitakse.
- Draiverid eemaldatakse ja klastrid kombineeritakse programmi struktuuris ülespoole liikudes.
Kuna integratsioon liigub ülespoole, on vajadus eraldi testjuhtide tundide järele. Tegelikult, kui programmistruktuuri kaks ülemist taset on ülalt alla integreeritud, saab draiverite arvu oluliselt vähendada ja klastrite integreerimine on oluliselt lihtsustatud. Integreerimine järgib allpool näidatud mustrit. Kuna integratsioon liigub ülespoole, on vajadus eraldi testjuhtide tundide järele.
Märge: Kui programmistruktuuri kaks ülemist taset on integreeritud ülalt alla, saab draiverite arvu oluliselt vähendada ja järgu integreerimine on oluliselt lihtsustatud.
Suure Paugu lähenemine
Selle lähenemisviisi puhul ei integreerita kõiki mooduleid enne, kui kõik moodulid on valmis. Kui need on valmis, integreeritakse kõik moodulid ja seejärel käivitatakse see, et teada saada, kas kõik integreeritud moodulid töötavad või mitte.
Selle lähenemisviisi puhul on kõike korraga integreerimise tõttu raske teada tõrke algpõhjust.
Samuti on tootmiskeskkonnas kriitiliste vigade esinemise tõenäosus suur.
Seda lähenemisviisi kasutatakse ainult siis, kui integratsiooni testimine tuleb läbi viia korraga.
kokkuvõte
- Integreerimine viiakse läbi tarkvarasüsteemi moodulite vahelise interaktsiooni kontrollimiseks. See aitab defekte varakult avastada
- Integratsiooni testimist saab teha riistvara-tarkvara või riistvara-riistvara integratsiooni jaoks
- Integratsiooni testimine toimub kahel viisil
- Inkrementaalne lähenemine
- Suure paugu lähenemine
- Integratsioonitestimisel kasutatakse üldiselt ETVX-i (sisenemiskriteeriumid, ülesanne, valideerimine ja väljumiskriteeriumid) strateegiat.