SlideShare a Scribd company logo
@EvilTester | EvilTester.com/agile
Common Questions about Testing on
Agile Projects
@EvilTester | EvilTester.com/agile
What is Agile Testing?
A Test approach crafted uniquely for your specific environment.
Test in a way that fits, and adapts to, your Agile Development.
Nothing complicated. Involve everyone on the team in your
Testing process, because Testing is a major part of your
Software Development Process.
@EvilTester | EvilTester.com/agile
What is Agile Testing?
Every Agile project is unique ‐ staff mix, skill sets, business
concerns, tool sets. You need to adopt a Testing approach crafted
to your specific environment. To do that you need to understand
the essence of testing in terms of feedback, and as a means of
evaluating and exploring models of your system. Then test in a way
that fits, and adapts to, your approach to Agile Development.
Nothing complicated. Don't shoe horn in something you would
traditionally call 'Testing' and label it Agile. Do Adapt your process
to meet the needs of your project. And do involve everyone in your
Testing process, because Testing is a major part of your Software
Development Process.
@EvilTester | EvilTester.com/agile
Do we still need testers in Agile?
Once you've worked with a good tester, this question won't even
cross your mind.
You still need to test, and you need people to do that. You can
train other people to test, but they may not have the
motivation to learn testing in depth and push your System to
its limits.
@EvilTester | EvilTester.com/agile
Do we still need testers in Agile?
People often ask this question because they've never seen a good
tester in action. After working with a good tester, this question
won't even cross your mind. You still need to test, and you still need
people testing your software. You'll need the people doing that to
understand how to test, and to test well. Testers generally know
how to do that. But of course you can train other people to do your
testing. They may not have the same motivation to continue to
learn testing in depth and the nuances and subtleties of system and
risk exploration as people who view testing as their main focus.
@EvilTester | EvilTester.com/agile
What is an Agile Tester?
An Agile Tester brings flexibility to their role.
They take the essence of testing and implement it as part of
your Agile System of Development. They explore the System
deeply, spot Risks, and ask questions to help everyone think
differently about the quality of the software and the process of
development.
@EvilTester | EvilTester.com/agile
What is an Agile Tester?
An Agile Tester brings flexibility to the role of tester. They don't just
quote testing books at you and best practice definitions. They take
the essence of testing and help implement it as part of your Agile
System of Development. They will know how to test with minimal
information and ask questions to help other people think about the
quality of the software and the process of building the software.
They will know how to spot risks and target those risks with hands
on system manipulation. Very often they spot gaps in the
development process and help fill them.
@EvilTester | EvilTester.com/agile
What does a Software Tester Actually
Do?
Testing builds a model and compares it to the delivered system.
Models like: requirements, acceptance criteria, risk ﴾business,
technical, process﴿, flow, and functionality.
A tester expands the model by observing, exploring,
interrogating and manipulating the system.
@EvilTester | EvilTester.com/agile
What does a Software Tester Actually
Do?
The essence of Software Testing is building a model of the System
Under Test, and then comparing that model to the delivered
system. A tester builds lots of models; requirements, acceptance
criteria, risk ﴾business, technical, process﴿, flow, functionality, et. The
tester has different techniques to prioritise how they explore the
relationship between the model and the system. A good Tester
adapts their model based on the information they observe as the
interrogate and manipulate the system, the reflect on this
information to communicate effectively and expand their model.
@EvilTester | EvilTester.com/agile
Should we automate our testing?
Automate execution flows through the system to assert on
agreed acceptance conditions.
Humans automate the mechanistic, to free ourselves to use
emotion and imagination. We should look for opportunities to
automate parts of our testing process.
@EvilTester | EvilTester.com/agile
Should we automate our testing?
We are Human. Humans automate processes. We will automate the
mechanistic parts of our processes, to free ourselves from drudgery
and allow us to more fully exercise our emotion and imagination in
our Software Development. We use IDEs to automate parts of the
coding and refactoring processes, we automate builds and software
releases. We should look for opportunities to automate as part of
our testing process ‐ often this will be checking, and asserting on,
the agreed acceptance conditions. We can automate execution
flows through the system with pre‐agreed acceptance condition
assertions. This is only a small part of evaluating the risk associated
with releasing software, but it can be automated.
@EvilTester | EvilTester.com/agile
What tools should we use for our Agile
Testing?
That depends on your technology. Automate strategically and
tactically.
Strategically automate system execution making it
maintainable and robust.
Tactically use tools to support deep system Observation,
Exploration, Interrogation and Manipulation.
@EvilTester | EvilTester.com/agile
What tools should we use for our Agile
Testing?
Your tooling will vary depending on the technology you use. You'll
need tools to help you strategically automate system execution to
make it maintainable and robust. You'll need tools to support you
in tactically Observing the system functionality and message
passing in detail. Tools to help you Interrogate and Manipulate the
System in ways a User would never need to do, to help you Explore
the System in detail. I generally try to use the same tools as the rest
of the development team. I don't recommend separate "Test
Tracking" tools, when you do that you end up having only Testers
use them, and we want to harness the skills of all team members as
part of our Testing process.
@EvilTester | EvilTester.com/agile
How Much Should we Automate?
Automate to convince yourself the system continues to meet the
acceptance criteria.
Review the automated execution code, to ensure it is relevant,
delete anything that takes time to maintain but doesn't help
evaluate the risk of release.
@EvilTester | EvilTester.com/agile
How Much Should we Automate?
Automate as much as you need to. Are you convinced that you
have a low risk of changes unexpectedly and adversely impacting
previously tested areas of the System? Are you convinced that the
agreed Acceptance Criteria are still met by the System? As you
maintain your automated execution code, review what you have
created to make sure it still seems relevant, and delete anything
that takes time to maintain but doesn't help you evaluate the risk of
the release.
@EvilTester | EvilTester.com/agile
How can we automate and still finish the
sprint?
Commit to automating as part of your Definition of Done.
Don't just write code, commit to maintaining an system which
automatically asserts that you continue to meet the
acceptance criteria the code was designed to fulfil.
@EvilTester | EvilTester.com/agile
How can we automate and still finish the
sprint?
Automating acceptance criteria is part of your sprint planning.
Commit to automating as part of your Definition of Done. Don't
just write code, commit to maintaining an system which
automatically asserts that you continue to meet the acceptance
criteria the code was designed to fulfill. It is possible to work on the
acceptance criteria checking in parallel to writing system code. Take
advantage of abstraction layers and good coding and design
principles to support your development process.
@EvilTester | EvilTester.com/agile
How can we finish all our testing in the
sprint?
If you haven't finished testing, then you don't release that
functionality.
Everyone on the team tests to the best of their ability. Leave
the simple condition checking to the automated system or
people less skilled in testing.
@EvilTester | EvilTester.com/agile
How can we finish all our testing in the
sprint?
Making time for Testing is part of your sprint planning. Don't create
a bottleneck by having a single person allocated to testing. Have
everyone on the team test the software to the best of the ability,
and use the people who are best at testing to really explore the
risks and conditions in detail while leaving the simple condition
checking to the automated system or people less skilled in testing.
If you haven't finished testing, then you can't evaluate the risk, and
you don't release that functionality.
@EvilTester | EvilTester.com/agile
Free ‐ Download and Print Your Own
"The Evil Tester's Guide to Agile Testing
Brochure"
At EvilTester.com/agile
@EvilTester | EvilTester.com/agile
@EvilTester | EvilTester.com/agile
@EvilTester | EvilTester.com/agile
Help Your Teams Improve How They Test
and Develop Software
You can learn to test and develop software using Agile processes
through trial and error. You'll learn the hard way from your own
mistakes.
You could bring in contractors who are experienced in Agile to
work on your projects with you. They'll help you work in a more
Agile way but they'll be busy doing the work and might not have
the necessary time to pass on their experience to the rest of the
team.
You could bring in an Agile Coach and mentor who is there
specifically to help you improve. They are not on your project 100%
of the time, they work with you to help you improve.
@EvilTester | EvilTester.com/agile
An Agile Software Development coach and mentor can short cut
your learning and help you:
Automate your APIs
Automate to support Continuous Integration & Exploratory
Testing
Remove intermittent failures from your Automated execution
Refactor your code to make it more testable
Improve pairing on TDD and exploratory testing
Increase the value of your retrospectives so you take action
Improve your exploratory testing, making it more transparent,
thorough and technical.
@EvilTester | EvilTester.com/agile
Alan Richardson is someone who has done all of this before.
Combining a background in Testing and Programming, Alan can
work with all of your team members to help improve your Agile
Development Approach.
Alan consults through Compendium Developments Ltd and
helps teams improve their testing and development processes,
Alan blogs at Evil Tester, Java For Testers, and Selenium
Simplified
Alan has written 4 books "Java For Testers", "Dear Evil Tester",
"Automating and Testing a REST API" and "Selenium
Simplified"
Alan talks and keynotes at conferences world wide, also
providing workshops and tutorials.
@EvilTester | EvilTester.com/agile
Contact Alan to help you with your Agile
Testing and Development
Compendium Developments Ltd
Contact Alan
http://compendiumdev.co.uk/contact
@EvilTester | EvilTester.com/agile

More Related Content

What's hot

Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
Joseph Beale
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
vodQA
 
Agile test tools
Agile test toolsAgile test tools
Agile test tools
Agile Partner S.A.
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinDirecti Group
 
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary ThornThe 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
TEST Huddle
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in Agile
TEST Huddle
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
Gaya1985
 
Agile testing
Agile testingAgile testing
Agile testing
Yogita patil
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
Anand Bagmar
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
Mikalai Alimenkou
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test StrategyThe Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy
TechWell
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
Subrahmaniam S.R.V
 
Agile testing practice
Agile testing practiceAgile testing practice
Agile testing practice
Mary Jiang
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
Raymond Adrian (Rad) Butalid
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
Atlassian
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
Anand Bagmar
 
QA in Agile
QA in AgileQA in Agile
QA in Agile
Mikalai Alimenkou
 

What's hot (20)

Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Agile test tools
Agile test toolsAgile test tools
Agile test tools
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
 
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary ThornThe 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary Thorn
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Integrate Test Activities in Agile
Integrate Test Activities in AgileIntegrate Test Activities in Agile
Integrate Test Activities in Agile
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test StrategyThe Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Agile testing practice
Agile testing practiceAgile testing practice
Agile testing practice
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
QA in Agile
QA in AgileQA in Agile
QA in Agile
 

Similar to Evil Tester's Guide to Agile Testing

! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
Dennis Popov
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile era
QASymphony
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
kiansahafi
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
anuvip
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
Kanoah
 
Testing and quality
Testing and qualityTesting and quality
Testing and quality
Ozi Saputra
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
Daniel Giraldo
 
Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problem
Johan Hoberg
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
David Tzemach
 
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfExploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
pCloudy
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Michael Larsen
 
Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology  Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology
Zoe Gilbert
 
01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testing
Tricia Karina
 
Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented SoftwareAnnmarie Lanesey
 
Automated software testing
Automated software testingAutomated software testing
Automated software testinggauravpanwar8
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Automation testing: how tools are important?
Automation testing: how tools are important?Automation testing: how tools are important?
Automation testing: how tools are important?
MD ISLAM
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
Rachel Davis
 
Influence of emphasized automation in ci
Influence of emphasized automation in ciInfluence of emphasized automation in ci
Influence of emphasized automation in ci
BugRaptors
 

Similar to Evil Tester's Guide to Agile Testing (20)

! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Tackling software testing challenges in the agile era
Tackling software testing challenges in the agile eraTackling software testing challenges in the agile era
Tackling software testing challenges in the agile era
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software Testing Principles
Software Testing PrinciplesSoftware Testing Principles
Software Testing Principles
 
Testing and quality
Testing and qualityTesting and quality
Testing and quality
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problem
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfExploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
 
Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology  Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology
 
01. foundamentals of testing
01. foundamentals of testing01. foundamentals of testing
01. foundamentals of testing
 
Growing Object Oriented Software
Growing Object Oriented SoftwareGrowing Object Oriented Software
Growing Object Oriented Software
 
Automated software testing
Automated software testingAutomated software testing
Automated software testing
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Automation testing: how tools are important?
Automation testing: how tools are important?Automation testing: how tools are important?
Automation testing: how tools are important?
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Influence of emphasized automation in ci
Influence of emphasized automation in ciInfluence of emphasized automation in ci
Influence of emphasized automation in ci
 

More from Alan Richardson

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021
Alan Richardson
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment Testing
Alan Richardson
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009
Alan Richardson
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
Alan Richardson
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing Webinar
Alan Richardson
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
Alan Richardson
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slides
Alan Richardson
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
Alan Richardson
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan Richardson
Alan Richardson
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStrings
Alan Richardson
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
Alan Richardson
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil Tester
Alan Richardson
 
Shift left-testing
Shift left-testingShift left-testing
Shift left-testing
Alan Richardson
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST API
Alan Richardson
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" Game
Alan Richardson
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzz
Alan Richardson
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to code
Alan Richardson
 
How To Test With Agility
How To Test With AgilityHow To Test With Agility
How To Test With Agility
Alan Richardson
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be Flaky
Alan Richardson
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.
Alan Richardson
 

More from Alan Richardson (20)

Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021Add More Security To Your Testing and Automating - Saucecon 2021
Add More Security To Your Testing and Automating - Saucecon 2021
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment Testing
 
Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing Webinar
 
Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
Secrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slidesSecrets and Mysteries of Automated Execution Keynote slides
Secrets and Mysteries of Automated Execution Keynote slides
 
Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604Automating Pragmatically - Testival 20190604
Automating Pragmatically - Testival 20190604
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan Richardson
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStrings
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil Tester
 
Shift left-testing
Shift left-testingShift left-testing
Shift left-testing
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST API
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" Game
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzz
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to code
 
How To Test With Agility
How To Test With AgilityHow To Test With Agility
How To Test With Agility
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be Flaky
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.
 

Recently uploaded

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 

Recently uploaded (20)

Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 

Evil Tester's Guide to Agile Testing

  • 2. Common Questions about Testing on Agile Projects @EvilTester | EvilTester.com/agile
  • 3. What is Agile Testing? A Test approach crafted uniquely for your specific environment. Test in a way that fits, and adapts to, your Agile Development. Nothing complicated. Involve everyone on the team in your Testing process, because Testing is a major part of your Software Development Process. @EvilTester | EvilTester.com/agile
  • 4. What is Agile Testing? Every Agile project is unique ‐ staff mix, skill sets, business concerns, tool sets. You need to adopt a Testing approach crafted to your specific environment. To do that you need to understand the essence of testing in terms of feedback, and as a means of evaluating and exploring models of your system. Then test in a way that fits, and adapts to, your approach to Agile Development. Nothing complicated. Don't shoe horn in something you would traditionally call 'Testing' and label it Agile. Do Adapt your process to meet the needs of your project. And do involve everyone in your Testing process, because Testing is a major part of your Software Development Process. @EvilTester | EvilTester.com/agile
  • 5. Do we still need testers in Agile? Once you've worked with a good tester, this question won't even cross your mind. You still need to test, and you need people to do that. You can train other people to test, but they may not have the motivation to learn testing in depth and push your System to its limits. @EvilTester | EvilTester.com/agile
  • 6. Do we still need testers in Agile? People often ask this question because they've never seen a good tester in action. After working with a good tester, this question won't even cross your mind. You still need to test, and you still need people testing your software. You'll need the people doing that to understand how to test, and to test well. Testers generally know how to do that. But of course you can train other people to do your testing. They may not have the same motivation to continue to learn testing in depth and the nuances and subtleties of system and risk exploration as people who view testing as their main focus. @EvilTester | EvilTester.com/agile
  • 7. What is an Agile Tester? An Agile Tester brings flexibility to their role. They take the essence of testing and implement it as part of your Agile System of Development. They explore the System deeply, spot Risks, and ask questions to help everyone think differently about the quality of the software and the process of development. @EvilTester | EvilTester.com/agile
  • 8. What is an Agile Tester? An Agile Tester brings flexibility to the role of tester. They don't just quote testing books at you and best practice definitions. They take the essence of testing and help implement it as part of your Agile System of Development. They will know how to test with minimal information and ask questions to help other people think about the quality of the software and the process of building the software. They will know how to spot risks and target those risks with hands on system manipulation. Very often they spot gaps in the development process and help fill them. @EvilTester | EvilTester.com/agile
  • 9. What does a Software Tester Actually Do? Testing builds a model and compares it to the delivered system. Models like: requirements, acceptance criteria, risk ﴾business, technical, process﴿, flow, and functionality. A tester expands the model by observing, exploring, interrogating and manipulating the system. @EvilTester | EvilTester.com/agile
  • 10. What does a Software Tester Actually Do? The essence of Software Testing is building a model of the System Under Test, and then comparing that model to the delivered system. A tester builds lots of models; requirements, acceptance criteria, risk ﴾business, technical, process﴿, flow, functionality, et. The tester has different techniques to prioritise how they explore the relationship between the model and the system. A good Tester adapts their model based on the information they observe as the interrogate and manipulate the system, the reflect on this information to communicate effectively and expand their model. @EvilTester | EvilTester.com/agile
  • 11. Should we automate our testing? Automate execution flows through the system to assert on agreed acceptance conditions. Humans automate the mechanistic, to free ourselves to use emotion and imagination. We should look for opportunities to automate parts of our testing process. @EvilTester | EvilTester.com/agile
  • 12. Should we automate our testing? We are Human. Humans automate processes. We will automate the mechanistic parts of our processes, to free ourselves from drudgery and allow us to more fully exercise our emotion and imagination in our Software Development. We use IDEs to automate parts of the coding and refactoring processes, we automate builds and software releases. We should look for opportunities to automate as part of our testing process ‐ often this will be checking, and asserting on, the agreed acceptance conditions. We can automate execution flows through the system with pre‐agreed acceptance condition assertions. This is only a small part of evaluating the risk associated with releasing software, but it can be automated. @EvilTester | EvilTester.com/agile
  • 13. What tools should we use for our Agile Testing? That depends on your technology. Automate strategically and tactically. Strategically automate system execution making it maintainable and robust. Tactically use tools to support deep system Observation, Exploration, Interrogation and Manipulation. @EvilTester | EvilTester.com/agile
  • 14. What tools should we use for our Agile Testing? Your tooling will vary depending on the technology you use. You'll need tools to help you strategically automate system execution to make it maintainable and robust. You'll need tools to support you in tactically Observing the system functionality and message passing in detail. Tools to help you Interrogate and Manipulate the System in ways a User would never need to do, to help you Explore the System in detail. I generally try to use the same tools as the rest of the development team. I don't recommend separate "Test Tracking" tools, when you do that you end up having only Testers use them, and we want to harness the skills of all team members as part of our Testing process. @EvilTester | EvilTester.com/agile
  • 15. How Much Should we Automate? Automate to convince yourself the system continues to meet the acceptance criteria. Review the automated execution code, to ensure it is relevant, delete anything that takes time to maintain but doesn't help evaluate the risk of release. @EvilTester | EvilTester.com/agile
  • 16. How Much Should we Automate? Automate as much as you need to. Are you convinced that you have a low risk of changes unexpectedly and adversely impacting previously tested areas of the System? Are you convinced that the agreed Acceptance Criteria are still met by the System? As you maintain your automated execution code, review what you have created to make sure it still seems relevant, and delete anything that takes time to maintain but doesn't help you evaluate the risk of the release. @EvilTester | EvilTester.com/agile
  • 17. How can we automate and still finish the sprint? Commit to automating as part of your Definition of Done. Don't just write code, commit to maintaining an system which automatically asserts that you continue to meet the acceptance criteria the code was designed to fulfil. @EvilTester | EvilTester.com/agile
  • 18. How can we automate and still finish the sprint? Automating acceptance criteria is part of your sprint planning. Commit to automating as part of your Definition of Done. Don't just write code, commit to maintaining an system which automatically asserts that you continue to meet the acceptance criteria the code was designed to fulfill. It is possible to work on the acceptance criteria checking in parallel to writing system code. Take advantage of abstraction layers and good coding and design principles to support your development process. @EvilTester | EvilTester.com/agile
  • 19. How can we finish all our testing in the sprint? If you haven't finished testing, then you don't release that functionality. Everyone on the team tests to the best of their ability. Leave the simple condition checking to the automated system or people less skilled in testing. @EvilTester | EvilTester.com/agile
  • 20. How can we finish all our testing in the sprint? Making time for Testing is part of your sprint planning. Don't create a bottleneck by having a single person allocated to testing. Have everyone on the team test the software to the best of the ability, and use the people who are best at testing to really explore the risks and conditions in detail while leaving the simple condition checking to the automated system or people less skilled in testing. If you haven't finished testing, then you can't evaluate the risk, and you don't release that functionality. @EvilTester | EvilTester.com/agile
  • 21. Free ‐ Download and Print Your Own "The Evil Tester's Guide to Agile Testing Brochure" At EvilTester.com/agile @EvilTester | EvilTester.com/agile
  • 24. Help Your Teams Improve How They Test and Develop Software You can learn to test and develop software using Agile processes through trial and error. You'll learn the hard way from your own mistakes. You could bring in contractors who are experienced in Agile to work on your projects with you. They'll help you work in a more Agile way but they'll be busy doing the work and might not have the necessary time to pass on their experience to the rest of the team. You could bring in an Agile Coach and mentor who is there specifically to help you improve. They are not on your project 100% of the time, they work with you to help you improve. @EvilTester | EvilTester.com/agile
  • 25. An Agile Software Development coach and mentor can short cut your learning and help you: Automate your APIs Automate to support Continuous Integration & Exploratory Testing Remove intermittent failures from your Automated execution Refactor your code to make it more testable Improve pairing on TDD and exploratory testing Increase the value of your retrospectives so you take action Improve your exploratory testing, making it more transparent, thorough and technical. @EvilTester | EvilTester.com/agile
  • 26. Alan Richardson is someone who has done all of this before. Combining a background in Testing and Programming, Alan can work with all of your team members to help improve your Agile Development Approach. Alan consults through Compendium Developments Ltd and helps teams improve their testing and development processes, Alan blogs at Evil Tester, Java For Testers, and Selenium Simplified Alan has written 4 books "Java For Testers", "Dear Evil Tester", "Automating and Testing a REST API" and "Selenium Simplified" Alan talks and keynotes at conferences world wide, also providing workshops and tutorials. @EvilTester | EvilTester.com/agile
  • 27. Contact Alan to help you with your Agile Testing and Development Compendium Developments Ltd Contact Alan http://compendiumdev.co.uk/contact @EvilTester | EvilTester.com/agile