Funksjonell testing er en kvalitetssikrings-prosess og en type svartbokstesting som baserer testtilfellene på kravspesifikasjonene til programvaren som er under testing.Prasad, Dr. K.V.K.K. (2008) ISTQB Certification Study Guide, Wiley, , p. vi Funksjoner testes ved å mate dem med innputt og vurdere utputtet, og innvendig programstrukturer blir sjelden vurdert (i motsetning til hvitebokstesting).Kaner, Falk, Nguyen. Testing Computer Software. Wiley Computer Publishing, 1999, p. 42. . Funksjonelle tester utføres for å vurdere hvorvidt et system eller en komponent er i samsvar med spesifikke funksjonelle krav. Funksjonell testing beskriver vanligvis hva et system gjør.
Siden funksjonell testing er en type svartbokstesting kan programvarens funksjonalitet testes uten behov for kjennskap til den interne virkemåten til programvaren. Dette betyr at testerne ikke trenger å kunne programmeringsspråk eller vite hvordan programvaren har blitt implementert. Dette kan igjen føre til redusert utviklerbias (eller bekreftelsesbias) i testing siden testerne ikke har vært involvert i programvareutviklingen.
Funksjonell testing innebærer ikke at man tester funksjoner (metoder) i en modul eller klasse. Funksjonell testing tester en del av funksjonaliteten til hele systemet.
Funksjonell testing er forskjellig fra systemtesting ved at funksjonell testing verifiserer et program ved å sjekke det mot designdokumenter eller spesifikasjoner, mens systemtesting validerer et program ved å kontrollere det mot publiserte bruker- eller systemkrav.Kaner, Falk, Nguyen 1999, p. 52 Konseptet med å inkludere testing tidligere i leveransesykelen er ikke begrenset til funksjonelle tester.
Typer Det finnes mange typer funksjonelle tester:
Brukbarhetstesting Regresjonstesting Rimelighetstesting
Seks steg Funksjonell testing innebærer vanligvis seks steg.
Identifisering av funksjonene som programvaren forventes å utføre Utforming av inngangsdata basert på funksjonsspesifikasjonene Bestemmelse av utgangsdata basert på funksjons spesifikasjoner Kjøring av testtilfellet Sammenligning av faktiske og forventede utfall Sjekk om applikasjonen fungerer etter kundens behov
Se også Akseptansetest (programvare), test for å avgjøre om kravene i en spesifikasjon eller kontrakt er oppfylt Databasetesting, uilke former for testing av databaser Enhetstesting, type programvaretesting hvor individuelle deler testes for å se om de er egnet for bruk (validering) Ikke-funksjonell testing, testing av programvare opererer i stedet for spesifikke oppførsler eller funksjoner Integrasjonstesting, fase i programvaretesting der individuelle programvaremoduler kombineres og testes som en gruppe; gjøres etter enhetstesting og før systemtesting Lasttesting (programvare), belastning av et system samt måling av respons og kvalitet på tjenester Programvaretesting, undersøkelser for å gi informasjon om kvaliteten på en programvare Regresjonstesting, sjekk for å se om endringer i programvare har ødelagt funksjonalitet som pleide å fungere Sikringstesting, tester for å detektere svakheter i sikringsmekanismer som skal beskytte data og opprettholde funksjonalitet til et informasjonssystem Systemtesting, testing av et komplett integrert system for å evaluere systemets samsvar med spesifiserte krav Testautomasjon, bruk av separat programvare for å styre testgjennomføring og analysere resultater
Referanser
Kategori:Programvareutvikling