software test 2010 test i soa miljoer ioana mogensen

30
12.03.2010 Dansk IT Software Test 2010 Test i SOA miljøer 11.03.2010 Ioana Diana Mogensen

Upload: ioana-mogensen

Post on 07-Dec-2014

1.501 views

Category:

Technology


0 download

DESCRIPTION

Praesentation ved Dansk IT´s konference Software test 2010.

TRANSCRIPT

Page 1: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

12.03.2010

Dansk IT

Software Test 2010

Test i SOA miljøer11.03.2010

Ioana Diana Mogensen

Page 2: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 2

Agenda

Abstract

3-Lagsarkitekturen vs. SOA arkitekturen

SOA test set ud fra 4 perspektiver

V- Modellen og SOA

SOA test udfordringer set ud fra 4 perspektiver

Mulige løsninger

Yderligere Tests

SOA test afhængig af modenhedsgrad

Opsummering

Til Sidst

SOA i 4 perspektiver

Page 3: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Abstract

• Service Orienteret Arkitektur (SOA) er en paradigme som lover mange fordele for dagens virksomheder.

• SOA skal kunne støtte optimalt forretningens mål både påstrategisk, operationel og finansiel niveau.

• Samtidigt med SOA paradigmet er der kommet nye udfordringer i de anvendte metodologier for både IT -udvikling og test i SOA projekter.

Page 4: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Problemstillinger

• Hvordan adskiller Service Udvikling og test, sig fra det ellers kendte Software Udvikling?

• Test i SOA miljøer, indeholder alle kendte og traditionelle testudfordringer plus en række nye som skal håndteres hensigtsmæssigt.

• Hvorfor er det nødvendigt med mere test på serviceniveau i forhold til systemniveau ?

• Test af processer

Page 5: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

SOAArkitektur

3-Lags Arkitektur

Page 6: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 6

SOA set ud fra 4 perspektiver

Arkitekturperspektiv:

SOA er en arkitekturstil som understøtter service orientering

Forretningsperspektiv:

SOA er et sæt af forretnings services som understøtter forretningen

• Driftsperspektiv:• Service delivery management

• Service monitorering

• Sikring af teknologisk infrastruktur, - netværk, servere,m.m.

• Change management/deployment

Udviklingsperspektiv:

SOA er et samarbejdende indsats hvor flere grupper i en organisation er involveret i: service udvikler e, applikationsintegratorer, testere, forretningsanalyster for at nævne nogle.

I modsætning til ”traditionel” udvikling, udviklings -opgaverne bliver udført adskilt og ingen af parterne har komplet kontrol over ”byggeklodserne ”

Page 7: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Forretningsperspektiv:

SOA er et sæt af forretnings services som understøtter forretningen

Page 8: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Service begrebet

• En service er en aktivitet indenfor en proces der har til formål at løse et velafgrænset og veldefineret problem

• En software service er en komponent som formidler funktionalitet til andre software komponenter

• En service definerer en præcis grænseflade som kommer til at blive brugt af klienter. Hver service udstiller en eller flere indgangspunkter som definerer hvorfra en given funktionalitet kan blive udstillet fra.

• SOA services fungerer løskoblede i SOA arkitekturen

Page 9: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Arkitekturperspektiv:

SOA er en arkitekturstil som understøtter service orientering

Page 10: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

UdviklingsmiljøPræ-

produktions-miljø

Produktions – miljø

Systemfrigivelse

Overdragelse til IT Drift

samt Implementering

Release Release

Testmiljø

Backend systemerne bibeholder stort set deres eksisterende udviklingsproces

Udviklingsperspektiv:

SOA er et samarbejdende indsats hvor flere grupper i en organisation er involveret i: service udviklere, applikationsintegratorer, testere, forretningsanaly sterm.m.

I modsætning til ”traditionel” udvikling, udviklings -opgaverne bliver udført adskilt og ingen af parterne har komplet kontrol over ”byggeklodserne ”

Udviklingsproces i SOA

Page 11: Software Test 2010 Test I SOA Miljoer Ioana Mogensen
Page 12: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

SOA TEST – er Test af SOA Arkitekturen

Back End Applikationer

DB

Data Abstraktion

Workflows

DB

DB

Legacy

System 1

DB

Legacy

System 2

Legacy

System 3

DB

Forretnings

Services

Service Data transport

Front End Applikationer

Test af Legacy System service

Link test

Integrationstest

Komponent test

Servicetest

Workflowtest

Systemtest

SIKKERHED

GOVERNANCE

RP

TEST

Page 13: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 13

SOA - test set ud fra 4 perspektiver

Arkitekturperspektiv:Forretningsperspektiv:

• Procesflows, • Forretningsprocesser, • Forretningsregler, • Forretningslogik• Forretningsservices

• Driftsperspektiv:

• Load test

• Stress test

• Performance test

Udviklingsperspektiv:

• Test af alle typer services:• Forretningsservices• Databærende fysiske services • Transaktionsservices• Infrastruktur services

• Test af Services med og uden UI • Test af Sikkerhed• Test af Transaktionssporbarhed

Page 14: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

V-model for SOA testBusiness Case

V-modellen understøtter test igennem hele udviklingscyklussen.

SOA services er løst koblet og det er især her en bottom-up teststrategi er anbefalet.

Page 15: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Beskrivelse af testtrin

•Service-niveau komponenter• Hvem: backend - udviklere• Formål: unittest som skal sikre at programmelet fungerer internt samt at basis funktionalitet fungerer som det skal.

• Testteknikker:•UNIT TEST•White-box test• Boundary test•Negativ test• Positiv test• Test i strategisk perspektiv- i f. eks. OOverdenen

Page 16: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Beskrivelse af testtrin

• Service-niveau tests

Formål: at sikre at servicenopfylder både kravspecifikationenog det behov andre processer harfor at bruge den pågældendeservice.

Tests:1. Funktionel test

2. Test af forretningsregler

3. Test af servicegrænseflade

4. Test af serviceoperationer

5. Test af sikkerhed

6. Sporbarhedstest – især for de services som ændrer data

7. Test af dataregler som sikrerdatakonsistens

8. Exception tests og fejlhåndtering

Page 17: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Beskrivelse af testtrin

• Integration-niveau test

• Formål at finde ud af om servicegrænseflade opførsel samtinformationsdeling imellem services arbejder som ønsket.Fokuser lagt på service grænseflader.

• Testteamet skal sikre at ALLE services som er afleverede tildenne testtrin opfylder grænsefladekravene I form af:• Standarder• Format• Data validering

• Testscenariene skal designes på tværs afkommunikationslagene.

• Hvis eksternt-udviklede services bruges skal disse også testes• Yderligere Testteknikker:

• High-order test (black-box test udført på ændrede services)• Integrations test – ved kodeintegration – er især relevant for distribuerede applikationer.

Page 18: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Beskrivelse af testtrin

• Process/Orkestrerings-niveau test

• Formål: Process/Orkestrering test sikrer at samlingen af orkestreredeservices samarbejder som specificeret.

• Testdækning inkluderer:• Forretningslogik

• Exception handling – valideringer

• Forretningsproces dekomposition

• Procesgenbrug

• Servicegenbrug

Delproces A Delproces B Delproces C

Forretningsproces 1

Aktivitet 1 Aktivitet 2 Aktivitet 3 Aktivitet 4 Aktivitet 5 Aktivitet 6

Aktivitetsgruppe Aktivitetsgruppe Aktivitetsgruppe med deleaktiviteter

Forretnings Services

Tid

Fysiske Services

Workflows/

Procesorkestrering

Forretningsproces 2

En Domæne

Domæner

Page 19: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Beskrivelse af testtrin

• System-niveau test

• Formål: - at teste at den SOA tekniske løsning opfylder forretningenskravspecifikationer. Forretningsscenarier bliver testede.

• Målgruppe: • løsningens forretnigsscenarie flows

• Forretningsinteressenter samt testere som har fuld kendskab tiltestdækning samt kvalitetskrav og mål.

• Testteknikker:• Dybe funktionelle tests

• Let funktionelle tests af forretnings processflows

• Black-box

go sh

allow

& wide

,

then de

ep & na

rrow,

then de

ep & wide

Page 20: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 20

SOA – test udfordringer - set ud fra 4 perspektiver

Arkitekturperspektiv:

Alle kendte testudfordringer PLUS:Dynamik og tilpashed & Manglende kontrol

I traditionelle systemer er det altid muligt at afgøre hvilken komponent og hvorfra denne bliver kaldt.

I SOA, er ”systemet” beskrevet som workflows af abstrakte services som bindes til fysiske services, som hentes fra flere systemer under udførelsen af en workflowinstans.

Forretningsperspektiv:Alle kendte testudfordringer PLUS:Manglende mulighed for at observere service kode og struktur:

For brugertestere og systemintegratorer er servicene grænseflader

Det forhindrer white–box test som kræver kendskab til koden samt dataflowet.

Driftsperspektiv:

Alle kendte testudfordringer PLUS:

- Tilgængelighed

- Robusthed

- Reliability

- Ukomplete eller manglende test kan føre til større omkostning i forbindelse med problemundersøgelser og debugging når servicene er blevet sat i produktion.

Udviklingsperspektiv:

Alle kendte testudfordringer PLUS:- Ingen synlighed og sporbarhed under UI for at isolere og

finde fejl. Svært at teste services og komponenter som ikke har tilgængelig UI.

-Siden servicekomponenter har deres livscyklus er det sværere at teste og validere applikationsfunktonalietkontinuert.

- Svært at teste composite/agregerede services pga. begrænset dataadgang eller data kan være direkte afhængig af andre services.

- Manglende samarbejde imellem udvikling og kvalitetssikring – herunder tænkes manglende genbrug af testcases imellem de forskellige typer tests: unit test, funktionel test, regressionstest og performance test.

Page 21: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 21

SOA – løsninger test udfordringer

Arkitekturperspektiv:

Løsninger for Dynamik og tilpashed:

- Design tests til formålet og det specifikke virkefelt

- Beskriv servicenes opførsel samt testinformation

-Systematisk inspektion og test for alle services som er berørte af ændringer

- Systematisk inspektion af servicenesopførsel

Forretningsperspektiv:Løsninger for Manglende mulighed for at

observere service kode og struktur:

- Brug teknikker som black-box test- Test på workflow niveau og

forretningsservice niveau- Back-end service output kan testes for at

sikkre at de databærende services leverer korrekt

Driftsperspektiv:

Løsninger for- Tilgængelighed

- Robusthed

- Reliability

- Run-time monitorering af configurationer samt serviceudførsel. Monitorering er ikke test.

Udviklingsperspektiv:

Løsninger for -

Servicelivscyklus:- Regressionstestautomatisering – hvor det kan lade

sig gøre

Svært at teste composite/agregerede services-Begræns agregering hvor muligt- Design servicegranularitetten således at det hverken

er for fin eller for grov.

Manglende samarbejde imellem udvikling og kvalitetssikring –

Indfør kvalitetssikring tiltag og standarder som

understøtter test practices, herunder vedligeholdbar

dokumentationsniveau af testcases

Page 22: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Yderligere tests på tværs af SOA- udviklingslivscyklus

• Test af forretningsregler• Procesregler

• Beskriver aktivitetssekvenser – workflow.

• Er typisk brugte til at koordinere menneskernes arbejde påtværs af processer, aktiviteter og systemer

• Bliver brugt sammen med de andre typer regler

• Transaktionsregler

• Relaterer sig til opførsel af features fælles for de komponenter, objekter brugt til automatiseringen af forretningstransaktioner.

• Repræsenterer betingelser, valideringer og aktioner

• Dataregler

• Sikrer dataintegritet ved opdateringer

• Sikrer konsistens og optimering

• CRUD matricer kan stilles op på UC- niveau/ service operationsniveau

Page 23: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Yderligere tests på tværs af SOA- udviklingslivscyklus

• Sikkerhedstest• Sikkerhedstest baseres på de formulerede sikkerhedspolitikker

• Specielle tests bør afdækkes- f.eks. adgang, autorisation m.m.

• Tag i betragtning hvordan sikkerhedsinfrastrukturen interagerer med de forskellige applikationer og de anvendte teknologier.

• Vigtige test case betragtninger:

• 1 -1 service kald udløst af én procesbruger

• 1-* servicekald udløst af én og samme procesbruger

• Test af transaktionssporbarhed• Audit trail på forretningskritiske transaktioner

Page 24: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Testerfaringer• Test designes med henblik på at finde svar til specifikke spørgsmål vedr. programmel,

systemer, services eller processer

• Interessenterne har spørgsmålene

• Testerne har svarene

• Hast er ikke fremskridt !

• Test forskelligt alt afhængigt af domæne og kontekst

• Undersøg, undersøg, undersøg

• Husk reglen:

• Store fejl findes ofte ved et tilfælde• Fejl kan være gamle fejl !

• Fejl har en tendens til at klynge sig i bestemte områder – og ikke nødvendigvis i de domæner som er ændret for nyligt.

• Varier parametre og variabler:• Testsekvenser, testscenarier, konfigurationer og data

go sh

allow

& wide

,

then de

ep & na

rrow,

then de

ep & wide

Page 25: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

SOA test afhængig af SOA modenheds-graden

• 0 punktet – 1 gang SOA udvikling: SOA applikationen benytter (legacy / heritage) services. De oprindelige systemer er stabile og kører stadig i produktionsmiljøer.

• Vigtigt! Stil test scope, testplaner, testscenarier og testcases samt test således at ALLE end-to-end scenarier er dækket for samtlige services som bruges i SOA applikationen.

• SOA modenhedsgraden er under udvikling: Der bliver udviklet nye services som skal bruges i nye SOA applikationer.

• Vigtigt:• Bestem hvordan disse services skal bruges i fremtiden samt hvem og hvorfra disse services må blive kaldt fra

• Testplaner, testscenarier, test cases udtænkes med henblik pågenbrugelighed

Page 26: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Opsummering

• End-to-End Test i SOA miljøer adskiller sig fra den traditionelle (Ikke service baseret) applikationsudvikling.

• I den traditionelle SW udvikling er endepunkterne veldefinerede og forventningerne er klart definerede.

• For SOA applikationer gælder det at servicerne er genbrugelige i en applikation og på tværs af applikationer.

• Test i SOA miljøer indebærer både test på serviceniveau og tests af workflows og forretningsprocesser som er orkestreret sæt af services.

Page 27: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Opsummering

Page 28: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Test automatisering

• Muligheder• Eliminerer en del af det manuelle

gentagende arbejde – ideel til regressionstest

• Giver mulighed for at lave testdata

• Begrænsninger

• Nemt at blive påvirket af ændringer (kravændringer, designændringer, ændringer til GUI etc.)

• Kan ikke nødvendigvis finde mange fejl.

• Direkte afhængigt af kvaliteten for det system som testes.

• Kan ikke eliminere menneskets viden

• Test cases skal vedligeholdes konstant

•Udm

ærket til den samlede del af

tests

•Kan absolut ikke ståalene!

•Ikke tro

at den hellige grav er

velbevaret!

•Versio

nering!

•Brug den med omhu!

Page 29: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

Til sidst : TG

• Test Governance (TG)

• ” Best practices” skal sikre at test sker altid efter veldefinerede forskrifter. Alle ” best practices” skal kunne forefindes i nedfaldet form af strategier, politikker og checklister.

Strategi-fastlæggelse

Forberedelse Udførelse

Dokumentation:

Evaluering

StrategiWBSTestplanerTestscenarierTestcasesTestdataRapporteringStatusmøder

TestværktøjerDefectsRapporteringStatusmøder

ProjektevalueringRapport

Testaktivitet

Page 30: Software Test 2010 Test I SOA Miljoer Ioana Mogensen

# 30

TAK!

Ioana Diana [email protected]