Wat is softwaretesten? Definitie, basisprincipes & Soorten

Inhoudsopgave:

Anonim

Software testen

Softwaretesten is een methode om te controleren of het daadwerkelijke softwareproduct overeenkomt met de verwachte vereisten en om ervoor te zorgen dat het softwareproduct defectvrij is. Het omvat de uitvoering van software / systeemcomponenten met behulp van handmatige of geautomatiseerde tools om een ​​of meer van belang zijnde eigenschappen te evalueren. Het doel van softwaretests is om fouten, hiaten of ontbrekende vereisten te identificeren in tegenstelling tot daadwerkelijke vereisten.

Sommigen zeggen liever dat softwaretests een White Box en Black Box Testing zijn. Simpel gezegd betekent softwaretest de verificatie van de te testen applicatie (AUT). Deze tutorial introduceert testsoftware voor het publiek en rechtvaardigt het belang ervan.

In deze tutorial leer je:

  • Wat is softwaretesten?
  • Waarom is het testen van software belangrijk?
  • Wat zijn de voordelen van softwaretests?
  • Testen in Software Engineering
  • Soorten softwaretests
  • Teststrategieën in software-engineering
  • Programma testen

Waarom is het testen van software belangrijk?

Softwaretests zijn belangrijk omdat eventuele bugs of fouten in de software vroegtijdig kunnen worden opgespoord en kunnen worden opgelost voordat het softwareproduct wordt geleverd. Een goed getest softwareproduct zorgt voor betrouwbaarheid, veiligheid en hoge prestaties, wat verder resulteert in tijdwinst, kosteneffectiviteit en klanttevredenheid.

Testen is belangrijk omdat softwarefouten duur of zelfs gevaarlijk kunnen zijn. Softwarefouten kunnen mogelijk geldelijke en menselijke verliezen veroorzaken, en de geschiedenis staat vol met dergelijke voorbeelden.

  • In april 2015 crashte de Bloomberg-terminal in Londen als gevolg van een softwareprobleem dat meer dan 300.000 handelaren op de financiële markten trof. Het dwong de regering om de verkoop van een schuld van 3 miljard pond uit te stellen.
  • Nissan-auto's hebben meer dan 1 miljoen auto's van de markt teruggeroepen vanwege een softwarefout in de sensorische detectoren van airbags. Er zijn twee ongevallen gemeld als gevolg van deze softwarefout.
  • Starbucks moest ongeveer 60 procent van de winkels in de VS en Canada sluiten vanwege een softwarefout in het kassasysteem. Op een gegeven moment schonk de winkel gratis koffie omdat ze de transactie niet konden verwerken.
  • Sommige externe retailers van Amazon zagen dat hun productprijs werd verlaagd tot 1 pence vanwege een softwareprobleem. Ze bleven achter met zware verliezen.
  • Kwetsbaarheid in Windows 10. Door deze bug kunnen gebruikers ontsnappen uit beveiligingssandboxen door een fout in het win32k-systeem.
  • In 2015 werd jachtvliegtuig F-35 het slachtoffer van een softwarefout, waardoor het de doelen niet correct kon detecteren.
  • China Airlines Airbus A300 crashte als gevolg van een softwarefout op 26 april 1994, waarbij 264 onschuldige mensen het leven lieten
  • In 1985, Canada's Therac-25 stralingstherapieapparaat defect als gevolg van een softwarefout en leverde dodelijke stralingsdoses af aan patiënten, waarbij 3 mensen omkwamen en 3 anderen ernstig gewond raakten.
  • In april 1999 veroorzaakte een softwarefout de mislukking van een militaire satellietlancering van $ 1,2 miljard, het duurste ongeval in de geschiedenis
  • In mei 1996 zorgde een softwarefout ervoor dat de bankrekeningen van 823 klanten van een grote Amerikaanse bank werden gecrediteerd met 920 miljoen US dollar.

Klik hier als de video niet toegankelijk is

Wat zijn de voordelen van softwaretests?

Dit zijn de voordelen van het gebruik van softwaretests:

  • Kosteneffectief: het is een van de belangrijke voordelen van softwaretests. Door elk IT-project op tijd te testen, kunt u uw geld op de lange termijn besparen. In het geval dat de bugs in een eerdere fase van het testen van software worden ontdekt, kost het minder om dit op te lossen.
  • Beveiliging: het is het meest kwetsbare en gevoelige voordeel van softwaretests. Mensen zijn op zoek naar vertrouwde producten. Het helpt bij het eerder wegnemen van risico's en problemen.
  • Productkwaliteit: het is een essentiële vereiste voor elk softwareproduct. Testen zorgt ervoor dat een kwaliteitsproduct aan klanten wordt geleverd.
  • Klanttevredenheid: het belangrijkste doel van elk product is om hun klanten tevreden te stellen. UI / UX-tests zorgen voor de beste gebruikerservaring.

Testen in Software Engineering

Volgens ANSI / IEEE 1059 is Testen in Software Engineering een proces waarbij een softwareproduct wordt geëvalueerd om te bepalen of het huidige softwareproduct aan de vereiste voorwaarden voldoet of niet. Het testproces omvat het evalueren van de functies van het softwareproduct op vereisten in termen van ontbrekende vereisten, bugs of fouten, beveiliging, betrouwbaarheid en prestaties.

Soorten softwaretests

Typisch testen wordt ingedeeld in drie categorieën.

  • Functioneel testen
  • Niet-functionele tests of prestatietests
  • Onderhoud (regressie en onderhoud)

Testcategorie Soorten testen
Functioneel testen
  • Testen van een eenheid
  • Integratietesten
  • Rook
  • UAT (User Acceptance Testing)
  • Lokalisatie
  • Globalisering
  • Interoperabiliteit
  • Spoedig
  • Niet-functionele tests
  • Prestatie
  • Uithoudingsvermogen
  • Laden
  • Volume
  • Schaalbaarheid
  • Bruikbaarheid
  • Spoedig
  • Onderhoud
  • Regressie
  • Onderhoud
  • Dit is niet de volledige lijst, aangezien er meer dan 150 soorten testtypen zijn en nog steeds worden toegevoegd. Houd er ook rekening mee dat niet alle testtypen van toepassing zijn op alle projecten, maar afhankelijk zijn van de aard en omvang van het project.

    Teststrategieën in software-engineering

    Hier zijn belangrijke strategieën in software-engineering:

    Unit testen: Deze benadering van het testen van software wordt gevolgd door de programmeur om de eenheid van het programma te testen. Het helpt ontwikkelaars om te weten of de individuele eenheid van de code correct werkt of niet.

    Integratietesten: het richt zich op de constructie en het ontwerp van de software. U moet ervoor zorgen dat de geïntegreerde eenheden zonder fouten werken of niet.

    Systeemtest: bij deze methode wordt uw software in zijn geheel gecompileerd en vervolgens in zijn geheel getest. Deze teststrategie controleert onder meer de functionaliteit, veiligheid en draagbaarheid.

    Programma testen

    Programmatesten bij het testen van software is een methode om een ​​echt softwareprogramma uit te voeren met als doel het programmagedrag te testen en fouten op te sporen. Het softwareprogramma wordt uitgevoerd met testcase-gegevens om het programmagedrag of de respons op de testgegevens te analyseren. Een goede programma-test is er een waarbij de kans op het vinden van bugs groot is.

    Samenvatting van de basisprincipes van softwaretests:

    • Softwaretesten wordt gedefinieerd als een activiteit om te controleren of de werkelijke resultaten overeenkomen met de verwachte resultaten en om ervoor te zorgen dat het softwaresysteem defectvrij is.
    • Testen is belangrijk omdat softwarefouten duur of zelfs gevaarlijk kunnen zijn.
    • De belangrijkste redenen om softwaretests te gebruiken zijn: kosteneffectief, veiligheid, productkwaliteit en klanttevredenheid.
    • Testen wordt doorgaans ingedeeld in drie categorieën: functionele tests, niet-functionele tests of prestatietests en onderhoud.
    • De belangrijkste strategieën in software engineering zijn: unit testing, integratietesten, validatietesten en systeemtesten.