Nya frågor leder oss i nya riktningar - svaren föder fler frågor.

+46 (0)73 433 18 15

Att testa i ett kontinuerligt flöde

Att testa i ett kontinuerligt flöde

Aug 29, 2015

Att arbeta i ett kontinuerligt flöde av nya features förändrar sättet vi testar på en hel del. Det som är svårast när man bygger stora komplexa system är dels kommunikation, men också integrationen hur man får allt att fungera ihop.

1. Lokal enhetstest
Första steget är att konstruktören testar sin programmodul lokalt. Testdriven utveckling är att föredra som metod för att säkerställa att all kod genomlöps minst en gång av någon test.

2. Checka in koden
När konstruktören är nöjd med sina lokala tester checkar han/hon in koden för att integreras med övriga programmoduler i den gemensamma kodbasen.

3. Kör enhetstester
I enhetstesterna (som startas automatiskt av byggskriptet) ingår att först köra ett eller flera statiska analysverktyg . Dessa kan snabbt hitta ifall konstruktören har gjort några misstag, t.ex. oändliga rekursiva loopar eller att någon designregel ej följts på ett korrekt sätt.
Automatiserade enhetstester körs sedan på det integrerade bygget för att uppnå tillräcklig täckning, vanligtvis sats-, eller besluts-täckning.

4. Kör integrationstester
Kör automatiserade tester för att identifiera eventuella brister i gränssnitten och interaktionen/samverkan mellan integrerade systemkomponenter (moduler). Dessa kan t.ex. vara funktionella så kallade end-to-end tester.

5. Kör acceptanstester
Kör automatiserade acceptanstester för att testa beteende och egenskaper. Testerna baseras vanligtvis på olika användningsscenarios (User Stories). Dessa tester kan ta något längre tid (10 – 15 minuter) att köra än tidigare tester.

6. Kör manuella tester
Ifall koden passerar alla automatiserade tester bör man även köra manuella. De manuella testerna bör göras utforskande för att utvärdera områden där det kan finnas brister som de automatiserade skripten ej hittar. Den utforskande testningen består av tre steg som utförs iterativt av testaren (att 1 - observera, 2 - ifrågasätta, 3 – utvärdera, med fokus på lärande). Iterationen kan ta allt mellan någon sekund till flera minuter. Fokus ligger på att hela tiden följa ett spår som man justerar allteftersom man får svar/feedback från det system man testar.

7. Besluta om leverans
När de manuella testerna inte ger mer värdefull information (inom givna tidsramar, t.ex. en timmes utforskande testning är det sedan dags att besluta ifall resultatet från det senaste integrerade (och testade) bygget är redo för produktion eller ej. Hela integrationskedjan med alla tester bör ta cirka 1,5 timme max att köra.

Vissa förespråkar att man tar bort den manuella testningen helt för att spara tid. Det är dock en riskabel strategi då de utforskande testerna potentiellt kan hitta betydligt allvarligare/dyrare fel än de automatiserade.

I de automatiserade skripten gör man endast en "checking", d.v.s. en kontroll mot ett förutbestämt korrekt beteende/utdata. "Testing" handlar däremot om att utvärdera och ifrågasätta. Se vidare följande blogg om skillnaden mellan checking och testing.

Referenser
1. Exempel på kontinuerliga leveranser hos Spotify
2. Verktyg för statisk analys
3. Att hitta buggar med statisk analys
4. OWASP Testing Guide 4.0 (säkerhetstester för webbapplikationer)
5. A Tutorial in Exploratory Testing
6. Sessionsbaserad utforskande test

Bilden visar på de vanligaste stegen i ett kontinuerligt leveransflöde.
Blog Type: 
Blog

Lägg till ny kommentar

Filtered HTML

  • Webbadresser och e-postadresser görs automatiskt till länkar.
  • Tillåtna HTML-taggar: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Rader och stycken bryts automatiskt.

Plain text

  • Inga HTML-taggar tillåtna.
  • Webbadresser och e-postadresser görs automatiskt till länkar.
  • Rader och stycken bryts automatiskt.
Genom att skicka in det här fomuläret så accepterar du Molloms användarvillkor.

Audits

Ta hjälp av en extern expert för att få en genomlysning av nuvarande arbetssätt med konkreta förslag på förbättringar. Det är ofta lättare att med en extern betraktare forma en mer objektiv bild av en situation och vad som behöver göras för att uppnå resultat.

eLearning

Ge lärandet en ny dimension genom att få interaktiva kurser on-line, där du själv får välja både tidpunkt, takt och innehåll beroende på vad du behöver lära dig. Kurserna innehåller korta avsnitt med väl definierade mål. Det kan t.ex. beröra automatisering i kontinuerliga leveranser eller hur jag kan bli bättre på att välja tester.

Kurser

Lär dig testa på ett rationellt och erfarenhetsbaserat sätt. Få en bättre förståelse för, och djupare kunskaper i de olika tumregler och strukturer som kan vara effektiva i olika situationer.

Seminarier

Få nya idéer om hur ni kan effektivisera er testning. Hur välja tester i olika situationer? När bör man sluta, eller fortsätta testa för att hålla sig på en rimlig risknivå?

Sidor

För dig som är...

Utveckla dig själv och dina medarbetare med det senaste inom test.

Mer kommer snart...

Ända från början har jag fascinerats av test. Att både titta på detaljer, men också helheten. Att arbeta med test och kvalitet har för mig innefattat följande roller:

Att arbeta i ett kontinuerligt flöde av nya features förändrar sättet vi testar på en hel del. Det som är svårast när man bygger stora komplexa system är dels kommunikation, men också integrationen hur man får allt att fungera ihop.

Få bättre kontroll på produktens kvalitet och hur den testas.

Grand opening av en ny spännande sajt om test. Här kommer du att hitta en massa intressanta artiklar och inlägg om hur vi kan utveckla vår egen medvetenhet och effektivitet inom test.

Att arbeta i ett kontinuerligt flöde av nya features förändrar sättet vi testar på en hel del. Det som är svårast när man bygger stora komplexa system är dels kommunikation, men också integrationen hur man får allt att fungera ihop.

Ett fantastiskt möte där hela 800 testare kom till SAST 20-års jubileum som ägde rum i Stockholms universitets konferenslokal Aula Magna den 22:a Oktober 2

Välj rätt tester med nya insikter och kunskaper.

Att arbeta i ett kontinuerligt flöde av nya features förändrar sättet vi testar på en hel del. Det som är svårast när man bygger stora komplexa system är dels kommunikation, men också integrationen hur man får allt att fungera ihop.

Ett fantastiskt möte där hela 800 testare kom till SAST 20-års jubileum som ägde rum i Stockholms universitets konferenslokal Aula Magna den 22:a Oktober 2

Grand opening av en ny spännande sajt om test. Här kommer du att hitta en massa intressanta artiklar och inlägg om hur vi kan utveckla vår egen medvetenhet och effektivitet inom test.

Hur vet jag när är produkten tillräckligt testad och klar?

Grand opening av en ny spännande sajt om test. Här kommer du att hitta en massa intressanta artiklar och inlägg om hur vi kan utveckla vår egen medvetenhet och effektivitet inom test.

Mer kommer inom kort....

När vi testar nya produkter behöver vi kommunicera med flera intressenter, och på olika sätt med olika innehåll.

Hur kan jag supporta teamet bäst när det gäller test och kvalitet?

Mer kommer snart...

Att arbeta i ett kontinuerligt flöde av nya features förändrar sättet vi testar på en hel del. Det som är svårast när man bygger stora komplexa system är dels kommunikation, men också integrationen hur man får allt att fungera ihop.

Mer kommer inom kort....