Wat is configuratietesten? Voorbeeld testgevallen
Configuratie testen
Configuratie testen is een softwaretesttechniek waarbij de softwareapplicatie wordt getest met meerdere combinaties van software en hardware om de functionele vereisten te evalueren en optimale configuraties te vinden waaronder de softwareapplicatie zonder enige defecten of gebreken werkt.
Zoals hierboven besproken, is configuratietesten een softwaretest waarbij de te testen applicatie moet worden getest met behulp van meerdere combinaties van software en hardware.
Configuratietestvoorbeeld
Laten we dit begrijpen met een voorbeeld van een desktoptoepassing:
Over het algemeen zullen desktopapplicaties uit 2 lagen of 3 lagen bestaan. Hier zullen we een desktopapplicatie met 3 niveaus overwegen die is ontwikkeld met behulp van Asp.Net en bestaat uit Client, Business Logic Server en Database Server waarbij elk onderdeel de onderstaande platforms ondersteunt.
- Klantenplatform – Windows XP, Windows 7 OS, Windows 8 OS, enz.
- Serverplatform – Windows server 2008 R2,Windows server 2008 R2, Windows Server2012R2
- Database –SQL-server 2008, SQL Server 2008R2, SQL Server 2012, enz.
Een tester moet de combinatie van client, server en database testen met combinaties van bovengenoemde platforms en databaseversies om er zeker van te zijn dat de applicatie goed functioneert en niet faalt.
Configuratietests zijn niet alleen beperkt tot software, maar zijn ook van toepassing op hardware. Daarom wordt dit ook wel hardwareconfiguratietests genoemd, waarbij we verschillende hardwareapparaten testen, zoals printers, scanners, webcams, enz. die de te testen applicatie ondersteunen.
Vereisten voor configuratietests
Voor elk project moeten we, voordat we met de configuratietest beginnen, aan een aantal vereisten voldoen
- Creatie van een matrix die bestaat uit verschillende combinaties van software- en hardwareconfiguraties
- Prioriteit geven aan de configuraties, omdat het moeilijk is om alle configuraties te testen
- Het testen van elke configuratie op basis van prioriteiten.
Doelstellingen van configuratietests
De doelstellingen van configuratietesten zijn om
- Valideren van de applicatie om te bepalen of deze voldoet aan de configureerbaarheidsvereisten
- Handmatig fouten veroorzaken die helpen bij het identificeren van de defecten die niet efficiënt worden gevonden tijdens het testen (bijvoorbeeld: het wijzigen van de regionale instellingen van het systeem, zoals tijdzone, taal, datum-tijdformaten, enz.)
- Bepaal een optimale configuratie van de te testen applicatie.
- Het analyseren van de systeemprestaties door het toevoegen of wijzigen van hardwarebronnen zoals Load Balancers, het vergroten of verkleinen van de geheugengrootte, het aansluiten van verschillende printermodellen, enz.
- Analyseren van systeemefficiëntie op basis van de prioritering, hoe efficiënt de tests zijn uitgevoerd met de beschikbare middelen om de optimale systeemconfiguratie te bereiken.
- Verificatie van het systeem in een geografisch verspreide omgeving om te verifiëren hoe effectief het systeem presteert. Bijvoorbeeld: Server op een andere locatie en clients op een andere locatie, het systeem zou goed moeten werken, ongeacht de systeeminstellingen.
- Controleren hoe gemakkelijk de bugs reproduceerbaar zijn, ongeacht de configuratiewijzigingen.
- Garanderen hoe traceerbaar de applicatie-items zijn door de gemakkelijk identificeerbare versies goed te documenteren en te onderhouden.
- Controleren hoe beheersbaar de applicatie-items zijn gedurende het hele proces levenscyclus van softwareontwikkeling.
Configuratietests uitvoeren
In dit gedeelte bespreken we de strategie die moet worden gevolgd voor typen configuratietests. Er zijn twee soorten configuratietests, zoals hieronder vermeld.
- Testen van softwareconfiguratie
- Testen van hardwareconfiguratie
Testen van softwareconfiguratie
Het testen van de softwareconfiguratie is het testen van de applicatie die wordt getest met meerdere besturingssystemen, verschillende software-updates, enz. Het testen van de softwareconfiguratie is zeer tijdrovend omdat het tijd kost om de verschillende software die voor het testen wordt gebruikt, te installeren en te verwijderen.
Een van de benaderingen die wordt gevolgd om de softwareconfiguratie te testen, is door te testen op virtuele machines. Virtuele machine is een omgeving die op software is geïnstalleerd en zich gedraagt als fysieke hardware en gebruikers zullen hetzelfde gevoel hebben als een fysieke machine. Virtual Machines simuleert realtime configuraties.
In plaats van de software op meerdere fysieke machines te installeren en te verwijderen, wat tijdrovend is, is het altijd beter om de applicatie/software op de virtuele machine te installeren en door te gaan met testen. Dit proces kan worden uitgevoerd door er meerdere te hebben virtuele machines, wat het werk van een tester vereenvoudigt
Het testen van de softwareconfiguratie kan doorgaans beginnen wanneer
- Er zijn gespecificeerde configureerbaarheidsvereisten die moeten worden getest
- Testomgeving is gereed
- Testteam is goed getraind in het testen van configuraties
- De build is vrijgegeven en de unit- en integratietest is geslaagd
Typisch Teststrategie die wordt gevolgd om de softwareconfiguratietest te testen, is het uitvoeren van de functionele testsuite over meerdere softwareconfiguraties om te verifiëren of de geteste applicatie naar wens werkt zonder enige gebreken of fouten.
Een andere strategie is om ervoor te zorgen dat het systeem goed werkt door de testgevallen handmatig te laten mislukken en de efficiëntie te verifiëren.
Voorbeeld:
Stel dat er een bankapplicatie is die moet worden getest op compatibiliteit met meerdere browsers. Wanneer de applicatie wordt gehost in een omgeving waar alle vereisten aanwezig zijn, kan deze de unit passeren en Integratietesten in het testlaboratorium.
Maar als dezelfde applicatie op een clientlocatie is geïnstalleerd en de machines bepaalde software-updates missen of de versies waarvan de applicatie direct of indirect afhankelijk is, bestaat de kans dat de applicatie mislukt. Om dit soort situaties te voorkomen, wordt altijd voorgesteld om de tests handmatig te laten mislukken door een aantal configureerbaarheidsvereisten te verwijderen en vervolgens door te gaan met testen.
Testen van hardwareconfiguratie
Het testen van hardwareconfiguraties wordt over het algemeen uitgevoerd in laboratoria, waar we fysieke machines aantreffen waaraan verschillende hardware is gekoppeld.
Telkens wanneer een build wordt uitgebracht, moet de software worden geïnstalleerd op alle fysieke machines waarop de hardware is aangesloten, en moet de testsuite op elke machine worden uitgevoerd om er zeker van te zijn dat de applicatie goed werkt.
Om de bovenstaande taak uit te voeren is er een aanzienlijke hoeveelheid inspanning nodig om de software op elke machine te installeren, de hardware aan te sluiten en het bovengenoemde proces handmatig uit te voeren of zelfs te automatiseren en het testpakket uit te voeren.
Tijdens het uitvoeren van de hardwareconfiguratietest specificeren we ook het type hardware dat moet worden getest, en er zijn veel computerhardware en randapparatuur die het vrijwel onmogelijk maken om ze allemaal te gebruiken. Het wordt dus de taak van de tester om te analyseren welke hardware het meest door gebruikers wordt gebruikt en te proberen de tests uit te voeren op basis van de prioriteiten.
Voorbeeldtestgevallen
Overweeg een bankscenario om de hardwarecompatibiliteit te testen. Een bankapplicatie die is verbonden met Note Counting Machine moet worden getest met verschillende modellen zoals Rolex, Strob, Maxsell, StoK, enz.
Laten we enkele voorbeeldtestgevallen nemen om de biljettentelmachine te testen
- Het verifiëren van de verbinding van de applicatie met het Rolex-model wanneer de vereisten NIET zijn geïnstalleerd
- Het verifiëren van de verbinding van de applicatie met het Rolex-model wanneer de vereisten zijn geïnstalleerd
- Controleer of het systeem de bankbiljetten correct telt
- Controleer of het systeem de biljetten verkeerd telt
- Het verifiëren van de geknoeide bankbiljetten
- Het verifiëren van de responstijden
- Controleren of de valse biljetten worden gedetecteerd, enzovoort
De bovenstaande testgevallen zijn voor één model, en hetzelfde moet worden getest met alle modellen die op de markt verkrijgbaar zijn door ze in een testlaboratorium op te zetten, wat moeilijk is. Daarom is het raadzaam om het testen van de hardwareconfiguratie uit te besteden aan organisaties die hierin gespecialiseerd zijn.
Samenvatting
Bij Software Engineering moet aan configuratietesten evenveel aandacht worden besteed als aan andere testtypen. Zonder dat er configuratietests worden uitgevoerd, is het moeilijk om de optimale systeemprestaties te analyseren en kan software ook compatibiliteitsproblemen tegenkomen waarop deze zou moeten draaien.