Repetisjon av testing. Vi undersøker om systemet virker slik det skal

Like dokumenter
Repetisjon av testing. Vi undersøker om systemet virker slik det skal

Grunnleggende testteori. Etter Hans Schaefer

Statisk testing. Testing uten datamaskin, men med vår egen evne til å vurdere og analysere

Livsløpstesting av IT-systemer

Grunnleggende testteori

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Grunnleggende testteori

Metrikker og målte størrelser. Vi måler fakta for å bestemme systemets egenskaper

BlackBox, WhiteBox og andre testmetoder. Etter ønske fra studentene 26. november 2009

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

Kvalitet og programvare. Når bare det beste er godt nok. Produktet prosessen eller begge deler?

GJENNOMGANG UKESOPPGAVER 9 TESTING

Validering og verifisering. Kirsten Ribu

ISTQB Foundation Level Prøveeksamen

Inf1055 Modul B 26 april 2017:

Testing av programvare. INF1050: Gjennomgang, uke 08

Prosjektet - leveranser. Testing og evaluering av systemer. Hva er sikkerhetskritiske systemer? I dag: Systemfeil og testing. Robust kraftforsyning?

Kirsten Ribu

Grunnleggende om Evaluering av It-systemer

Krav som bør stilles til leverandørens verifikasjon og test

UKE 14 Versjonshåndtering og testing. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Testplan (Software Test Plan)

Retningslinjer for akseptansetest

Kostnadseffektivt eller bortkastet tid? Øyvind Woll Seniorkonsulent, Vivento AS

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

Testdekning og automatisering - Er 100% testdekning et mål?

Finansportalen Historiske bankdata

Retningslinjer for akseptansetest

Ansvarlig: Faglig ansvarlig for innhold og revisjon, Testseksjonen TestiT, Avd. for Tjenesteproduksjon HN IKT

Testbilag til IT kontrakter

Automatisert Robusthetstesting. Erik Arisholm Testify AS

Testing av programvare

Repetisjon om evaluering av It-systemer. Hvordan vurdere og verdsette?

Eksamensdato: 31. mai 2017 Eksamenstid 14:30-18:30 Hjelpemidler: Ingen. Les denne forsiden nøye. Oppgaven består av fire deler.

Krav. Beskriver tjenestene produktet skal håndtere Kravene kan testes

Overordnet Testplan. MUSIT Ny IT-arkitektur, Pilot og Hovedprosjekt. Page 1 of 11

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Kravhåndtering. INF1050: Gjennomgang, uke 03

Evaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Kirsten Ribu

Introduksjon til evaluering av It-systemer. Hvordan vurdere og verdsette?

Eksamen 2013 Løsningsforslag

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Test i smidig. Laila Sandbæk Testrådgiver og testleder Sogeti

Forslag til ny læreplan for informatikk studieretningsfag

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

JigZaw. Teststategi utviklet av. Erik Drolshammer Bård Lind. Verifiser Forventet Funksjonalitet

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Kontrakter og test i smidige prosjekter. Fagmøte Dataforeningen i Trondheim 12.Mars 2012

Test og kvalitet To gode naboer. Børge Brynlund

Mellom barken og veden Smidig testing i krevende terreng TTC 2015

Test i Praksis. NTNU Februar Copyright 2014 Accenture All Rights Reserved.

TESTRAPPORT Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS

Verifikasjon og validering

Gårsdagens testroller takler ikke dagens utfordringer. Magnus Halvorsen og Erik Rogstad

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

ISTQB. Foundation Level

Effektiv testing med rike anonymiserte testdata

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

Introduksjon til evaluering av It-systemer. Hvordan vurdere og verdsette?

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Brukskvalitet. Lett å bruke og samtidig nyttig

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Høgskoleni østfold EKSAMEN. Hjelpem idler: Faglærer: Kåre Sorteberg Ingen hjelpemidler. Monica Kristiansen

4.1. Kravspesifikasjon

TDT4735 Systemutvikling, fordypning. Metoder for systemtest av websystemer

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Effektiv testing. Per Otto Bergum Christensen September, JavaZone. Bergum Christensen Consulting

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

A tool for collaborating to success in a development project Experience with Visual Studio 2010 and Test Manager at Lånekasse

Cross the Tech Bridge. Anette Valaker

Kravspesifikasjon MetaView

Presentasjon 1, Requirement engineering process

Kvalitet i programvaresystemer Dokumentasjon av tester

Forside Eksamen INF1055 V17

Konfigurasjonsstyring

DRI2001 forelesning

Oppsummering. Thomas Lohne Aanes Thomas Amble

Debugging. Tore Berg Hansen, TISIP

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

UKE 10 Kravhåndtering. Gruppetime INF1055

Why Desperate Houswives make Excellent Test Managers Testprosjektet som suksessfaktor i et hvert prosjekt

Løsningsforslag Sluttprøve 2015

Evaluering og analyse. Før start

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Public 2013 Aker Solutions Page 1 of 5

Kravspesifikasjon. Forord

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen.

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Testing i smidigavtalen (SSA-S) Seniorrådgiver Mari Vestre, Difi. Testdagen ODIN 24. september 2014.

OOA&D starter med systemvalg

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren Testrapport

Modernisering av IKT i NAV

En kravspesifikasjon skal være så konkret og detaljert at det er mulig å teste det ferdige produkt/system opp mot store deler av denne.

Presentasjon Test. Møte med Systemleverandører 5.desember 2014

Generelt om operativsystemer

Testrapport for Sir Jerky Leap

Transkript:

Repetisjon av testing Vi undersøker om systemet virker slik det skal

Test av software For å teste om alle kravene er oppfylt må kravspesifikasjon og utviklingsdokumenter gjennomgås. Hvordan programmet fungerer testes på datamaskin Derfor er testing en viktig del av arbeidet med å utvikle programmet Testingen og testdokumentasjonen er en viktig del av dokumentasjonen som skal vise at programmet fyller kravene som er satt

Testing er Systematisk kjøring av programmet under kontrollerte betingelser for å Finne feil Dokumentere korrekt implementasjon Øke tiltroen til programmet Analysere program, dokumentasjon og andre beskrivelser

Terminologi noen ord og uttrykk Confidens Defect Debug Error Fail Failure Reliability Testing Validation Verification Debugging Terminologilisten Tiltro, tillit Feil eller Mangel Finne, analysere og rette, fjerne feil Feil, Avvik Å feile Problem, Avvik Pålitelighet Hele testprosessen Validere Bekrefte mot forventet bruk riktig system Verifisere - Bekrefte at krav er oppfylt systemet er riktig Finne, analysere og rette, fjerne feil

Testing og debuging Hensikten med testing er å Kjøre programmet for å påvise/finne feil Kjøre programmet for å vurdere kvaliteten Kjøre programmet for å vurdere tiltroen til det (confidens) Analysere program eller dokumentasjon for å finne svakheter (defects) Hensikten med debuging er å: Lokalisere og rette feil Lokalisere feilen - hvor finnes den? Analysere feilen - hva består feilen i? Rette og fjerne feilen Teste rettingen slik at ikke nye feil er introdusert

Debugging

Testing Systematisk kjøring av programmet under kontrollerte betingelser for å Dokumentere at systemet er korrekt implementert Øke tilliten til programmet Finne feil Analysere program, dokumentasjon og andre beskrivelser En fullstendig testing av systemet er umulig Testing kan derfor aldri dokumentere fravær av feil, bare at de ikke har opptrådt under testingen

Programkvalitet summen av alle kvalitetskriteriene Funksjonalitet Oppfylle kravene, alle funksjoner Sikkerhet Pålitelighet - stabilitet - Reliability Brukervennlighet - Usability Nytte - Efficiency Drift, Vedlikehold og Maskinplattform Det er nødvendig å prioriter mellom kriteriene

Den grunnleggende testprosessen Kronologisk beskriving av alle testoppgavene som skal gjennomføres Hver testoppgave må splittes i mindre oppgaver og spesifiseres nøyaktig Planlegging og kontroll Analyse og design Implementasjon og gjennomføring Evaluering Rapportering Avslutning

Teststrategi Lag en testspesifikasjon Avklar hvilke testteknikker som skal brukes Finn testtilfeller Test logikk og lag konkrete tilfeller Ikke glem grenseverdiene!!

Teststrategi 1. Prioriter mellom delsystemene De viktigste delsystemene testes først og mest inngående 2. Prioriter mellom funksjonene De viktigste funksjonene testes først og mest inngående 3. Bruk verdier som ligger i området som er mest benyttet

Testtilfeller Logisk testtilfelle Definer betingelser Definer forventet resultat Virkelig testtilfelle Velg en verdi Vurder hvilket logisk tilfelle verdien tilhører Utfør testen Vurder om forventet virkelig resultat stemmer med forventet logisk resultat i testtilfellet

Eksempel Logisk og virkelig Testnummer Inputverdi Forventet verdi (%) 1 X <= 3 0 2 3 < X <= 5 50 3 5 < X <= 8 75 4 X > 8 100 1 2 0 2 4 50 3 7 75 4 12 100

Testpsykologi Verken vi eller systemene er feilfrie If anything can go wrong it will Murphys lov Systemutvikling vurderes som positivt Testing - finne feil vurderes som negativt Den som utvikler ser ikke egne svakheter Da ville ikke svakheten vært der Vurderer alltid eget arbeid som riktig Utvikling skjer i utviklingsmiljø som er forskjellig fra test- og bruks- og driftsmiljø

Testingens 7 grunnregler 1. Tester påviser feil, ikke feilfrihet 2. Fullstendig testing er umulig 3. Testing skal starte så tidlig som mulig 4. Feilene hoper seg opp 5. Tester mister effekten 6. Tester er kontekstavhengige 7. Et feilfritt system trenger ikke være et nyttig system

Oppsummering Terminologi er viktig omforent forståelse Testing er viktig for å kvalitetssikre utviklingsprosessen Grunnleggende testprosessen begynner med planlegging og slutter med rapport Et testtilfelle består av input, forventet resultat og virkelig resultat Mennesker gjør feil Testingens 7 grunnregler er viktige retningslinjer

Testing, validering og evaluering Teste Undersøke ved hjelp av tester om systemet fungerer slik det er beskrevet Validere Bekrefte hvordan systemet virkelig fungerer, om beskrivelsen er gyldig Evaluere Vurdere hvordan systemet passer til bruk i en organisasjonen i forhold til en beskrivelse Hensikten er å dokumentere at et datasystem fungerer slik det er forutsatt

To viktige spørsmål Bygger vi det riktige systemet - validering? Snakke med brukerne Lese kravspesifikasjonene og bestillinger Virksomhetsanalyse Bygger vi systemet riktig - verifisering? Inspisere kode Teste funksjoner Teste delsystemer Systemtest Akseptansetesten Kundens systemtest Evalueringen I hvor stor grad kan vi si at de to spørsmålene er oppfylte?

Forskjellige typer feil Kategori 1: Kritiske feil som MÅ rettes Lansering holdes igjen til feilen er rettet Kategori 2: Kritiske feil som bør rettes Betydelig reduksjon av kvaliteten Kategori 3: Ikke-kritiske feil kosmetiske feil Kategori 4: Ubetydelige feil Skrivefeil, feil fargenyanser,..

Systemets livsløp Strategsk behov Hva vil vi? Hvor går vi? Analyse og spesifikasjon Hvordan lager vi veien Utvikling Verktøyet for å komme dit Implementering Datakonvertering Forvaltning Drift og vedlikehold Systemavslutning Fase ut systemet og fjerne det

V-modellen Forutsetter at utvikling og testing er likeverdige aktiviteter Til hvert steg i utviklingen hører en test Kundespesifikasjon Kravspesifikasjon Funksjonell systemdesign Teknisk systemdesign Programmering

Testing i et uviklingsløp Review Kundespesifikasjon Prosjekttid Akseptansetesting Plan&Spesifiser Forbered Utfør Avslutt Review Kravspesifikasjon Plan&Spesifiser Systemtesting Forbered Utfør Avslutt Design Review Integrasjonstesting Plan&Spesifiser Forbered Utfør Avslutt Review Modul implementasjonmodultesting + MIT P&S Forbered Utfør Avslutt

Komponent- Klasse- Modul- Enhets-test Laveste testnivå Tester at modulen (klassen) virker isolert Forsikre oss om at kode eksekverer uten kjørefeil Simulerer omgivelsene til komponenten Utføres av utviklere Skrives ofte som automatiske tester Hva testes? dataflyt grenseverdier feilhåndteringsmekanismer

Integrasjonstest Teste samspillet mellom enheter. Målet er å rette feil knyttet til funksjoner som enhetene bare kan utføre sammen og som dermed ikke kan avdekkes under enhetstesting. Tester at komponenten (klassen) virker sammen med andre komponenter Simulerer ofte andre sub-systemer Bruker konstruerte testdata Utføres ofte av utviklere Gjøres ofte manuelt, men kan med fordel automatiseres

Systemtest Forsikre oss om at systemet fungerer i henhold til kravspesifikasjon, de avtalte kravene Tester at systemet oppfører seg korrekt i samspill med omgivelsene Systemtest kjøres etter at hele systemet er satt sammen, og i et testmiljø som skal simulere et driftsmiljø.

Akseptansetest - Mottakstest Kunden har ansvaret for å gjennomføre testen Tester at systemet lar brukerne gjøre det de trenger Tester med reelle data Utføres gjerne i samarbeid mellom kunder og testere Avklarer om kunden aksepterer systemet

Andre testtyper Funksjonstester - Black Box testing Hvordan systemet fungerer Strukturtester - White Box testing Ikke-funksjonelle tester Testing av alt annet enn funksjonalitet Pålitelighet, robusthet, brukskvalitet, brukervennlighet, dokumentasjon, vedlikehold. Endringstester Gjennomføres når det gjennomføres endringer i softwaren

Black-box testing - funksjonstesting Kildekoden er ukjent Black-box testing betrakter programvaren som en svart boks og kjenner bare grensesnittet mot omverdenen. Brukes til integrasjonstester, systemtester og akseptansetesten Testene utledes fra spesifikasjonen Kan brukes på alle systemer og nivåer Gi systemet inndata, kontroller utdata Viktig å finne inndata som fører til feil eller bekrefter at funksjonen fungerer riktig Bruke kunnskaper om anvendelsesområdet Gjennomføre systematiske testdatautvalg

Utfordringer ved Black-box testing Parametere kan ha feil rekkefølge og type Feil kan oppstå på grunn av feil i testomgivelsene test bed altså utenfor modulen som testes for eksempel i en driver eller en stub

White-box testing - strukturtesting Kildekoden er kjent White-box testing forutsetter kjennskap til den indre struktur og virkemåte til programmet som testes. Brukes mest i enhetstestene av de ulike modulene. Enhetstesten for egenutviklede moduler bør være whitebox testing Enhetstester for hyllevare og gjenbrukmoduler bør være black-box tester. Dermed testes grensesnittet til modulen som er de ulike funksjonene som er tilgjengelige i grensesnittet til modulen. For enhetstesten er utvikleren testansvarlig og bør utføre testen.

White-box testing - strukturtesting Andre navn Glass-box, Clear-box Målet er å teste alle programsetninger Egnet for små programmoduler Analysere kode for å identifisere ekvivalensklasser

Ekvivalensklasser Systemets inndata deles i grupper (klasser) En ekvivalensklasse er en datamengde der alle elementene behandles likt ekvivalensklasser kan identifiseres fra spesifikasjonen Tommelfingerregel Velg data som ligger godt inne i ekvivalensklassen og på grensen Grenseverdier blir ofte behandlet feil av programmet.

Black- og white-box testing Komponent Inndata Utdata Black box: Gir input forventet output? Komponent Inndata Xxxxx xxxxx Utdata White box: Følger hvert trinn i komponenten. Midlertidige utskrifter.

Kvalitet av programvare Kvalitet i hvilken grad en samling av iboende egenskaper oppfyller krav Krav behov eller forventninger som er angitt, vanligvis underforstått eller obligatoriske Krav kan fremsettes av forskjellige personer

Kvalitet en subjektiv vurdering Kvalitet er å oppfylle krav Den som formulerer kravet vurderer om produktet oppfyller kravet Forskjellige personer med ulike krav vurderer derfor kvalitet ulikt Krav er det samme som behov og forventninger Derfor er Kvalitet er en subjektiv vurdering Kvalitet tidsavhengig

Kvalitet av et IT-system Systemets evne til å oppfylle krav, ønsker og forventninger Hvor godt systemet stemmer med med de opprinnelige skriftlige spesifikasjoner Forholdet mellom forventet og opplevd ytelse og funksjon av systemet Opplevd kvalitet Subjektiv vurdering av den enkelte bruker som kommer i kontakt med systemet

Kvalitetsegenskap Generelle kvalitetsattributter Korrekthet Utfører det som er spesifisert i kravene Pålitelighet Du kan stole på programmet Robusthet Tåler at det skjer uforutssette ting

Når har et program riktig kvalitet? Når det har høyest mulig kvalitet? Når det har få feil? Når det oppfyller våre ønsker best mulig? Når det er utviklet etter bestemte kvalitetskrav? Når det er utviklet i land med menneskerettigheter? Når virksomheten har etiske retningslinjer? Når det er utviklet etter anerkjente metoder? Når det er utviklet med anerkjente verktøy? Når det ikke gjør skade på brukere eller andre?

Innhold i en kravspesifikasjon Innledning Oppdragsgiver, prosjekt- og brukergrupper Overordnet systembeskrivelse Hensikten, grafer med dataflyt, konsekvenser Rammebetingelser Tilgjengelighet, datasikkerhet, kapasitet Funksjonelle egenskaper Spesifisere skjermbilder, rapporter, inndata. Logisk datamodell Sammenhengen mellom datasettene,

Evaluering av systemkvaliteten Vurdert ut fra kravspesifikasjonen Hva har brukerne bedt om? Hva er det brukerne ønsker eller forventer Vurdert ut fra hvordan systemet fungerer i bruk Hva er det brukerne faktisk trenger Vurdert ut fra systemets plass/rolle i organisasjonen

Objektive og subjektive kvalitetskrav Objektive krav Funksjonskrav Ytelseskrav Tekniske krav Subjektive Bruksmessige krav Estetiske krav Symbolske krav

Akseptansetest Akseptansetesten utføres for å avgjøre om et produkt oppfyller kundens behov, og stemmer overens med spesifikasjonen og annen dokumentasjon. Akseptansetesten er siste mulighet for en kunde å avvise et utilstrekkelig produkt, før det settes i drift. En godt gjennomført akseptansetest kan beskytte kunden mot tap som skyldes dårlige produkter

Plass i V-modellen Kundespesifikasjon Akseptansetesting Kravspesifikasjon Systemtesting Design Integrasjonstesting Modul implementasjonmodultesting + MIT

Planlegging av testen Akseptansetesten består av fem faser: 1. Bestemme hvor kritisk systemet er (Analyser krav til testen) 2. Bestemme hvilke kvaliteter som skal testes eller evalueres (Spesifiser detaljerte krav til testen) 3. Designe testen 4. Utfør testen 5. Rapporter resultatene De første tre fasene tilhører planleggingen og er først og fremst kundens ansvar. De siste to fasene krever sterk deltakelse av leverandøren.

Utarbeide testkrav Beskriv scenarier og dokumenter hver funksjon Beskrivelsene skal vise hvordan en bruker utfører funksjonene. Oppstår situasjoner som ikke passer med tidligere beskrivelser så lag nye scenarier. Sjekk alt som er spesifisert Se etter situasjoner ikke er spesifisert, men allikevel er viktige. Eksempler: registrering av motstridende opplysninger slutt på papir midt i en jobb som krever utlisting duplisert registrering av opplysninger som ikke skal dupliseres generelle betjeningsfeil oppnår ikke kontakt med database, server etc.

Hva skal testes alt eller prioritet? Risiko for feil og viktighet i praktisk bruk. Vektlegger at testen skal finne maksimalt antall feil. Prioriterer komplekse systemdeler Deler hvor en vet at det har vært usikkerhet, der det har vært strid, endringer, og der det har vært mye feil i tidligere tester. Slike systemdeler kan (men må ikke) gi trøbbel senere. Finne feilene som er viktigst i drift Teste funksjoner som brukes oftest i praksis. Sjeldne situasjoner og sjeldent brukte funksjoner testes kuttes ut. Det finnes statistiske metoder til å evaluere testen beregne forventet pålitelighet i drift.

Valg av testdata For hvert scenario finnes fram til variasjonsbredden i input- og outputdata og det velges forskjellige data som dekker denne variasjonen. Valg av testdata medfører ekvivalensklasseinndeling, grenseverdianalyse, årsaks-virkningsanalyse og bruk av parvise kombinasjoner Hvert scenario bør utføres flere ganger med ulike testdatasett.

Oppsummering Kunden bør forberede testscenarier samtidig med spesifikasjonen. Kundens testansvarlige skal arbeide med test på heltid (i spesifikasjons- og testfasen). Testen gjøres grundig, men skal ikke finne for mange feil. Testen inkluderer vurdering av brukerhåndbok og andre dokumenter. En må avtale tidlig hva som er feil og hva som er endringsønsker. Testen (eller deler av den) bør kjøres om igjen etter feilretting.

Metrikker og målinger Vi vil gjerne vite: Hvor stort er programmet? Hvor godt er programmet? Hvor lett er det å vedlikeholde? Hvor mange feil er det i programmet? Hva vil testingen koste? Hvor lang tid tar det å utvikle et lignende program?

Grunnlaget for å bruke metrikker Behov for på en objektiv måte kunne Beskrive funksjonalitet Sammenligne systemer Evaluere systemer Forutsi Programkompleksitet Utviklingstider Utviklingskostnader

Hva er en metrikk? En metrikk er en målbar egenskap både for et system eller en prosess målbar egenskap eller størrelse i en eller flere deler av et informasjonssystem beregnet eller komponert indikator basert på to eller flere målinger karakteristikk av et produkt eller prosess En metrikk bør være en objektiv størrelse som ikke påvirkes av personen som utfører målingene

Typer av metrikker Produktmetrikker Antall kodelinjer Størrelse på installert program Mengden av dokumentasjon Prosessmetrikker Utviklingstid, Planlagt og virkelig Ressursbruk, Planlagt og virkelig Produktivitet, Kodelinjer, funksjonspoeng Kvalitet, feil/kodelinjer Metode for utviklingen Kompetanse til utviklingsteamet

Metrikker for ikke-funksjonelle krav Egenskap Hastighet Størrelse Brukbarhet Brukskvalitet (Usability) Pålitelighet Robusthet Portabilitet Mål Utførte transaksjoner per sekund, Behandlede hits/s Bruker/hendelsesresponstid, Skjermoppfriskningstid kb, MB Treningstid, Antall hjelpesider Gjennomsnittlig betjeningstid per transaksjon MTBF Gjennomsnittstid mellom svikt Oppetid MTTR Gjenstarttid etter svikt Andel av hendelser som fører til svikt Andel av målavhengige setninger Antall mål

Hva er statisk testing? Analyser utført på skrevne dokumenter Hensikten er å finne avvik fra spesifikasjonene Resultatene kan brukes til å optimalisere utviklingsprosessen og gi innspill til den dynamiske testingen

Testtyper Strukturerte gruppegjennomganger Reviews Gjennomganger, inspeksjoner Statiske analyser Bruke compilere for å kontrollere syntaks og variabler Teste konvensjoner og standarder Utføre dataflytanalyse Utføre kontrollstrukturanalyse Definere metrikker

Hva er dynamisk testing? Kjøring av testobjektet på en datamaskin Hensikten er å finne avvik fra forventede verdier eller bekrefte verdier Uferdige deler av programmet erstattes av testomgivelser, driver og stub Enkle moduler testes som White-box Kompliserte moduler testes som Black-box Testdataene deles i ekvivalensklasser