Software test i Socialstyrelsen af Jan Kristensen Nov

  • Slides: 19
Download presentation
Software test i Socialstyrelsen af: Jan Kristensen Nov 2013

Software test i Socialstyrelsen af: Jan Kristensen Nov 2013

Agenda Lidt om Socialstyrelsen IT i Socialstyrelsen Software test QA Udviklingsmetode Agurkemetoden Test cases

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

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 Dokumentation for system-drift og Metode • Det

IT i Socialstyrelsen • IT-drift er ansvarlig Dokumentation for system-drift og Metode • Det betyder, at vi er bindeled mellem forretning og ITMetode IT-Drift Projekter leverandører • Vi udvikler kun små opgaver selv QA/ved. Support Drift ligehold • Vi står for QA/test

IT i socialstyrelsen Forretningen IT-Drift: QA-team IT-leverandør Socialfaglig medarbejder Projektleder QA-ansvarlig Softwaretester, test manager

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

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

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

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

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

Software test Udviklingsprocessen • • Tæt samarbejde med projektleder og leverandør Agile metoder anvendes (typisk scrum-lignende) Vi bruger Statens IT-projektmodel (Prince 2) Opbygning af realistiske testmiljøer

Test system setup • Automatiseret test setup (VIAS): Brugere: Front end: Servicelag: Testhus Webform

Test system setup • Automatiseret test setup (VIAS): Brugere: Front end: Servicelag: Testhus Webform Cluster Test 1 Test 2 ESB Integrationer: Database: CPR Navision ESDH Database

Leverance rekvireres Der logges på leverancen Leveranceaftalen ændres (forslag) Leveranceændring godkendes Leverance færdigmeldes Økonomiskema

Leverance rekvireres Der logges på leverancen Leveranceaftalen ændres (forslag) Leveranceændring godkendes Leverance færdigmeldes Økonomiskema indsendes Økonomiskema godkendes Årsdeling af leverancen Næste års budget Første års budget 10 A 10 B 11 A Måned 2 År 1 11 A 12 A 13 B 14 B 15 B 16 B 17 B 18 B 19 A Måned 3 Luk for disponeringer, år 1 Opret sager Opret økonomisk ramme Tilknyt ydelser Opret leverandører Forberedelse Måned 1 Kør job: Åben rammedisponering 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B Opret år 2 rammer og priser (ikke aktive) Test cases: Test historier Måned 4 20 B Måned 5 År 2

Ex fra system - budgetskema

Ex fra system - budgetskema

Test Cases: Planlægning af data

Test Cases: Planlægning af data

Test cases – cucumber 1 # Egenskabet er udarbejdet i forbindelse med test af

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_10 A_S 1 -3, TC_10 A_S 2 -1 Egenskab 10 A_S 1 -2 Baggrund Givet Og Og Leverandør A er blevet oprettet der er oprettet en sag af VISO-konsulent 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 Og Så Og

Test cases – cucumber 2 Scenarie Ja tak til leverance Givet Og Så Og Og Så jeg logger på som Leverandør A leverancen er blevet rekvireret jeg finder sagen i min forside i listen "Afventer accept" jeg åbner den rekvirerede leverance jeg siger ja tak til sagen 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

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!

Erfaringer • Ledelsen skal brænde fingrene!

Afslutning Hermed to links om Behaviour Driven Developement og Cucumber, samt bogen i PDF

Afslutning Hermed to links om Behaviour Driven Developement og Cucumber, samt bogen i PDF format: http: //www. sitepoint. com/smelly-cucumbers/ http: //cukes. info/