Grunderna i testdesign



Relevanta dokument
DEL II 104 TESTDESIGN FÖR PROGRAMVARA TESTDESIGN FÖR PROGRAMVARA 105

SAST Örebro Välkomna!

Mamut Business Software. Introduktion. Mamut Enterprise DIBS

Mamut Business Software. Introduktion. Mamut Enterprise DIBS

DEL III 240 TESTDESIGN FÖR PROGRAMVARA TESTDESIGN FÖR PROGRAMVARA 241

Kurser och seminarier från AddQ Consulting

Mamut Enterprise DebiTech

Testbara krav. SAST Syd Ställ gärna frågor under presentationen eller efteråt Åhörarkopior distribueras efteråt

Användarguide för Pagero Online 3.0. Traditionella EDI-nätverk

C++ Slumptalsfunktioner + switch-satsen

Testning som beslutsstöd

Internettjänsten Skolmjölk

Handbok för kortbetalningar med Babs Paylink/Point

Minimanual för Baltzaranvändare, ABF

Kurser och seminarier från AddQ Consulting

Automatiserade testsystem

Övningstenta (Kursplan 2011) Ver 2015,

Widgetguiden Vad är Publits widgetshop?

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Agil testning i SCRUM

Snabbguide: Hur man öppnar en egen nätbutik

Säkra pausade utskriftsjobb. Administratörshandbok

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey

Snabbguide: Hur man öppnar en egen nätbutik

Matematik 3c Kap 2 Förändringshastighet och derivator

Introduktion till MySQL

Välkommen. Den här guiden visar enkelt hur Kundservice på internet fungerar, hur du hittar och hur du använder olika funktioner.

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

1. Ange ditt personnummer (utan bindestreck) samt din fyrsiffriga PIN-kod.

Utforskande testning Så gör jag. Torbjörn Ryber Fearless Consulting

AddNature - som jag hittade via Compumatrix webbplats

Användarmanual för Lunds universitets sökandeportal

Läs in Räkna ut A Läs in Räkna ut a

Version Testteam 4 Testledare: Patrik Bäck

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Vardagssituationer och algebraiska formler

När? Varför? För vem? Resultat? (Artefakter?)

KOM IGÅNG-GUIDE. för DIBS Account. Vi gör det enkelt att ta betalt

DESIGNDOKUMENT 1(8) 1. Idé & koncept. Grundidé, syfte & innehåll. Målgrupp, koncept & sammanhang

Datakörkortet. Dataföreningen Det Europeiska Datakörkortet, Maj 2003

Lathund för BankID säkerhetsprogram

Matematisk Modellering

Kombinatorik Förenkla C(n+1,2)-C(n,2) och C(n+1,3)-C(n,3)

Kombinatorik. Författarna och Bokförlaget Borken, Kombinatorik - 1

Skapa kreativa och innovativa testorganisationer. Staffan Iverstam, QualityMinds

Manual för studerande Version 2.2.0

Testautomation av sammansatta och mobila applikationer. Magnus Nilsson Lemontree

Pyramid Business Studio - e-line & Betalkort

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Vop handledning. Användarhandledning till Vop applikationen. UPPGJORD: Mattias Gyllsdorff GODKÄND:Mattias Gyllsdorff REV: A DATUM:

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger.

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

SKOLFS. beslutade den XXX 2017.

LYCKA TILL! //Mattehjälpen. Hej! Här kommer ett dokument till dig som pluggar inför envarre1.

Övningar i ekvationer

Kreditkortshantering online med Mamut Pro. WorldPay

Så här betalar du med kort

API Notera HTTPS POST msg UTF-8. API_key JSON Mobilnummer format 1. Skicka ett SMS till specifikt nummer POST parametrar: from msg API_key Exempel:

Inlämningsverktyget i Fronter för lärare

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Uppgifter 6: Kombinatorik och sannolikhetsteori

+ + Ansökan ska fyllas i noggrant och undertecknas. Avsaknad av uppgifter kan förlänga behandlingstiden och leda till avslag.

LATHUND FÖR MALVIN. 1 Registrera ny användare Logga In Glömt lösenord Annonsering Skapa annons...

Tentamen i: Affärssystem och tjänsteorienterad arkitektur

Objektorientering. Grunderna i OO

Kom igång med ArcGIS Online - Snabba steg för att börja arbeta

[SVARSMEDDELANDEN VID WEBBANMÄLNINGAR]

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto

Hur handlar jag på nätet?

MMA132: Laboration 2 Matriser i MATLAB

Genomgång utav KURT Kursvärderingssystemet för Linköpings Universitet

Smartbudget handbok Sida 1 av 16

Kylmas lätta guider Till PlantWatch PRO3

Hur går en statistisk undersökning till?

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

VAD GÖR DU / VEM ÄR DU?

ANVÄNDARMANUAL. Inrapportering av slaktfil. för. Version

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Från vaga testuppdrag till förankrad teststrategi

BLI VÄN MED DIN BUGG. Frukostseminarium. Göteborg

Import av utlandsresultat

KONTEXT-DRIVEN TESTNING

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Prislista. för mobilabonnemang och förbetalt kort. Mobil telefoni. Så här får du veta mer

SAST Q1. Som att börja arbeta på ett nytt jobb. Testautomatisera med Modell-baserad testning

WebViewer Manual för administratör Nova Software AB

GÅVAN ALLA VÄLJER.

PM i Ängelholm är i första hand en ordermottagning. Självklart ställer vi ändock upp och hjälper dig om

Små förändringar. Stora resultat.

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Instruktion för att hämta personli t certifikat med Internet Explorer m.fl.

OMNIBUSRAPPORT VG REGIONEN

Lathund. Fakturering via fil i Tandvårdsfönster

Det här är Porsche i Sverige

Enhetstester på.netplattformen

Snabbguide. Vill du öppna din egen nätbutik? Nu är det enklare än någonsin. Följ stegen i den här snabbguiden så är du redo att öppna dörrarna.

Logik och kontrollstrukturer

Några grundläggande begrepp

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Transkript:

Grunderna i testdesign Den viktigaste delen av testarbetet!? Filosofiska rummet Every genuine test of a theory is an attempt to falsify it, or to refute it. Testability is falsifiability (Karl Popper: Conjectures and Refutations p 48) Ett krav är testbart om det går att visa att det inte gäller Svårare tester ger mer information Svårare tester kräver bättre testdesign 1

Fel vi läst om i tidningarna SvD Publicerat 14 mars 2006 11:59 Datakaos stoppar cellprovtagning De gynekologiska hälsokontrollerna har stoppats vid Sahlgrenska sjukhuset sedan ett nytt datasystem orsakat kaos. Kallelser till hälsokontroll har skickats ut till avlidna och kvinnor bosatta på annat håll i landet har kallats till Göteborg. Det nya datasystemet på patologen ställer till problemen som bara har ökat sedan det började användas i september. Sahlgrenska sjukhuset ligger nu i intensiv diskussion med datasystemsleverantören Tieto Enator. Vi har inte fått vad vi har beställt, säger Göran Larson. Fler fel Riksgäldskontoret skickar ut en miljard kronor för mycket orsak: programmeringsfel som ej upptäckts i test AMS: CV med å,ä,ö i namnet synliga för alla på Internet. Orsak: inköpt standardsystem ej acceptanstestat ordenligt. Skatteverket och Gymnasieskolan: förlängd ansökningstid med en vecka på grund av prestandabrist som ledde till stopp i systemet! 2

Varför är vi inte bättre på att testa? Test är nedprioriterat av projektledare, ITchefer etc. Och/eller Vi som testar är inte tillräckligt bra på det vi gör? Lösning bli bättre på testdesign Vad behövs: 1 Ökad kunskap om testdesign 2 - Ändrad attityd från vår sida analysera och hjälpa till att kvalitetssäkra kraven 3

Vad behöver en testdesigner kunna? 1: Praktiskt: hur utför du testerna 2: Modellering: analys av kraven underlag för test kvalitetssäkring 3: Testdesign: att ta fram bra testfall från modellerna 4: Kreativt tänkande: komplettering till logiskt tänk 1: Att utföra tester i praktiken Fråga System eller komponent Svar Speciellt i programtest kontrolleras intern status: - före -under -efter testfallets utförande Facit 4

2: Modellera och täck modellen Analysera krav och bygg en modell (tabell, graf eller flöde) Utifrån modellen identifiera lämpliga testfall täck modellen (grundtestfall) testa djupare (testdata) helheten (avancerade tester) Bra modell stödjer hitta fel i krav och design bra täckning Exempel på modeller - Stoppa in kort Verifiera giltighet A1 Felaktigt kort H Be om kod Mata in kod A2 Bokbeställning Testfall Kontrollera kod Beskrivning Prio 1 2 2 2 3 3 3 Parameter Värde Prio Id 1 2 3 4 5 6 7 Antal Heltal 1-99 1 X X X Giltiga grupper Ogiltiga grupper Heltal <1 2 Heltal >99 2 X Decimaltal 1.01-99.99 3 Bokstäver 3 +,-,* 3 räkneoperatorer Övriga ickenumeriska tecken 3 Antal 1 2 X giltiga gränsvärden 99 X Antal 0 2 Ogiltiga 100 3 gränsvärden Land grupper England, Nordirland, Skottland, 1 X Wales Övriga länder i Europa 1 X X Övriga världen 1 X Land Första landet på listan 3 X Sista landet i listan 3 gränsvärden X Betalningssätt Faktura 1 X X grupper VISA, MasterCard 1 X X Postförskott 1 X X Mata ut kort Felaktig kod Felaktig kod - A3 tredje gången Be om transaktion Ät kortet Mata in transaktion A4 Felaktig transaktion Kontrollera transaktion A6 Annan bank ej on-line Mata ut kort, pengar & kvitto A5 Kunden tar ej pengarna Sug in pengar & skriv till fellogg 5

Modeller är grunden för all vetenskap! Alla modeller är felaktiga men några är användbara. (Alan Cooper: About Face 2.0) En bra modell ska vara enkel att förstå En bra modell är en sann förenkling av verkligheten För lite information gör din modell inkomplett För mycket information gör att du inte hittar rätt Kvalitetssäkra modellerna! 2, 3: Test design att ställa RÄTT frågor Modeller Skapa grundläggande testfall Komplettera med testdata Avancerad testning i. Analysera underlaget, rita modeller ii. Täck modellen med testfall iii.testdata för djupare tester iv.till slut helheten och det kreativa tänkandet 6

Grundidéer för testdesign En testteknik hjälper dig att hitta bra testfall för fel av en viss typ Flera tekniker - fler typer av fel Slutsats: om du behärskar fler tekniker och vet när du ska använda dem blir du en bättre testdesigner Testdesigntekniker för alla lägen Alla tekniker bygger på någon sorts modeller Olika tekniker för olika områden Data Flöden Logik Kombinatorik Övergripande tester 7

Data finns med överallt Ekvivalensgrupper Numeriska intervall Andra typer av grupper (textfält, listor etc.) Gränsvärdesanalys -5678... -1, 0, 1... 17... 99, 100... 234567 { { { ogiltigt intervall giltigt intervall ogiltigt intervall Flöden Varianter Verksamhetsprocesser Tillståndsgrafer - händelsestyrt Användningsfallsflöden Kontroll- och dataflöden i kod Mata ut kort Stoppa in kort Verifiera giltighet A1 Felaktigt kort Be om kod Mata in kod A2 Kontrollera kod Felaktig kod Felaktig kod - A3 tredje gången Be om transaktion Ät kortet Mata in transaktion A4 Felaktig transaktion Kontrollera transaktion A6 Annan bank ej on-line Testdesignteknik Rita flödesschema Täck in grenar, vägar etc Mata ut kort, pengar & kvitto A5 Kunden tar ej pengarna Sug in pengar & skriv till fellogg V1 Vänta på kort V2 Vänta på kod V3 Vänta på transaktion 8

Logik Varianter Regelverk Villkor Formler Regler\Indata Ålder Kön Civilstånd Självrisk 1 <=25 Man Ogift + 1500 kr 2 <=25 Man Gift + 0 kr 3 <=25 Kvinna * + 0 kr 4 >25, <=45 Man Gift - 200 kr 5 >25, <=45 Man Ogift + 0 kr 6 >25, <=45 Kvinna * - 200 kr 7 >45, <=65 Man Gift - 300 kr 8 >45, <=65 Man Ogift - 100 kr 9 >45, <=65 Kvinna * - 300 kr 10 >65 Man Gift - 200 kr 11 >65 Man Ogift + 0 kr 12 >65 Kvinna * - 200 kr Testdesignteknik Beslutstabeller Beslutsträd Kön Man Kvinna Biltyp Biltyp Ålder <=25 >25, <=45 >45, <=65 >65 Biltyp Biltyp Sport Sport R6: R9: 1500 Familj, 1400 Familj, Mellanklass Mellanklass Biltyp Sport R11: 1500 Familj, Mellanklass Sport Sport R5: 300 R8: 200 Familj, Familj, Mellanklass Mellanklass R2: R4: 3000 1500 R7: 500 R10: 400 R12: 500 R1: 2000 R3: 500 Kombinatorik Problem: för många möjliga kombinationer av testfall Testdesigntekniker Grundläggande jämförelser (MCDC) Alla par allpairs.exe 9

3, 4: Övergripande tester Syntax ser det likadant ut överallt? Datacykler är alla objekt täckta av CRUD? Tidscykler regelbundna händelser som måste testas Såpoperatester kan systemet hantera alla konstigheter som dyker upp? Ickefunktionella tester? Så blir du bättre på testdesign Läs, diskutera och öva! Testdesign för programvara (Alla talar svenska) Ryber, Torbjörn (Köp den idag!) A Practitioners Guide to Test Design Copeland, Lee How to Break Software Whittaker, James Lateral Thinking De Bono, Edward 10

Så lyckas du med testdesign Öka din egen kompetens Lär dig modellera Lär dig testdesigntekniker Läs, gå kurser, öva själv, var kreativ Dessutom: Jobba nära kravställare och utvecklare Var flexibel det finns inga perfekta krav, lär dig hantera situationen Visa att du skapar ett mervärde för projektet Äntligen en bok om testdesign på svenska! Kommer 4 maj Köp idag till rabatterat pris 350 kr www.uppkopplat.se/butik Blogg www.ryber.se 11