SlideShare a Scribd company logo
1 of 39
Download to read offline
!
!
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:

More Related Content

What's hot

Exploratory Testing with JIRA | QASymphony Webinar
Exploratory Testing with JIRA | QASymphony WebinarExploratory Testing with JIRA | QASymphony Webinar
Exploratory Testing with JIRA | QASymphony WebinarQASymphony
 
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 MontveliskyQA or the Highway
 
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 ReportingPerfecto by Perforce
 
Continuous Testing: The Path Forward
Continuous Testing: The Path ForwardContinuous Testing: The Path Forward
Continuous Testing: The Path ForwardPerfecto by Perforce
 
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, MunichJames Grenning
 
Cloudbrew 2019 observability driven development
Cloudbrew 2019   observability driven developmentCloudbrew 2019   observability driven development
Cloudbrew 2019 observability driven developmentGeert van der Cruijsen
 
Test Driven Development for Embedded C
Test Driven Development for Embedded CTest Driven Development for Embedded C
Test Driven Development for Embedded CJames Grenning
 
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 productionGeert van der Cruijsen
 
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 CodeTechWell
 
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 GrantQA or the Highway
 
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 #AgileIndia2019Agile India
 
Advanced Codeless Testing for Web Apps
Advanced Codeless Testing for Web AppsAdvanced Codeless Testing for Web Apps
Advanced Codeless Testing for Web AppsPerfecto by Perforce
 
Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
Testing in the Dark
Testing in the DarkTesting in the Dark
Testing in the DarkTechWell
 
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, ...Wesleyan
 
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 PlanningTechWell
 
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 OursQA or the Highway
 

What's hot (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
 

Viewers also liked

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 PracticeTechWell
 
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 IssuesTechWell
 
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 EnvironmentTechWell
 
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 StudyTechWell
 
Power Your Teams with Git
Power Your Teams with GitPower Your Teams with Git
Power Your Teams with GitTechWell
 
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 RisksTechWell
 
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 SolvingTechWell
 
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 ThemTechWell
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtTechWell
 
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 ALMTechWell
 
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 JourneyTechWell
 
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?TechWell
 
Managing a Software Engineering Team
Managing a Software Engineering TeamManaging a Software Engineering Team
Managing a Software Engineering TeamTechWell
 
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 DesignTechWell
 
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 EnvironmentTechWell
 
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 SecurityTechWell
 
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 StoriesTechWell
 

Viewers also liked (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
 

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

Tackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesTackling Strategic Engineering Challenges
Tackling Strategic Engineering ChallengesApplause
 
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?TechWell
 
CookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationKazuaki Matsuo
 
SDT Blended Model V3 2009
SDT Blended Model V3 2009SDT Blended Model V3 2009
SDT Blended Model V3 2009Ed Kit
 
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 KinsbrunerQA or the Highway
 
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?Parasoft
 
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 cycleDiUS
 
Quality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseQuality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseTahmid Munaz
 
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.2Universal Technology Solutions
 
Manage Testing by Dependencies—Not Activities
Manage Testing by Dependencies—Not ActivitiesManage Testing by Dependencies—Not Activities
Manage Testing by Dependencies—Not ActivitiesTechWell
 
Automated Testing: QA Horizons
Automated Testing: QA HorizonsAutomated Testing: QA Horizons
Automated Testing: QA HorizonsProttay Karim
 
Software Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | EdurekaEdureka!
 
TestIT Software Assurance
TestIT Software AssuranceTestIT Software Assurance
TestIT Software Assurancetestitcouk
 
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 | EdurekaEdureka!
 
Deploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationDeploying DriveWorks Throughout the Organization
Deploying DriveWorks Throughout the OrganizationRazorleaf Corporation
 
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 opsAgile Montréal
 
Stamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps BottlenecksStamp Out Agile and DevOps Bottlenecks
Stamp Out Agile and DevOps BottlenecksTechWell
 
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 PracticeTechWell
 
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.pdfSaiKumarBorusu
 

Similar to 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
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
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 StrategyTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
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 StrategyTechWell
 
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 DevOpsTechWell
 
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—LeadershipTechWell
 
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 TeamsTechWell
 
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 GameTechWell
 
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 TeamsTechWell
 
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 ImplementationTechWell
 
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 ProcessTechWell
 
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 AutomateTechWell
 
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 SuccessTechWell
 
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 TransformationTechWell
 
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 TodayTechWell
 
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 PracticesTechWell
 
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 SystemsTechWell
 
Automation Anti-Patterns: Deal with Them
Automation Anti-Patterns: Deal with ThemAutomation Anti-Patterns: Deal with Them
Automation Anti-Patterns: Deal with ThemTechWell
 
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 ProjectTechWell
 

More from 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
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

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: