Artikels

Wat is sagtewaretoetsing, wat beteken dit om sagteware te toets

Sagtewaretoetsing is 'n stel prosesse wat ontwerp is om die volledigheid en kwaliteit van sagteware wat vir die rekenaar geskryf is, te ondersoek, te evalueer en vas te stel. Verseker voldoening van 'n sagtewareproduk aan regulatoriese, besigheids-, tegniese, funksionele en gebruikersvereistes.

Sagtewaretoetsing, of sagtewaretoetsing, staan ​​ook bekend as toepassingstoetsing.

Sagtewaretoetsing is hoofsaaklik 'n breë proses wat bestaan ​​uit verskeie onderling gekoppelde prosesse. Die hoofdoel van sagtewaretoetsing is om die integriteit van die sagteware te meet tesame met die volledigheid daarvan in terme van sy kernvereistes. Sagtewaretoetsing behels die ondersoek en kontrolering van sagteware deur verskillende toetsprosesse. Die doelwitte van hierdie prosesse kan die volgende insluit:

Verifikasie van volledigheid van die sagteware met betrekking tot funksionele/besigheidsvereistes
Identifiseer tegniese foute/foute en verseker dat die sagteware foutloos is
Evaluering van bruikbaarheid, werkverrigting, sekuriteit, lokalisering, verenigbaarheid en installasie
Getoetste sagteware moet alle toetse slaag om as volledig of geskik vir gebruik beskou te word. Sommige van die verskillende tipes sagteware-toetsmetodes sluit in witbokstoetsing, swartbokstoetsing en grysbokstoetsing. Verder kan die sagteware as 'n geheel getoets word, in komponente/eenhede of binne 'n lewendige stelsel.

Black Box toets

Black Box Testing is 'n sagteware toets tegniek wat fokus op die ontleding van die funksionaliteit van die sagteware, in vergelyking met die interne werking van die stelsel. Black Box Testing is ontwikkel as 'n metode vir die ontleding van kliëntvereistes, spesifikasies en hoëvlak-ontwerpstrategieë.

'n Black Box-toetstoetser kies 'n stel geldige en ongeldige invoer- en kode-uitvoeringsvoorwaardes en kontroleer vir geldige uitvoerreaksies.

Black Box-toetsing staan ​​ook bekend as funksionele toetsing of geslote bokstoetsing.

'n Soekenjin is 'n eenvoudige voorbeeld van 'n toepassing wat onderhewig is aan swartbokstoetsing. 'n Soekenjingebruiker voer teks in die soekbalk van 'n webblaaier in. Die soekenjin vind dan gebruikersdataresultate (afvoer) op en haal dit op.

Die voordele van Black Box-toetsing sluit in:

  • Eenvoud: Fasiliteer toetsing van hoëvlakontwerpe en komplekse toepassings
  • Bespaar hulpbronne: Toetsers fokus op die funksionaliteit van die sagteware.
  • Toetsgevalle: Fokus op sagteware-funksionaliteit om vinnige toetsgevalle-ontwikkeling te fasiliteer.
  • Bied buigsaamheid: geen spesifieke programmeringskennis word vereis nie.

Black Box-toetsing het ook 'n paar nadele, soos volg:

  • Die ontwerp en instandhouding van toetsgevalle/skrifte kan problematies wees omdat Black Box-toetsinstrumente afhanklik is van bekende insette.
  • Interaksie met die grafiese gebruikerskoppelvlak (GUI) kan toetsskrifte korrupteer.
  • Die toetse dek slegs die toepassingsfunksies.

Witboks toets

Tydens witbokstoetsing word die kode uitgevoer met voorafgeselekteerde invoerwaardes om die voorafgeselekteerde uitvoerwaardes te valideer. Witboks-toetsing behels dikwels die skryf van stompkode (stuk kode wat gebruik word om 'n spesifieke funksionaliteit te vervang. 'n Stomp kan die gedrag van bestaande kode simuleer, soos 'n prosedure op 'n afgeleë masjien.) en ook drywers.

Die voordele van witboks-toetsing sluit in:

  • Dit maak voorsiening vir hergebruik van toetsgevalle en bied groter stabiliteit
  • Maak kode-optimering makliker
  • Maak dit makliker om die liggings van verborge foute in die vroeë stadiums van ontwikkeling te vind
  • Fasiliteer effektiewe toepassingstoetsing
  • Verwyder onnodige reëls kode


Die nadele sluit in:

  • Vereis 'n ervare toetser met kennis van die interne struktuur
  • Dit vat tyd
  • Hoë koste
  • Kodebis-validering is moeilik.
  • Witbokstoetse sluit eenheidstoetse, integrasietoetse en regressietoetse in.

Eenheidstoets

'n Eenheidstoets is 'n komponent van die sagteware-ontwikkelingslewensiklus (SDLC) waarin 'n omvattende toetsprosedure individueel op die kleinste dele van 'n sagtewareprogram toegepas word vir geskiktheid of gewenste werking.


'n Eenheidstoets is 'n gehaltemetings- en evalueringsprosedure wat in die meeste ondernemingsagteware-ontwikkelingsaktiwiteite toegepas word. Oor die algemeen evalueer 'n eenheidstoets hoe goed die sagtewarekode ooreenstem met die algehele doelwit van die sagteware/toepassing/program en hoe die geskiktheid daarvan ander kleiner eenhede beïnvloed. Eenheidtoetse kan met die hand uitgevoer word - deur een of meer ontwikkelaars - of via 'n outomatiese sagteware-oplossing.

Tydens toetsing word elke eenheid van die hoofprogram of koppelvlak geïsoleer. Eenheidtoetse word tipies na ontwikkeling en voor vrystelling uitgevoer, wat dus integrasie en vroeë probleemopsporing vergemaklik. Die grootte of omvang van 'n eenheid wissel na gelang van die programmeertaal, sagtewaretoepassing en toetsdoelwitte.

Funksionele toets

Funksionele toetsing is 'n toetsproses wat binne sagteware-ontwikkeling gebruik word waar sagteware getoets word om te verseker dat dit aan alle vereistes voldoen. Dit is 'n manier om sagteware na te gaan om te verseker dat dit al die vereiste funksionaliteit het wat in sy funksionele vereistes gespesifiseer word.


Funksionele toetsing word hoofsaaklik gebruik om te verifieer dat 'n stuk sagteware dieselfde uitset lewer wat deur die eindgebruiker of besigheid vereis word. Tipies behels funksionele toetsing die evaluering en vergelyking van elke sagtewarefunksie met besigheidsvereistes. Die sagteware word getoets deur dit 'n paar verwante insette te gee sodat die uitset geëvalueer kan word om te sien hoe dit ooreenstem met, korreleer met of verskil van sy basiese vereistes. Verder kontroleer funksionele toetse ook die bruikbaarheid van die sagteware, byvoorbeeld deur te verseker dat navigasiefunksies werk soos vereis.

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.

Regressietoetsing

Regressietoetsing is 'n tipe sagtewaretoetsing wat gebruik word om te bepaal of nuwe probleme die gevolg is van veranderinge aan die sagteware.

Voordat 'n verandering toegepas word, word 'n program getoets. Nadat 'n verandering toegepas is, word die program weer in geselekteerde areas getoets om vas te stel of die verandering nuwe foute of probleme geskep het en of die werklike verandering sy beoogde doel bereik het.


Regressietoetsing is noodsaaklik vir groot sagtewaretoepassings, aangesien dit dikwels moeilik is om te weet of die verandering van een deel van 'n probleem 'n nuwe probleem vir 'n ander deel van die toepassing geskep het. Byvoorbeeld, 'n verandering aan 'n leningsvorm van 'n bankaansoek kan lei tot die mislukking van 'n maandelikse transaksieverslag. In die meeste gevalle lyk die probleme dalk nie verwant nie, maar dit kan eintlik die oorsaak van frustrasie onder toepassingsontwikkelaars wees.

Ander situasies wat regressietoetsing vereis, sluit in om vas te stel of sekere veranderinge 'n gestelde doelwit bereik of toetsing vir nuwe gevare wat verband hou met probleme wat na 'n probleemvrye tydperk weer opduik.

Moderne regressietoetsing word hoofsaaklik hanteer deur gespesialiseerde kommersiële toetsinstrumente wat bestaande sagteware-snapshots neem wat dan vergelyk word nadat 'n spesifieke verandering toegepas is. Dit is byna onmoontlik vir menslike toetsers om dieselfde take so doeltreffend as outomatiese sagtewaretoetsers uit te voer. Dit is veral waar met groot, komplekse sagtewaretoepassings binne groot rekenaaromgewings soos banke, hospitale, vervaardigingsmaatskappye en groot kleinhandelaars.

Stres toets

Strestoetsing verwys na die toets van sagteware of hardeware om te bepaal of die werkverrigting daarvan bevredigend is onder uiterste en ongunstige toestande, wat kan voorkom as gevolg van swaar netwerkverkeer, proseslaai, onderklokking, oorklokking en maksimum gebruikseise van hulpbronne.

Die meeste stelsels word ontwikkel met normale bedryfstoestande. Dus, selfs as 'n limiet oorskry word, is foute weglaatbaar as die stelsel stres getoets word tydens ontwikkeling.


Die strestoets word in die volgende kontekste gebruik:

  • Sagteware: Strestoetsing beklemtoon beskikbaarheid en fouthantering onder uiters swaar vragte om te verseker dat sagteware nie ineenstort as gevolg van onvoldoende hulpbronne nie. Sagteware strestoetsing fokus op transaksies wat geïdentifiseer is om transaksies te staak, wat hoogs beklemtoon word tydens toetsing, selfs wanneer 'n databasis geen las het nie. Die strestoetsproses laai gelyktydige gebruikers verder as normale stelselvlakke om die swakste skakel in die stelsel te vind.
  • Hardeware: Strestoetsing verseker stabiliteit in normale rekenaaromgewings.
  • Webwerwe: Strestoetsing bepaal die perke van enige werffunksionaliteit.
  • SVE: Veranderinge soos oorspanning, onderspanning, ondersluiting en oorsluiting word getoets om te bepaal of hulle swaar vragte kan hanteer deur 'n SVE-intensiewe program te laat loop om te toets vir stelselongelukke of -vries. SVE-strestoetsing staan ​​ook bekend as marteltoetsing.

Outomatiese toetse

Outomatiese toetsing (sagtewaretoetsoutomatisering) is 'n benadering tot kodetoetsing wat gebruik maak van spesiale sagteware-instrumente wat toetse outomaties uitvoer en dan werklike toetsresultate met verwagte resultate vergelyk.

Outomatiese toetsing speel 'n belangrike rol in deurlopende aflewering (CD), deurlopende integrasie (CI), DevOps en DevSecOps. Sleutelvoordele van outomatiese toetsing sluit in:

  • Outomatiese toetsing bespaar ontwikkelaars tyd en geld deur die toetsproses doeltreffender te maak.
  • Outomatiese toetse identifiseer foute meer doeltreffend as handtoetse.
  • Wanneer toetse geoutomatiseer word, kan verskeie toetsinstrumente in parallel ontplooi word.


In sagteware-ontwikkeling is dit veral nuttig om outomatiese toetse tydens die samestellingsproses uit te voer om te verseker dat 'n toepassing geen samestellingsfoute het nie en sy beoogde funksie verrig.

Deur die tyd te neem om sagtewaretoetsing te outomatiseer, sal ontwikkelaars uiteindelik tyd bespaar deur die risiko te verminder dat 'n kodeverandering bestaande funksionaliteit breek.


Toetsing is 'n baie belangrike fase in die ontwikkelingsproses. Dit verseker dat alle foute opgelos word en dat die produk, sagteware of hardeware, presteer soos verwag of so na as moontlik aan teikenprestasie. Outomatiese toetsing, eerder as handmatige toetsing, is noodsaaklik om konsekwent kostedoeltreffende sagteware te lewer wat aan gebruikersbehoeftes betyds met minimale defekte voldoen.

Tipes outomatiese toetsing wat in sagteware-ontwikkeling gebruik word
  • Eenheidtoetsing: Toets 'n enkele laevlakprogram in 'n geïsoleerde omgewing voordat die integrasie daarvan met ander eenhede getoets word.
  • Integrasietoetsing: Eenheidtoetse en ander toepassingskomponente word as 'n gekombineerde entiteit getoets.
  • Funksionele toetsing: Toets of 'n sagtewarestelsel optree soos dit moet.
  • Prestasietoetsing: Evalueer die robuustheid van die toepassing onder hoër-as-verwagte vragte. Prestasietoetse openbaar dikwels knelpunte.
  • Rooktoets: Bepaal of 'n gebou stabiel genoeg is om voort te gaan met verdere toetsing.
  • Blaaiertoetsing: Verifieer dat sagtewarekomponente versoenbaar is met verskeie blaaiers.

Handmatige toetsing word steeds op verskeie tye tydens ontwikkeling uitgevoer, maar dit word meestal deur ontwikkelaars of hardeware-ingenieurs self gedoen om vinnig te kyk of die veranderinge wat hulle aangebring het die gewenste uitwerking gehad het.

Ercole Palmeri

Innovasie nuusbrief
Moenie die belangrikste nuus oor innovasie mis nie. Registreer om hulle per e-pos te ontvang.

Onlangse artikels

Innoverende ingryping in Augmented Reality, met 'n Apple-kyker by die Catania Polikliniek

'n Oftalmoplastie-operasie met die Apple Vision Pro-kommersiële kyker is by die Catania Polikliniek uitgevoer ...

3 Mei 2024

Die voordele van inkleurbladsye vir kinders - 'n wêreld van magie vir alle ouderdomme

Die ontwikkeling van fyn motoriese vaardighede deur inkleur berei kinders voor vir meer komplekse vaardighede soos skryf. Om in te kleur...

2 Mei 2024

Die toekoms is hier: hoe die verskepingsbedryf die wêreldekonomie revolusioneer

Die vlootsektor is 'n ware globale ekonomiese moondheid, wat na 'n 150 miljard-mark navigeer het ...

1 Mei 2024

Uitgewers en OpenAI onderteken ooreenkomste om die vloei van inligting wat deur Kunsmatige Intelligensie verwerk word, te reguleer

Verlede Maandag het die Financial Times 'n ooreenkoms met OpenAI aangekondig. FT lisensieer sy wêreldklas-joernalistiek ...

30 April 2024