Artikel Kvalitet

Provlistan som fångar det du inte provade

Du bad om en sak: att listan skulle gå att sortera på namn. Du fick den, provade den och den fungerade. Två veckor senare hör någon av sig om att den nedladdade filen är tom — och ingen vet sedan när. Det är inte otur. Det är följden av att du provade exakt det du beställde, och ingenting annat.

Publicerad · Senast granskad

Konstruktivistisk trämodell av benvita och svarta plattor i flera fristående plan, där en platta skjuter långt ut över basens kant och en smal röd stav lutar diagonalt ned mot underlaget.
Delarna som redan ligger på plats är fler än de du tittar på. Det är där felet hinner uppstå.

Kort sagt

En ändring kan röra mer än det du bad om. Sortering, sökning och export kan använda samma uppgifter eller samma delar av appen, även när de ser fristående ut på skärmen. Utan att kunna läsa koden har du ett tydligt skydd mot följdfel: en kort lista över saker som ska fungera, och vanan att gå igenom den varje gång.

Varför någon annan hittar felet före dig

Du provar det du precis beställde. Det är rimligt — det är ju där något kan ha blivit fel. Problemet är att det är den enda delen av appen du provar, samtidigt som det är den del som just blivit granskad noggrannast.

Du kan inte räkna med att appen säger till när något slutar fungera. Knappen kan sitta kvar, sidan se likadan ut och ingenting blinka rött. Och ju äldre en funktion är, desto mer sällan använder du den själv: startsidan öppnar du varje gång, exportknappen tryckte du senast på för en månad sedan. Det är därför felet ofta upptäcks av någon annan, och långt senare.

Fördröjningen är den dyra delen. Rådet att fråga vad ändrades sedan i går fungerar bara om du märker felet i dag. Har det gått tjugo ändringar finns inget kort svar kvar, och du står med ett sökproblem i stället för ett fel.

Tre ställen där det går sönder tyst

Provlistan är en handfull rader, inte ett testprotokoll

En provlista är inte teknisk och den kräver ingenting av dig som du inte redan kan. Varje rad är en sak en verklig användare gör, plus det du ska se när den fungerar. Kan du inte skriva vad du ska se, är raden inte färdigskriven.

Så här kan listan se ut för en anmälningslista till en förening. Sju rader, under fem minuter att gå igenom:

Anmäl en person. Namnet står i listan direkt efteråt, stavat som du skrev det.
Ladda om sidan. Anmälan är kvar. Det här är den enda raden som provar att något faktiskt sparas.
Skicka formuläret tomt. Ett begripligt meddelande på svenska visas, och ingen tom rad hamnar i listan.
Anmäl samma person en gång till. Appen gör det den ska — stoppar eller tillåter — men gör samma sak varje gång du provar.
Öppna appen på telefonen. Allt syns utan att du behöver dra sidan i sidled, och knappen går att träffa.
Ladda ned listan. Filen öppnas, innehåller alla anmälda och visar å, ä och ö rätt.
Fyll upp till taket. Platsen efter den sista stoppas med ett meddelande som säger varför.

Notera vad som inte står där: ingenting om kod, filer eller databaser. Listan beskriver appen utifrån, vilket är den enda vy du har — och den enda som betyder något för den som ska använda appen.

Var listan ska ligga


Så skriver du listan för appen du redan har

Det tar tjugo minuter en gång, och du gör det på appen som den ser ut i dag. Behöver du bygga något för att kunna prova en rad har du hittat ett fel innan du ens börjat.

1
Gå igenom appen som en användare. Gör det du tänkt att någon annan ska göra, från början till slut. Skriv en rad per handling, med det du ser när det gick bra.
2
Lägg till det som ska stoppas. Tomt fält, fel format, samma sak två gånger. Ett fel per rad, och skriv vad meddelandet ska säga.
3
Lägg till omladdningen. Ladda om sidan och kontrollera att det du nyss gjorde finns kvar. Den raden avslöjar den vanligaste tysta skadan av alla.
4
Lägg till det du sällan gör själv. Nedladdningen, utskicket, sidan bara du ser. Det är där felen hinner ligga längst.
5
Stryk tills listan tar fem minuter. Behåll de rader där ett fel skulle märkas av någon annan än du. En lista som tar en halvtimme blir aldrig körd, och då skyddar den ingenting.

Provet är godkänt när du kan lämna listan till någon som aldrig sett appen och den personen kan gå igenom alla rader utan att fråga dig en enda gång. Fastnar de på en rad är det raden som är otydlig, inte personen.


När listan ska köras

Inte efter varje meddelande. Det skulle göra arbetet outhärdligt och är inte heller nödvändigt. Tre tillfällen räcker:

Därför just innan du sparar

En sparad punkt är det du backar till när något gått fel. Är den punkten i sig trasig backar du i tron att du landat på fast mark, upptäcker att felet finns kvar och drar slutsatsen att det måste sitta någon annanstans. En trasig sparad punkt är sämre än ingen punkt alls.

Går en rad inte igenom: rätta den innan du går vidare med nästa beställning. En provlista som du kör men inte agerar på är bara en längre väg till samma överraskning.


Beställningen som håller modellen borta från det som fungerar

Listan fångar skadan i efterhand. Beställningen kan minska hur ofta den uppstår, och det gör den på ett sätt: genom att be om planen och om en uppräkning av vad som berörs, innan något ändras.

Beställning: före en ändring i något som fungerar

Jag vill ändra [beskriv den enda sak du vill ha ändrad]. Ändra ingenting annat.

Innan du ändrar något: beskriv planen kort, och räkna upp vilka andra delar av appen som kan påverkas av ändringen — även sådant jag inte har nämnt. Behöver något utanför det jag bett om ändras för att det ska fungera, säg det och vänta på mitt svar i stället för att göra det. Avsluta med vilka prov jag ska göra efteråt.

Uppräkningen du får tillbaka har ett direkt användningsområde: de delarna blir extra rader i dagens körning. Modellen kan ha fel om vad som påverkas, men den har oftare rätt om var den varit inne och skrivit än om huruvida resultatet blev bra.

"Inget annat påverkas" är inte ett prov

Det är en förutsägelse, och den kommer från samma modell som gjorde ändringen. Vissa byggverktyg kan numera använda en webbläsare för att klicka, fylla i formulär och läsa fel — Lovables webbläsartestning är ett exempel. Men verktyget provar inte automatiskt varje gammal funktion eller varje miljö. Be det köra den exakta listan, och kör de viktigaste raderna själv före en sparad version och före publicering.

Beställning: låt verktyget köra provlistan

Kör provlistan nedan i appens förhandsvisning med webbläsartestning, om verktyget har den möjligheten. Utför varje rad som en användare skulle göra och rapportera handling, förväntat resultat och faktiskt resultat rad för rad. Hoppa inte över en rad utan att säga det. Rätta ingenting ännu — avsluta först med en lista över godkända, underkända och ej körbara rader.

[Klistra in provlistan här.]

Och när en rad faller: säg vilken rad, ordagrant. Ett fel som beskrivs som "exporten är trasig" ger en gissning tillbaka. Ett fel som beskrivs med handling, förväntat resultat och faktiskt resultat ger en förklaring.

Beställning: när en gammal funktion slutat fungera

[Funktionen] fungerade före den senaste ändringen och gör det inte nu. Så här provar jag: [skriv raden ur provlistan ordagrant]. Det ska hända: [det du ska se]. Det som händer i stället: [skriv exakt vad du ser, inklusive eventuell text på skärmen].

Ändringen jag bad om precis innan var [beskriv den]. Förklara först vad i den ändringen som kan ha orsakat det här, innan du rättar något. Rätta sedan bara det felet, utan att bygga om resten.


Vad listan inte fångar

En provlista visar att appen fortfarande gör det den gjorde i går. Det är mycket, och det är allt. Fyra saker ligger utanför:

Listan säger inte heller att appen är bra. Den säger att den är oförändrad. Om proven varit fel formulerade från början fortsätter de vara godkända ända tills någon använder appen på riktigt.

Hela vanan i tre rader

Skriv ned vad som ska fungera. Gå igenom listan innan du sparar en punkt. Rätta det som fallit innan du beställer nästa sak.

En sak i taget handlar om provet för den ändring du just gjort — provlistan är samma idé sträckt över tid. Faller flera rader samtidigt och du börjar stapla fixar, gå till guiden om när appen går sönder. Och kursens del om användbarhet innehåller det prov som ingen lista ersätter: att lämna över telefonen till någon annan och inte säga något.