Basic personligt

Daniel Brahneborgs blogg

Matte och pedagogik

Det där med att när ens senaste verktyg är en hammare så ser alla problem ut som spikar, är någonting jag försöker upphöja till konstform. Min senaste hammare, om någon mot förmodan har missat det, är testning. Eller faktiskt mer och mer, de matematiska modeller som ligger bakom, där testning är en tillämpning av dem. Mer specifikt: grafteori och kombinatorik.

Om ens program implementerar en statemaskin kan man använda state och edge coverage för att se hur stor del av programmets logik man testar. Om de olika delarna av indatat är oberoende av varandra kan man använda base choice (man börjar med neutrala värden på allt, och så vrider man på en ratt i taget) för att metodiskt säkerställa att alla värden hanteras korrekt. Där det finns beroenden kan man istället använda combinatorial testing, där man väljer ut en minimal delmängd av “alla med alla med alla”.

Det som slog mig häromdagen är att det här är ju faktiskt exakt så som bra instuderingsuppgifter fungerar. Först får man en enkel grundsituation. Sedan ändrar man till imperfekt. Periodisering över två år istället för allt på en gång. En matris där bara en rad kan transformeras bort. En justering i taget, klockren base choice. En av de saker som jag felrapporterade med ekonomiboken jag läste förra våren var att när de gick igenom aktier och emissioner, var övningarna på både nyemission och fondemission samtidigt, vilket gjorde att jag aldrig fick bra koll på dem (och därmed inte godkänt på just den delen på tentan).

När base choice-testerna är klara, kan man då gå vidare till combinatorial, och skruva på fler parametrar i taget. Att en eventuell tenta på slutet innehåller nya kombinationer gör då ingenting, eftersom man ändå har gått igenom alla relevanta varianter. Historia å andra sidan lämpar sig förmodligen bättre för state/edge-coverage på dess mindmap-graf.

Frågan blir då: hur mycket av det här är redan undersökt? Alldeles för många av de övningsuppgifter jag har sett under åren känns mest som exploratory testing, a.k.a. “klicka sig runt på måfå”. Är en sådan här mer matematiskt baserad lista på övningar använd någonstans? Finns det några forskningsresultat? Det finns ju viss risk för vidare studier i mitt liv, så jag har ju gott om tillfälle att testa det här på mig själv om inte annat.

pixelstats trackingpixel

June 24th, 2016 Posted by Daniel Brahneborg | blogg | no comments