SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
!
!
K3#
Keynote!
6/25/2015! !
8:30!AM!
!
!
!
!
“Build#the#Right#Product#Right:#Transitioning#Test#
from#Critiquing#to#Defining”##
Presented#by:#
Gerard#Meszaros#
Independent#Consultant#
#
#
#
#
#
Brought#to#you#by:#
#
#
#
#
#
#
340!Corporate!Way,!Suite!300,!Orange!Park,!FL!32073!
888D268D8770!E!904D278D0524!E!sqeinfo@sqe.com!E!www.sqe.com!
!
!
!
!
!
!!!!! !
!!!!
An independent software development consultant and trainer, Gerard Meszaros has
more than thirty years of experience in software and more than a decade of experience
in agile methods. Gerard is an expert in test automation patterns, refactoring of software
and tests, and design for testability. He has applied automated unit and acceptance
testing on projects ranging from full-on eXtreme Programming to traditional waterfall
development in a wide range of industries. Gerard is an expert in the implementation
and customization of agile methods such as Scrum, lean, and eXtreme Programming.
His book xUnit Test Patterns—Refactoring Test Code won a Jolt Productivity Award in
the Best Technical Book category.
Gerard Meszaros
Independent Consultant
1
1 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Build the Right Product Right
Transitioning Test from Critiquing to Defining
Gerard Meszaros
Independent Consultant
CTO of FeedXL.Com
StarCanada2015@gerardm.com
These slides: http://StarCanada2015.gerardm.com
2 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Product & I.T.
I.T.
Embedded
Telecom
My Background
Gerard Meszaros
StarCanada2015@gerardm.com
• Software developer
• Development manager
• Project Manager
• Software architect
• OOA/OOD Mentor
• Requirements (Use Case) Mentor
• XP/TDD Mentor
• Agile PM Mentor
• Test Automation Consultant & Trainer
• Lean/Agile Coach/Consultant
2
3 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Product & I.T.
I.T.
Embedded
Telecom
My Background
• Software developer
• Development manager
• Project Manager
• Software architect
• OOA/OOD Mentor
• Requirements (Use Case) Mentor
• XP/TDD Mentor
• Agile PM Mentor
• Test Automation Consultant & Trainer
• Lean/Agile Coach/Consultant
Gerard Meszaros
StarCanada2015@gerardm.com
4 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Agile
Dev
I’m From Development and I’m Here to Help
3
5 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Johnny’s Report Card
http://fabulesslyfrugal.com/report-card-freebies-for-good-grades/
6 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
QA as Quality Assessment
4
7 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Dev
Test & Fix “Battleship”
Development
Quality
Assessment
Bug Reports
Software
Requirements
B6! Missed!
Requirements
Test
8 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
The Agile Test Problem
Requirements
Development
Testing
5
9 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
The Agile Test Problem
Testing
Development
Requirements
Testing
Development
Requirements
10 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
The Agile Test Problem
Testing
Development
Requirements
Testing
Development
Requirements
Testing
Development
Requirements
Testing
Development
Requirements
6
11 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Automated Testing is Essential
http://www.cordistech.com/
12 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
http://www.etfile.com/blog/to-automate-or-not-to-automate-that-is-the-question/
7
13 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
empowering
http://www.slideshare.net/b2bSEO/robots-replacing-humans-automation
14 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Value of Automated Tests
Tests as Documentation
Faster regression testing
Faster feedback on impact of changes
Better coverage of data combinations
Test with data without seeing that confidential data
Provides more time for exploratory testing
Can be done off hours; reduces delay/resources
Writing tests helps us understand code better
Know when problem was introduced
Fast sanity checking
Performance or load testing
Setting up complex scenarios for manual/exploratory testing
Unit/module tests improve modularity design and API’s
Help Business understand what we/they are asking for
Courtesy of participants of Tuesday’s tutorial
8
15 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Automated Tests are Just Code
That Tests Other Code
Who Tests This Code?
Who Should Write This Code?
16 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Audience Survey
https://lmsa.site-ym.com/news/221726/Sex-and-Gender-Medical-Education-National-Student-Survey.htm
9
17 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Audience Survey (Part 2)
18 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Audience Survey (Part 3)
http://www.mcas.k12.in.us/Page/4826
10
19 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Insanity:
•  Doing the same thing over and over again and
expecting different results
20 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Project Retrospectives
11
21 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
The Prime Directive
Regardless of what we discover, we
understand and truly believe that
everyone did the best job they could,
given what they knew at the time, their
skills and abilities, the resources
available, and the situation at hand
22 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Agile Retrospectives / Sprint Reviews
12
23 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Ineffective Retrospectives
Stop
Start
More
Actions
1. Do something
2. Do another thing
3. Do yet another
thing
4. Do more stuff
5. Do yet more stuff
6.
24 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Ineffective Retrospectives
Stop
Start
More
Actions
1. Do something
2. Do another thing
3. Do yet another
thing
4. Do more stuff
5. Do yet more stuff
6.
How Do We Improve Retrospectives?
13
25 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
One Experiment per Iteration
Stop
Start
More 1.  Hypothesis
2. Experiment
3. Analyse
4. Communicate
26 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
The Toyota Way
14
27 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
5 Why’s
www.123rf.com
28 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
5 Why’s of Test Automation Being Hard
Tests need to
interact via
the UI
Test
Automation
is Hard!
Product isn’t
designed for
testability
Why? Why?
Why?
Tests are
very complex
15
29 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
5 Why’s of Test Automation Being Hard
Dev doesn’t
know how
(or care)
Tests need to
interact via
the UI
Test
Automation
is Hard!
It’s QA’s
problem
Tests are
automated after
Dev Complete
QA isn’t
involved in
product
definition
Product isn’t
designed for
testability
Why? Why?
Why?
Why?
Why?
Why?
Tests are
very complex
Why?
Why?
30 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
5 Why’s of Test Automation Being Hard
Dev doesn’t
know how
(or care)
Tests need to
interact via
the UI
Test
Automation
is Hard!
It’s QA’s
problem
Tests are
automated after
Dev Complete
QA isn’t
involved in
product
definition
QA is too
busy testing
last release
Product isn’t
designed for
testability
Why? Why?
Why?
Why?
Why?
Why?
Why?
Why?
Tests are
very complex
Why?
Why?
QA is supposed
to be
“independent”
Why?
16
31 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Systems Thinking
A B
+
C
-
Notation:
+ Increasing
- Reducing
32 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Systems Thinking
A B
+
C
-
+ +
Notation:
+ Increasing
- Reducing
Reinforcing
Cycle
Balancing
Cycle
17
33 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Systems Thinking
A B
+
C
-
+ +
Notation:
+ Increasing
- Reducing
Vicious or
Virtuous
Cycle
34 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
5 Why’s of Test Automation Being Hard
Dev doesn’t
know how
(or care)
Tests need to
interact via
the UI
Test
Automation
is Hard!
It’s QA’s
problem
Tests are
automated after
Dev Complete
QA isn’t
involved in
product
definition
QA is too
busy testing
last release
Product isn’t
designed for
testability
Why? Why?
Why?
Why?
Why?
Why?
Why?
Why?
Tests are
very complex
Why?
Why?
QA is supposed
to be
“independent”
Why?
18
35 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Test Automation – Systems Thinking Diagram
Dev doesn’t
know how
(or care)
Tests need to
interact via
the UI
Test
Automation
is Hard!
It’s QA’s
problem
Tests are
automated after
Dev Complete
QA isn’t
involved in
product
definition
QA is too
busy testing
last release
Product isn’t
designed for
testability
+ +
+
+
+
+
+
+
Tests are
very complex
+
+
QA is supposed
to be
“independent”
+
A Vicious Cycle
36 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Conway’s Law
The Architecture of System will resemble the
Organization that Built it.
Development
Team
Test
Team
Business
Team
19
37 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Resulting Architecture
Specifi-
cations
Product
Code
Test
Code
Bus Test
Dev
38 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example-Driven Development
Development flow
Potentially
Executable
Specifications
Example
Interpreter
Code Product
Code
Dev
Test
Dev
DevTestBus Test
20
39 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example-Driven Development
Runtime View:
Product
Code
Example
Interpreter
Code
Report
Card
Potentially
Executable
Specifications
Dev
Test
Dev
DevTestBus Test
40 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example-Driven Development
Feedback Loops:
Potentially
Executable
Specifications Product
Code
Example
Interpreter
Code
Report
Card
What they say
How they say it
21
41 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example-Driven Development
Feedback Loops:
Potentially
Executable
Specifications Product
Code
Example
Interpreter
Code
Report
Card
What they say
How they say it
Isn’t This “Just”
Test Automation
By Another Name?
42 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Tests vs. Checks vs. Examples?ref: http://www.satisfice.com/blog/archives/856
22
43 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Preparing Good Examples
http://thepracticalleader.com/
44 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example: Notifying of Bank Transactions
Configure
Notification
Rules
Suspend
Notification
Resume
Notification
Account
Holder
Process
Transaction
Transaction
Settlement
NotifybasedonchargeType
NotifybasedonchargeContinent
NotifybasedonchargeCountry
NotifybasedonchargeCity&State
SuspendNotification
23
45 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Checking Notifications
•  Open MegaBank app
•  Log in as “BobMa” with password ******
•  Click on “Manage Notifications” tab
•  Click on “Add New Rule” button
•  Select account “10035692877”
•  Type “Default Rule” into field “rule name”
•  Type “1000” into field “threshold amount”
•  Click on “all transaction types” radio button
•  Click on “all locations” radio button
•  Click on “save changes” button
•  …
•  …
46 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Checking Notifications – 1/2
Given:
User and Accounts
Another
attempt:
When:
Notification
Rule is Configured
Then:
Notification Rule
Configured and
Active
Then:
Notification Rule
is Active
24
47 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Checking Notifications – 2/2
Then: Expected
Notifications
When: The
Transactions to
be processed
Another
attempt:
48 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Test Automation Pyramid
Pyramid originally proposed by Mike Cohn
Exploratory Tests
Unit Tests
Component
Tests (API)
System
Tests (GUI)
25
49 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Behavior Specification at Right Level
Unit Tests
Component
Tests (API)
System
Tests (GUI)
Broad Narrow
Detail
HighLow
Scope
50 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Behavior Specification at Right Level
Broad Narrow
Detail
HighLow
Scope
Component
Tests (API)
System
Tests (GUI)
26
51 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Behavior Specification at Right Level
Component
Tests (API)
System
Tests (GUI)
Rules &
Algorithms
Multi-
Use Case
Workflows
Incomplete
Spec
Too
much detail
Unmaintainable
Detail
HighLow
Broad Narrow
Scope
Transactions
(Use Cases)
52 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Too
much detail
Unmaintainable
Changing Level of Abstraction/Detail
Rules &
Algorithms
Multi-
Use Case
Workflows
Transactions
(Use Cases)
Reduce
Scope a Lot!
ReduceDetailaLot
Reduce
Both a bit
Incomplete
Spec
Broad Narrow
Detail
HighLow
Scope
27
53 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Refactoring Workflow Example
Given:
User and Accounts
When:
Notification
Rule is Configured
Then:
Notification Rule
Configured and
Active
Then:
Notification Rule
is Active
54 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Refactoring Workflow Example
“If it isn’t essential to conveying the
essence of the behavior, it is essential to
not include it.”
28
55 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Then: Expected
Notifications
When: The
Transactions to
be processed
Refactoring Workflow Example
56 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Refactoring Workflow Example
29
57 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Refactoring Workflow Example
58 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Refactoring Workflow ExampleGiven:
User &
Thresholds
When:
Transactions
Are Processed
Then:
We Expect
Notifications
30
59 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Given:
User &
Thresholds
When:
Transactions
Are Processed
Then:
We Expect
Notifications
credit
credit
9991113333
Refactoring Workflow Example
60 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
9991113333
Refactoring Workflow Example
Broad Scope (Multi-Actor);
Minimum Detail (per Actor/Transaction);
Given:
User &
Thresholds
When:
Transactions
Are Processed
Then:
We Expect
Notifications
credit
credit
31
61 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Filling in the Details
Rules &
Algorithms
Multi-
Use Case
Workflows
Transactions
(Use Cases)
Incomplete
Spec
ReduceDetailaLot
Reduce
Both a bit
Too
much detail
Unmaintainable
Reduce
Scope a Lot!
Broad Narrow
Detail
HighLow
Scope
62 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Business Rule Example
Process Transaction
Threshold per Charge Type
Configuration
32
63 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Process Transaction
Threshold per Charge Type
Narrow Scope (Single Rule)
High Detail (Everything that matters)
Example:
Configuration Given these
rules
Then: The
answer should be
Business Rule Example
When we ask
NotificationRequired?
with this transaction:
64 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Life Cycle of an Example
User
Goal
Feature
Story
Title
Story
Narrative
Story
Scenarios
Story
Examples
Executable
Examples
Satisfied
Examples
Formalize
Automate
Develop
Product
Make Concrete
Add Data
Define
Acceptance
Criteria
Work
Breakdown
Product
Design &
Validation
Elaborate
33
65 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Who Does Activities on an Example
User
Goal
Feature
Story
Title
Story
Narrative
Story
Scenarios
Story
Examples
Executable
Examples
Satisfied
Examples
Formalize
Automate
Develop
Product
Make Concrete
Add Data
Define
Acceptance
Criteria
Work
Breakdown
Product
Design &
Validation
Elaborate
DevTest
Bus
DevTest Bus
Dev
Test
Bus
66 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Test-After Architecture
System Under Test
Should we
Notify?Process
Transaction
Configure
Notification
Threshold
Notification
Rules
Transaction
Interface
Configuration
User
Interface
Notification
Log
Workflow
Test
Do
Notification.
Bus
Test Dev
34
67 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Example-Driven Architecture
System Under Test
Should we
Notify?
Do
Notification.
Process
Transaction
Configure
Notification
Threshold
Notification
Rules
Notification
Log
Transaction
Interface
Configuration
User
Interface
Workflow
Example
Workflow
Keyword
Interpreter
Dev Dev
Bus
Test
68 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Transaction
Interface
Configuration
User
Interface
Configure
Notification
Threshold System Under Test
EDA – Business Rules
Do
Notification.
Process
Transaction
Notification
Rules
Notification
Log
Notification
Method Example
Notification
Rules Fake
Notification
Rule Example
Should we
Notify?
Example
Interpreter
Example
Interpreter
Dev
Bus
Test Dev
35
69 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
EDA – Business Rules
Should we
Notify?
Notification
Rules Fake
Notification
Rule Example
Example
Interpreter
Dev
Bus
Test Dev
70 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
After State – Back to Our Systems Diagram
Dev doesn’t
know how
(or care)
Tests need to
interact via
the UI
Test
Automation
is Hard!
It’s QA’s
problem
Tests are
automated after
Dev Complete
QA isn’t
involved in
product
definition
QA is too
busy testing
last release
Product isn’t
designed for
testability
+ +
+
+
+
+
+
+
Tests are
very complex
+
+
QA is supposed
to be
“independent”
+
X
X
X
X X
XXX
36
71 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
After State – Back to Our Systems Diagram
Dev knows
how (and
cares)
Examples
don’t need to
interact via
the UI
Automated
checking is
Easy!
Automation
is Dev’s
problem
Examples are
automated
before Dev
starts
QA is
involved in
product
definition
QA has time for
Examples and
Exploratory
testing
Product is
designed for
testability
+ +
+
+
+
+
+
+
Examples are
simple
+
+
A Virtuous Cycle
72 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
My Challenge to You
Stop
Start
More 1.  Hypothesis
2. Experiment
3. Analyse
4. Communicate
37
73 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
74 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com
Thank You!
Gerard Meszaros
StarCanada2015@gerardm.com
http://www.xunitpatterns.com
Slides: http://StarCanada2015.gerardm.com
Call me when you:
•  Want to transition to Agile or Lean
•  Want to do Agile or Lean better
•  Want to teach developers how to test
•  Need help with test automation strategy
•  Want to improve your test automation
Jolt Productivity Award
winner - Technical Books
Available on MSDN:

Contenu connexe

Tendances

Tendances (20)

The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
 
Exploratory Testing with JIRA | QASymphony Webinar
Exploratory Testing with JIRA | QASymphony WebinarExploratory Testing with JIRA | QASymphony Webinar
Exploratory Testing with JIRA | QASymphony Webinar
 
Let's focus more on Quality and less on Testing by Joel Montvelisky
Let's focus more on Quality and less on Testing by Joel MontveliskyLet's focus more on Quality and less on Testing by Joel Montvelisky
Let's focus more on Quality and less on Testing by Joel Montvelisky
 
Smarter Automation with Machine Learning & AI-Based Reporting
Smarter Automation with Machine Learning & AI-Based ReportingSmarter Automation with Machine Learning & AI-Based Reporting
Smarter Automation with Machine Learning & AI-Based Reporting
 
Continuous Testing: The Path Forward
Continuous Testing: The Path ForwardContinuous Testing: The Path Forward
Continuous Testing: The Path Forward
 
Test-Driven Development for Embedded C -- OOP Conference 2015, Munich
Test-Driven Development for Embedded C -- OOP Conference 2015, MunichTest-Driven Development for Embedded C -- OOP Conference 2015, Munich
Test-Driven Development for Embedded C -- OOP Conference 2015, Munich
 
Cloudbrew 2019 observability driven development
Cloudbrew 2019   observability driven developmentCloudbrew 2019   observability driven development
Cloudbrew 2019 observability driven development
 
Observability driven development
Observability driven developmentObservability driven development
Observability driven development
 
Test Driven Development for Embedded C
Test Driven Development for Embedded CTest Driven Development for Embedded C
Test Driven Development for Embedded C
 
The art and joy of testing in production
The art and joy of testing in productionThe art and joy of testing in production
The art and joy of testing in production
 
Patterns of Automation: Simplify Your Test Code
Patterns of Automation: Simplify Your Test CodePatterns of Automation: Simplify Your Test Code
Patterns of Automation: Simplify Your Test Code
 
Try: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim GrantTry: Fail, Try: Succeed by Tim Grant
Try: Fail, Try: Succeed by Tim Grant
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
 
Advanced Codeless Testing for Web Apps
Advanced Codeless Testing for Web AppsAdvanced Codeless Testing for Web Apps
Advanced Codeless Testing for Web Apps
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
Testing in the Dark
Testing in the DarkTesting in the Dark
Testing in the Dark
 
CRMUG UK November 2015 - Testing testing! Panel Discussion with Scott Durow, ...
CRMUG UK November 2015 - Testing testing! Panel Discussion with Scott Durow, ...CRMUG UK November 2015 - Testing testing! Panel Discussion with Scott Durow, ...
CRMUG UK November 2015 - Testing testing! Panel Discussion with Scott Durow, ...
 
Solid c-accu2014.key
Solid c-accu2014.keySolid c-accu2014.key
Solid c-accu2014.key
 
The Tester’s Role in Agile Planning
The Tester’s Role in Agile PlanningThe Tester’s Role in Agile Planning
The Tester’s Role in Agile Planning
 
DevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph OursDevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph Ours
 

En vedette

En vedette (17)

Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in Practice
 
Agile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesAgile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile Issues
 
Implementing Agile in an FDA Regulated Environment
Implementing Agile in an FDA Regulated EnvironmentImplementing Agile in an FDA Regulated Environment
Implementing Agile in an FDA Regulated Environment
 
Prevent Test Automation Shelfware: A Selenium-WebDriver Case Study
Prevent Test Automation Shelfware: A Selenium-WebDriver Case StudyPrevent Test Automation Shelfware: A Selenium-WebDriver Case Study
Prevent Test Automation Shelfware: A Selenium-WebDriver Case Study
 
Power Your Teams with Git
Power Your Teams with GitPower Your Teams with Git
Power Your Teams with Git
 
Privacy and Data Security: Minimizing Reputational and Legal Risks
Privacy and Data Security: Minimizing Reputational and Legal RisksPrivacy and Data Security: Minimizing Reputational and Legal Risks
Privacy and Data Security: Minimizing Reputational and Legal Risks
 
Create Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem SolvingCreate Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem Solving
 
The Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about ThemThe Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about Them
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Using DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALMUsing DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALM
 
The Adventures of a First-Time Test Lead: An Unexpected Journey
The Adventures of a First-Time Test Lead: An Unexpected JourneyThe Adventures of a First-Time Test Lead: An Unexpected Journey
The Adventures of a First-Time Test Lead: An Unexpected Journey
 
Now That We're Agile, What's a Manager to Do?
Now That We're Agile, What's a Manager to Do?Now That We're Agile, What's a Manager to Do?
Now That We're Agile, What's a Manager to Do?
 
Managing a Software Engineering Team
Managing a Software Engineering TeamManaging a Software Engineering Team
Managing a Software Engineering Team
 
Use Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignUse Business Analysts for User Interface Design
Use Business Analysts for User Interface Design
 
Testing in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development EnvironmentTesting in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development Environment
 
Developing a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud SecurityDeveloping a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud Security
 
From Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesFrom Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User Stories
 

Similaire à Build the Right Product Right: Transitioning Test from Critiquing to Defining

TestIT Software Assurance
TestIT Software AssuranceTestIT Software Assurance
TestIT Software Assurance
testitcouk
 

Similaire à Build the Right Product Right: Transitioning Test from Critiquing to Defining (20)

Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering Challenges
 
Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?
 
CookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomation
 
SDT Blended Model V3 2009
SDT Blended Model V3 2009SDT Blended Model V3 2009
SDT Blended Model V3 2009
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?
 
testingexperience19_09_12
testingexperience19_09_12testingexperience19_09_12
testingexperience19_09_12
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Quality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseQuality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpse
 
Universal test solutions customer testimonial 10192013-v2.2
Universal test solutions customer testimonial 10192013-v2.2Universal test solutions customer testimonial 10192013-v2.2
Universal test solutions customer testimonial 10192013-v2.2
 
Manage Testing by Dependencies—Not Activities
Manage Testing by Dependencies—Not ActivitiesManage Testing by Dependencies—Not Activities
Manage Testing by Dependencies—Not Activities
 
Automated Testing: QA Horizons
Automated Testing: QA HorizonsAutomated Testing: QA Horizons
Automated Testing: QA Horizons
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
 
TestIT Software Assurance
TestIT Software AssuranceTestIT Software Assurance
TestIT Software Assurance
 
Top 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
 
Deploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationDeploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the Organization
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Stamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps BottlenecksStamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps Bottlenecks
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
 
Tech Mastermind - Test Suite 20.10.pdf
Tech Mastermind - Test Suite 20.10.pdfTech Mastermind - Test Suite 20.10.pdf
Tech Mastermind - Test Suite 20.10.pdf
 

Plus de TechWell

Plus de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 
Scale: The Most Hyped Term in Agile Development Today
Scale: The Most Hyped Term in Agile Development TodayScale: The Most Hyped Term in Agile Development Today
Scale: The Most Hyped Term in Agile Development Today
 
Measure DevOps for Objective Continuous Improvement Practices
Measure DevOps for Objective Continuous Improvement PracticesMeasure DevOps for Objective Continuous Improvement Practices
Measure DevOps for Objective Continuous Improvement Practices
 
Microservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern SystemsMicroservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern Systems
 
Automation Anti-Patterns: Deal with Them
Automation Anti-Patterns: Deal with ThemAutomation Anti-Patterns: Deal with Them
Automation Anti-Patterns: Deal with Them
 
Put Agile to the Test: A Case Study for Test Agility on a Large IT Project
Put Agile to the Test: A Case Study for Test Agility on a Large IT ProjectPut Agile to the Test: A Case Study for Test Agility on a Large IT Project
Put Agile to the Test: A Case Study for Test Agility on a Large IT Project
 

Dernier

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Build the Right Product Right: Transitioning Test from Critiquing to Defining

  • 2. ! ! ! ! !!!!! ! !!!! An independent software development consultant and trainer, Gerard Meszaros has more than thirty years of experience in software and more than a decade of experience in agile methods. Gerard is an expert in test automation patterns, refactoring of software and tests, and design for testability. He has applied automated unit and acceptance testing on projects ranging from full-on eXtreme Programming to traditional waterfall development in a wide range of industries. Gerard is an expert in the implementation and customization of agile methods such as Scrum, lean, and eXtreme Programming. His book xUnit Test Patterns—Refactoring Test Code won a Jolt Productivity Award in the Best Technical Book category. Gerard Meszaros Independent Consultant
  • 3. 1 1 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Build the Right Product Right Transitioning Test from Critiquing to Defining Gerard Meszaros Independent Consultant CTO of FeedXL.Com StarCanada2015@gerardm.com These slides: http://StarCanada2015.gerardm.com 2 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Product & I.T. I.T. Embedded Telecom My Background Gerard Meszaros StarCanada2015@gerardm.com • Software developer • Development manager • Project Manager • Software architect • OOA/OOD Mentor • Requirements (Use Case) Mentor • XP/TDD Mentor • Agile PM Mentor • Test Automation Consultant & Trainer • Lean/Agile Coach/Consultant
  • 4. 2 3 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Product & I.T. I.T. Embedded Telecom My Background • Software developer • Development manager • Project Manager • Software architect • OOA/OOD Mentor • Requirements (Use Case) Mentor • XP/TDD Mentor • Agile PM Mentor • Test Automation Consultant & Trainer • Lean/Agile Coach/Consultant Gerard Meszaros StarCanada2015@gerardm.com 4 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Agile Dev I’m From Development and I’m Here to Help
  • 5. 3 5 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Johnny’s Report Card http://fabulesslyfrugal.com/report-card-freebies-for-good-grades/ 6 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com QA as Quality Assessment
  • 6. 4 7 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Dev Test & Fix “Battleship” Development Quality Assessment Bug Reports Software Requirements B6! Missed! Requirements Test 8 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com The Agile Test Problem Requirements Development Testing
  • 7. 5 9 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com The Agile Test Problem Testing Development Requirements Testing Development Requirements 10 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com The Agile Test Problem Testing Development Requirements Testing Development Requirements Testing Development Requirements Testing Development Requirements
  • 8. 6 11 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Automated Testing is Essential http://www.cordistech.com/ 12 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com http://www.etfile.com/blog/to-automate-or-not-to-automate-that-is-the-question/
  • 9. 7 13 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com empowering http://www.slideshare.net/b2bSEO/robots-replacing-humans-automation 14 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Value of Automated Tests Tests as Documentation Faster regression testing Faster feedback on impact of changes Better coverage of data combinations Test with data without seeing that confidential data Provides more time for exploratory testing Can be done off hours; reduces delay/resources Writing tests helps us understand code better Know when problem was introduced Fast sanity checking Performance or load testing Setting up complex scenarios for manual/exploratory testing Unit/module tests improve modularity design and API’s Help Business understand what we/they are asking for Courtesy of participants of Tuesday’s tutorial
  • 10. 8 15 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Automated Tests are Just Code That Tests Other Code Who Tests This Code? Who Should Write This Code? 16 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Audience Survey https://lmsa.site-ym.com/news/221726/Sex-and-Gender-Medical-Education-National-Student-Survey.htm
  • 11. 9 17 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Audience Survey (Part 2) 18 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Audience Survey (Part 3) http://www.mcas.k12.in.us/Page/4826
  • 12. 10 19 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Insanity: •  Doing the same thing over and over again and expecting different results 20 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Project Retrospectives
  • 13. 11 21 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com The Prime Directive Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand 22 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Agile Retrospectives / Sprint Reviews
  • 14. 12 23 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Ineffective Retrospectives Stop Start More Actions 1. Do something 2. Do another thing 3. Do yet another thing 4. Do more stuff 5. Do yet more stuff 6. 24 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Ineffective Retrospectives Stop Start More Actions 1. Do something 2. Do another thing 3. Do yet another thing 4. Do more stuff 5. Do yet more stuff 6. How Do We Improve Retrospectives?
  • 15. 13 25 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com One Experiment per Iteration Stop Start More 1.  Hypothesis 2. Experiment 3. Analyse 4. Communicate 26 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com The Toyota Way
  • 16. 14 27 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 5 Why’s www.123rf.com 28 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 5 Why’s of Test Automation Being Hard Tests need to interact via the UI Test Automation is Hard! Product isn’t designed for testability Why? Why? Why? Tests are very complex
  • 17. 15 29 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 5 Why’s of Test Automation Being Hard Dev doesn’t know how (or care) Tests need to interact via the UI Test Automation is Hard! It’s QA’s problem Tests are automated after Dev Complete QA isn’t involved in product definition Product isn’t designed for testability Why? Why? Why? Why? Why? Why? Tests are very complex Why? Why? 30 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 5 Why’s of Test Automation Being Hard Dev doesn’t know how (or care) Tests need to interact via the UI Test Automation is Hard! It’s QA’s problem Tests are automated after Dev Complete QA isn’t involved in product definition QA is too busy testing last release Product isn’t designed for testability Why? Why? Why? Why? Why? Why? Why? Why? Tests are very complex Why? Why? QA is supposed to be “independent” Why?
  • 18. 16 31 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Systems Thinking A B + C - Notation: + Increasing - Reducing 32 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Systems Thinking A B + C - + + Notation: + Increasing - Reducing Reinforcing Cycle Balancing Cycle
  • 19. 17 33 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Systems Thinking A B + C - + + Notation: + Increasing - Reducing Vicious or Virtuous Cycle 34 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 5 Why’s of Test Automation Being Hard Dev doesn’t know how (or care) Tests need to interact via the UI Test Automation is Hard! It’s QA’s problem Tests are automated after Dev Complete QA isn’t involved in product definition QA is too busy testing last release Product isn’t designed for testability Why? Why? Why? Why? Why? Why? Why? Why? Tests are very complex Why? Why? QA is supposed to be “independent” Why?
  • 20. 18 35 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Test Automation – Systems Thinking Diagram Dev doesn’t know how (or care) Tests need to interact via the UI Test Automation is Hard! It’s QA’s problem Tests are automated after Dev Complete QA isn’t involved in product definition QA is too busy testing last release Product isn’t designed for testability + + + + + + + + Tests are very complex + + QA is supposed to be “independent” + A Vicious Cycle 36 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Conway’s Law The Architecture of System will resemble the Organization that Built it. Development Team Test Team Business Team
  • 21. 19 37 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Resulting Architecture Specifi- cations Product Code Test Code Bus Test Dev 38 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example-Driven Development Development flow Potentially Executable Specifications Example Interpreter Code Product Code Dev Test Dev DevTestBus Test
  • 22. 20 39 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example-Driven Development Runtime View: Product Code Example Interpreter Code Report Card Potentially Executable Specifications Dev Test Dev DevTestBus Test 40 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example-Driven Development Feedback Loops: Potentially Executable Specifications Product Code Example Interpreter Code Report Card What they say How they say it
  • 23. 21 41 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example-Driven Development Feedback Loops: Potentially Executable Specifications Product Code Example Interpreter Code Report Card What they say How they say it Isn’t This “Just” Test Automation By Another Name? 42 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Tests vs. Checks vs. Examples?ref: http://www.satisfice.com/blog/archives/856
  • 24. 22 43 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Preparing Good Examples http://thepracticalleader.com/ 44 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example: Notifying of Bank Transactions Configure Notification Rules Suspend Notification Resume Notification Account Holder Process Transaction Transaction Settlement NotifybasedonchargeType NotifybasedonchargeContinent NotifybasedonchargeCountry NotifybasedonchargeCity&State SuspendNotification
  • 25. 23 45 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Checking Notifications •  Open MegaBank app •  Log in as “BobMa” with password ****** •  Click on “Manage Notifications” tab •  Click on “Add New Rule” button •  Select account “10035692877” •  Type “Default Rule” into field “rule name” •  Type “1000” into field “threshold amount” •  Click on “all transaction types” radio button •  Click on “all locations” radio button •  Click on “save changes” button •  … •  … 46 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Checking Notifications – 1/2 Given: User and Accounts Another attempt: When: Notification Rule is Configured Then: Notification Rule Configured and Active Then: Notification Rule is Active
  • 26. 24 47 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Checking Notifications – 2/2 Then: Expected Notifications When: The Transactions to be processed Another attempt: 48 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Test Automation Pyramid Pyramid originally proposed by Mike Cohn Exploratory Tests Unit Tests Component Tests (API) System Tests (GUI)
  • 27. 25 49 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Behavior Specification at Right Level Unit Tests Component Tests (API) System Tests (GUI) Broad Narrow Detail HighLow Scope 50 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Behavior Specification at Right Level Broad Narrow Detail HighLow Scope Component Tests (API) System Tests (GUI)
  • 28. 26 51 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Behavior Specification at Right Level Component Tests (API) System Tests (GUI) Rules & Algorithms Multi- Use Case Workflows Incomplete Spec Too much detail Unmaintainable Detail HighLow Broad Narrow Scope Transactions (Use Cases) 52 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Too much detail Unmaintainable Changing Level of Abstraction/Detail Rules & Algorithms Multi- Use Case Workflows Transactions (Use Cases) Reduce Scope a Lot! ReduceDetailaLot Reduce Both a bit Incomplete Spec Broad Narrow Detail HighLow Scope
  • 29. 27 53 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Refactoring Workflow Example Given: User and Accounts When: Notification Rule is Configured Then: Notification Rule Configured and Active Then: Notification Rule is Active 54 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Refactoring Workflow Example “If it isn’t essential to conveying the essence of the behavior, it is essential to not include it.”
  • 30. 28 55 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Then: Expected Notifications When: The Transactions to be processed Refactoring Workflow Example 56 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Refactoring Workflow Example
  • 31. 29 57 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Refactoring Workflow Example 58 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Refactoring Workflow ExampleGiven: User & Thresholds When: Transactions Are Processed Then: We Expect Notifications
  • 32. 30 59 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Given: User & Thresholds When: Transactions Are Processed Then: We Expect Notifications credit credit 9991113333 Refactoring Workflow Example 60 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 9991113333 Refactoring Workflow Example Broad Scope (Multi-Actor); Minimum Detail (per Actor/Transaction); Given: User & Thresholds When: Transactions Are Processed Then: We Expect Notifications credit credit
  • 33. 31 61 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Filling in the Details Rules & Algorithms Multi- Use Case Workflows Transactions (Use Cases) Incomplete Spec ReduceDetailaLot Reduce Both a bit Too much detail Unmaintainable Reduce Scope a Lot! Broad Narrow Detail HighLow Scope 62 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Business Rule Example Process Transaction Threshold per Charge Type Configuration
  • 34. 32 63 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Process Transaction Threshold per Charge Type Narrow Scope (Single Rule) High Detail (Everything that matters) Example: Configuration Given these rules Then: The answer should be Business Rule Example When we ask NotificationRequired? with this transaction: 64 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Life Cycle of an Example User Goal Feature Story Title Story Narrative Story Scenarios Story Examples Executable Examples Satisfied Examples Formalize Automate Develop Product Make Concrete Add Data Define Acceptance Criteria Work Breakdown Product Design & Validation Elaborate
  • 35. 33 65 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Who Does Activities on an Example User Goal Feature Story Title Story Narrative Story Scenarios Story Examples Executable Examples Satisfied Examples Formalize Automate Develop Product Make Concrete Add Data Define Acceptance Criteria Work Breakdown Product Design & Validation Elaborate DevTest Bus DevTest Bus Dev Test Bus 66 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Test-After Architecture System Under Test Should we Notify?Process Transaction Configure Notification Threshold Notification Rules Transaction Interface Configuration User Interface Notification Log Workflow Test Do Notification. Bus Test Dev
  • 36. 34 67 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Example-Driven Architecture System Under Test Should we Notify? Do Notification. Process Transaction Configure Notification Threshold Notification Rules Notification Log Transaction Interface Configuration User Interface Workflow Example Workflow Keyword Interpreter Dev Dev Bus Test 68 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Transaction Interface Configuration User Interface Configure Notification Threshold System Under Test EDA – Business Rules Do Notification. Process Transaction Notification Rules Notification Log Notification Method Example Notification Rules Fake Notification Rule Example Should we Notify? Example Interpreter Example Interpreter Dev Bus Test Dev
  • 37. 35 69 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com EDA – Business Rules Should we Notify? Notification Rules Fake Notification Rule Example Example Interpreter Dev Bus Test Dev 70 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com After State – Back to Our Systems Diagram Dev doesn’t know how (or care) Tests need to interact via the UI Test Automation is Hard! It’s QA’s problem Tests are automated after Dev Complete QA isn’t involved in product definition QA is too busy testing last release Product isn’t designed for testability + + + + + + + + Tests are very complex + + QA is supposed to be “independent” + X X X X X XXX
  • 38. 36 71 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com After State – Back to Our Systems Diagram Dev knows how (and cares) Examples don’t need to interact via the UI Automated checking is Easy! Automation is Dev’s problem Examples are automated before Dev starts QA is involved in product definition QA has time for Examples and Exploratory testing Product is designed for testability + + + + + + + + Examples are simple + + A Virtuous Cycle 72 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com My Challenge to You Stop Start More 1.  Hypothesis 2. Experiment 3. Analyse 4. Communicate
  • 39. 37 73 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com 74 Copyright 2015 Gerard Meszaroshttp://StarCanada2015.gerardm.com Thank You! Gerard Meszaros StarCanada2015@gerardm.com http://www.xunitpatterns.com Slides: http://StarCanada2015.gerardm.com Call me when you: •  Want to transition to Agile or Lean •  Want to do Agile or Lean better •  Want to teach developers how to test •  Need help with test automation strategy •  Want to improve your test automation Jolt Productivity Award winner - Technical Books Available on MSDN: