SlideShare a Scribd company logo
1 of 19
Copyright © Siemens AG 2011. All rights reserved.
Corporate Technology
EuroSTAR 2011
Manchester, England
November 24, 2011
Peter Zimmerer
Principal Engineer
Siemens AG
Corporate Technology
81739 Munich, Germany
peter.zimmerer@siemens.com
http://www.siemens.com/corporate-technology/
Architecture Testing: Wrongly Ignored!
Contents
Motivation
Architecture testing
Practices and tasks in architecture testing
 Involvement of Software Architects in testing activities
Summary
Motivation
The system‘s architecture is important …
 Vehicle for communication among stakeholders – including testers!
 Providing system context, scoping, and partitioning of development work
 Foundation for many lifecycle artifacts – including the test basis!
 Representing early design decisions and constraints:
most critical to get right, hardest to change
 First design artifact addressing (enabling or inhibiting) objectives,
non-functional requirements, and quality attributes
 Key for systematic reuse, integration with legacy / third party software,
managing change, cost-effective maintenance and evolution
 Poor architectures are a major cause for project failures and disaster
… so, we should test it thoroughly!
Architecture testing Glossary V2.1, April 2010@
Glossary V2.0, Dec 2007
A search in the glossary for “architecture“ results in only one hit:
design-based testing:
An approach to testing in which test cases are designed based on the
architecture and/or detailed design of a component or system (e.g.
tests of interfaces between components or systems).
Architecture testing
Requirements testing
Architecture testing
Document testing
Unit testing
Integration testing
System testing
Acceptance testing
1,010,000
102,000
191,000
4,900,000
1,630,000
2,770,000
1,840,000
Result hits* @ :
@
*Hits counted on September 12, 2011 – ratio still about the same since 2005 …
Testing strategy – Based on risks
Base the testing strategy on business goals and priorities
 Risk-based testing strategy (RBT)
Risk identification
Risk = P × D
 P Probability of failure
 Frequency of use
 Chance of failure:
criticality & complexity at implementation & usage, lack of quality
 D Damage (consequence & cost for business & test & usage)
Risk analysis – Product risk analysis workshop
Risk response – Test objectives, test levels, test design methods …
Product risk analysis for software architects
Identify especially all risks related to the architecture
 Architectural requirements (functional and non-functional)
 Architectural quality attributes
 Architectural use cases, features, and functions
 Architectural decisions
 Design decisions
 Technology selections
 Third-party component selections (open source)
 Bug categories
Actively participate in a product risk analysis workshop as one
important stakeholder
Test levels – Example V model
System
Requirements
Architecture,
Design
Unit
Specification
Coding
Acceptance
Testing
System
Testing
Integration
Testing
Unit
Testing
User
Requirements
based on
Test levels – Example V model with architecture testing
System
Requirements
Architecture,
Design
Unit
Specification
Acceptance
Testing
System
Testing
Integration
Testing
Unit
Testing
User
Requirements
Code Quality
Management
Architecture
interrogation:
interviews,
interactive
workshops
Architecture testing
is any testing of architecture and architectural artifacts
 mapping of architectural risks to test levels
Test case design
Analysis,
reviews,
previews,
inspections
Load model
specification
based on
Coding
Static testing
MTW,
QAW,
ATAM
Prototyping,
simulation
From SEI, see
www.sei.cmu.edu/
Test-driven development (TDD) ≈ Preventive Testing
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 (<1990)
Real TDD means to let testing drive and influence the architecture
and design as well
 Do not use TDD only on the level of unit and acceptance testing
Testability – Factors
Control(lability)
 The better we can control the system,
the more and better testing can be done, automated, and optimized
 Ability to apply and control the inputs to the system under test
or place it in specified states (for example reset to start state)
 Interaction with the system under test (SUT) through control points
Visibility / observability
 What you see is what can be tested
 Ability to observe the inputs, outputs, states, internals, error conditions,
resource utilization, and other side effects of the system under test
 Interaction with the system under test (SUT) through observation points
Control(lability)
Visibility / observability
Design for Testability (DfT) – Who?
Joint venture between architects (+ developers) and testers
 Collaboration between different stakeholders
Testability must be built-in by architects (+ developers)
 Pro-active strategy:
design the system with testability as a key design criterion
 Testers (test automation engineers) must define testability
requirements to enable effective and efficient test automation
Contractual agreement between design and test
Balancing production code and test code
 Production code and test code must fit together
 Manage the design of production code and test code
as codependent assets
EducatestakeholdersonbenefitofDfT
Test design methods
Test design methods are not for testers only …
Check and foster the usage of test design methods in the
development team
Use test design methods
 To provide an adequate test basis
 In architecture reviews, for example scenario testing
 To design test cases for the architecture,
especially for integration testing
 To prevent bugs (think test-first …)
The act of designing tests is one of the
most effective bug preventers known.
Boris Beizer, 1983
Integration testing
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
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)
Integration testing
Integration
Architecture
Test architectures, test automation
The architecture of a test system may be even more complex than
the architecture of the system under test
Use good architecture practices to define, specify, create, realize,
and maintain the test (automation) system as well
An efficient quality check of software is not possible
in real project life without the right test automation!
 Incremental, iterative, agile processes
 Regression testing
 Maintenance – refactoring, redesign, reengineering
Regression testing – The big questions are always …
Software Architect:
Which parts of the architecture must be tested again
after a (code) change?
Test Manager:
Which test cases must be executed again
after a (code) change?
Remark:
Change can be a code change
but also any change in the environment or system configuration
Use knowledge about the architecture and design of the system
during change and impact analysis
 to identify risky areas
 to select required regression test cases effectively
Architectural quality – internal software quality
and code quality management
Checking of architectural conformance
 Validate the formalized description
 Evaluate reported architecture violations
 Simulate a restructuring of a system (refactoring, redesign,
reengineering)
Identification of suspicious components and trends (software aging)
 Detect potential problems early enough
Analyzing the impact of design changes and design alternatives
 Use it as input for well-founded decisions
Code comprehension
 Get a well-rounded knowledge
of the real state of the system
Avoid this:
Practices and tasks in architecture testing
Understand the mission and the value of testing and promote it
Risk-based testing strategy (test levels)
Test-driven development
Design for testability
Test design methods
Integration testing
Test architectures, test automation
Regression testing
Architectural quality – internal software quality and code quality
management
Summary
The Software Architect cooperates closely with the Test Manager
 To define, motivate, drive, and enforce a comprehensive
understanding of and attitude to testing and quality in the whole team
 To sustain a culture of prevention rather than detection across the
lifecycle
The Software Architect and the Test Manager address "quality"
from different viewpoints:
 Software Architect:
Build quality into the system (or rather into the architecture)
and do architecture testing
 Test Manager:
Provide information related to quality (feedback)

More Related Content

What's hot

Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010TEST Huddle
 
John Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldJohn Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldTEST Huddle
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?TEST Huddle
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
 
Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic TEST Huddle
 
'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim KoomenTEST Huddle
 
T19 performance testing effort - estimation or guesstimation revised
T19   performance testing effort - estimation or guesstimation revisedT19   performance testing effort - estimation or guesstimation revised
T19 performance testing effort - estimation or guesstimation revisedTEST Huddle
 
'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik BoelenTEST Huddle
 
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!TEST Huddle
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsYogindernath Gupta
 
Erik Boelen - Testing, The Next Level
Erik Boelen - Testing, The Next LevelErik Boelen - Testing, The Next Level
Erik Boelen - Testing, The Next LevelTEST Huddle
 
Mattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entMattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entTEST Huddle
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!TEST Huddle
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialTEST Huddle
 
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin NakovSoftware Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin Nakovnazeer pasha
 
Martin Gijsen - Effective Test Automation a la Carte
Martin Gijsen -  Effective Test Automation a la Carte Martin Gijsen -  Effective Test Automation a la Carte
Martin Gijsen - Effective Test Automation a la Carte TEST Huddle
 
Stuart Reid - ISO 29119: The New International Software Testing Standard
Stuart Reid - ISO 29119: The New International Software Testing StandardStuart Reid - ISO 29119: The New International Software Testing Standard
Stuart Reid - ISO 29119: The New International Software Testing StandardTEST Huddle
 

What's hot (20)

Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
 
John Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green WorldJohn Brennen - Red Hot Testing in a Green World
John Brennen - Red Hot Testing in a Green World
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic Hakan Fredriksson - Experiences With MBT and Qtronic
Hakan Fredriksson - Experiences With MBT and Qtronic
 
'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen'Growing to a Next Level Test Organisation' by Tim Koomen
'Growing to a Next Level Test Organisation' by Tim Koomen
 
T19 performance testing effort - estimation or guesstimation revised
T19   performance testing effort - estimation or guesstimation revisedT19   performance testing effort - estimation or guesstimation revised
T19 performance testing effort - estimation or guesstimation revised
 
'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen'Acceptance Testing' by Erik Boelen
'Acceptance Testing' by Erik Boelen
 
Testing Framework
Testing FrameworkTesting Framework
Testing Framework
 
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
Gitte Ottosen - Agility and Process Maturity, Of Course They Mix!
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
Erik Boelen - Testing, The Next Level
Erik Boelen - Testing, The Next LevelErik Boelen - Testing, The Next Level
Erik Boelen - Testing, The Next Level
 
Mattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-entMattias Diagl - Low Budget Tooling - Excel-ent
Mattias Diagl - Low Budget Tooling - Excel-ent
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
 
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin NakovSoftware Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals Svetlin Nakov
 
Martin Gijsen - Effective Test Automation a la Carte
Martin Gijsen -  Effective Test Automation a la Carte Martin Gijsen -  Effective Test Automation a la Carte
Martin Gijsen - Effective Test Automation a la Carte
 
Stuart Reid - ISO 29119: The New International Software Testing Standard
Stuart Reid - ISO 29119: The New International Software Testing StandardStuart Reid - ISO 29119: The New International Software Testing Standard
Stuart Reid - ISO 29119: The New International Software Testing Standard
 

Similar to 'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer

Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012TEST Huddle
 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010TEST Huddle
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesignrandhirlpu
 
An Introduction to Systems Engineering | Dorleco
An Introduction to Systems Engineering | DorlecoAn Introduction to Systems Engineering | Dorleco
An Introduction to Systems Engineering | DorlecoDorleControls
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
1 Ads
1 Ads1 Ads
1 Adslcbj
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesAmmar Shafiq
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi Prasad
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleEmi Rizki Ayunanda
 
Hci in software process
Hci in software processHci in software process
Hci in software processrida mariam
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)영기 김
 

Similar to 'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer (20)

Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
 
Unit 2
Unit 2Unit 2
Unit 2
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
 
An Introduction to Systems Engineering | Dorleco
An Introduction to Systems Engineering | DorlecoAn Introduction to Systems Engineering | Dorleco
An Introduction to Systems Engineering | Dorleco
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
1 Ads
1 Ads1 Ads
1 Ads
 
Review se
Review seReview se
Review se
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Sda 6
Sda   6Sda   6
Sda 6
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
Sanjeevi's SDLC Guest Lecture in Anna University campus at AU-PERS Centre (Ye...
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Hci in software process
Hci in software processHci in software process
Hci in software process
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)
 
Sakshi Tripathi Resume
Sakshi Tripathi ResumeSakshi Tripathi Resume
Sakshi Tripathi Resume
 

More from TEST Huddle

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureTEST Huddle
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar TEST Huddle
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway TEST Huddle
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in ScrumTEST Huddle
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsTEST Huddle
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkTEST Huddle
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New HeightsTEST Huddle
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?TEST Huddle
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of UsTEST Huddle
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)TEST Huddle
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesTEST Huddle
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?TEST Huddle
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageTEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersTEST Huddle
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?TEST Huddle
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey TEST Huddle
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsTEST Huddle
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your RoleTEST Huddle
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0TEST Huddle
 

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer

  • 1. Copyright © Siemens AG 2011. All rights reserved. Corporate Technology EuroSTAR 2011 Manchester, England November 24, 2011 Peter Zimmerer Principal Engineer Siemens AG Corporate Technology 81739 Munich, Germany peter.zimmerer@siemens.com http://www.siemens.com/corporate-technology/ Architecture Testing: Wrongly Ignored!
  • 2. Contents Motivation Architecture testing Practices and tasks in architecture testing  Involvement of Software Architects in testing activities Summary
  • 3. Motivation The system‘s architecture is important …  Vehicle for communication among stakeholders – including testers!  Providing system context, scoping, and partitioning of development work  Foundation for many lifecycle artifacts – including the test basis!  Representing early design decisions and constraints: most critical to get right, hardest to change  First design artifact addressing (enabling or inhibiting) objectives, non-functional requirements, and quality attributes  Key for systematic reuse, integration with legacy / third party software, managing change, cost-effective maintenance and evolution  Poor architectures are a major cause for project failures and disaster … so, we should test it thoroughly!
  • 4. Architecture testing Glossary V2.1, April 2010@ Glossary V2.0, Dec 2007 A search in the glossary for “architecture“ results in only one hit: design-based testing: An approach to testing in which test cases are designed based on the architecture and/or detailed design of a component or system (e.g. tests of interfaces between components or systems).
  • 5. Architecture testing Requirements testing Architecture testing Document testing Unit testing Integration testing System testing Acceptance testing 1,010,000 102,000 191,000 4,900,000 1,630,000 2,770,000 1,840,000 Result hits* @ : @ *Hits counted on September 12, 2011 – ratio still about the same since 2005 …
  • 6. Testing strategy – Based on risks Base the testing strategy on business goals and priorities  Risk-based testing strategy (RBT) Risk identification Risk = P × D  P Probability of failure  Frequency of use  Chance of failure: criticality & complexity at implementation & usage, lack of quality  D Damage (consequence & cost for business & test & usage) Risk analysis – Product risk analysis workshop Risk response – Test objectives, test levels, test design methods …
  • 7. Product risk analysis for software architects Identify especially all risks related to the architecture  Architectural requirements (functional and non-functional)  Architectural quality attributes  Architectural use cases, features, and functions  Architectural decisions  Design decisions  Technology selections  Third-party component selections (open source)  Bug categories Actively participate in a product risk analysis workshop as one important stakeholder
  • 8. Test levels – Example V model System Requirements Architecture, Design Unit Specification Coding Acceptance Testing System Testing Integration Testing Unit Testing User Requirements based on
  • 9. Test levels – Example V model with architecture testing System Requirements Architecture, Design Unit Specification Acceptance Testing System Testing Integration Testing Unit Testing User Requirements Code Quality Management Architecture interrogation: interviews, interactive workshops Architecture testing is any testing of architecture and architectural artifacts  mapping of architectural risks to test levels Test case design Analysis, reviews, previews, inspections Load model specification based on Coding Static testing MTW, QAW, ATAM Prototyping, simulation From SEI, see www.sei.cmu.edu/
  • 10. Test-driven development (TDD) ≈ Preventive Testing 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 (<1990) Real TDD means to let testing drive and influence the architecture and design as well  Do not use TDD only on the level of unit and acceptance testing
  • 11. Testability – Factors Control(lability)  The better we can control the system, the more and better testing can be done, automated, and optimized  Ability to apply and control the inputs to the system under test or place it in specified states (for example reset to start state)  Interaction with the system under test (SUT) through control points Visibility / observability  What you see is what can be tested  Ability to observe the inputs, outputs, states, internals, error conditions, resource utilization, and other side effects of the system under test  Interaction with the system under test (SUT) through observation points Control(lability) Visibility / observability
  • 12. Design for Testability (DfT) – Who? Joint venture between architects (+ developers) and testers  Collaboration between different stakeholders Testability must be built-in by architects (+ developers)  Pro-active strategy: design the system with testability as a key design criterion  Testers (test automation engineers) must define testability requirements to enable effective and efficient test automation Contractual agreement between design and test Balancing production code and test code  Production code and test code must fit together  Manage the design of production code and test code as codependent assets EducatestakeholdersonbenefitofDfT
  • 13. Test design methods Test design methods are not for testers only … Check and foster the usage of test design methods in the development team Use test design methods  To provide an adequate test basis  In architecture reviews, for example scenario testing  To design test cases for the architecture, especially for integration testing  To prevent bugs (think test-first …) The act of designing tests is one of the most effective bug preventers known. Boris Beizer, 1983
  • 14. Integration testing 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 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) Integration testing Integration Architecture
  • 15. Test architectures, test automation The architecture of a test system may be even more complex than the architecture of the system under test Use good architecture practices to define, specify, create, realize, and maintain the test (automation) system as well An efficient quality check of software is not possible in real project life without the right test automation!  Incremental, iterative, agile processes  Regression testing  Maintenance – refactoring, redesign, reengineering
  • 16. Regression testing – The big questions are always … Software Architect: Which parts of the architecture must be tested again after a (code) change? Test Manager: Which test cases must be executed again after a (code) change? Remark: Change can be a code change but also any change in the environment or system configuration Use knowledge about the architecture and design of the system during change and impact analysis  to identify risky areas  to select required regression test cases effectively
  • 17. Architectural quality – internal software quality and code quality management Checking of architectural conformance  Validate the formalized description  Evaluate reported architecture violations  Simulate a restructuring of a system (refactoring, redesign, reengineering) Identification of suspicious components and trends (software aging)  Detect potential problems early enough Analyzing the impact of design changes and design alternatives  Use it as input for well-founded decisions Code comprehension  Get a well-rounded knowledge of the real state of the system Avoid this:
  • 18. Practices and tasks in architecture testing Understand the mission and the value of testing and promote it Risk-based testing strategy (test levels) Test-driven development Design for testability Test design methods Integration testing Test architectures, test automation Regression testing Architectural quality – internal software quality and code quality management
  • 19. Summary The Software Architect cooperates closely with the Test Manager  To define, motivate, drive, and enforce a comprehensive understanding of and attitude to testing and quality in the whole team  To sustain a culture of prevention rather than detection across the lifecycle The Software Architect and the Test Manager address "quality" from different viewpoints:  Software Architect: Build quality into the system (or rather into the architecture) and do architecture testing  Test Manager: Provide information related to quality (feedback)

Editor's Notes

  1. From Software Engineering Institute (SEI, http://www.sei.cmu.edu/): MTW: Mission Thread Workshop Build and augment a set of end-to-end System of Systems (SoS) mission threads with quality attribute and engineering considerations with the stakeholders. Outputs will drive SoS and System/Software Architecture Decisions. QAW: Quality Attribute Workshop (http://www.sei.cmu.edu/architecture/tools/qaw/) Quality Attribute Workshops (QAWs) provide a method for identifying a system&apos;s architecture critical quality attributes, such as availability, performance, security, interoperability, and modifiability, that are derived from mission or business goals. The QAW does not assume the existence of a software architecture. It was developed to complement the SEI Architecture Tradeoff Analysis Method (ATAM) in response to customer requests for a method to identify important quality attributes and clarify system requirements before there is a software architecture to which the ATAM could be applied. ATAM: Architecture Tradeoff Analysis Method (http://www.sei.cmu.edu/architecture/tools/atam/) The ATAM process consists of gathering stakeholders together to analyze business drivers and from these drivers extract quality attributes that are used to create scenarios. These scenarios are then used in conjunction with architectural approaches and architectural decisions to create an analysis of trade-offs, sensitivity points, and risks (or non-risks). This analysis can be converted to risk themes and their impacts whereupon the process can be repeated.