Typer programvaretesting (100 eksempler)
Hva er en programvaretesttype?
Software Testing Type er en klassifisering av forskjellige testaktiviteter i kategorier, som hver har et definert testmål, teststrategi og testleveranser. Målet med å ha en testtype er å validere Application Under Test (AUT) for det definerte testmålet.
For eksempel er målet med tilgjengelighetstesting å validere AUT for å være tilgjengelig for funksjonshemmede. Så hvis programvareløsningen din må være deaktivert, kontrollerer du den mot tilgjengelighetstesttilfeller.
Typer programvaretesting
En liste over 100 typer programvaretesting sammen med definisjoner. En må lese for enhver QA-profesjonell. Betrakt dette som din guide til alle typer programvaretesting.
- Aksepttesting: Formell testing utført for å avgjøre om et system tilfredsstiller akseptkriteriene og for å gjøre det mulig for kunden å avgjøre om systemet skal aksepteres eller ikke. Det utføres vanligvis av kunden. Les mer på Akseptprøving
- Tilgjengelighetstesting: Type testing som bestemmer brukbarheten til et produkt for personer med funksjonshemminger (døve, blinde, psykisk funksjonshemmede osv.). Evalueringsprosessen gjennomføres av personer med nedsatt funksjonsevne. Les mer på Tilgjengelighetstesting
- Aktiv testing: Type testing som består i å introdusere testdata og analysere utførelsesresultatene. Det utføres vanligvis av testteamet.
- Smidig testing: Programvaretestingspraksis som følger prinsippene til det smidige manifestet, og legger vekt på testing fra perspektivet til kunder som vil bruke systemet. Det utføres vanligvis av QA-teamene. Les mer på Smidig testing
- Alderstesting: Type testing som evaluerer et systems evne til å utføre i fremtiden. Evalueringsprosessen gjennomføres av testteam.
- Ad hoc-testing: Testing utført uten planlegging og dokumentasjon – testeren prøver å "bryte" systemet ved å prøve systemets funksjonalitet tilfeldig. Det utføres av testteamet. Les mer på Ad-hoc testing
- Alfa-testing: Type testing av et programvareprodukt eller system utført på utviklerens nettsted. Vanligvis utføres det av sluttbrukerne. Les mer på Alpha Testing
- Påstandstesting: Type testing som består i å verifisere om forholdene bekrefter produktkravene. Det utføres av testteamet.
- API-testing: Testteknikk som ligner på Unit Testing ved at den retter seg mot kodenivået. Api-testing skiller seg fra enhetstesting ved at det vanligvis er en QA-oppgave og ikke en utvikleroppgave. Les mer på API-testing
- Testing av alle par: Kombinatorisk testmetode som tester alle mulige diskrete kombinasjoner av inngangsparametere. Det utføres av testteamene.
- Automatisert testing: Testteknikk som bruker Automation Testing-verktøy for å kontrollere miljøoppsettet, testutførelse og resultatrapportering. Det utføres av en datamaskin og brukes i testteamene. Les mer på Automatisert testing
- Basisbanetesting: En testmekanisme som utleder et logisk kompleksitetsmål for en prosedyredesign og bruker dette som en guide for å definere et grunnleggende sett med utførelsesbaner. Den brukes av testteam når de definerer testtilfeller. Les mer på Grunnleggende banetesting
- Bakoverkompatibilitetstesting: Testmetode som verifiserer oppførselen til den utviklede programvaren med eldre versjoner av testmiljøet. Det utføres av testteamet.
- Betatesting: Avsluttende testing før utgivelse av applikasjon for kommersielle formål. Det gjøres vanligvis av sluttbrukere eller andre.
- Referansetesting: Testteknikk som bruker representative sett med programmer og data designet for å evaluere ytelsen til maskinvare og programvare i en gitt konfigurasjon. Det utføres av testteam. Les mer på Benchmark Testing
- Big Bang-integrasjonstesting: Testteknikk som integrerer individuelle programmoduler først når alt er klart. Det utføres av testteamene.
- Binær portabilitetstesting: Teknikk som tester en kjørbar applikasjon for portabilitet på tvers av systemplattformer og miljøer, vanligvis for konformasjon til en ABI-spesifikasjon. Det utføres av testteamene.
- Grenseverditesting: Programvaretestingsteknikk der tester er designet for å inkludere representanter for grenseverdier. Det utføres av QA-testteamene. Les mer på Grenseverditesting
- Nedenfra og opp integrasjonstesting: I integrasjonstesting nedenfra og opp utvikles moduler på laveste nivå først, og andre moduler som går mot "hoved"-programmet integreres og testes én om gangen. Det utføres vanligvis av testteamene.
- Bransjetesting: Testteknikk der alle grener i programmets kildekode testes minst én gang. Dette gjøres av utvikleren.
- Breddetesting: En testpakke som utøver den fulle funksjonaliteten til et produkt, men som ikke tester funksjoner i detalj. Det utføres av testteam.
- Black box testing: En metode for programvaretesting som verifiserer funksjonaliteten til en applikasjon uten å ha spesifikk kunnskap om applikasjonens kode/interne struktur. Tester er basert på krav og funksjonalitet. Det utføres av QA-team. Les mer på Black box testing
- Kodedrevet testing: Testteknikk som bruker testrammeverk (som xUnit) som tillater utførelse av enhetstester for å avgjøre om ulike deler av koden fungerer som forventet under ulike omstendigheter. Det utføres av utviklingsteamene.
- Kompatibilitetstesting: Testteknikk som validerer hvor godt en programvare yter i et bestemt maskinvare/programvare/operativsystem/nettverksmiljø. Det utføres av testteamene. Les mer på Test av kompatibilitet
- Sammenligningstesting: Testteknikk som sammenligner produktets styrker og svakheter med tidligere versjoner eller andre lignende produkter. Kan utføres av tester, utviklere, produktansvarlige eller produkteiere. Les mer på Komponenttesting
- Komponenttesting: Testteknikk som ligner på enhetstesting, men med et høyere integrasjonsnivå - testing gjøres i sammenheng med applikasjonen i stedet for bare å teste en spesifikk metode direkte. Kan utføres av test- eller utviklingsteam.
- Konfigurasjonstesting: Testteknikk som bestemmer minimal og optimal konfigurasjon av maskinvare og programvare, og effekten av å legge til eller endre ressurser som minne, diskstasjoner og CPU. Vanligvis utføres det av ytelsestestingene. Les mer på Konfigurasjonstesting
- Tilstandsdekningstesting: Type programvaretesting hvor hver betingelse utføres ved å gjøre den sann og usann, på hver av måtene minst én gang. Det er vanligvis laget av automatiseringstestteamene.
- Samsvarstesting: Type testing som kontrollerer om systemet er utviklet i henhold til standarder, prosedyrer og retningslinjer. Det utføres vanligvis av eksterne selskaper som tilbyr "Certified OGC Compliant" merkevare.
- Samtidig testing: Flerbrukertesting rettet mot å bestemme effekten av å få tilgang til samme applikasjonskode, modul eller databaseposter. Det gjøres vanligvis av ytelsesingeniører. Les mer på Samtidig testing
- Samsvarstesting: Prosessen med å teste at en implementering er i samsvar med spesifikasjonen den er basert på. Det utføres vanligvis av testteam. Les mer på Samsvarstesting
- Kontekstdrevet testing: En smidig testteknikk som tar til orde for kontinuerlig og kreativ evaluering av testmuligheter i lys av den potensielle informasjonen som avsløres og verdien av denne informasjonen for organisasjonen på et bestemt tidspunkt. Det utføres vanligvis av smidige testteam.
- Konverteringstesting: Testing av programmer eller prosedyrer som brukes til å konvertere data fra eksisterende systemer for bruk i erstatningssystemer. Det utføres vanligvis av QA-teamene.
- Testing av beslutningsdekning: Type programvaretesting hvor hver betingelse/beslutning utføres ved å sette den på sann/falsk. Det er vanligvis laget av automatiseringstestteamene.
- Destruktiv testing: Type testing der testene utføres til prøvens feil, for å forstå en prøves strukturelle ytelse eller materialoppførsel under forskjellige belastninger. Det utføres vanligvis av QA-team.
Les mer på Destruktiv testing - Avhengighetstesting: Testtype som undersøker en applikasjons krav til allerede eksisterende programvare, starttilstander og konfigurasjon for å opprettholde riktig funksjonalitet. Det utføres vanligvis av testteam.
- Dynamisk testing: Begrep som brukes i programvareteknikk for å beskrive testing av den dynamiske oppførselen til kode. Det utføres vanligvis av testteam. Les mer på Dynamisk testing
- Domenetesting: Hvit boks testteknikk som inneholder kontroll av at programmet kun godtar gyldig input. Det gjøres vanligvis av programvareutviklingsteam og noen ganger av testteam for automatisering.
- Feilhåndteringstesting: Programvaretesttype som bestemmer systemets evne til å behandle feiltransaksjoner på riktig måte. Det utføres vanligvis av testteamene.
- End-to-end testing: I likhet med systemtesting, involverer testing av et komplett applikasjonsmiljø i en situasjon som etterligner bruk i den virkelige verden, for eksempel å samhandle med en database, bruke nettverkskommunikasjon eller samhandle med annen maskinvare, applikasjoner eller systemer hvis det er hensiktsmessig. Det utføres av QA-team. Les mer på End-to-end-testing
- Utholdenhetstesting: Type test som sjekker for minnelekkasjer eller andre problemer som kan oppstå ved langvarig utførelse. Det utføres vanligvis av ytelsesingeniører. Les mer på Utholdenhetstesting
- Utforskende testing: Black box testteknikk utført uten planlegging og dokumentasjon. Det utføres vanligvis av manuelle testere. Les mer på Utforskende testing
- Ekvivalenspartisjonstesting: Programvaretestteknikk som deler inn dataene til en programvareenhet i partisjoner av data som testtilfeller kan utledes fra. det utføres vanligvis av QA-teamene. Les mer på Ekvivalenspartisjonstesting
- Feilinjeksjonstesting: Element i en omfattende teststrategi som gjør det mulig for testeren å konsentrere seg om måten applikasjonen som testes er i stand til å håndtere unntak. Det utføres av QA-team.
- Formell verifiseringstesting: Handlingen med å bevise eller motbevise riktigheten av tiltenkte algoritmer som ligger til grunn for et system med hensyn til en viss formell spesifikasjon eller egenskap, ved å bruke formelle metoder for matematikk. Det utføres vanligvis av QA-team.
- Funksjonell testing: Type black box-testing som baserer testsakene på spesifikasjonene til programvarekomponenten som testes. Det utføres av testteam. Les mer på Funksjonell testing
- Fuzz-testing: Programvaretestingsteknikk som gir ugyldige, uventede eller tilfeldige data til inngangene til et program – et spesielt område for mutasjonstesting. Fuzz-testing utføres av testteam. Les mer på Fuzz-testing
- Gorilla-testing: Programvaretestingsteknikk som fokuserer på kraftig testing av en bestemt modul. Det utføres av kvalitetssikringsteam, vanligvis når du kjører full testing.
- Grå Box testing: En kombinasjon av svart Box og hvit Box testmetoder: testing av et stykke programvare mot spesifikasjonen, men bruker litt kunnskap om dets interne virkemåte. Det kan utføres av enten utviklings- eller testteam.
- Testing av glassboks: I likhet med white box-testing, basert på kunnskap om den interne logikken til en applikasjons kode. Det utføres av utviklingsteam.
- GUI-programvaretesting: Prosessen med å teste et produkt som bruker et grafisk brukergrensesnitt, for å sikre at det oppfyller de skriftlige spesifikasjonene. Dette gjøres normalt av testteamene. Les mer på GUI-programvaretesting
- Globaliseringstesting: Testmetode som sjekker riktig funksjonalitet til produktet med alle kultur-/lokale innstillinger ved å bruke alle mulige internasjonale input. Det utføres av testteamet. Les mer på Globaliseringstesting
- Hybridintegrasjonstesting: Testteknikk som kombinerer integrasjonsteknikker ovenfra og ned og nedenfra og opp for å utnytte fordelene med denne typen testing. Det utføres vanligvis av testteamene.
- Integrasjonstesting: Fasen i programvaretesting hvor individuelle programvaremoduler kombineres og testes som en gruppe. Det utføres vanligvis av testteam. Les mer på Integrasjonstesting
- Grensesnitttesting: Testing utført for å evaluere om systemer eller komponenter overfører data og kontroll riktig til hverandre. Det utføres vanligvis av både test- og utviklingsteam. Les mer på Grensesnitttesting
- Installer/avinstaller testing: Kvalitetssikringsarbeid som fokuserer på hva kundene må gjøre for å installere og sette opp den nye programvaren på en vellykket måte. Det kan innebære fullstendige, delvise eller oppgraderingsinstallerings-/avinstalleringsprosesser og gjøres vanligvis av programvaretestingeniøren i forbindelse med konfigurasjonsbehandlingen.
- Internasjonaliseringstesting: Prosessen som sikrer at produktets funksjonalitet ikke blir ødelagt og at alle meldingene blir korrekt eksternalisert når de brukes på forskjellige språk og lokaliteter. Det utføres vanligvis av testteamene.
- Inter-Systems testing: Testteknikk som fokuserer på å teste applikasjonen for å sikre at sammenkoblingen mellom applikasjonen fungerer korrekt. Det gjøres vanligvis av testteamene.
- Søkeorddrevet testing: Også kjent som tabelldrevet testing eller handling-ord-testing, er en programvaretestmetodikk for automatisert testing som deler testopprettingsprosessen i to forskjellige stadier: en planleggingsfase og en implementeringsfase. Den kan brukes av enten manuelle eller automatiserte testteam. Les mer på Søkeorddrevet testing
- Lasttesting: Testteknikk som stiller krav til et system eller en enhet og måler responsen. Det utføres vanligvis av ytelsesingeniørene. Les mer på Load Testing
- Lokaliseringstesting: En del av programvaretestingsprosessen fokuserte på å tilpasse en globalisert applikasjon til en bestemt kultur/lokalitet. Det gjøres normalt av testteamene. Les mer på Lokaliseringstesting
- Sløyfetesting: En hvit boks-testteknikk som trener programløkker. Det utføres av utviklingsteamene. Les mer på Sløyfetesting
- Manuell skripttesting: Testmetode der testsakene utformes og gjennomgås av teamet før de utføres. Det gjøres av manuelle testteam.
- Manuell støttetesting: Testteknikk som involverer testing av alle funksjonene som utføres av personene mens de forbereder dataene og bruker disse dataene fra automatiserte system. det utføres av testteam.
- Modellbasert testing: Anvendelsen av modellbasert design for å designe og utføre de nødvendige artefaktene for å utføre programvaretesting. Det utføres vanligvis av testteam. Les mer på Modellbasert testing
- Mutasjonstesting: Metode for programvaretesting som innebærer å modifisere programmenes kildekode eller bytekode på små måter for å teste deler av koden som sjelden eller aldri er tilgjengelig under normal testkjøring. Det utføres vanligvis av testere. Les mer på Mutasjonstesting
- Modularitetsdrevet testing: Programvaretestingsteknikk som krever opprettelse av små, uavhengige skript som representerer moduler, seksjoner og funksjoner til applikasjonen som testes. Det utføres vanligvis av testteamet.
- Ikke-funksjonell testing: Testteknikk som fokuserer på testing av en programvareapplikasjon for dens ikke-funksjonelle krav. Kan utføres av ytelsesingeniørene eller av manuelle testteam. Les mer på Ikke-funksjonell testing
- Negativ testing: Også kjent som "test to fail" - testmetode der testenes mål er å vise at en komponent eller et system ikke fungerer. Det utføres av manuelle eller automatiseringstestere. Les mer på Negativ testing
- Operasjonell testing: Testteknikk utført for å evaluere et system eller en komponent i dets driftsmiljø. Vanligvis utføres det av testteam. Les mer på Operasjonell testing
- Ortogonal array-testing: Systematisk, statistisk måte å teste på som kan brukes i brukergrensesnitttesting, systemtesting, regresjonstesting, konfigurasjonstesting og ytelsestesting. Det utføres av testteamet. Les mer på Ortogonal array-testing
- Partesting: Programvareutviklingsteknikk der to teammedlemmer jobber sammen ved ett tastatur for å teste programvareapplikasjonen. Den ene gjør testingen og den andre analyserer eller vurderer testingen. Dette kan gjøres mellom én tester og utvikler eller forretningsanalytiker eller mellom to testere, der begge deltakerne bytter på å kjøre tastaturet.
- Passiv testing: Testteknikk som består i å overvåke resultatene av et kjørende system uten å innføre noen spesielle testdata. Det utføres av testteamet.
- Parallell testing: Testteknikk som har som formål å sikre at en ny applikasjon som har erstattet den eldre versjonen er installert og kjører riktig. Det utføres av testteamet. Les mer på Parallell testing
- Banetesting: Typisk white box-testing som har som mål å tilfredsstille dekningskriterier for hver logisk vei gjennom programmet. Det utføres vanligvis av utviklingsteamet. Les mer på Banetesting
- Penetrasjonstesting: Testmetode som evaluerer sikkerheten til et datasystem eller nettverk ved å simulere et angrep fra en ondsinnet kilde. Vanligvis utføres de av spesialiserte penetrasjonstestingsselskaper. Les mer på Penetrasjonstesting
- Ytelsestesting: Funksjonstesting utført for å evaluere samsvar til et system eller en komponent med spesifiserte ytelseskrav. Det utføres vanligvis av ytelsesingeniøren. Les mer på Ytelsestesting
- Kvalifikasjonstesting: Testing mot spesifikasjonene til forrige utgivelse, vanligvis utført av utvikleren for forbrukeren, for å demonstrere at programvaren oppfyller de spesifiserte kravene.
- Ramp testing: Type testing som består i å heve et inngangssignal kontinuerlig til systemet bryter sammen. Det kan utføres av testteamet eller ytelsesingeniøren.
- Regresjonstesting: Type programvaretesting som søker å avdekke programvarefeil etter at endringer i programmet (f.eks. feilrettinger eller ny funksjonalitet) er gjort, ved å teste programmet på nytt. Det utføres av testteamene. Les mer på Regresjonstesting
- Gjenopprettingstesting: Testteknikk som evaluerer hvor godt et system gjenoppretter etter krasj, maskinvarefeil eller andre katastrofale problemer. Det utføres av testteamene. Les mer på Gjenopprettingstesting
- Kravtesting: Testteknikk som validerer at kravene er korrekte, fullstendige, entydige og logisk konsistente og gjør det mulig å designe et nødvendig og tilstrekkelig sett med testtilfeller fra disse kravene. Det utføres av QA-team.
- Sikkerhetstesting: En prosess for å fastslå at et informasjonssystem beskytter data og opprettholder funksjonalitet etter hensikten. Det kan utføres av testteam eller av spesialiserte sikkerhetstestende selskaper. Les mer på Sikkerhetstesting
- Sanitetstesting: Testteknikk som avgjør om en ny programvareversjon yter godt nok til å akseptere den for en større testing. Det utføres av testteamene. Les mer på Sanitetstesting
- Scenariotesting: Testaktivitet som bruker scenarier basert på en hypotetisk historie for å hjelpe en person å tenke gjennom et komplekst problem eller system for et testmiljø. Det utføres av testteamene. Les mer på Scenariotesting
- Skalerbarhetstesting: En del av batteriet av ikke-funksjonelle tester som tester en programvareapplikasjon for å måle dens evne til å skalere opp – det være seg brukerbelastningen som støttes, antall transaksjoner, datavolumet osv. Det utføres av ytelsesingeniøren. Les mer på Skalerbarhetstesting
- Uttalelsestesting: White box-testing som tilfredsstiller kriteriet om at hver setning i et program utføres minst én gang under programtesting. Det utføres vanligvis av utviklingsteamet.
- Statisk testing: En form for programvaretesting der programvaren faktisk ikke brukes, sjekker den hovedsakelig for fornuften til koden, algoritmen eller dokumentet. Den brukes av utvikleren som skrev koden. Les mer på Statisk testing
- Stabilitetstesting: Testteknikk som prøver å finne ut om et program vil krasje. Det utføres vanligvis av ytelsesingeniøren. Les mer på Stabilitetstesting
- Røyktesting: Testteknikk som undersøker alle de grunnleggende komponentene i et programvaresystem for å sikre at de fungerer som de skal. Vanligvis utføres røyktesting av testteamet umiddelbart etter at en programvarebygging er laget. Les mer på Røykprøving
- Lagringstesting: Testtype som verifiserer programmet som testes, lagrer datafiler i de riktige katalogene og at den reserverer tilstrekkelig plass til å forhindre uventet avslutning som følge av plassmangel. Det utføres vanligvis av testteamet. Les mer på Lagringstesting
- Stresstesting: Testteknikk som evaluerer et system eller en komponent ved eller utenfor grensene for dets spesifiserte krav. Det utføres vanligvis av ytelsesingeniøren. Les mer på Stresstesting
- Strukturell testing: White box testteknikk som tar hensyn til den interne strukturen til et system eller en komponent og sikrer at hver programsetning utfører sin tiltenkte funksjon. Det utføres vanligvis av programvareutviklerne.
- Systemtesting: Prosessen med å teste et integrert maskinvare- og programvaresystem for å bekrefte at systemet oppfyller de spesifiserte kravene. Det utføres av testteamene i både utviklings- og målmiljø. Les mer på Systemtesting
- Systemintegrasjonstesting: Testprosess som utøver et programvaresystems sameksistens med andre. Det utføres vanligvis av testteamene. Les mer på Systemintegrasjonstesting
- Top-down integrasjonstesting: Testteknikk som innebærer å starte på toppen av et systemhierarki i brukergrensesnittet og bruke stubber for å teste ovenfra og ned til hele systemet er implementert. Det gjennomføres av testteamene.
- Trådtesting: En variant av top-down testteknikk der den progressive integreringen av komponenter følger implementeringen av undergrupper av kravene. Det utføres vanligvis av testteamene. Les mer på Trådtesting
- Upgrade testing: Testteknikk som verifiserer om eiendeler opprettet med eldre versjoner kan brukes riktig og at brukerens læring ikke utfordres. Det utføres av testteamene.
- Enhetstesting: Programvareverifiserings- og valideringsmetode der en programmerer tester om individuelle enheter med kildekode er egnet for bruk. Det utføres vanligvis av utviklingsteamet. Les mer på Enhetstesting
- Brukergrensesnitttesting: Type testing som utføres for å sjekke hvor brukervennlig applikasjonen er. Det utføres av testteam. Les mer på Brukergrensesnitttesting
Bonus!!! Det er alltid greit å vite litt ekstra
- Brukervennlighetstesting: Testteknikk som verifiserer hvor lett en bruker kan lære å betjene, forberede innganger for og tolke utdata fra et system eller en komponent. Det utføres vanligvis av sluttbrukere. Les mer på Brukervennlighetstesting
- Volumtesting: Testing som bekrefter at eventuelle verdier som kan bli store over tid (som akkumulerte tellinger, logger og datafiler), kan imøtekommes av programmet og vil ikke føre til at programmet slutter å fungere eller forringer driften på noen måte. Det utføres vanligvis av ytelsesingeniøren. Les mer på Volumtesting
- Sårbarhetstesting: Type testing som gjelder applikasjonssikkerhet og har som formål å forhindre problemer som kan påvirke applikasjonens integritet og stabilitet. Det kan utføres av de interne testteamene eller settes ut til spesialiserte selskaper. Les mer på Sårbarhetsprøving
- Hvit boks testing: Testteknikk basert på kunnskap om den interne logikken til en applikasjons kode og inkluderer tester som dekning av kodesetninger, grener, stier, forhold. Det utføres av programvareutviklere. Les mer på Hvit boks testing
- Arbeidsflyttesting: Skript ende-til-ende testteknikk som dupliserer spesifikke arbeidsflyter som forventes å bli brukt av sluttbrukeren. Det utføres vanligvis av testteam. Les mer på Arbeidsflyttesting
Det avslutter listen. Håper du likte å lese den. For å finne de riktige verktøyene for denne typen testing og andre, utforsk denne samlingen av testverktøy.