acceptance testing for eclipse applicationswiki.eclipse.org/images/d/d2/eclipsetestingday2010... ·...

35
Version 2.3 © 2010 Bredex GmbH Acceptance testing for Eclipse Applications Why? What? How? Alexandra Imrie BREDEX GmbH

Upload: others

Post on 29-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

Version 2.3© 2010 Bredex GmbH

Acceptance testing for Eclipse ApplicationsWhy? What? How?

Alexandra Imrie

BREDEX GmbH

Page 2: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 2

Agenda

Observations

on test and development

process

The

role

of acceptance

testing

Methods

of acceptance

testing

Introducing

and improving

acceptance

testing

Page 3: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 3

BREDEX GmbH

Software developing

and consulting

Individual

customer

projects

Focus on Java since

1995

Agile processes

Test enthusiasts

Test tool

GUIdancer

Eclipse

foundation

members

since

2006

Page 4: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 4

Observations

Where

does

acceptance

testing

fit in?

Page 5: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 5

Observations

Where

does

acceptance

testing

fit in?

Page 6: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 6

Trends in testing

Complexity

and test phase

Page 7: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 7

Trends in testing

Stress towards

release

Page 8: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 8

Responses

Where

did

that

come from?

How

come this

error

wasn‘t noticed?

Desire

for

quicker feedback

on errors

Move

towards

test first with

JUnit

Page 9: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 9

But

JUnit

isn‘t

an acceptance

test

JUnit

test for

delete

project

successful, but…

Page 10: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 10

Paradox

Who

do we

develop software

for?

Whose

perspective

do we tend

to neglect

the

most?

Page 11: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 11

Paradox

Who

do we

develop software

for?

Whose

perspective

do we tend

to neglect

the

most?

Page 12: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 12

The

role

of acceptance

testing

Did

we

do what

the

customer

asked

for?

Has the

customer

changed

his mind?

Did

the

customer

have

implicit

assumptions?

Are there

errors

or

problems

in the

workflow?

Page 13: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 13

Example

Acceptance

test to create

and delete

a Java Project in Eclipse

Prerequisite: The

project

does

not

already

exist

Open new

project

dialog

Choose

Java as the

project

type

Click

Next

Enter

the

project

name

Click

Finish

Check that

project

was created

Delete

project

Page 14: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 14

Method

1 �

Manual

Page 15: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 15

Method

1 �

Manual

Positive aspects

Real person

performs

tests

Negative aspects

Boring

Error prone

Not repeatable

Too much to test

Always

at square

one

Page 16: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 16

Method

2 –

Automated

by

recording

Page 17: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 17

Method

2 –

Automated

by

recording

Page 18: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 18

Method

2 –

Automated

by

recording

Page 19: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 19

Method

2 –

Automated

by

recording

Page 20: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 20

Method

2 –

Automated

by

recording

Page 21: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 21

Method

2 –

Automated

by

recording

Page 22: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 22

Method

2 –

Automated

by

recording

Positive aspects

Quick start

Negative aspects

Wait

for

functioning

feature

Raw

form:

unstructured

redundancies

hard

to read

Effort

to make

maintainable

Tests as�is

not

as�should�be

No explicit

intelligence

in test

Page 23: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 23

Method

3 –

Automated

with

keywords

Page 24: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 24

Method

3 –

Automated

with

keywords

Page 25: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 25

Method

3 –

Automated

with

keywords

Page 26: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 26

Method

3 –

Automated

with

keywords

Page 27: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 27

Method

3 –

Automated

with

keywords

Positive aspects

High�level

actions

Independence from

app

Earlier

focus

on acceptance

Readable

tests

No programming

effort

Modularity

almost

for

free

Tester in full

control

Negative aspects

Requires

planning

& design

Requires

discipline:

naming

conventions

any

restructuring

work

management

of keywords

Page 28: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 28

Method

3 –

Automated

with

keywords

Positive aspects

High�level

actions

Independence from

app

Earlier

focus

on acceptance

Readable

tests

No programming

effort

Modularity

almost

for

free

“Negative“

aspects

Requires

planning

& design

Requires

discipline:

naming

conventions

any

restructuring

work

management

of keywords

No different to development!

Page 29: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 29

Automatic tests

are

as important

as code!

Must

be

planned

Which

areas

should

be

tested

Which

areas

should

be automated

Must

be

structured

Based

on clear

use

case

Test design

Reusable, flexible modules

Readable

and maintainable

Contain

explicit

intelligence

Synchronization

Checks and fall backs

Knowledge

of application

Understanding

of controls

Understanding

of workflows

Page 30: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 30

Automatic tests

are

as important

as code!

Must

be

planned

Which

areas

should

be

tested

Which

areas

should

be automated

Must

be

structured

Test design

Reusable, flexible modules

Readable

and maintainable

Contain

explicit

intelligence

Synchronization

Checks and fall backs

Knowledge

of application

Understanding

of controls

Understanding

of workflows

Keywords

well structured tests

without

coding

effort

Page 31: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 31

Keyword�driven

test

Page 32: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 32

Getting

the

mix right –

automated

tests

Daily

Daily build

smoke test

Weekly

Complete

automated

test

Page 33: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 33

Getting

the

mix right –

automated

tests

Daily

Daily build

smoke test

Weekly

Complete

automated

test

Page 34: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 34

Getting

the

mix right –

manual

tests

Daily

“Four�eye”

test

Weekly

Show and tell

Per feature (timely)

Manual acceptance test

Before release

Full manual test phase

Page 35: Acceptance testing for Eclipse Applicationswiki.eclipse.org/images/d/d2/EclipseTestingDay2010... · 2010-09-10 · Eclipse Testing Day 2010 07.09.2010 2 Agenda Observations on test

07.09.2010Eclipse Testing Day 2010 35

Results

Acceptance

tests

at the

forefront

of development

Timely

discussion

and time to react

Customer

satisfaction