Skip to main content

Återpublicerat med tillstånd från Kristins utmärkta blogg, thinkingtester.

I mitt förra inlägg introducerade jag begreppet kvalitetsmognadsmodell: en serie beteenden kopplade till kvalitetsattribut som hjälper team att uppnå olika kvalitetsattribut i sin programvara.

En viktig sak att notera är att införandet av en kvalitetsmognadsmodell kräver att hela teamet bidrar till kvaliteten.

Continue Reading for Free

Create a free account to finish this article, plus get ongoing access to timely insights and practical resources.

Kvalitet är inte något som ska kastas ”över muren” till testare; det är i stället ett mål som både utvecklare och testare delar.

Men hur får man hela teamet att ta ansvar för kvaliteten?

Ett sätt är att skapa en kvalitetsstrategi. Det är ett dokument som hela teamet kommer överens om tillsammans. Se det som ett avtal som beskriver hur kvalitetsprogramvara ska utvecklas, testas och släppas av teamet. 

Här tar jag upp några frågor som ni kanske vill besvara i teamets kvalitetsstrategi.

Skapa och förbereda ärenden

Fråga: Hur bestämmer teamet vilka ärenden det ska arbeta med? 

Det kan vara ett beslut som fattas av hela teamet eller endast av produktägaren. Prioriteringen kan också göras av någon utanför teamet.

Fråga: Vem förbereder ärendena så att de blir klara för utveckling? 

Det kan vara hela teamet eller en del av teamet. Helst bör åtminstone produktägaren, en utvecklare och en testare delta.

Utvecklingsprocess

Fråga: Hur bestämmer teamet vem som arbetar med vilket ärende?

Det kan vara så att utvecklarna får välja vilket ärende som helst från tavlan, eller så kan varje utvecklare ha ärenden inom specifika funktionsområden att välja mellan. 

I vissa team arbetar programvarutestare även med enkla utvecklingsärenden, till exempel att ändra ord eller färger på en webbsida eller lägga till automatiserings-ID:n för att underlätta automatisering.

Fråga: Hur ser ”Klart” ut för ärendet? Mäts det genom att alla acceptanskriterier i ärendet är uppfyllda? Måste utvecklaren lägga till enhetstester innan ärendet kan anses vara klart? Hur vet man att en funktion är redo att testas? 

I många team förväntas utvecklaren göra viss inledande testning för att verifiera att det som kodats är redo för ytterligare testning.

Get regular tech leadership wisdom for delivering better software and systems.

Överlämning av funktioner

Fråga: Hur ska ett ärende överlämnas för testning?

I vissa team görs detta helt enkelt genom att flytta ärendet till kolumnen ”Testning” på ärendetavlan. I andra team krävs en mer formell överlämningsceremoni, där utvecklaren demonstrerar det fungerande ärendet och ger förslag på ytterligare testning.

Fråga: Vem distribuerar koden till testmiljön? 

Det kan verka som en oviktig detalj, men det kan faktiskt orsaka många missförstånd och mycket bortkastad tid. Om utvecklaren tror att det är testarens uppgift att distribuera koden till testmiljön, och testaren antar att utvecklaren har gjort det, kan testaren börja testa utan att inse att den nya koden saknas förrän efter att ha lagt ned betydande tid på att arbeta med programmet.

Fråga: Vem ska utföra testningen? 

I vissa team kan utvecklare ta sig an enkla testningsärenden för att bidra till bättre leveranshastighet, medan de mer komplexa ärendena lämnas till testexperterna.

Skapa testplaner

Fråga: Vem ska skapa testplanerna? Hur ska de skapas? Var ska testplanerna lagras? 

Vissa team kanske föredrar att utföra ad hoc-baserad explorativ testning med minimal dokumentation. Andra team kan ha avancerade system för hantering av testfall som dokumenterar alla tester för produkten. Däremellan finns många andra alternativ. 

Vad ni än väljer bör det vara rätt för ert team och rätt för er produkt.

Fråga: Vem ska skriva testautomatiseringen?

I vissa team skriver utvecklarna enhetstesterna och testarna skriver API- och användargränssnittstesterna. I andra team skriver utvecklarna enhets- och API-testerna, medan testarna skapar användargränssnittstesterna. Ännu bättre är att både utvecklarna och testarna delar ansvaret för att skapa och underhålla API- och användargränssnittstesterna. 

På så sätt kan utvecklarna bidra med sin expertis inom kodhantering, medan testarna bidrar med sin expertis när det gäller att veta vad som bör testas.

Fråga: Vem ska utföra andra typer av testning, såsom säkerhets-, prestanda-, tillgänglighets- och användarupplevelsetestning? 

Vissa större företag kan ha särskilda säkerhets- och prestandaingenjörer som tar hand om denna testning. Små nystartade företag kanske bara har ett utvecklingsteam som behöver ansvara för allt.

Testverktyg

Fråga: Vilka verktyg kommer att användas för manuell och automatiserad testning? 

Det är mycket viktigt att välja testverktyg när du vill att hela teamet ska ta ansvar för testningen. Utvecklare vill sannolikt använda verktyg som använder samma språk som de använder i utvecklingen, eftersom det minimerar mängden kontextväxling de behöver göra.

Underhåll av tester

Fråga: Vem ansvarar för att underhålla testerna? 

Det är häpnadsväckande hur snabbt testautomatisering kan bli inaktuell. En enda ändring av ett ord på en sida kan leda till att ett test misslyckas. Helst bör ett team ha en policy om att ”den som har sönder det lagar det”, där testerna åtgärdas av den person som skickade in koden som fick dem att misslyckas.

Om det inte är möjligt bör du åtminstone se till att alla i teamet förstår hur testerna fungerar och hur de ska åtgärdas i en situation där en snabb lösning behövs.

Buggar och teknisk skuld

Fråga: Hur hanteras buggar när de upptäcks under testning? Diskuteras de av utvecklaren och testaren, prioriteras de av hela teamet eller loggas de i en ärendekö för att hanteras senare?

Det är ofta en bra idé att åtgärda buggar så snart de upptäcks, eftersom utvecklaren redan arbetar i den delen av koden.

Fråga: Hur kommer teamet att hantera teknisk skuld?

Har teamet kommit överens om att ta på sig en viss mängd teknisk skuld per sprint? Vissa team har en policy som innebär att när en utvecklare har slut på ärenden att arbeta med, väljer de teknisk skuld från ärendekön.

Lanseringar

Fråga: Vilken typ av testning kommer ni att genomföra före en lansering? Kommer det att finnas en plan för regressionstestning som hela teamet kan genomföra tillsammans? Hur är det med explorativ testning?

Ett högpresterande team som jag känner till samlas för explorativ testning precis innan de lanserar. Med hjälp av denna strategi har de upptäckt svårupptäckta buggar och åtgärdat dem innan de lanserades i produktion.

Fråga: Hur kommer programvaran att lanseras?

På vissa företag finns det en lanseringsansvarig som tar hand om att genomföra lanseringen. På andra företag turas teammedlemmarna om att lansera programvaran. En mycket användbar teknik är kontinuerlig driftsättning, där programvaran driftsätts automatiskt och tester körs automatiskt för att verifiera driftsättningen i varje miljö, vilket sparar tid och arbete för alla.

Relaterad läsning: SÅ HÄR KÖR DU API-RÖKTESTER I DIN PIPELINE FÖR KONTINUERLIG DRIFTSÄTTNING

Underhåll

Fråga: Hur kommer ni att mäta hur framgångsrik lanseringen är? 

När programvaran har lanserats är det lätt för utvecklingsteam att glömma bort den, men det är då användarna börjar arbeta med den. Vilka typer av mätvärden kan ni använda för att mäta hur väl produkten fungerar? Ni kan hålla koll på fel som rapporteras av kunder eller granska loggar efter oväntade fel.

Fråga: Hur kommer ni att övervaka hälsan hos er applikation?

Det vore en bra idé att konfigurera aviseringar så att ni kan upptäcka problem med applikationen innan användarna gör det. 

Fråga: Vilka typer av beteenden bör ni vara uppmärksamma på?

Kvalitetsstrategier kan variera lika mycket som snöflingor. Föreställ dig skillnaderna mellan ett litet nystartat företag med tio personer som utvecklar en mobil chattapp och ett företag med tjugotusen personer som utformar programvara för flygplan. Dessa två företag kommer att behöva mycket olika strategier! 

Ni kan utforma en kvalitetsstrategi som fungerar väl för ert team genom att diskutera dessa frågor tillsammans och utarbeta en strategi som ni alla kan enas om.

För verktyg och teknik som kan hjälpa till med era processer kan ni ta en titt på denna lista över DE 10 BÄSTA VERKTYGEN FÖR HANTERING AV TESTDATA.