190 likes | 328 Views
Software test i Socialstyrelsen af: Jan Kristensen Nov 2013. Agenda. Lidt om Socialstyrelsen IT i Socialstyrelsen Software test QA Udviklingsmetode Agurkemetoden Test cases Test automatisering Afslutning. Lidt om Socialstyrelsen.
E N D
Agenda Lidt om Socialstyrelsen IT i Socialstyrelsen Software test QA Udviklingsmetode Agurkemetoden Test cases Test automatisering Afslutning
Lidt om Socialstyrelsen • Hører under Social-, Børne- og Integrationsministeriet • Hovedkontor i Odense • Beskæftiger ca. 350 medarbejdere • IT-afdelingen består af 25 medarbejdere • Al teknisk drift, servere mv er outsourcet • 14 systemer driftes, heraf 4 store • Næsten al kodning købes ved underleverandører
IT i Socialstyrelsen • IT-drift er ansvarlig for system-drift • Det betyder, at vi er bindeled mellem forretning og IT-leverandører • Vi udvikler kun små opgaver selv • Vi står for QA/test Dokumentation og Metode Metode IT-Drift Projekter Drift QA/ved-ligehold Support
IT i socialstyrelsen Forretningen IT-Drift: QA-team IT-leverandør Socialfaglig medarbejder Projektleder QA-ansvarlig Softwaretester, test manager Leverandør af IT-system IT-udvikler af fagsystem Socialfaglig medarbejder Forretningskonsulent IT-udvikler Automatisering af tests
Software test • Testarbejder begynder, når projektet begynder • Vi stiller krav til test hos udviklerne fra starten af projektet: Fx unittest, samt at koden senere kan testes automatisk • Vi står for accepttest • Afhængig af forløb og omfang, så kan vi købe hjælp til udvikling af test cases samt test management ved uafhængig leverandør.
Software test - QA • Afdækker forretningen og deltager gennem hele projektforløbet • Test cases skrives mens koden udvikles (agilt) • Tæt samarbejde med projektleder og leverandør for at sikre fodslag mellem test og kode
Software test - Cucumber • Vi har valg at benytte Cucumber scripts • Cucumber er det værktøj til at teste om softwaren opfører sig som forventet • Test cases bliver skrevet i ”naturligt sprog” af dem som kender kravene • Derefter bliver de afviklet direkte til kode til automatiserede tests • Dette kaldes ”Behavior Driven Development” • Cucumber fungerer sammen med Ruby
Software test - Fordele • At skrive testscenarier/testcases i naturligt sprog giver bedre forståelse af softwaren til ikke tekniske medarbejdere. • De tekniske medarbejdere, som skal afvikle koden får bedre og hurtigere overblik over hvilke krav systemet skal opfylde. • Behavior Driven Developement har sin oprindelse i Test Driven Development(TDD) hvor udvikling starter med at skrive testen.
Software test - Udviklingsprocessen • Tæt samarbejde med projektleder og leverandør • Agile metoder anvendes (typisk scrum-lignende) • Vi bruger Statens IT-projektmodel (Prince2) • Opbygning af realistiske testmiljøer
Test system setup • Automatiseret test setup (VIAS): Brugere: Front end: Servicelag: Integrationer: Database: Testhus Cluster Webform Test 1 Test 2 CPR Navision ESB ESDH Database
Leverance rekvireres Der logges på leverancen Leveranceaftalen ændres (forslag) Leveranceændring godkendes Leverance færdigmeldes Økonomiskema indsendes Økonomiskema godkendes Årsdeling af leverancen Test cases: Test historier Næste års budget Første års budget 1A Opret år 2 rammer og priser (ikke aktive) Kør job: Åben rammedisponering 2A Luk for disponeringer, år 1 3A 4A 5A 6B 7B 8B 9B 10A 10B 11A 11A 12A 13B 14B 15B 16B 17B 18B 19A 20B Opret økonomisk ramme Opret leverandører Tilknyt ydelser Opret sager Forberedelse Måned 1 Måned 2 Måned 3 Måned 4 Måned 5 År 1 År 2
Test cases – cucumber 1 # Egenskabet er udarbejdet i forbindelse med test af VIAS' Økonomi. # Session 1-2 # År 1 # Leverandør A # Beskrivelse: Leveranceforløb, som starter i session 1-2 med en budgetopdatering og godkelnedelse. Leverancen færdigmeldes i session 1-3. Der logges forbrug på det gamle år i session 2-1 hvor leverancen afsluttes. # Fortsætter i TC_10A_S1-3, TC_10A_S2-1 Egenskab 10A_S1-2 Baggrund Givet Leverandør A er blevet oprettet Og der er oprettet en sag af VISO-konsulent Og sagen er blevet forberedt til rekvirering af leverance Scenarie Rekvirer leverance Givet jeg logger på som VISO-konsulent Og jeg opretter en leverance for leverandør A Og jeg rekvirerer leverancen Så leverancens status ændres til "visitation anmodet" Og Jeg lukker browseren Og jeg logger ud
Test cases – cucumber 2 Scenarie Ja tak til leverance Givet jeg logger på som Leverandør A Og leverancen er blevet rekvireret Så jeg finder sagen i min forside i listen "Afventer accept" Og jeg åbner den rekvirerede leverance Og jeg siger ja tak til sagen Så Leverancens status ændres til "I gang" # Visitation= 12,0; Udredning= 22,0; Rådgivning= 30,0; Kørsel(timer= 15; km= 800; udgift= 5000,00) Scenarie Opdatering af budgetskema Givet Jeg er logget på som leverandør A Og Jeg laver ændringer i Budgetskemaet. Når Jeg beder om accept af ændringer Så jeg ser at knappen "Bed om Accept af ændringer" forsvinder Og jeg logger ud Scenarie Godkendelse af ændringer Givet Jeg er logget på som VISO-konsulent Og leverancens budgetændringer er blevet sendt til godkendelse Når Jeg finder sagen i min HOTLISTE på Min forside Og jeg Godkender ændringerne i leverancens budget Så jeg ser at status ændres fra Foreslået til Aftalt Og jeg logger ud
Erfaringer • Test automatisering tager tid • Det er en forudsætning, at der er styr på alle andre dele af test management • Du skal først automatisere test, når systemet når en vis modenhed. • At automatisere test er faktisk at starte et udviklingsforløb: • Miljøkendskab • Sikkerhed • Tester testen rigtigt?
Erfaringer • Ledelsen skal brænde fingrene!
Afslutning • Hermed to links om Behaviour Driven Developement og Cucumber, samt bogen i PDF format: • http://www.sitepoint.com/smelly-cucumbers/ • http://cukes.info/