configuration testing tutorial with examples
Inleiding tot het testen van softwareconfiguraties:
Dit artikel is naar u toe gebracht om een speciaal type softwaretesting te bespreken dat erg belangrijk is voor het bedrijf.
We bespreken de basisprincipes van configuratietests, de behoefte, het belang, de doelen en de typen. Naarmate we verder komen in het artikel, zullen we in detail leren hoe we deze tests moeten uitvoeren.
Laten we beginnen!!
Deze tutorial geeft je een compleet overzicht van configuratietesten en het zal dienen als een perfecte gids voor iedereen die nieuw is in dit testconcept en de kennis opfrissen van degenen die er al ervaring mee hebben.
Wat je leert:
- Wat is configuratietesten?
- Waarom dit testen?
- Voorbereiden op configuratietest
- Microsoft VSTS - Configuratietesttool
- Doelen
- Typen configuratietests
- Belang van dit testen voor een onderneming
- Gevolgtrekking
- Aanbevolen literatuur
Wat is configuratietesten?
Configuratietesten is een methode om een systeem in ontwikkeling te testen op meerdere machines met verschillende combinaties of configuraties van hardware en software. De prestaties van het systeem of een applicatie worden getest aan de hand van elk van de ondersteunde hardware- en softwareconfiguraties.
Wanneer we verschillende configuraties van hardware en software zeggen, wordt dit toegeschreven aan meerdere besturingssysteemversies, browsers, ondersteunde stuurprogramma's, geheugengroottes, typen harde schijven, CPU's, enz.
hoe testcase in Excel-sheet te schrijven
Waarom dit testen?
Zoals hierboven besproken, is deze test een techniek die de prestaties van een software, systeem / applicatie beoordeelt, rekening houdend met de verschillende systeemconfiguraties.
Deze tests worden gedaan om de optimale configuraties te bepalen waaronder een systeem of een applicatie goed kan werken zonder bugs, problemen of tekortkomingen in de prestaties. De meest effectieve configuratie die de vereiste prestatiekenmerken levert, wordt dus vastgesteld met behulp van deze tests.
De tweede belangrijkste reden voor deze tests is om de compatibiliteit van het systeem met de andere software of apparatuur die wordt genoemd in de SRS (specificatie van softwarevereisten) te verifiëren.
Een voorbeeld
Laten we eens kijken dat uw onderneming een desktoptoepassing in C # -taal heeft ontwikkeld en dat deze app is gebouwd op het .NET-framework.
En deze app is gebaseerd op een 3-tier-architectuur die drie lagen heeft: front-end (client), de applicatielaag (server) en de databaselaag. Elk van de lagen ondersteunt dienovereenkomstig bepaalde platforms.
Laten we aannemen dat elke laag de onderstaande platforms ondersteunt:
Klant - Windows 10 OS, Windows 7, Windows XP, Linux OS.
Server - Ubuntu-server, Windows Server 2016 Novell Open Enterprise Server
Database - Microsoft SQL Server, IBM DB2, MySQL.
Nu moet u als softwaretester de applicatie testen onder elk van de verschillende combinaties van de bovenstaande client-, server- en databaseplatforms om er zeker van te zijn dat de applicatie goed werkt met elk van de mogelijke configuraties.
Bijvoorbeeld ga je kijken hoe de applicatie werkt met de combinatie van Windows 10 OS, Windows Server 2016 & MySQL database, daarna voer je nog een test uit om te kijken hoe de applicatie werkt met de combinatie van Windows 10 OS, Windows Server 2016 en IBM DB2 database.
En zo verder totdat u alle mogelijke configuraties hebt getest.
Onze tests zouden niet alleen beperkt blijven tot de software, maar het zal ook betrekking hebben op de hardware, waarbij we elk van de combinaties van verschillende hardwareapparaten zullen moeten controleren. Daarom wordt deze test soms ook Hardware Configuration Testing genoemd.
Voorbereiden op configuratietest
Aan deze test zijn bepaalde voorwaarden verbonden waaraan moet worden voldaan voordat we de configuratietests uitvoeren.
Hieronder staan de voorwaarden:
# 1) Opstellen van de dekkingsmatrix
Door een groot aantal mogelijke hardware- en softwareconfiguraties wordt het erg tijdrovend en bijna onmogelijk om elk van de configuraties effectief te testen.
Bijvoorbeeld , in het voorbeeld dat we hierboven hebben besproken, hebben we in totaal 3 * 3 * 3, d.w.z. 27 softwareconfiguraties. En stel dat we 5 verschillende harde schijven en 6 verschillende geheugengroottes hebben. Dan gaat de telling naar 27 * 5 * 9, d.w.z. nu 810 configuraties.
Dit zal blijven toenemen als we meer componenten aan de foto toevoegen. Het wordt dus cruciaal om de planning voor het testen van software uit te voeren en duidelijk vast te stellen welke platforms zullen worden ondersteund.
Vervolgens moeten we een dekkingsmatrix bedenken die de verschillende combinaties van de hardware- en softwareconfiguraties bevat. Soms wordt deze dekkingsmatrix ook wel BCM (Basic Configuration Matrix) genoemd.
De bovenstaande afbeelding toont een voorbeeld van een schematische matrix van configuraties die u zou willen testen.
# 2) Prioriteit geven aan de configuraties
Zodra de configuratiematrix is voorbereid, is de volgende stap het prioriteren van de configuraties.
Deze stap is vereist omdat het onmogelijk is om het hele grote scala aan configuraties te testen. Dus, op basis van de feedback van de klant, worden de meest kritieke configuraties ingeschakeld en deze moeten eerst grondig worden getest.
Zodra we klaar zijn met de bovenstaande twee stappen, kunnen we doorgaan met het testen van de verschillende configuraties op basis van hun prioriteit.
Microsoft VSTS - Configuratietesttool
Microsoft Visual Studio Team Services (VSTS) is een tool die enorm helpt bij het testen van uw app onder verschillende configuraties op basis van uw testplan.
U moet een testplan hebben om te beslissen welke tests u wilt uitvoeren en op welke configuraties. U moet ervoor zorgen dat u de juiste omgeving hebt ingesteld voor de configuraties die u nodig heeft. Zodra je de matrix van de combinaties hebt, moet je deze testen.
U kunt de onderstaande stappen volgen om deze test uit te voeren:
# 1) Stel de configuraties in en maak de variabelen. Een variabele is een van de componenten in uw configuratie.
Bijvoorbeeld er kan een variabele ‘Browser’ zijn die meerdere waarden kan hebben, zoals Chrome, Firefox, IE10, enz.
#twee) Wijs de configuraties toe aan de testplannen / testsuites of individuele testcases.
# 3) Voer de tests uit voor elke configuratie.
# 4) Volg de testresultaten voor elk van de configuraties.
Een gedetailleerde stapsgewijze handleiding voor het uitvoeren van deze tests met VSTS kan hier worden bekeken: VSTS - Test verschillende configuraties
Doelen
Hieronder staan de verschillende doelen van deze test:
- Om de optimale configuratie van de AUT (Application under Test) te bepalen.
- Om de verborgen kwetsbaarheden van de hardware te ontdekken.
- Om de bedrijfscontinuïteit te waarborgen door de problemen op te sporen en op te lossen voordat ze de bedrijfsvoering belemmeren.
- Om een configuratiedrift te elimineren.
- Om het aantal fouten als gevolg van hostconfiguratiefouten te minimaliseren.
- Het valideren van de applicatie om er zeker van te zijn dat deze voldoet aan de configureerbaarheid.
- Om de systeemprestaties te analyseren door de hardwarecomponenten toe te voegen, te verwijderen of te wijzigen ( Bijv De geheugengroottes variëren, load balancers toevoegen, enz.).
- Om te controleren of het systeem goed werkt in een geografisch verspreide omgeving (servers en clients bevinden zich op verschillende locaties).
- Verifiëren hoe gemakkelijk de bugs kunnen worden gerepliceerd, ongeacht de configuratiewijzigingen.
- Nagaan hoe traceerbaar en beheersbaar de applicatie-items zijn.
Typen configuratietests
We kunnen hebben twee verschillende lijnen divisies voor dit testen.
Op de Eerste lijn , het kan worden onderverdeeld in twee delen:
- Softwareconfiguratie Testen
- Testen van hardwareconfiguraties
Op de tweede lijn , het kan weer in twee delen worden verdeeld - 1. Testen op clientniveau & 2. Testen op serverniveau
Laten we om te beginnen eens kijken naar de hardware- en softwareconfiguratie.
# 1) Testen van softwareconfiguratie:
Deze tests worden uitgevoerd via de AUT (applicatie die wordt getest) met meerdere OS-versies, software-updates, enz. Dit is een langdradige test, aangezien het enorm veel tijd kost om de verschillende software die voor het testen wordt gebruikt te installeren en te verwijderen.
Een manier om tijd te besparen, is het gebruik van virtuele machines voor het testen van de softwareconfiguratie. Een VM simuleert de real-time configuraties en geeft hetzelfde gevoel als een fysieke machine.
Dus in plaats van het installeren en verwijderen van meerdere software op een enkele fysieke machine, kunnen we meerdere virtuele machines hebben die elke verschillende configuratie simuleren waartegen we de tests moeten uitvoeren.
Het testen van de softwareconfiguratie begint zodra de build is vrijgegeven nadat de unit-test en integratietest zijn doorlopen.
# 2) Testen van hardwareconfiguratie:
Het testen van hardwareconfiguraties wordt meestal uitgevoerd in laboratoria, waar we fysieke machines hebben waarop verschillende hardware is aangesloten.
Elke keer dat 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 te bevestigen dat de applicatie goed werkt.
Om de bovengenoemde taak te volbrengen, is een aanzienlijke hoeveelheid inspanning vereist om de software op elke machine in te stellen, de hardware erop aan te sluiten en vervolgens de testsuites handmatig uit te voeren. Zelfs als we deze taak automatiseren en de testsuite uitvoeren, zou zelfs dan een aanzienlijke inspanning vereist zijn.
Zoals we al hebben besproken in het vorige deel van dit artikel, beschrijven we tijdens het testen van de hardwareconfiguratie het soort hardware dat moet worden getest, en er zijn talloze computerhardware en randapparatuur die het bijna onmogelijk maken om alle testen.
Een tester analyseert dus welke hardware voornamelijk door de klant wordt gebruikt en voert vervolgens de test uit op basis van de prioritering.
Laten we het nu hebben over het testen van de configuratie op clientniveau en serverniveau.
# 1) Testen op klantniveau : Het heeft iets gemeen met het testen van bruikbaarheid en functionaliteit. Deze tests worden gedaan vanuit het oogpunt van de directe gebruikersbelangen.
# 2) Testen op serverniveau : Dit type testen wordt gedaan om de interactie tussen de software en de externe omgeving te onderzoeken wanneer deze na de release geïntegreerd moet worden.
Belang van dit testen voor een onderneming
Deze tests zijn erg belangrijk voor een onderneming om goed presterende, schaalbare en beschikbare applicaties te ontwikkelen en te ondersteunen.
Deze tests moeten op een continue en bij voorkeur geautomatiseerde manier worden uitgevoerd (anders is het erg tijdrovend wanneer ze handmatig worden uitgevoerd) met de bedoeling om snel de factoren te identificeren en corrigeren die bijdragen aan inefficiënties.
11 BESTE softwareconfiguratiebeheertools (SCM-tools in 2020)
Gevolgtrekking
Configuratietesten zijn net zo belangrijk als elk ander type softwaretest, omdat het de optimale configuratie van het systeem ontdekt waaronder de applicatie het beste presteert. Het helpt ook bij het identificeren en verhelpen van compatibiliteitsproblemen.
In dit artikel hebben we geleerd wat configuratietests zijn, waarom we deze tests uitvoeren, wat de doelen zijn, wat de typen zijn, wat de vereisten zijn voor deze tests, hoe dit moet worden gedaan, hoe belangrijk het is voor een onderneming, enz., op een gedetailleerde manier.
Ik hoop dat dit artikel informatief was en je een goed idee zou hebben gegeven over het testen van configuraties.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Functioneel testen versus niet-functioneel testen
- Zelfstudie over paarsgewijs testen of testen in alle paren met tools en voorbeelden
- Software testen QA Assistant Job
- Zelfstudie voor het testen van volumes: voorbeelden en tools voor het testen van volumes
- Tutorial over destructief testen en niet-destructief testen
- Diepgaande Eclipse-zelfstudies voor beginners
- Wat is duurtesten bij softwaretests (voorbeelden)