18

Click here to load reader

Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Embed Size (px)

DESCRIPTION

EuroSTAR Software Testing Conference 2010 presentation on Passion For Testing, By Examples by Peter Zimmerer. See more at: http://conference.eurostarsoftwaretesting.com/past-presentations/

Citation preview

Page 1: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Copyright copy Siemens AG 2010 All rights reserved

Corporate Technology

EUROSTAR 2010Copenhagen Denmark

December 2 2010

Peter ZimmererPrincipal Engineer

Siemens AGCorporate Technology

81739 Munich Germanypeterzimmerersiemenscom

httpwwwsiemenscomcorporate-technology

Passion For Testing ndash By Examples

Contents

Motivation

From theory to practice

Practical metaphoric analogy examples

Risk-based testing strategy

Testing of non-functional requirements ( TDD)

Integration Integration Testing Architecture

Summary

Motivation

Putting

ldquotheoreticalrdquo testing stuff into practice

often fails hellip

If you want to become a good tester or even better a great tester with passion

you will have to learn train and practice a lot of things Sometimes people get

lost in all the learning and education stuff and especially putting ldquotheoreticalrdquo

concepts and topics into practice fails quite often

To make a difference in this session I would like to share with you three practical

metaphoric analogy examples from different areas that will help you to better

understand implement and remember the corresponding testing concepts and

practices until the end of your life

Risk-based testing strategy

Base the testing strategy on business goals and priorities Risk-based testing strategy (RBT)

Risk identificationRisk = P times D P Probability of failure Frequency of use Chance of failure

criticality amp complexity at implementation amp usage lack of quality D Damage (consequence amp cost for business amp test amp usage)

Risk analysis ndash Product risk analysis workshop

Risk response ndash Test objectives test levels test design methods hellip

Risk-based testing strategy

Example

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 2: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Contents

Motivation

From theory to practice

Practical metaphoric analogy examples

Risk-based testing strategy

Testing of non-functional requirements ( TDD)

Integration Integration Testing Architecture

Summary

Motivation

Putting

ldquotheoreticalrdquo testing stuff into practice

often fails hellip

If you want to become a good tester or even better a great tester with passion

you will have to learn train and practice a lot of things Sometimes people get

lost in all the learning and education stuff and especially putting ldquotheoreticalrdquo

concepts and topics into practice fails quite often

To make a difference in this session I would like to share with you three practical

metaphoric analogy examples from different areas that will help you to better

understand implement and remember the corresponding testing concepts and

practices until the end of your life

Risk-based testing strategy

Base the testing strategy on business goals and priorities Risk-based testing strategy (RBT)

Risk identificationRisk = P times D P Probability of failure Frequency of use Chance of failure

criticality amp complexity at implementation amp usage lack of quality D Damage (consequence amp cost for business amp test amp usage)

Risk analysis ndash Product risk analysis workshop

Risk response ndash Test objectives test levels test design methods hellip

Risk-based testing strategy

Example

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 3: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Motivation

Putting

ldquotheoreticalrdquo testing stuff into practice

often fails hellip

If you want to become a good tester or even better a great tester with passion

you will have to learn train and practice a lot of things Sometimes people get

lost in all the learning and education stuff and especially putting ldquotheoreticalrdquo

concepts and topics into practice fails quite often

To make a difference in this session I would like to share with you three practical

metaphoric analogy examples from different areas that will help you to better

understand implement and remember the corresponding testing concepts and

practices until the end of your life

Risk-based testing strategy

Base the testing strategy on business goals and priorities Risk-based testing strategy (RBT)

Risk identificationRisk = P times D P Probability of failure Frequency of use Chance of failure

criticality amp complexity at implementation amp usage lack of quality D Damage (consequence amp cost for business amp test amp usage)

Risk analysis ndash Product risk analysis workshop

Risk response ndash Test objectives test levels test design methods hellip

Risk-based testing strategy

Example

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 4: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Risk-based testing strategy

Base the testing strategy on business goals and priorities Risk-based testing strategy (RBT)

Risk identificationRisk = P times D P Probability of failure Frequency of use Chance of failure

criticality amp complexity at implementation amp usage lack of quality D Damage (consequence amp cost for business amp test amp usage)

Risk analysis ndash Product risk analysis workshop

Risk response ndash Test objectives test levels test design methods hellip

Risk-based testing strategy

Example

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 5: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Risk-based testing strategy

Example

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 6: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Risk-based testing strategy ndash Summary

As a tester think outside the box to identify risks

As a tester be a master in risk identification communication and

negotiation

As a tester actively participate in a product risk analysis workshop

as one (or rather the) important stakeholder

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 7: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Testing of non-functional requirements ( TDD)

Focus on using requirements not only on perceiving requirements

Reviews are often too passive ndash requirements are only augmented but

not questioned

Quality is a result of usage

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Preventive testing is built upon the observation that

one of the most effective ways of specifying something is

to describe (in detail) how you would accept (test) it

if someone gave it to you David Gelperin Bill Hetzel

Preventive testing is the basic idea of

any kind of test-driven development (TDD) approach

is a precondition

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 8: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

8 s

0 100 200 300 400 500 600 700

concurrent users

6 s

res

po

ns

e t

ime

s 4 s

2 s

Whatrsquos the difference

Performance (testing) vs Scalability (testing)

Performance (Testing)

Scalability (Testing)

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 9: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Performance (testing) vs Scalability (testing) ndash Reality

Example

Experiment

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 10: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Performance amp Performance testing

Performance

The degree to which a system or component accomplishes its

designated functions within given constraints such as speed

accuracy or memory usage (IEEE 1990)

The speed at which a computer operates hellip during a benchmark test

The benchmark test usually involves some combination of work that

attempts to imitate the kinds of work the computer does during actual

use

The total effectiveness of a computer system including throughput

individual response time and availability (httpwwwwhatiscom)

Performance testing

Testing conducted to evaluate the compliance of a system or

component with specified performance requirements (IEEE 1990)

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 11: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Scalability

Scalability

The ease with which a system or component can be modified to fit the

problem area

(CMU SEI Glossary at httpwwwseicmuedustrindexesglossary)

Scalability

It is the ability of a computer application or product (hardware or

software) to continue to function well when it (or its context) is

changed in size or volume in order to meet a user need Typically the

rescaling is to a larger size or volume

It is the ability not only to function well in the rescaled situation but to

actually take full advantage of it in terms of performance (user

response time and so forth) and the larger number of users that could

be handled (httpwwwwhatiscom)

Requires a balanced partnership between hardware and software

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 12: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Performance testing vs Scalability testing

Performance testing ne Scalability testing

Closed systems ne Open systems

0

05

1

15

2

25

3

35

4

50 100 150 200

Users

Res

po

nse

Tim

e

Scalability testing

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 13: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Performance testing vs Scalability testing ndash Summary

Understand the difference between

performance and scalability

by understanding the difference between

performance testing and scalability testing

Describing Specifying a test (even better more tests hellip)

for a non-functional requirement will help you

to really understand the requirement

Focus on using requirements not only on perceiving requirements

is a precondition

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 14: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Integration Integration Testing Architecture

The goal of integration testing is to test in a grey-box manner

The interaction of components and subsystems

The interaction and embedding with the environment and system

configuration

The dynamic behavior and communication of the system

Control flow and data flow

The architecture and design as specified in the

Software Architecture Description document

During integration test execution the

internal behavior of the system under test

is monitored by using tracing facilities

to provide the required information

Integration testing

Integration

Architecture

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 15: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Integration Integration Testing

Integration

Constructive Integration of

components subshysystems to get a

running system (or parts)

Quick-check by performing a smoke

test only for most important interfaces

and functions

Periodical delivery of integrated

system (or parts) corresponding to the

integration plan

Successful integration is a precondition

for handover to next step level

(integration testing)

Integration testing

Quality assuring Test of the system

to detect bugs in the interworking of its

parts to gain confidence to mitigate

risks etc

Detailed check of the system by

performing a systematic test of all

interfaces and functions corresponding

to the test concept

Progressive test as a separate testing

level corresponding to test concept

with defined begin and end dates

Successful integration testing is a

precondition for handover to next step

level (system testing)

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 16: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Integration Integration Testing Architecture

Example

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 17: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Integration Integration Testing Architecture ndash Summary

Integration ne Integration testing

Actively involve architects in integration testing

Select an appropriate integration strategy that

supports and drives the goals and benefits of

integration testing

Address and follow integration testing needs

in the architecture (including testability)

Reconsider and balance

usage of stubs amp mocks

against

evidence amp informative value

of integration testing

Integration testing

Integration

Architecture

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing

Page 18: Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010

Summary

3 Practical metaphoric analogy examples

that will help you to become

even more passionate about testing in the future

Be free to share these examples with your colleagues and

stakeholders (testers as well as non-testers) to show excellent

testing practices as one result of your passion for testing

Use examples metaphors and visualizations to improve

effectiveness and efficiency in testing