20050518 fvs præsentation
TRANSCRIPT
[POKDM 20050518] 1
Automatiseringsmuligheder ved test af
standardsystemer på baggrund af erfaringer
fra DeMars-projektet
MERCURY
18. maj 2005
[POKDM 20050518] 2
Agenda
Testforløbet på DeMars-projektet –
fundamentet for test-automatiseringen
Erfaringer med test-automatisering på
DeMars-projektet
[POKDM 20050518] 3
DeMars-projektet
• Det danske Forsvars management og ressourcestyringssystem
• Styring og forvaltning af
• Økonomi
• Materiel
• Personel
• Informatik
• Organisationsstruktur
• Tilvejebringelse af
• Ledelsesinformation
[POKDM 20050518] 4
Det danske Forsvars nøgletal
31.000 personer (årsværk) i fredsstyrken
Samlet krigsstyrke på 65.000 personer
13.500 køretøjer
26 egentlige kampskibe og 72 andre fartøjer
69 kampfly og 75 andre luftfartøjer
19 skoler og større uddannelsessteder
2.8 mio. m2 (etagemeter) bygninger
[POKDM 20050518] 5
DeMars-projektets omfang
Forsvarskommandoen ansvarlig for udbud, implementering og drift
Økonomiske ressourcer ca. 700 mio. kr.
Interne ressourcer ca. 570 årsværk
Tidshorisont 1998 - 2004
10.000 slutbrugere
Erstatter 60 centralt styrede systemer og 30 lokale systemer
[POKDM 20050518] 6
Testniveauer
Unittest udvikling
SAP
Unittest udvikling
Interfaces
Unittest udvikling
konverter.
Unittest konfigu-
rering
Delsystemtest
Delsystemtest
Delsystemtest
Delsystemtest
Inte
gra
tio
ns
tes
t a
lle
de
llø
sn
ing
er Overtagel-
sesprøve (svartids-
måling)
Drifts-
prøve
Konverteringstest
System-
test
Traditionelt testforløb med unittest,
delsystemtest og integrationstest
Konverteringstest omfattende iterativ
load af konverteringsdata
[POKDM 20050518] 7
Afholdte testforløb
Delsystemtest Integrationstest Konverteringstest
Organisationsstruktur V0A
- Kontoplan og budget
Kreditor, debitor, finans V0B
Personaleforvaltning
V1 V1 Bevillingsstyring
Materielnormering og indkøb/modtagelse
Intern afregning V1B -
Uddannelsesforvaltning
V2 V2 Anlægsregnskab
Lagerstyring og MRP
Arbejdstidsadministration V3A V3A
Målopfyldelse (personel/materiel)
Salg, udlån og udleje V3AE V3AE
Vedligehold & produktionsstyring V3B V3B
[POKDM 20050518] 8
300 scenarier og 4.300 TC
Ver.
Delsys.test
Sc. TC
Int.test
Sc. TC
Organisationsstruktur V0A
16 111 8 70
Kontoplan og budget 5 57
Kreditor, debitor, finans V0B 15 264 24 338
Personaleforvaltning
V1
9 102
37 502 Bevillingsstyring 2 43
Materielnormering og indkøb/modtagelse 48 378
Intern afregning V1B - - 6 53
Uddannelsesforvaltning
V2
18 146
38 408 Anlægsregnskab 5 68
Lagerstyring og MRP - -
Arbejdstidsadministration V3A
12 204 5 943
Målopfyldelse (personel/materiel) 3 55
Salg, udlån og udleje V3AE 21 206 10 79
Vedligehold & produktionsstyring V3B - - 27 217
[POKDM 20050518] 9
Anvendte testværktøjer
Værktøj Primær anvendelse
TestDirector Styring af testscenarier, testdrejebøger,
testaktiviteter og testcases, herunder
testdata og forventet resultat
QuickTest for R/3 Test-automatisering
LoadRunner Loadgenererings- og
svartidsmålingsværktøj til simulering af
samtidige brugere og transaktioner
Remedy/TestDirector Styring af fejl og ændringsønsker
SAP CATT SAP Automatiseringsværktøj (Computer
Aided Testing Tool)
[POKDM 20050518] 10
Test cases i TestDirector
[POKDM 20050518] 11
Testdata dokumenteret i Excel
[POKDM 20050518] 12
Behov for automatisering
Stigende behov for effektiv regressionstest, fx:
mellem projektversioner
ved større fejlrettelser
ved opdatering med SAP support packages
SAP kræver opgraderinger med stadig hyppigere
mellemrum
Afvikling af regressionstest opfattedes tit som en
uhensigtsmæssig stor belastning af
implementeringsprojektet
QuickTest for SAP R/3 blev indført i forbindelse
med regressionstest under version 2
[POKDM 20050518] 13
QuickTest for R/3 - funktioner
QuickTest er et capture/replay værktøj – kan
sammenlignes med SAP CATT
Testerens indtastninger i systemet indspilles i et
script, der efterfølgende kan genkøres et antal
gange
Efter indspilningen er det muligt at parame-
terisere scriptet, således at testdata læses fra et
regneark
Testresultater gemmes i regneark, der kan
sammenlignes med forventet resultat
[POKDM 20050518] 14
Optagelse af scripts
[POKDM 20050518] 15
Erfaringer QuickTest for R/3
Indspilning af scripts foregår meget intuitivt og
brugervenligt
Udvidelse af scripts med yderligere funktioner bliver
hurtigt nødvendigt - fx pauser - og kræver lidt mere
kompetence
Håndtering af forventet resultat og sammenkædning af
scripts med data er mere komplekst
Fejlløsning under testafvikling – ofte nødvendigt når et
script ikke har været kørt i en længere periode – kræver
stor forståelse for QuickTest
Avancerede brugere løber ind i produktets
begrænsninger fx ved komplekse registreringsbilleder
og ved fritekst
[POKDM 20050518] 16
Erfaringer med testscripts
Normalt optages et script for hver testcase, og
et tungt og komplekst system opbygges hurtigt
QuickTest scripts er meget følsomme overfor
de mindste ændringer i løsningen – kun
forholdsvise stabile dele af løsningen bør
automatiseres
Det er vanskeligt at vedligeholde et script. Ved
rettelser er genindspilning ofte det nemmeste
Ekstraindsats med hensyn til design og
automatisering er nødvendig i forhold til
traditionelle testcases
[POKDM 20050518] 17
Dokumentation
Testcases blev indledningsvist udarbejdet
på sædvanlig måde i TestDirector
Nødvendigt at dokumentere mulige
systemafvigelser, systemmeddelelser,
optionelle vinduer osv. i større grad end
normalt
Ved ændringer/tilføjelser kræver det en
ekstra indsats at holde testcase
beskrivelserne i TestDirector ajour
[POKDM 20050518] 18
Specielt succesfulde områder
Test af iterativ karakter, dvs. når:
store datamængder skal indtastes
nøjagtigt
der foretages komplekse beregning af
forventet resultat
der forventes mange genkørsler
Regressionstest af funktioner, der
vurderes at være stabile udviklings-
mæssigt
[POKDM 20050518] 19
Testforløb af iterativ karakter
• Test af arbejdstidsregler for alle
personalekategorier/overenskomster under FMN
• Opstilling af relevante tidsperioder for en given
tidsart for en given personalekategori i Excel
• Beregning af forventet resultat for de aktuelle
timesaldi og aktuelle månedssaldi for løbende 3
måneder i Excel
• Automatisk testafvikling hvor tidsarter, perioder og
personalegrupper indlæses med QuickTest i SAP
• Automatisk sammenligning af resultatsaldi fra
QuickTest/SAP med forventet resultatet i Excel
[POKDM 20050518] 20
Regressionstest scenarie
1. Oprettelse af enhed
2. Oprettelse og vedligeholdelse af materiel stamdata
3. Personelnormering
4. Materielnormering
5. Oprettelse af BSP-elementer og bevillingsstyring
6. Indkøb af materiel
7. Varemodtagelse af materiel
8. Betaling af faktura
9. Månedsafslutning
10. Tilkommandering af personel
11. Tidsregistering
[POKDM 20050518] 21
Andre anvendelsesmuligheder
• Reetablering af uddannelsesmiljøer
• Reetablering af testmiljø
• Konvertering
• Masseændringer
• Brugeradministration
[POKDM 20050518] 22
Eksempel vedrørende 1. gangs GUI- og funktionstest
• Situation:
• Et projekt skal gennemføre 6 testgennemløb • Der er allokeret 5 testhold af 2 personer • Der er allokeret 1 testleder • Hvert manuelt testgennemløb vil vare 5 dage • Statens løn rammer ligger til grund
• Omkostning ved traditionel testmetode: kr. 800.000 • Omkostning ved ASQ løsning: kr. 500.000 • Besparelse kr. 300.000 • Samme testhold vil ved kommende/lignende testforløb
spare kr. 600.000
[POKDM 20050518] 23
Eksempel vedrørende 1. gangs GUI/funktionstest samt load-
og stresstest
• Situation:
• Et projekt skal gennemføre 6 testgennemløb
• Der er allokeret 5 testhold af 2 personer
• Der er allokeret 24 personer til stresstest
• Der er allokeret 1 testleder
• Hvert manuelt testgennemløb vil vare 5 dage
• Statens løn rammer ligger til grund
• Omkostning ved traditionel testmetode: kr. 2.500.000
• Omkostning ved ASQ løsning: kr. 1.000.000
• Besparelse kr. 1.500.000 Samme testhold vil ved kommende/lignende testforløb spare kr. 2.000.000
[POKDM 20050518] 24
Konklusion
En SAP-implementering er en levende
mekanisme, der følger med udviklingen
indenfor både teknologi og resten af
virksomheden - dette gør automatisering
vanskelig
Almindelig brugertest er dog samtidig utrolig
tidskrævende, og på områder der vurderes
stabile udviklingsmæssigt, kan
automatisering give forøget effektivitet og
testdækning