Grunnleggende testteori. Etter Hans Schaefer



Like dokumenter
Grunnleggende testteori

Grunnleggende testteori

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

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

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

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Livsløpstesting av IT-systemer

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

Grunnleggende om Evaluering av It-systemer

Validering og verifisering. Kirsten Ribu

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

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

Kirsten Ribu

Software Test Plan. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

GJENNOMGANG UKESOPPGAVER 9 TESTING

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

Inf1055 Modul B 26 april 2017:

ISTQB Foundation Level Prøveeksamen

Testing av programvare. INF1050: Gjennomgang, uke 08

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

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

Testplan (Software Test Plan)

Testrapport Prosjekt nr Det Norske Veritas

Test og kvalitet To gode naboer. Børge Brynlund

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

Konfigurasjonsstyring

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

Kirsten Ribu

Testrapport for Sir Jerky Leap

Verifikasjon og validering

TESTRAPPORT Tittel på hovedprosjektet: Varebestillingssystem for Wokas Salg AS

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

Yrkesforedrag. Yrkesforedrag

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

ISTQB. Foundation Level

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

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

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

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

Introduksjon til Software Testing

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

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

TESTRAPPORT INTRANETT, CMA ASSET MANAGEMENT AS. Dataingeniørutdanningen, Høgskolen i Oslo GRUPPE 15. Kenneth Ådalen. Vegard Gulbrandsen

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

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

UNIVERSITETET I OSLO

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000

Presentasjon 1, Requirement engineering process

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

Evaluering av IT-systemer Introduksjon. Monica Kristiansen

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

Kravhåndtering. INF1050: Gjennomgang, uke 03

Erfaring med funksjonell testing i en integrert ALM prosess

Spørsmål: Hvilken datamaskin var den første? Svaret Det avhenger av hva man mener med en datamaskin. Ifi. Spørsmålet Analoge Digitale Videre

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

KOMMUNENS PLIKT TIL INTERNKONTROLL I INTRDUKSJONSORDNINGEN

MIE Masterprosjekt HSI UiA

Metoder for evaluering. Flere generelle RRISC

Eksamen består av 4 oppgaver, hver med 4 deloppgaver. Alle delspørsmål gis samme vekt i evalueringen.

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

INF Introduksjon til design, bruk, interaksjon Evaluering, del 2

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Testrapport. Moduler for bonefish.no CMS. Gruppe 08-23

Testing av programvare

Løsningsforslag Sluttprøve 2015

Evaluering vol. 1. Plenum IN1050 Uke 11 Maria og Helle

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

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

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

Sikkerhet, risikoanalyse og testing: Begrepsmessig avklaring

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

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

Kravspesifikasjon MetaView

Verifikasjon og validering

IT I PRAKSIS!!!!! IT i praksis 20XX

Inf1510: Oppsummering. Rune Rosseland

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

Jernbaneverkets erfaringer med implementering av RAMS

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Debugging. Tore Berg Hansen, TISIP

Oppgave 1. Finn krav. Finn krav. Finn test

SAMLET SAKSFRAMSTILLING

Testdokumentasjon. Testdokumentasjon Side 1

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Forelesning i INF våren 2014 Hvordan jobber vi med evaluering? Tomm Eriksen Interaksjonsdesigner - Universitetet I Oslo

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

INF109 - Uke 1a

Kapittel 3: Litt om representasjon av tall

TDT4110 IT Grunnkurs Høst 2016

MAT1030 Diskret matematikk

F.I.F.F.I.G. Fleksibelt og Innovativt system For FakultetsInformasjon og andre Greier

Forslag til ny læreplan for informatikk studieretningsfag

Behandling av data bli treffsikker!

ChiCMS Hovedprosjekt ved Høgskolen i Oslo 2011

User test/lesbarhetstest av pakningsvedlegg Seksjon for koordinering av utredningsoppdrag ved Odrun Havnerås

Spørsmål: Hvilken datamaskin var den første? Svaret. Det avhenger av hva man mener med en datamaskin. Spørsmålet Analoge Digitale Videre

Generelle bestemmelser og tekniske krav Side: 1 av 7

3.3 Case 3: Opprette en bruker Case 4: Endre en bruker... 8

BESLUTNINGER UNDER USIKKERHET

Transkript:

Grunnleggende testteori Etter Hans Schaefer

Industri- og softwareprodukt Industriprodukt Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes, og justeres så produktet oppfyller kravene. Softwareprodukt Immaterielt produkt Kan ikke teste direkte Testes under utvikling for å finne svakheter og feil Mye vanskeligere fordi en ikke vet om alle feil er funnet og dermed oppfyller kravene når produktet er ferdig utviklet

Hvorfor teste software? Testingen og testdokumentasjonen er en viktig del av dokumentasjonen for å vise at IT-systemet fyller kravene som er forutsatt For å vurdere om kravene er oppfylt må kravspesifikasjon og utviklingsdokumenter gjennomgåes nøye. Hvordan programmet fungerer kan bare vurderes ved testing på datamaskin Derfor er testing en viktig del av arbeidet med å utvikle programmet

Terminologi noen ord og uttrykk Confidens Defect Error Fail Failure Reliability Testing Validation Verification Debugging Terminologilisten Tiltro, tillit Feil eller Mangel 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 - uttrykk Hensikten med testing er å Kjøre programmet for å påvise/finne feil Kjøre programmet for å vurdere kvaliteten Kjøre programmet for å vurdere om det har tillit (confidens) Analysere program eller dokumentasjon for å finne svakheter (defects) Hensikten med debuging er å: Lokalisere og rette feil Lokalisere feilen? Hva består feilen i? Rette og fjerne feilen Teste rettingen slik at ikke nye feil er introdusert

Debugging

Den første bug 9. september 1945, kl. 3:45 p.m., fant forskere ved Harvard universitetet årsaken til at Mark II Aiken Relay kalkulatoren oppførte seg merkelig En møll ble funnet fanget mellom punkter på relé #70, panel F Maskinen ble debugget med en pinsett! Dokumentert i loggen som First actual case of bug being found. med møllen tapet inn ved siden av

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

1 Tester påviser feil, ikke feilfrihet Testing kan vise om programmet inneholder feil ikke om programmet er feilfritt Riktig utførte tester reduserer sannsynligheten for at det foreligger skjulte feil Selv om en ikke finner feil med testing betyr ikke det at programmet er feilfritt

2 Fullstendig testing er umulig En fullstendig test der alle innverdier og kombinasjoner testes mot alle forutsetninger lar seg ikke gjennomføre En fullstendig test av et IT-system vil føre til alt for mange tester i forhold til gevinsten Utfordringen er å utføre riktige tester med hensyn til prioritering og risiko

3 Testing skal starte så tidlig som mulig Testaktivitetene bør starte så tidlig som mulig i utviklingsfasen og fokusere på definerte mål. Dermed finnes feilene tidligst mulig og kostnadene ved å rette dem minst mulige

4 Feilene hoper seg opp Ofte skjer en opphopning av feil i systemet Feil er vanligvis ikke jevnt eller tilfeldig fordelt i systemet men kommer i klæddær Om det finnes mange feil ett sted i systemet finnes det også trolig flere i nærheten Påstandene er ikke allmenngyldige

5 Tester mister effekten Om en test gjentas mange ganger mister den effekten og nye feil påvises ikke Tester må omarbeides og tilpasses for å finne nye feil Deler av systemet som verken er testet eller brukt kan dermed testes og nye feil finnes

6 Tester er kontekstavhengige Testen må tilpasses bruk og omgivelser for systemet To systemer skal ikke testes på samme måte Hvert system skal testes individuelt avhengig av bruk, brukere og omgivelser Sikkerhetskritiske systemer trenger andre tester enn for eksempel et butikksystem

7 Et feilfritt system trenger ikke være et nyttig system Å finne og rette feil betyr ikke at systemet fyller kravene som er satt eller er brukbart i en virksomhet Å involvere brukere tidlig i utviklingen og bruke prototyper for å vurdere løsninger er en sikker måte til å unngå vansker

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 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