Gå till innehåll

The next available class in Rapid Software Testing with James Bach will take place in Lund. It is hosted by House of Test and has a very reasonable fee. I have not invited James to give any class in Gothenburg before summer but depending on what happens there may be one this fall.

Thanks to all the people that voted against the EURO in Sweden the dollar is now more than 50% more expensive for us swedes than half a year ago which does affect the possibilities to get trainers from abroad to Sweden.

Now is the time to sharpen our knowledge!

I recently read a very interesting exam work made by two students at BTH in Sweden. The title is Predicting Fault Inflow in Highly Iterative Software Development Processes. They apply different predictive models to real projects and see how good they are at approximating the number of faults that appear over time. You have probably heard enthusiastic measurement people that try to convince you that they have the best answer. I won't go into details regarding the actual measurements but will go directly to the conclusions. In brief thay found out that the S-curve was the worst model of the ones compared. Their measurements showed that more complex models did not necessarily give more accurate results and a simple linear model was a valid alternative.  

So IF you need to measure. Use a simple linear model that will be good enough. And in my experience bug measurements can be one factor to measure progress with but it is seldom very exact and never give you the full picture.

Remeber: It does not matter how exact you are when the measurements are wrong to start with!  

Häromdagen besökte jag folktandvården. Ni vet de som inte borrar i onödan för att kunna köpa mer prylar som privattandläkarna gör. Pengar per hål - ungeför som att ge extra betalt om testarna hittar (registrerar) fler felrapporter. Det blir nog en hel del extra borrande hos många privatister.

Men det var inte det vi ska prata om nu utan det datasystem som man köpt in. Det har ju stått en hel del i tidningarna om misslyckade system hos folktandvården och hos försäkringskassan så jag tänkte undersöka det närmare när jag var på plats.

Först frågade jag min trevlige tandläkare Aramis hur systemet fungerade när han satt och försökte lägga in dagens behandling. Han suckade och sa att det var rätt krångligt och fortsatte välja fyrsiffriga behandlingskoder så att tabellen skulle bli komplett. Det blev många klick men till slut var han klar. Tack för mig och iväg till kassan. Å fyra tandbortar til barnen och fluor till pappa. Vänta lite sa receptionisten, jag måste fråga hur jag ska lägga in det extra. Enkelt sa hennes kollega, först så summerar du ihop det han ska ha på miniräknaren här, priset på varje sak står i papperslistan här, sen kollar du den andra listan för att få priset du ska lägga in i datorn (utan moms?), sen lägger du in en ny post på patienten. Till sist så tittar du på summan och skrive in den manuellt på betalterminalen så får kunden betala med sitt kort. Hmmm, är det jobbigt att jobba söndag frågar jag. Nej men systemet gör mig trött svarar hon.

Här ser vi åter ett exempel på att funktioner finns där men användaren glöms bort. Kanske har vi prickat av kraven i en lista, sett till att spårbarheten finns där, lagt upp testfall i ett verktyg och sett till att alla tester är godkända. Men var gör det när användaren är missnöjd! Det är dags att gå från diskussionerna om ett testfall är godkänd eller inte Pass or Fail till ett mer mänskligt perspektiv där vi funderar på om det sätt systemet fungerar eller inte fungerar bli ett problem för någon användare. Om det är ett problem så bör vi se till att åtgärda det. Det kan verka som en filosofisk fråga men visar på ett helt nytt sätt att se saker. Att pricka av testade krav i en lista eller räkna testfall är mer en terapeutisk verksamhet.Att vi bara kan och ska testa det som uttryckligen står i kraven är en inställning vi bör ta oss ifrån snarast. Visst måste vi använda de klassiska teknikerna för testdesign men glömmer vi bort användarna så är vi rökta.

Nu har vi precis startat veckan kurs i Göteborg. James är igång, mer entusiastisk än någonsin. Trots att jag har hört det här innan är det lika spännande att lyssna på de små deltaljerna.

Första övningen var triangelproblemet, klassikern där du stoppar in tre heltal och programmet berättar om det är en liksidig, likbent eller oliksidig triangel. Klassen börjar hänga med i James tempo och hittar massor av spännande fel. Det känns, för mig iallafall, som att hjärnorna satt igång på allvar med kritiskt tänkande. Jämför med ISTQB-certifiering där de flesta - inklusive läraren - kopplar bort tänkandet till förmån för utantilllärande av tämligen oanvändbara saker. Hur ska vi kunna visa kunderna som köper konsulter och de som ansvarar för kompetensutvecklingen av testare att en certifiering inte bara är av minimal nytta utan till och med kan vara skadlig efter som den lär oss fel saker! På ett sätt är Sverige ett föregångsland eftersom väldigt många har gått RST-kursen och även debatterar på testsidor om context-driven testing. Jag hoppas vi kan hålla debatten levande. Problemet är att jag inte träffat någon hittills som är villig att prata offentligt om certifieringens förtjänster. Som ett mantra säger man att det är bra med en gemensam standard, men det är mig veterligen ingen som undersäkt om de certifierade testarna presterar bättre än de icke-certifierade. Inte heller om någon efter att ha gått kursen gör ett bättre jobb eller inte. Däremot har jag hört mpnga som säger att RST var en vändpunkt i hur de arbetar och Exploratory testing varit ett lyft för dem.

Några av de spännnande frågeställningar vi fick fram var ofullständig specifikation, inkonsekvent felhantering, dåliga felmeddelanden, gränsvärdesproblem. Någon läste inte ens specifikationen vilket skulle kunna motiveras med att Mission denna gång var att hitta så många fel som möjligt på väldigt kort tid. Fler exempel på hur vi skulle ha kunnat hitta fel var att granska koden som faktiskt fanns med i samma mapp. Att fråga utvecklaren kan också vara en rik källa til information.

Det grämer mig att jag bara kan vara kvar några timmar till, sen väntar tåget till Örebro.

Övning två handlade om att testa en funktion för att lägga upp start och sluttider för bokningsbar tid i en elektronisk agenda. Poängen var att titta på olika tekniker och vilka av dem som i det här fallet hittade fel. Random testing visade sig vara otroligt mycket mer effektivt än gränsvärdesanalys som i det här fallet helt missade felet vi skulle hitta. Intressant att det finns en man som doktorerat i test som säger att gränsvärdesanalys är nummer ett vad det gäller att hitta fel. Både den här övningen och min egen erfarenhet säger mig att detta är helt fel. Visserligen har jag alltid med tekniken i alla projekt men inte hittar jag speciellt mycket fel med den.

På grund av att det är lite tufft på kursmarknaden just nu vet jag inte när det är läge för nästa kurs. Förhoppningsvis till hösten. Om DU är intresserad av att gå på kursen, mejla mig eller lägg in ett inlägg på bloggen. Föreslå gärna också hur jag kan marknadsföra kursen bättre till nästa gång.

 Komiskt nog så är det just nu många på tåget hem som inte har några biljetter efter SJs system kraschade igen och har legat nere många timmar idag.

Hösten brukar vara bra för kursverksamheten. Uppfriskad av sommaren ledighet kryssar man fram i kurskatalogerna för att pricka in sina val. Det brukar gå bra såhär innan projekten har börjat på allvar. Men vad händer i år, flera kurser än vanligt ställs in? Är det dags att kasta ut alla konsulter och sätta stopp för all kursverksamhet? Det har ju hänt förr i IT-branschen att det helt tar stopp. Så går det när kvartalskapitalismen för råda kan man tro. Tidningarna gör sitt bästa för att späda på framtidspessimismen för att senare i undersökningar peka på att folk är mer negativa till den kommande ekonomiska utvecklingen. Kortsiktigheten brukar få råda när aktiekursen är viktigare än att det går bra på lång sikt. Det finns fortfarande åtta lediga platser till James Bachs första framträdande i Göteborg i november  Blir det inte fullt är det svårt att få ekonomi i den sortens satsningar.

På tal om kurser så diskuterade jag med en kollega idag om betalningen för en testkurs. Han blev erbjuden 8000 kr per dag för att hålla en testkurs, mindre än han får i konsultarvode på nuvarande uppdrag! Med tanke på den tid det tar att förbereda en kursdag, jag räknar med minst 40 timmar första tillfället, mindre efterhand, så är det ju en direkt förlust. Lägg till ca 10 timmars restid och det är en riktigt dålig affär. En dag som lärare är inte heller att jämföra med en vanlig dag på jobbet, för mig iallafall.