Wat is integratietesten

Met de vooruitgang op het gebied van informatietechnologie worden de dingen veel gemakkelijker voor ons, mensen en letterlijk, alles kan gedaan worden met slechts een handomdraai. Maar daarvoor kan alles heel hard worden gedaan en het belangrijkste van alles is "LOGIC". Nu, soms, hebben we gezien dat sommige functies niet precies werken volgens de verwachtingen of dat de resultaten die uit de software worden afgeleid niet overeenkomen met onze verwachtingen, dat is waar het testen van de software een belangrijke rol speelt. Om de fouten in de systemen te corrigeren, om de juiste / verwachte resultaten te verkrijgen, is het testen van software.

Om te begrijpen wat integratietesten betekent, moeten we eerst begrijpen wat softwaretesten betekent! Softwaretesten is een activiteit om te controleren of de uitvoer / het resultaat van een test gelijk is aan de verwachte uitvoer / het resultaat, wat betekent dat de software correct wordt uitgevoerd. Het resultaat dat wordt verkregen nadat bepaalde software / systemen zijn uitgevoerd, moet overeenkomen met het verwachte resultaat als uitvoer van de software / systemen; Als dit niet het geval is, moet de software opnieuw worden geschreven of moeten bepaalde wijzigingen worden aangebracht in geschreven code.

Software testen van een software systeem gebeurt op verschillende niveaus. Testniveaus worden als volgt weergegeven:

Chronologisch wordt integratietest gedaan na de eerste stap, “Unit Testing” is voltooid. Zoals de naam integratie al zegt, is de tekstdefinitie van Integration Testing "Individuele softwaremodules worden gecombineerd en samen getest, zoals een groep". Dit betekent dat er in software veel componenten zijn. Deze vele componenten vormen samen een softwaresysteem. Dit softwaresysteem wordt samen getest en het testniveau waarop het wordt getest staat bekend als integratietesten. Dus wanneer deze modules worden gecombineerd, moet het resultaat dat eruit wordt verkregen gelijkwaardig zijn aan het verwachte resultaat, dat is waar integratietests een rol spelen. Het belangrijkste doel van integratietests is om te controleren of afzonderlijke modules correct samenwerken wanneer ze worden gecombineerd.

Ook bekend als I & T (Integration and Testing) kan helpen bij het testen van individuele en volledige moduletests. Het is opgenomen in zowel Black Box als White Box Testing. De meeste organisaties testen hun software alleen met Unit Testing en Functional Testing methodologieën.

Typen en benaderingen

Er zijn vier soorten en benaderingen van integratietesten, hieronder vermeld:

  1. Oerknal benadering
  2. Bottom-up aanpak
  3. Top-down aanpak
  4. Hybrid / Sandwich

1. Big Bang-aanpak:

De ontwikkelde modules / componenten van de softwaresystemen zijn aan elkaar gekoppeld. Deze individuele modules worden samen getest wanneer gekoppeld. Na het testen van eenheden worden deze modules samen getest en vormen ze een softwaresysteem. Maar sommigen van ons hebben misschien de volgende vraag: hoe is het testen van softwaresystemen als geheel en het testen van integratie anders? Het belangrijkste dat we hier begrijpen is dat, bij integratietesten, het testen wordt gedaan voor de afzonderlijke modules worden gecombineerd, nadat unit-testen zijn uitgevoerd; en bij het testen van softwaresystemen wordt het hele systeem getest met alle parameters in aanmerking genomen.

Het volgende diagram geeft precies weer wat de Big Bang-aanpak van integratietests betekent:

Met Big Bang Approach zijn er enkele voor- en nadelen verbonden:

voordelen:

  • Het is erg handig om te benaderen als de systemen klein zijn. Naarmate de tijd die nodig is voor deze aanpak groter is, kunnen grote systemen leiden tot meer tijdverbruik.
  • Foutdetectie is hiermee heel eenvoudig, gezien kleine systemen

nadelen:

  • Aangezien alle modules zijn gekoppeld, is het moeilijk om deze te herkennen als er een fout in de systemen optreedt.
  • Sommige modules zijn erg belangrijk en moeten worden getest. Deze modules moeten worden getest voordat ze in het systeem worden gebruikt. Maar tijdens integratietests zijn deze modules mogelijk niet efficiënt getest, omdat alle modules aan elkaar zijn gekoppeld.
  • De tijd die het gehele softwaresysteem in beslag neemt, is veel meer dan andere benaderingen van integratietests.
  • Het koppelen van de modules kan enige tijd in beslag nemen, wat ertoe kan leiden dat de totale procestijd van het softwaresysteem in beslag wordt genomen.
  • De tijd die nodig is voor deze aanpak is meer, omdat veel modules aan elkaar worden gekoppeld en het testen van elke module meer tijd kost.

2. Bottom-upbenadering

In deze benadering worden de low-level modules eerst getest, samen en afzonderlijk. Alle modules op het onderste niveau zijn geïntegreerd, inclusief functies en procedures en alles is gekoppeld en getest. Dit helpt bij het testen van de modules op een hoger niveau, omdat het hiervoor een basis vormt. Deze procedure wordt herhaald om alle modules van het onderste niveau tot de bovenste niveau module grondig te testen. In eenvoudige bewoordingen begint het testen, van de binnenste en de onderste modules en gaat geleidelijk omhoog. Zoals in het diagram wordt aangegeven, wordt hierbij de hulp van een bestuurder gebruikt. Dus wat is een stuurprogramma en hoe helpt het? Zoals de stroom suggereert, kunnen de modules op het hoogste niveau pas in het systeem worden geïntegreerd als en tenzij het testen van de modules op het onderste niveau wordt gedaan en gekoppeld. Dus de bestuurder hier helpt bij het koppelen van de modules op het onderste niveau en op het hoogste niveau en werkt als een medium of in een technische term als een oproepfunctie.

voordelen:

  • De ontwikkeling van afzonderlijke modules kan worden gedaan terwijl de bottom-upbenadering van de integratietest wordt gebruikt, omdat de koppeling en de integratietest worden uitgevoerd nadat eerst de modules op het onderste niveau zijn getest.
  • Als er een fout bestaat / optreedt, kan deze tegelijkertijd en op hetzelfde niveau worden opgelost. De foutidentificatie en -correctie is veel eenvoudiger dan andere benaderingen.
  • De benodigde tijd voor foutidentificatie en foutcorrectie is veel minder in vergelijking met andere benaderingen.
  • Fouten kunnen worden opgelost op hetzelfde onderste niveau of op het hoogste niveau.

nadelen:

  • De tijd die nodig is voor het hele proces is meer, het testproces eindigt pas als alle modules van zowel het bovenste als het onderste niveau zijn opgenomen en getest.
  • Stuurprogramma's zijn nodig om de modules op hoog niveau aan te roepen
  • Als het softwaresysteem steeds meer kleine, maar complexe modules bevat, kan het langer duren voordat het softwaretestproces is voltooid.

3. Top-downbenadering

Deze benadering is precies het tegenovergestelde van de bottom-upbenadering. De modules op het hoogste niveau worden in eerste instantie getest en vervolgens worden gelijktijdig andere modules op een lager niveau getest. De bovenste modules worden eerst individueel getest, net zoals gespecialiseerde unit-tests worden uitgevoerd voor de bovenste module en uiteindelijk worden andere modules in overweging genomen en getest. De top-down benadering vereist een oproepfunctie, net als een bottom-up benadering genaamd Stubs. De stubs zijn shortcode logische instructies die worden gebruikt om invoer van de modules op het hoogste niveau te accepteren en uiteindelijk modules op het onderste niveau aan te roepen voor integratie en testen.

voordelen:

  • Eenvoudig fouten of fouten kunnen in deze aanpak worden gedetecteerd.
  • Cruciale modules worden grondig getest en voorafgaand aan andere modules.
  • Software systeemintegratietesten kunnen in minder tijd worden uitgevoerd in vergelijking met andere benaderingen.

nadelen:

  • Modules op onderste niveau worden mogelijk niet getest tot het verwachte niveau of worden mogelijk niet getest volgens de vereisten.
  • Stubs zijn nodig en zijn vereist om het testproces verder te laten verlopen.

4. Hybride / sandwichbenadering

Ook bekend als Mixed Integration Testing. Bottom-up aanpak en top-down aanpak worden beide gecombineerd in deze aanpak. Vandaar bekend als testmethode voor hybride of sandwich of gemengde integratie. Deze aanpak wordt gebruikt om de fall-outs van zowel de benaderde individuen te verbergen. De bovenste module is unit-getest en tegelijkertijd worden modules op het onderste niveau geïntegreerd en getest met de modules op het hoogste niveau.

voordelen:

  • Meestal gebruikt voor grote projecten en die veel tijd nodig hebben om te voltooien.

nadelen:

  • De kosten van dit type testen zijn vrij hoog omdat beide benaderingen worden gebruikt bij het voltooien van testen.

Voordelen van integratietesten

  1. Integratietesten voor verschillende modules tegelijkertijd is eenvoudig.
  2. Kan zowel in de vroege als de latere fase van het testproces worden gebruikt.
  3. De dekking van de codelengte is meer in vergelijking met andere technieken voor het testen van software, aangezien beide benaderingen van onder naar boven kunnen worden gebruikt.
  4. Afhankelijk van de veranderingen in de vereisten, varieert de ontwikkeling, dus het testen van modules op verschillende niveaus wordt belangrijk, waarvoor integratietesten gemakkelijk kunnen worden gebruikt.

Waarom Integration Testing wordt gebruikt

  • Mensen die in de IT-industrie zijn geweest, zijn misschien op de hoogte van de constante veranderingen die plaatsvinden. Elke dag, afhankelijk van de vereisten, verandert de noodzaak om een ​​bepaald softwaresysteem te ontwikkelen, dus elke dag worden nieuwe codefragmenten ontwikkeld. Wanneer deze patches aan elkaar worden gekoppeld om één software te vormen. Dus, om dit te controleren, zijn integratietests en de benaderingen ervan een must.
  • Wanneer een complexe of enorme software wordt gecodeerd of gebouwd, wordt deze in afzonderlijke modules ingedeeld. Veel mensen werken tegelijkertijd aan deze modules, maar wanneer deze modules zijn geïntegreerd, wordt er getest. In de meeste gevallen vereist integratie van modules dat er integratietests worden uitgevoerd voordat het verder wordt verwerkt.
  • Voor de meeste softwaretoepassingen is een aantal ondersteunende bibliotheken vereist. Integratietests worden uitgevoerd wanneer deze bibliotheken samen met de ontwikkelde code worden gebruikt.
  • Integratie wordt een must wanneer de software wordt ontwikkeld, omdat de fouten op het vastgestelde niveau kunnen worden verholpen. Zoals we nu weten over de benaderingen, kan er een van de benaderingen voor worden gebruikt.

Cases voor integratie testen

Overweeg dat we één software voor werknemersbeheer bouwen. Deze software heeft drie hoofdaspecten:

  1. Login werknemer
  2. Werknemersrapport
  3. Salarisbenamingspagina en salarisniveau

Nu, rekening houdend met het bovenstaande geval, wordt eerst de software ontwikkeld en moet de stroom Medewerkersregistratie zijn (invoer van de waarden, bijvoorbeeld: werknemers-ID, naam, telefoonnummer, enz.). Na de juiste invoer moet deze omleiden naar de netpagina die werknemersrapportpagina. Nu, als hier de werknemer niet naar de rapportpagina en direct naar de salarisinformatiepagina wordt doorgestuurd, dan is er een fout. Om dit te corrigeren, wordt de stroom, de volgorde van activiteiten en integratietests gedaan.

Een ander voorbeeld van de integratietests zou zijn:

We controleren dagelijks onze e-mails. Alle e-mailserviceproviders bieden ons dezelfde functionaliteit.

Login-> Inbox->Send / Delete Mail-> Logout

Wanneer we nu inloggen op hun servers, worden eerst de waarden gecontroleerd op juistheid, dat wil zeggen eenheidstesten. Dus, nu nadat de referenties overeenkomen, moet de aanmeldingspagina ons naar de inbox-pagina overbrengen. Dat is het verwachte resultaat. Als het ons niet naar de Inbox-pagina overbrengt, in plaats daarvan ons naar een ongewenste map overbrengt, wordt het een geval van integratie-testgeval. Hetzelfde geldt voor het verzenden en verwijderen van de e-mails.

Andere gevallen kunnen zijn:

  • Na succesvolle registratie bij een online / offline applicatie, zou er een displaybericht voor de gebruiker moeten verschijnen.
  • Bankapplicaties moeten gebruikers doorverwijzen naar de vereiste pagina met het rekeningoverzicht.
  • Na een succesvolle aanmelding bij sociale media-apps, zou de standaardpagina, bijvoorbeeld: Home / Profiel voor Facebook, moeten verschijnen.

Conclusie

Met zoveel vooruitgang op het gebied van IT, dag in dag uit en zoveel ontwikkelaars die op verschillende locaties zitten en aan dezelfde software werken, is integratie testen een must geworden. Met zijn benaderingen kunnen integratietests worden gebruikt voor zowel kleine als grote softwaretoepassingen. Integratietests, die zich midden in de softwaretestniveaus bevinden en zoveel voordelen hebben, worden steeds belangrijker voor klanten op commercieel niveau en regelmatige controle helpt om de software intact te houden.

Aanbevolen artikelen

Dit is een handleiding voor integratietests geweest. Hier hebben we enkele basisconcepten, definitie, typen en aanpak besproken met hun voor- en nadelen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Carrières in het testen van software
  2. Carrières voor softwareontwikkelaars
  3. Wat is Black Box-testen
  4. Handige carrières als software-ingenieur