software test i socialstyrelsen af: jan kristensen nov 2013
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Software test i Socialstyrelsen
af: Jan Kristensen
Nov 2013
Agenda Lidt om Socialstyrelsen
IT i SocialstyrelsenSoftware test
QAUdviklingsmetodeAgurkemetodenTest casesTest 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 Projekter
Drift Support
IT-Drift
QA/ved-ligehold
IT i socialstyrelsen
Socialfaglig medarbejderProjektleder
Socialfaglig medarbejderForretningskonsulent
QA-ansvarligSoftwaretester, test manager
Leverandør af IT-systemIT-udvikler af fagsystem
IT-udviklerAutomatisering af tests
IT-Drift: QA-teamForretningen IT-leverandør
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
Cluster
Test system setup• Automatiseret test setup (VIAS):
Database
ESB
Test 1 Test 2 CPR
ESDH
Navision
Webform
TesthusBrugere:
Front end:
Servicelag:
Integrationer:
Database:
Test cases: Test historier
Forberedelse Måned 1 Måned 2 Måned 3 Måned 4 Måned 5
År 1 År 2
Leverance rekvireresDer logges på leverancenLeveranceaftalen ændres (forslag)Leveranceændring godkendesLeverance færdigmeldesØkonomiskema indsendesØkonomiskema godkendesÅrsdeling af leverancen
1A
Opret leverandører
Tilknyt ydelserO
pret økonomisk ram
me
Opret sager
2A3A4A5A6B7B8B9B
10A
13B14B15B16B17B
11A
20B
18B19A
11A10B
12A
Kør
job:
Åbe
n ra
mm
edis
pone
ring
Opr
et å
r 2 ra
mm
er o
g pr
iser
(ikk
e ak
tive)
Luk
for d
ispo
nerin
ger,
år 1
Næste års budgetFørste års budget
Ex fra system - budgetskema
Test Cases: Planlægning af data
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
BaggrundGivet Leverandør A er blevet oprettetOg der er oprettet en sag af VISO-konsulentOg sagen er blevet forberedt til rekvirering af leverance
Scenarie Rekvirer leveranceGivet jeg logger på som VISO-konsulentOg jeg opretter en leverance for leverandør A Og jeg rekvirerer leverancenSå leverancens status ændres til "visitation anmodet"Og Jeg lukker browserenOg jeg logger ud
Test cases – cucumber 2Scenarie Ja tak til leverance
Givet jeg logger på som Leverandør AOg leverancen er blevet rekvireretSå jeg finder sagen i min forside i listen "Afventer accept"Og jeg åbner den rekvirerede leveranceOg jeg siger ja tak til sagenSå 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 AOg Jeg laver ændringer i Budgetskemaet.Når Jeg beder om accept af ændringerSå 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-konsulentOg leverancens budgetændringer er blevet sendt til godkendelseNår Jeg finder sagen i min HOTLISTE på Min forsideOg jeg Godkender ændringerne i leverancens budgetSå jeg ser at status ændres fra Foreslået til AftaltOg 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/