Zelfstudie over automatiseringstesten: wat is geautomatiseerd testen?

Inhoudsopgave:

Anonim

Wat is automatiseringstesten?

Automatiseringstesten of testautomatisering is een softwaretesttechniek die wordt uitgevoerd met behulp van speciale geautomatiseerde testsoftwaretools om een ​​testcase-suite uit te voeren. Integendeel, handmatig testen wordt uitgevoerd door een mens die achter een computer zit en zorgvuldig de teststappen uitvoert.

De automatiseringstestsoftware kan ook testgegevens invoeren in het te testen systeem, verwachte en werkelijke resultaten vergelijken en gedetailleerde testrapporten genereren. Software Test Automation vergt aanzienlijke investeringen in geld en middelen.

Voor opeenvolgende ontwikkelingscycli moet dezelfde testsuite herhaaldelijk worden uitgevoerd. Met behulp van een testautomatiseringstool is het mogelijk om deze testsuite op te nemen en indien nodig opnieuw af te spelen. Zodra de testsuite is geautomatiseerd, is geen menselijke tussenkomst vereist. Deze verbeterde ROI van testautomatisering. Het doel van automatisering is om het aantal testgevallen dat handmatig moet worden uitgevoerd te verminderen en niet om handmatig testen helemaal te elimineren.

Klik hier als de video niet toegankelijk is

In deze zelfstudie over geautomatiseerde softwaretests leert u de basisprincipes van Testautomatisering, zoals:

  • Wat is automatiseringstesten?
  • Waarom geautomatiseerd testen?
  • Welke testcases moeten worden geautomatiseerd?
  • Geautomatiseerd testproces
  • Test tool selectie
  • Definieer de reikwijdte van automatisering
  • Planning, ontwerp en ontwikkeling
  • Testuitvoering
  • Framework voor automatisering
  • Best practices voor automatiseringstools
  • Voordelen van automatiseringstests
  • Soorten geautomatiseerde tests
  • Hoe een automatiseringstool kiezen?
  • Testtools voor automatisering

Waarom automatisering testen?

Waarom automatisering testen?

Testautomatisering is de beste manier om de effectiviteit, testdekking en uitvoeringssnelheid bij softwaretests te vergroten. Geautomatiseerde softwaretests zijn belangrijk vanwege de volgende redenen:

  • Handmatig testen van alle workflows, alle velden, alle negatieve scenario's kost tijd en geld
  • Het is moeilijk om handmatig meertalige sites te testen
  • Testautomatisering bij het testen van software vereist geen menselijke tussenkomst. U kunt een geautomatiseerde test zonder toezicht uitvoeren ('s nachts)
  • Testautomatisering verhoogt de snelheid van testuitvoering
  • Automatisering helpt de testdekking te vergroten
  • Handmatig testen kan saai en daardoor foutgevoelig worden.

Welke testcases moeten worden geautomatiseerd?

Testgevallen die moeten worden geautomatiseerd, kunnen worden geselecteerd aan de hand van het volgende criterium om de ROI van de automatisering te verhogen

  • Hoog risico - bedrijfskritische testcases
  • Testcases die herhaaldelijk worden uitgevoerd
  • Test Cases die erg vervelend of moeilijk handmatig uit te voeren zijn
  • Testcases die tijdrovend zijn

De volgende categorie testcases is niet geschikt voor automatisering:

  • Test Cases die nieuw zijn ontworpen en niet minimaal één keer handmatig zijn uitgevoerd
  • Testcases waarvan de eisen regelmatig veranderen
  • Testcases die op ad-hoc basis worden uitgevoerd.

Geautomatiseerd testproces:

De volgende stappen worden gevolgd in een automatiseringsproces

Stap 1) Selectie testgereedschap

Stap 2) Definieer de reikwijdte van automatisering

Stap 3) Planning, ontwerp en ontwikkeling

Stap 4) Testuitvoering

Stap 5) Onderhoud

Test automatiseringsproces

Test tool selectie

De selectie van testtools hangt grotendeels af van de technologie waarop de te testen applicatie is gebouwd. QTP ondersteunt bijvoorbeeld Informatica niet. QTP kan dus niet worden gebruikt voor het testen van Informatica-applicaties. Het is een goed idee om een ​​Proof of Concept of Tool op AUT uit te voeren.

Definieer de reikwijdte van automatisering

De reikwijdte van automatisering is het gebied van uw te testen applicatie dat zal worden geautomatiseerd. De volgende punten helpen bij het bepalen van de reikwijdte:

  • De features die belangrijk zijn voor het bedrijf
  • Scenario's met een grote hoeveelheid gegevens
  • Gemeenschappelijke functionaliteiten tussen applicaties
  • Technische haalbaarheid
  • De mate waarin bedrijfscomponenten worden hergebruikt
  • De complexiteit van testcases
  • Mogelijkheid om dezelfde testcases te gebruiken voor cross-browser testen

Planning, ontwerp en ontwikkeling

Tijdens deze fase maak je een automatiseringsstrategie en -plan, dat de volgende details bevat:

  • Automatiseringstools geselecteerd
  • Framework-ontwerp en zijn kenmerken
  • In-Scope en Out-of-scope items van automatisering
  • Automatisering testbed voorbereiding
  • Schema en tijdlijn van scripting en uitvoering
  • Resultaten van automatiseringstests

Testuitvoering

Automatiseringsscripts worden tijdens deze fase uitgevoerd. De scripts hebben invoertestgegevens nodig voordat ze kunnen worden uitgevoerd. Eenmaal uitgevoerd, leveren ze gedetailleerde testrapporten.

De uitvoering kan worden uitgevoerd met behulp van de automatiseringstool rechtstreeks of via de testbeheertool die de automatiseringstool aanroept.

Voorbeeld: Kwaliteitscentrum is de testbeheertool die op zijn beurt QTP aanroept voor het uitvoeren van automatiseringsscripts. Scripts kunnen op een enkele machine of een groep machines worden uitgevoerd. De uitvoering kan 's nachts worden gedaan om tijd te besparen.

Test automatisering onderhoudsaanpak

Test Automation Maintenance Approach is een automatiseringstestfase die wordt uitgevoerd om te testen of de nieuwe functionaliteiten die aan de software zijn toegevoegd goed werken of niet. Onderhoud in automatiseringstests wordt uitgevoerd wanneer nieuwe automatiseringsscripts worden toegevoegd en moeten worden herzien en onderhouden om de effectiviteit van automatiseringsscripts bij elke opeenvolgende releasecyclus te verbeteren.

Framework voor automatisering

Een raamwerk is een reeks automatiseringsrichtlijnen die helpen

  • Consistentie van testen behouden
  • Verbetert de teststructurering
  • Minimaal gebruik van code
  • Minder onderhoud van code
  • Verbeter herbruikbaarheid
  • Niet-technische testers kunnen bij code betrokken zijn
  • De trainingsduur voor het gebruik van de tool kan worden verkort
  • Betrekt gegevens waar van toepassing

Er zijn vier soorten frameworks die worden gebruikt bij het testen van automatiseringssoftware:

  1. Datagestuurde automatiseringsraamwerk
  2. Sleutelwoordgestuurd automatiseringsraamwerk
  3. Modulair automatiseringsraamwerk
  4. Framework voor hybride automatisering

Best practices voor automatiseringstools

Houd rekening met het volgende om een ​​maximale ROI van automatisering te krijgen

  • De scope van automatisering dient voor aanvang van het project in detail te worden bepaald. Dit schept verwachtingen van automatisering.
  • Selecteer de juiste automatiseringstool: een tool moet niet worden geselecteerd op basis van populariteit, maar past bij de automatiseringsvereisten.
  • Kies een passend kader
  • Scripting Standards - Standaarden moeten worden gevolgd bij het schrijven van de scripts voor automatisering. Sommige ervan zijn-
    • Maak uniforme scripts, opmerkingen en inspringing van de code
    • Adequate afhandeling van uitzonderingen - Hoe fouten worden afgehandeld bij systeemstoringen of onverwacht gedrag van de toepassing.
    • Door de gebruiker gedefinieerde berichten moeten worden gecodeerd of gestandaardiseerd zodat testers fouten kunnen loggen.
  • Meet metrics - Succes van automatisering kan niet worden bepaald door de handmatige inspanning te vergelijken met de automatiseringsinspanning, maar door ook de volgende metrics vast te leggen.
    • Percentage gevonden defecten
    • De tijd die nodig is voor automatiseringstests voor elke releasecyclus
    • Minimale tijd wordt genomen voor release
    • Klanttevredenheidsindex
    • Productiviteitsverbetering

De bovenstaande richtlijnen kunnen, indien nageleefd, enorm helpen bij het succesvol maken van uw automatisering.

Voordelen van automatiseringstests

Voordelen van automatiseringstests

Hieronder volgen de voordelen van testautomatisering:

  • 70% sneller dan handmatig testen
  • Bredere testdekking van toepassingsfuncties
  • Betrouwbaar in resultaten
  • Zorg voor consistentie
  • Bespaart tijd en kosten
  • Verbetert de nauwkeurigheid
  • Menselijke tussenkomst is niet vereist tijdens de uitvoering
  • Verhoogt efficiëntie
  • Betere snelheid bij het uitvoeren van tests
  • Herbruikbare testscripts
  • Test regelmatig en grondig
  • Door automatisering kan een grotere uitvoeringscyclus worden bereikt
  • Vroege marktintroductie

Soorten geautomatiseerde tests

  • Rook testen
  • Testen van een eenheid
  • Integratietesten
  • Functioneel testen
  • Trefwoorden testen
  • Regressietesten
  • Gegevensgestuurd testen
  • Black Box-testen

Hoe een automatiseringstool kiezen?

Het selecteren van het juiste gereedschap kan een lastige taak zijn. Het volgende criterium helpt u bij het selecteren van het beste gereedschap voor uw behoefte-

  • Milieu Ondersteuning
  • Makkelijk te gebruiken
  • Testen van database
  • Object identificatie
  • Afbeelding testen
  • Foutherstel testen
  • Objecttoewijzing
  • Gebruikte scripttaal
  • Ondersteuning voor verschillende soorten tests - inclusief functioneel, testbeheer, mobiel, enz ...
  • Ondersteuning voor meerdere testkaders
  • Gemakkelijk om de scripts van de automatiseringssoftware te debuggen
  • Mogelijkheid om objecten in elke omgeving te herkennen
  • Uitgebreide testrapporten en resultaten
  • Minimaliseer de trainingskosten van geselecteerde tools

Gereedschapsselectie is een van de grootste uitdagingen die moeten worden aangepakt voordat u voor automatisering gaat. Identificeer eerst de vereisten, verken verschillende tools en de mogelijkheden ervan, bepaal de verwachting van de tool en ga voor een proof of concept.

Testtools voor automatisering

Er zijn talloze functionele en regressietesttools op de markt. Hier zijn de beste testautomatiseringstools die zijn gecertificeerd door onze experts

  1. Ranorex Studio

Ranorex Studio is een alles-in-één tool voor het automatiseren van functionele UI-tests, regressietests, datagestuurde tests en nog veel meer. Ranorex Studio bevat een gebruiksvriendelijke click-and-go-interface om tests voor web-, desktop- en mobiele applicaties te automatiseren.

Kenmerken:

  • Functionele gebruikersinterface en end-to-end-tests op desktop, internet en mobiel
  • Cross-browser testen
  • SAP, ERP, Delphi en legacy-applicaties.
  • iOS en Android
  • Voer tests lokaal of op afstand uit, parallel of verspreid over een Selenium Grid
  • Robuuste rapportage

Kom meer te weten


  1. Testim

Testim is de snelste weg naar veerkrachtige end-to-end-tests zonder code, gecodeerd of beide. Met Testim kun je verbazingwekkend stabiele codeloze tests maken die gebruikmaken van onze AI, maar ook de flexibiliteit om tests als code te exporteren. Klanten zoals Microsoft, NetApp, Wix en JFrog voeren elke maand miljoenen tests uit op Testim

Kenmerken

  • U kunt de moderne JavaScript-API van Testim en uw IDE gebruiken om tests te debuggen, aan te passen of te refactoren.
  • Sla test op in je versiebeheersysteem om ze gesynchroniseerd te houden met branches en voer tests uit bij elke commit.
  • Integratie met populaire tools

Kom meer te weten


  1. Selenium

Het is een softwaretesttool die wordt gebruikt voor regressietesten. Het is een open source testtool die afspeel- en opnamefunctie biedt voor regressietesten. De Selenium IDE ondersteunt alleen de Mozilla Firefox-webbrowser.

  • Het biedt de mogelijkheid om opgenomen script in andere talen te exporteren, zoals Java, Ruby, RSpec, Python, C #, enz.
  • Het kan worden gebruikt met frameworks zoals JUnit en TestNG
  • Het kan meerdere tests tegelijk uitvoeren
  • Autocomplete voor Selenium-opdrachten die veel voorkomen
  • Doorlooptests
  • Identificeert het element met behulp van id, naam, X-pad, etc.
  • Sla tests op als Ruby Script, HTML en elk ander formaat
  • Het biedt een optie om de titel voor elke pagina te bevestigen
  • Het ondersteunt het selenium user-extensions.js-bestand
  • Het maakt het mogelijk om opmerkingen in het midden van het script in te voegen voor een beter begrip en foutopsporing

Download Selenium


  1. QTP (MicroFocus UFT)

QTP wordt veel gebruikt voor functionele en regressietests, het is geschikt voor alle belangrijke softwareapplicaties en omgevingen. Om het maken en onderhouden van tests te vereenvoudigen, wordt het concept van trefwoordgestuurd testen gebruikt. Hiermee kan de tester rechtstreeks vanuit de applicatie testcases bouwen.

  • Het is gemakkelijker te gebruiken voor een niet-technisch persoon om zich aan te passen en werkende testcases te creëren
  • Het lost defecten sneller op door defecten grondig te documenteren en repliceren voor ontwikkelaars
  • Vouw het maken van tests en testdocumentatie samen op één locatie
  • Parametrering is eenvoudig dan WinRunner
  • QTP ondersteunt .NET-ontwikkelomgeving
  • Het heeft een beter objectidentificatiemechanisme
  • Het kan bestaande QTP-scripts verbeteren zonder dat "Application Under Test" beschikbaar is, door het actieve scherm te gebruiken

Download QTP


  1. Rationele functionele tester

Het is een objectgeoriënteerde geautomatiseerde functionele testtool die in staat is om geautomatiseerde functionele, regressie-, datagestuurde tests en GUI-tests uit te voeren. De belangrijkste kenmerken van deze tool zijn

  • Het ondersteunt een breed scala aan protocollen en toepassingen zoals Java, HTML, NET, Windows, SAP, Visual Basic, enz.
  • Het kan de acties op aanvraag opnemen en opnieuw afspelen
  • Het integreert goed met tools voor bronbeheerbeheer, zoals Rational Clear Case en Rational Team Concert-integratie
  • Het stelt ontwikkelaars in staat om aan een trefwoord gekoppeld script te maken, zodat het opnieuw kan worden gebruikt
  • Met de Eclipse Java Developer Toolkit-editor kan het team testscripts in Java coderen met Eclipse
  • Het ondersteunt aangepaste besturingselementen via proxy SDK (Java / .Net)
  • Het ondersteunt versiebeheer om parallelle ontwikkeling van testscripts en gelijktijdig gebruik door geografisch verspreid team mogelijk te maken

Download Rational Functional Tester


  1. Watir

Het is een open source testsoftware voor regressietesten. Het stelt u in staat tests te schrijven die gemakkelijk te lezen en te onderhouden zijn. Watir ondersteunt alleen Internet Explorer op Windows, terwijl Watir webdriver Chrome, Firefox, IE, Opera, etc. ondersteunt.

  • Het ondersteunt meerdere browsers op verschillende platforms
  • In plaats van een eigen leverancierscript te gebruiken, gebruikt het een volledig uitgeruste moderne scripttaal Ruby
  • Het ondersteunt uw web-app, ongeacht waarin deze is ontwikkeld

Download Watir


  1. SilkTest

Silk Test is ontworpen voor het uitvoeren van functionele en regressietests. Voor e-businesstoepassingen is Silk Test het toonaangevende functionele testproduct. Het is een product van de overname van Segue Software door Borland in 2006. Het is een objectgeoriënteerde taal net als C ++. Het gebruikt het concept van een object, klassen en overerving. Het belangrijkste kenmerk omvat

  • Het bestaat uit alle bronscriptbestanden
  • Het zet de scriptopdrachten om in GUI-opdrachten. Op dezelfde machine kunnen opdrachten worden uitgevoerd op een externe of hostcomputer
  • Om de beweging van de muis samen met toetsaanslagen te identificeren, kan Silktest worden uitgevoerd. Het kan zowel afspeel- als opnamemethoden of beschrijvende programmeermethoden gebruiken om de dialogen te krijgen
  • Het identificeert alle besturingselementen en vensters van de te testen applicatie als objecten en bepaalt alle attributen en eigenschappen van elk venster

Download SilkTest

Overzicht

Testautomatisering is een softwaretesttechniek die wordt uitgevoerd met behulp van speciale geautomatiseerde testsoftwaretools om een ​​testcase-suite uit te voeren.

Testautomatisering is de beste manier om de effectiviteit, testdekking en uitvoeringssnelheid bij softwaretests te vergroten.

De selectie van testtools hangt grotendeels af van de technologie waarop de te testen applicatie is gebouwd.

Test Automation Maintenance Approach is een automatiseringstestfase die wordt uitgevoerd om te testen of de nieuwe functionaliteiten die aan de software zijn toegevoegd goed werken of niet.

De juiste selectie van automatiseringstool, testproces en team zijn belangrijke spelers om automatisering succesvol te laten zijn. Handmatige en automatiseringsmethoden gaan hand in hand voor succesvol testen.