Tobias Bohn IT Architect IBM Application Innovation Services Erfarenheter av automatiserad testning
Agenda Bakgrund Automatiserade funktionella tester Vad krävs för att det skall fungera Exempel Hur vi arbetar i mitt projekt 2 2011-11-17 IBM Application Innovation Services
Tobias Bohn IT Arkitekt Arbetar med testmetodik, testmiljöer och teststrategier. Just nu även testledare i ett team med sju java-utvecklare Har arbetat med systemutvecklingsfrågor i över tio år Arbetssätt och utvecklings processer Automatiserade funktionella tester Prestanda tester. 3 2011-11-17 IBM Application Innovation Services
Agenda Bakgrund Automatiserade funktionella tester Vad krävs för att det skall fungera Exempel Hur vi arbetar i mitt projekt 4 2011-11-17 IBM Application Innovation Services
Förutsättningar för att det skall fungera Applikation som inte ofta genomgår stora förändringar. Arkitektur som möjliggör tester fristående delar Utmaningar Förändringståliga testskript Repeterbar och strukturerad process. 5 2011-11-17 IBM Application Innovation Services
Utmaning: Förändringståliga testskript Använd ett modulariserat tänk Applikationslager och gruppera testskript därefter Inkapsling med exponering endast av egenskaper och ansvar. Gemensamt bibliotek Textjämförelser, uträkningsalgoritmer och loggnings funktionalitet. Namnstandard för grafiska objekt. 6 2011-11-17 IBM Application Innovation Services
Utmaning: Repeterbar och strukturerad process Utvärdera och förfina testskript (1) Utvärdera Applikationens uppbyggnad Kör testfall Skapa testskript testfall Förfina med kod, inställningar och indata 7 2011-11-17 IBM Application Innovation Services
Agenda Bakgrund Automatiserade funktionella tester Vad krävs för att det skall fungera Exempel Hur vi arbetar i mitt projekt 8 2011-11-17 IBM Application Innovation Services
Exempel ett - Önskan Att testa en räddningstjänst ledningscentral, dotnet med tredjeparts activex komponenter. Att köra automatiserade grafiska regressions tester för att frigöra testresurser. 9 2011-11-17 IBM Application Innovation Services
Exempel ett Utmaning Svårt att skapa förändringståliga skript Inga tydliga namn på grafiska komponenter. Tredjeparts komponenter som kapslar in funktionalitet Koordinat styrd igenkänning fungerande otillfredsställande. Ett icke repeterbart beteende i applikationen 10 2011-11-17 IBM Application Innovation Services
Exempel ett Resultat Ingen automation på grafisk nivå Fortsatta manuella tester Ett ökat antal automatiserade enhetstester Förändring av arkitekturen Nya riktlinjer för namnsättning av objekt 11 2011-11-17 IBM Application Innovation Services
Exempel två - Önskan Att testa tulldeklarations delen i en logistik lösning. Ett gränssnitt med olika alternativ per land. Java baserat gränsnitt Att minska de tidskrävande manuella regressions testerna. Att testa fler variationer och använda mer testdata 12 2011-11-17 IBM Application Innovation Services
Exempel två Utmaning Inga tydliga namn på grafiska komponenter. Egenutvecklade Java komponenter ett annat team Inga tekniska testare 13 2011-11-17 IBM Application Innovation Services
Exempel två Resultat Automation av tester minskade tiden med en dag per testomgång. Förändringstålighet genom regular expressions för objekt igenkänning. Utbildning av testare i projektet samt anställning av en specialist Etablerad arbetsprocess 14 2011-11-17 IBM Application Innovation Services
Agenda Bakgrund Automatiserade funktionella tester Vad krävs för att det skall fungera Exempel Hur vi arbetar i mitt projekt 15 2011-11-17 IBM Application Innovation Services
Hur vi arbetar i mitt projekt : Tankar och arbetssätt Aktivitetsstyrd utveckling med verktygsstöd Vi använder Rational Team Concert ( http://www.jazz.net) Test Driven Development Utvecklaren försöker i största möjliga mån skriva testfallet först. Utvecklare ansvarar för att leverera in enhetstestad kod J-unit ramverk i Eclipse Aktiviteter hamnar automatisk i process steg för test Enkelt att göra urval för integration tester och planer. Alla testar Utvecklare testar varandras kod 16 2011-11-17 IBM Application Innovation Services
Hur vi arbetar i mitt projekt : Tankar och arbetssätt forts. Arkitektur som möjliggör automation Continuous Integration Vi bygger var femte minut om förändringar finns. Varje bygge testas med hjälp av testramverk Byggen skrivna i Ant med testfall som körs via Jazz Build Engine. Automatiserat skapande av testfiler baserat på ett urval av testdata Egen utvecklad kod java kod som körs inifrån Rational Team Concert 17 2011-11-17 IBM Application Innovation Services
Krav / Story Kravställ funktionalitet Specifikationer testdata Utveckla komponent Stuff Utveckla getsome() Beställare Andra projekt Utvecklingsaktiviteter Testaktiviteter Enhetstester (j-unit) Skapa Testfall för funktionen Uppdatera Testplan Testspecifikation release Test av ny funktionalitet Automatiserade regressionstester Testrapport ny funktionalitet 18 2011-11-17 IBM Application Innovation Services
Sammafattning Använd ett modulariserat tänk Repeterbar och strukturerad process Använd best practies Alla ansvarar för leveransen 19 2011-11-17 IBM Application Innovation Services
Tobias Bohn IT Architect IBM Application Innovation Services Tack! tobias.bohn@se.ibm.com