Softwaretest på et øjeblik – eller to

Softwaretest på et øjeblik – eller to
Formålet med test:
Skaffe information for at forbedre kvaliteten af
- produktet (finde fejl)
- beslutninger (kvantificere risici)
- udviklingsprocesser (finde bagvedliggende årsager)
Start
her
Forretningskrav
Forretningsmål
Anvendelse
Vedligeholdelsestest
Værktøjsstøtte til overvågning
WWW.DELTAAXIOM.COM
Afskaffelse
Kontinuerlig analyse af brug og links
Visioner for
produktet
Testpolitik
Paradigmer
Kundetilfredshed
Testniveauer
Kravtårn
Afgrænsning, Risici,
Testniveauer
og for hver af disse:
- Start- og slutkriterier
- Standarder
- Uafhængighed
- Teknikker
- Omfang af genbrug
- Testmiljø(er)
- Testautomatisering
- Hændelseshåndtering
- Gentest og
regressionstest
- Målinger
- Konfigurationsstyring
- mere, hvis ønsket
R
Hardware
Standarder
Produktkvalitetskrav
ifølge ISO 9126
Funktionelle krav
inkl. sikkerhed
Ikke-funktionelle krav
(funktionalitetsunderstøttende)
Pålidelighed, brugbarhed, effektivitet,
vedligeholdelsesegnethed, flytbarhed
Resurser
Tid
Kravhåndtering
Krav skal være
- opnåelige
- modificerbare
- komplette
- nødvendige
- konsistente
- utvetydige
- verificerbare
Sekventielle
Testroller
Vandfalds- og V-modeller
T
K
I
Kommunikation er
Iterative & Inkrementelle:
RAD, RUP, DSDM,
Spiral og Agile
I
C
Dette er det,
jeg mener
Dette er det,
jeg siger
Dette er det, jeg
tror, du mener
Testevner
Dette er det
jeg hører
’Bløde’
evner
T
D
T
Domænekendskab
KI
I
C
baggrund
T
D
ITevner
baggrund
Testerevner
T
KI
I
C
D
Integration:
Konstruktion fra genbrugskomponenter
Risikoniveau =
sandsynlighed x effekt
- risikoidentifikation
- risikoanalyse
- risikoreduktion
Forretningsrisiko
og kvalitet
Lavere
risiko
tilskyndelser
motiver
skabelon
Startkriterier
Organizational
Process Performance
5 Optimerende
4 Kontrolleret
Organizational
Process Definition +IPPD
Organizational
Training
Integrated Project
Management +IPPD
Technical
Solution
Product Integration
Risk Management
Verification
Project Monitoring
and Control
2
Configuration
Management
Supplier Agreement
Management
Requirements
Management
CMMI
–processEngineering
areas
Project Management
Process Management
Slutkriterier
Output
Decision Analysis
and Resolution
Validation
2 Gentageligt
Procedure:
- Aktivitet 1
- Aktivitet 2
- Aktivitet n
Quantitative
Project Management
Requirements
Development
Organizational
Process Focus
3
God
kode
God
test
Dårlig
kode
Dårlig
test
Kendt
kvalitet
Ukendt
kvalitet
R
Testplan
Overordnet
design
Process and Product
Quality Assurance
Measurement
and Analysis
Support
R
T.p
T.p
R
R
Komponenttest
R
T.p R
Værktøjsstøtte for
D
Værktøjsstøtte for
Hukommelseslæk
Vilde pointere
Dækningsanalyse
Performanceanalyse
Kontrollerende
handlinger
Definition af kvalitetskriterier
1
Krav
specifikation
Design
Test
Validering
Rapportering
Verifikation
Bruger
Kvalitetstrekanten
R
juster et aspekt
-> juster mindst to
S
Review-typer: uformelt review, walkthrough, teknisk review, ledelsesreview, inspektion, revision (audit)
Statisk analyse D Dynamisk analyse med værkt. T Dynamisk test manuelt eller auto.
Resurser
- kontrolflow - dataflow
- LCSAJ
- kaldegraf
- kodestandarder
Risikoanalyse
Værktøjsstøtte til
Estimering
Tidsplanlægning
N
N
N
N
N
N
PA 5.1
N
N
N
N
N
N
PA 4.2
N
N
N
N
N
N
PA 4.1
N
N
N
N
N
N
PA 3.2
L
L
P
F
L
P
PA 3.1
L
L
P
F
L
P
PA 2.2
L
L
P
F
L
L
PA 2.1
F
F
L
F
F
P
PA 1.1
L
F
P
F
L
P
Identifikation
100
90
80
70
60
50
40
30
20
10
0
Overvågning
og kontrol
Aktion
(gennemførelse)
Læring
TMM
niveauer
3
4
5
6
7
8
Level 5: Optimization
Level 5: Optimization, Defect Prevention and Quality Control
Level 4: Management and Measurement
Level 4: Management and Measurement
• Software quality evaluation
• Establish a test measurement program
• Establish an organization-wide review program
3: Integration
LevelLevel
3: Integration
Initiering
Diagnose
(assessment)
udvikling
9
10
• Control and monitor the test process
• Integrate testing into the software cycle
• Establish a technical training program
• Establish a software test organization
Etablering
(planlæg, beskriv)
2: PhaseDefinition
Definition
Level 2:LevelPhase
• Institutionalise basic testing techniques and methods
• Initiate a test planning process
• Develop testing and debugging goals
TPI ®
matrice
Kvalitetssikring
(du skal teste)
– ISO 9000:2001
2. En kollega
rei gruppen
4. Tester fra en anden gruppe
6. Ekstern testorganisation
2 3
4
Controlled
5
7
A
10
C
C
B
11 12 13
Optimizing
D
B
C
B
B
A
A
A
A
C
A
A
C
B
A
B
B
C
B
C
C
D
C
B
B
A
C
C
B
D
C
Teststandarder
(du skal teste sådan)
– BS-7925
– IEEE 829
– IEEE 1028
D
C
B
A
D
B
A
A
A
8
9
Efficient
B
A
B
A
Domænespecifikke
(du skal teste så meget)
– luftfart
– medicinsk udstyr
– militært udstyr
6
B
B
A
A
Level 1: Initial
1. Producenten selv
3. Tester i samme gruppe
5. Ekstern testekspert
1
A
A
udvikl
testcases
A
B
B
C
Testprocedurer/
Testgruppe
Testgruppe
Testscript
1
2
3
4
testbart element
Testdækning
Årsager til fejltagelser
Assessmentmodeller for
testprocesser
CTP: Critical Testing Processes
STEP: Systematic Test & Evaluation
Process
TOM: Test Organization Maturity
TIM: Test Improvement Model
SQR: Software Quality Rank
Andre relevante standarder
– IEEE 610 + IEEE 1044
– ISO 9126
– IEEE/ISO 12207
– IEEE/ISO 15288
Tom De
Marco
Niveaulevel
Niveaureport
level
Niveaureport
testreport
Niveautestrapport
Testspecifikation
Testanalyse og –designresultat
Test group
Test group
Test group
Testrapport
1. Resume
2. Variationer
3. Fuldstændighedsvurdering
4. Overblik over
resulter
5. Evaluering
6. Overblik over
aktiviteter
R
Testdesign
Test
group
Test
group
Test
group
Testcase
Test
group
Test
group
Test
group
Testcase
Test
group
Test
group
Test
group
Test
group
Test
group
Test
group
Testcase
Test
case
Test
group
Test
group
Test
group
Test
group
Test
group
Test
group
Test
case
group
Test
case
Test
group
Test
group
group
Test
case
Testcase
Specifikationsbaserede
Testimplementeringsresultat
- ækvivalenspartitionering, grænseværdianalyse og domæneanalyse
Testprocedure
Test procedure
- beslutningstabeller og
Testprocedure
årsags-/virkningsgraf
Testprocedure
- tilstandsovergang
Testprocedure
- klassifikationstræer og partest
- use cases
R
- tilfældig
Erfaringsbaserede
Strukturbaserede - fejlgætning
- instruktioner
- checklister
- beslutninger
- udforskende White-box insektet
- betingelser
- angreb
forgrening (ind)
basisblok
- LCSAJ
Fejlbaserede
- stier
instruktion
------- klassifikation
------- fejlplantning betingelse ------------beslutning
Arkivering
- oplysninger
- klassifikation
- effekt
Handling
- oplysninger
- klassifikation
- effekt
Skala
0
testbart element
- det er menneskeligt at fejle!
- misforståelser
- forkerte antagelser
- manglende domænekendskab
- tidspres
- kompleksitet
- mental overbelastning
- forstyrrelser
- ‘besser machen’
Værktøjsstøtte
for Debugning
Undersøgelse
- oplysninger
- klassifikation
- effekt
• Test process optimization
• Quality control
• Application of process data for defect prevention
Analytiske (risiko)
Regressionsforebyggende (genbrug og automatisering)
2
…fortsat
Standards
Heuristiske (udforskende)
1
Hændelsesrapport
Grad af uafhængighed – hvem designer testen
Konsultative (domæne eksperter) Modelbaserede (brugsmodellering) Standardbaserede
0
l
e
v
e
r
i
n
g
l
e
v
e
r
i
n
test g
Ændring
af testobjektet
Erkendelse
Undersøgelse Handling
Reporting
Reporting
Reporting
Reporting
Reporting
Rapportering
Arkivering
Ændringsstyring
Opbevaring
Test metoder kan være præventive eller reaktive
Metodiske (check-lister)
test
Plan ved teststart
Tidlige advarsler - starten er for hurtig
- stigningen kommer for sent
Procesforbedring
PA 5.2
udvikling
S-kurve – et overvågningsværktøj
Testplanlægning og overvågning
Kommunikation
ISO 15504 – resultatprofil
test
Plan under udviklingen
hed, synlighed og handling
Værktøjsstøtte
til Statisk analyse
Styring (af hvad som helst)
af udvalgte arbejdsprodukter
,
produktkomponenter , og produkter
udvikling
l
e
v
e
r
i
n
g
Følg altid op med: ærlig-
Statisk analyse
Tid
Plan ved projektstart
- opdater risikoanalyse
- revider prioriteringer
- juster resurser
- juster tiden
- juster slutkriterier
Husk kvalitetstrekanten!
Kvalitetssikring af alle arbejdsprodukter
10
testbart element
R
organiser i
Testcase-design- teknikker
Erkendelse
- oplysninger
- klassifikation
- effekt
fortsættes…
Fejlsåning og - plantning
R
Component
Component
Component
Komponent
S
Kodning
T
Testlogs
logs
Test
Testlogs
Hændelsesrapport
udled
testbetingelser
lav høj-niveau testcases
ved brug af testdesignteknikker
% af det definerede dækningselement berørt af test
Dækningselementer:
- forretningsprocesser
- krav, use cases
- grænseflader
- instruktioner,
beslutninger, betingelser
Testlukningsaktiviteter
Simulation og emulation
Optage/afspille
Sammenligning
R
Rapport
T
T.p R
Evaluering
af slutkriterier
og rapportering
A fool with a tool
is still a fool
Værktøjsstøtte for
Rapport
Komponentintegrationstest
R
Detaljeret
design
Detaljeret
design
T
Testspecifikation
R
R
T
Rapport
R
Systemtest
Konfigurationsstyring
Causal Analysis
and Resolution
Project Planning
1 Initielt
Proces
4
3 Beskrevet
Procesrisiko
Input
Organizational Innovation
and Deployment
Testspecifikation
R
R
Overordnet
design
Kvalitet
CMMI procesområder
5
Testplan
Softwarekrav
100
Hjerneorienteret
- ideskaber
- evaluator
- specialist
Handlingsorienteret
- starter
- udfører
- afslutter
Menneskeorienteret
- koordinator
- formidler
- kontaktskaber
Konfigurationsstyring inkl. hændelseshåndtering
Generelle procesCMM niveauer
forbedringsmodeller Højere produktivitet
Hvorfor arbejder vi?
R
Implementering
og
afvikling
Rapport
Systemintegrationstest
1000
Værktøjsstøtte til
0 sandsynlighed eller 0 effekt = 0 risiko
R
Systemkrav
Ændringsrelateret
- gentest
- regressionstest
Projektrisiko
Risikostyring
Testspecifikation
R
effekt og sandsynlighed
Produktrisiko
Kvalitative
- slemt, værre, værst, forfærdeligt
Risikoniveau kan bruges
- 1, 2, 3, 4
- ikke sikkert, sandsynligt, meget sikkert
til - prioritering af testopgaver
Kvantitative - faktiske omkostninger i $ eller Kr. eller €
- fordeling af tid på opgaver
<= 10%, >10% <= 50%, >50% <=80%, > 80%
opleve en uønsket negativ
konsekvens af en hændelse eller
et problem, som ikke har vist sig
endnu, og muligvis aldrig vil gøre det
T
KI
Testplan
Produktdesign
Nye områder
- funktionel
- ikke-funktionel
- struktur/arkitektur
Risikoskalaer skal defineres for både
En risiko er muligheden for at
T
R
Basisdokument
Analyse og
design
R
TT
Projekttestrapport
Fra testbasis til testspecifikation
Testplanlægning
Rapport
Accepttest
Produktdesign
Testtyper =
testmål
Procesforbedring
Fejlrettelse
Hændelsesrapport
Afvigelse
Prisen for at rette en defekt afhænger af, hvornår den findes i forhold
til, hvornår den først opstod!
Belbin-typer:
T
Brugerkrav
Validering: producerer vi det rigtige produkt?
Verifikation: producerer vi produktet rigtigt?
Det bedste (test)team
kan være baseret på
Testleder
Testanalytiker / designer
Testafvikler
Reviewer / inspektør
Defekt / Fejl
Brugerkrav
Vedligeholdelsestest
af eksisterende
produkter
perifere enheder, andre systemer, værktøjer, data,
manualer, rum, skrivematerialer, telefoner, mad, drikke
D K T
D
Specifik
Målbar
Accepteret
Relevant
Tidsspecifik
Test omgivelser Hardware, software, netværk,
Ideskabelse Design
Kodning Test
I
C
En plan skal være
- Intuition eller gætværk
- Erfaringsmetrikker
- Formelbaseret
- Konsensus (Delphi)
- 3-punkt (Successiv)
Værktøjsstøtte til
Udviklingsmodeller
1. Introduktion
2. Testgenstand(e)
3. Områder, der testes
4. Områder, testes ikke
5. Testtilgang
6. Bestået/fejlet kriterier
7. Udsættelseskriterier
8. Testleverancer
9. Testopgaver
10. Testmiljøbehov
11. Ansvarsområder
12. Medarbejdere/træning
13. Tidsplan
14. Risici
R
Teknikker til
testestimering
Projektkrav
Pris
Testplan
Accepttest
- bruger
- operationel (OAT)
- kontraktuel (FAT)
- alfa og beta
Systemtest
Integrationstest
- komponenter
- system
Komponenttest
Omgivelseskrav
Platform
Fejltagelse
R
R
R
Teststrategi
Testproces for alle testniveauer
Overvågning og kontrol
R
Projekttestplan
Nøgleområder
Projektteststrategi
Projektplan
Integration
R
Overordnet
teststrategi
I
Vær forberedt -
- mainframe
- simple systemer - PC-baserede
- samlede systemer - client-server
- kritiske systemer - Web-baserede
- in-house - indlejret
- kontrakt
Integration
- Definition af test
- Testproces, der
skal anvendes
- Evaluering af testen
- Kvalitetsmål
- Forbedring af
testprocessen
forgrening
forgrening
(ud)
(ud)
beslutningsresultater
En testcase skal have
- en entydig identifikation
- startbetingelser
- input: data og handlinger
- forventet resultat inkl.
post-betingelser
- sporing
R
En testprocedure
skal have
- en entydig identifikation
- beskrivelse
- præcise startbetingelser
for testen
- inkluderede testcases
i afviklingsorden
- post-betingelser
- sporing
R
Sporing mellem krav og
testcases
- viser rationale
- forebygger forglemmelser
- forebygger ’forgyldning’
K. 16
TC 27
K. 17
K. 18
Nyttige testmålinger:
- fremdrift af planlagte aktiviteter
- antal specificerede testcases
- antal afviklede testcases
- antal beståede testcases
- antal hændelsesrapporter
- antal hændelser introduceret ifbm.
rettelser
- opnået dækning for specificerede
dækningselementer
- estimeret antal rest-defekter
- udestående risikoområder
- faktisk brugt tid sammenlignet
med tilsvarende estimater
- faktisk indsats for aktiviteterne
- defect detection percentages =
- hvilken testaktivitet er den mest
effektive + hvilke testprocesser
kunne forbedres
- antal hændelser / komponent =
- fordeling af defekter over
produktet
- fordeling af defekter på defekttype
Hvis man ikke måler, har
man kun én grund til at tro,
at alt er under kontrol –
hysterisk optimisme.
TC 5
Værktøjsstøtte til
Testspecifikation
Skabelse af testdata
Testorakel
Samarbejdsmatrice
55
44
33
22
1
Modenhedsniveauer
1
2
3
4
5
Den gyldne regel for test:
Test altid sådan, at lige meget
hvornår du stopper, har du
testet bedst muligt.
Test er sammenligning af det, der er, med det, der skulle være © DELTA AXIOM, WWW.DELTAAXIOM.COM - Anne Mette Jonassen Hass, [email protected] – baseret på ISTQB Certified Tester Advanced Syllabus 2007 og referencer deri, BS-7925-1:1998; IEEE Std. 610-1990; IEEE Std. 829-1998; og præsentationer på EuroSTAR konferencer af Lee Copeland, Stewart Reid, Martin Pool, Paul Gerrard, Grove Consultants, og mange andre.
Grafisk rådgivning: EBB-CONSULT, Danmark



Screen Beans® Clip Art, USA
V. T-DK-0808