SlideShare a Scribd company logo
{
Agile Testing & Automation:
Lessons Learned & Challenges Issued
You have to start somewhere to get
somewhere
Things I’ve Learned About Agile Testing
& Automation so far…
{ {Output Checking
 Automatable
 Assert requirements
 Verify expected behavior
 Happy paths & unhappy
paths
Exploratory Testing
 Not completely
automatable
 A live thought process
 Tests beyond the
requirements
 Will this actually provide
value?
 Will the customer want
to and be able to use it?
1. Testing is more than checking. Automate
as much of the checking as possible.
Automation doesn’t replace exploratory
testing.
{
2. Testers are really good at writing
automated acceptance/end-to-end tests.
• Protractor & Web Driver with Behavior Driven
Development (BDD) style
• Test the requirements and workflow through the UI
• Act as living documentation
• Simple, business-user language
• Are we making the right software?
• Touch as much of the real world as possible
• Everyone can learn to write them, and we should
write them, but…
{ If you put all of your efforts into only automating
end-to-end tests, you will probably end up with a
lot of fragile, broken, unmaintainable tests. Tests
can be technical debt too.
• End-to-end tests validate through the UI so any
time the UI changes, they can break
• They rely on data points that need to be
managed
{
• Confirm the code is doing
what we say it will do
• Are we making the
application right?
• Small, light, and less
fragile
• Unit tests don’t touch the
external world and don’t
rely on data points
• Require more technical
skill to write – embrace it!
3. Quality products also need unit and
integration tests.
{
4. Code review improves
code quality, reduces bugs,
and leads to writing the
right tests.
• Keep it lightweight, small, frequent, and do it early
• Asynchronous reviews allow people to review when it is
convenient
• Actively share interesting findings or design decisions and
champion quality!
• Treat code reviews as an active state in your workflow, or
they probably won’t happen
• Change the mindset to view code review feedback as a
learning opportunity for both the reviewer and the
reviewee
{
• Leads to clearly thinking about what your code needs
to do before you write it
• Reduces waste (code and tests)
• Sets the goal
• It doesn’t just happen. You make it happen.
5. Test Driven Development (TDD) is
hard & it takes commitment.
6. Automated tests reduce regression
testing time, enabling more rapid
delivery and a shortened feedback loop.
Regression testing estimate 2012/2013 = 1 week +++
Regression testing estimate 2014 = 1 day +/-.
Imagine what we could do in 2015!
{ • User stories are the basis for tests
• Tests set the goal for code
• The relationship between tests and requirements needs
to be tight
• The communication between testers and programmers
needs to be even tighter
7. It takes a whole team.
Developers + Testers + Business People = Beautiful Tests
{
Opportunities
• A consistent approach to test automation to…
• Add value up front and reduce technical debt and maintenance
time down the road
• Build confidence in our releases
• Reducing the feedback loop even more through truly
continuous delivery
• Leveraging Sauce Labs and other tools to automate
cross-browser and mobile testing
• Support and empower teams toward consistency,
quality, and testing
Agile testingandautomation
{
What’s next?
• Outreach to teams. What do you need to make testing a
part of your development process?
• Automation coverage metrics. How are we doing?
Where do we need to focus our attention?
• Big Team’s Definition of Done (DOD)
• Training Roadmap to support DOD
• Team representation at monthly QA COE meetings
• Working with teams to run Watchfire AppScan and
report on security analysis quarterly
• Following up with teams to champion resolution of
security, eAccessibility, or other defects.
Challenge Issued!
 Start changing your mindset right now to
champion quality. Push back when you believe
quality is at risk!
 Don’t wait for the perfect idea, perfect steps, perfect
plan. Start doing something right now!
But what???
 Before you write code, write down what your code
should do.
 Then write some simple expectations. What would
the user expect at the end of the test?
 Fill in the test steps and run your tests.
 Practice continuous improvement.
 This is an attitude.
 I have a set of tests and they all pass.
 I bet I can find 2 more tests that will make the product even
better, or
 How could I refactor some of my tests to be more readable,
more efficient, more valuable?
 I don’t have all of my tests automated.
 I can automate 3 new tests each sprint, or
 I’ve been automating 3 per sprint, I bet I can do 5.
 Pair with pretty much anyone you can an hold one
another accountable for adding tests.
 Pick one story in each sprint and commit as a team to
pair or public pair programming for that story.
Commit to writing tests first for that story.
 Make code review a part of your process. Do a pull
request. Look at someone else’s pull request. I bet you
will find something to improve upon, and maybe even
a bug.
 Fix bugs instead of putting them on the backlog.
Better yet! When you find a bug, write a test for it, and then
fix it or ask someone else to. When the test passes, it’s as if
the bug never existed. You just fixed your bug and added
to your regression test suite.
 Review your Team Agreement and Definition of Done.
 Do you have items your team has agreed upon relating
to quality and testing?
 If not, then you’re probably missing some important
discussions.
Remember, it takes a team!

More Related Content

PPTX
How to get Automated Testing "Done"
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PDF
Test pyramid
PDF
A journey to a Full Stack Tester
PPTX
Developer Testing
PPTX
How to Go Codeless for Automated Mobile App Testing
PPTX
Code review
PDF
How to use selenium successfully
How to get Automated Testing "Done"
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Test pyramid
A journey to a Full Stack Tester
Developer Testing
How to Go Codeless for Automated Mobile App Testing
Code review
How to use selenium successfully

What's hot (20)

PPTX
XP Injection
PPTX
How to be proud when you are done
PDF
Growing a Company Test Community: Roles and Paths for Testers
PDF
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
PDF
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
PPTX
Continuous business goal validation
PDF
Test Driven Development
PPTX
Unit testing for project managers
PPTX
Continuous delivery test strategies
PDF
Way to Agile - USTH
PPTX
Start with Quality - an Agile Tester's Case Study
PPTX
Acceptance criteria
PDF
Agile Testing 20021015
PDF
Improving the Quality of Incoming Code
PPT
Trends in Agile Testing by Lisa Crispin
PPTX
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
PDF
How testers add value to the organization appium conf
PPTX
Quality not-speed-for-distrobution
PPTX
ATDD with Pepino
PPTX
Teamleader testcon 2019
XP Injection
How to be proud when you are done
Growing a Company Test Community: Roles and Paths for Testers
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Continuous business goal validation
Test Driven Development
Unit testing for project managers
Continuous delivery test strategies
Way to Agile - USTH
Start with Quality - an Agile Tester's Case Study
Acceptance criteria
Agile Testing 20021015
Improving the Quality of Incoming Code
Trends in Agile Testing by Lisa Crispin
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
How testers add value to the organization appium conf
Quality not-speed-for-distrobution
ATDD with Pepino
Teamleader testcon 2019
Ad

Similar to Agile testingandautomation (20)

PPT
! Testing for agile teams
PPTX
{10.0} Test Driven Development.pptx
PDF
Agile testing
PPTX
A Brief Introduction to Test-Driven Development
PDF
Test Automation
PDF
Methodology: IT test
PDF
Beyond "Quality Assurance"
PPT
7 steps to Software test automation success
PDF
Scrum and-xp-from-the-trenches 06 testing
PPTX
Software testing
PDF
Manual Testing real time questions .pdf
PDF
Scaling Quality by Building it in - Agile Tour Ottawa 2017
PPTX
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
PDF
The Leaders Guide to Getting Started with Automated Testing
PPTX
Best practices for test automation
PDF
Building a Future-Proof Test Automation Strategy: From Planning to Execution
PPTX
Agile Testing - What, why and how.
PDF
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
PPTX
Fundamentals of testing
PDF
Agile Testing: The Key to Faster, Higher-Quality Releases
! Testing for agile teams
{10.0} Test Driven Development.pptx
Agile testing
A Brief Introduction to Test-Driven Development
Test Automation
Methodology: IT test
Beyond "Quality Assurance"
7 steps to Software test automation success
Scrum and-xp-from-the-trenches 06 testing
Software testing
Manual Testing real time questions .pdf
Scaling Quality by Building it in - Agile Tour Ottawa 2017
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
The Leaders Guide to Getting Started with Automated Testing
Best practices for test automation
Building a Future-Proof Test Automation Strategy: From Planning to Execution
Agile Testing - What, why and how.
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
Fundamentals of testing
Agile Testing: The Key to Faster, Higher-Quality Releases
Ad

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Machine Learning_overview_presentation.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Dropbox Q2 2025 Financial Results & Investor Presentation
MIND Revenue Release Quarter 2 2025 Press Release
The Rise and Fall of 3GPP – Time for a Sabbatical?
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Spectral efficient network and resource selection model in 5G networks
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Empathic Computing: Creating Shared Understanding
1. Introduction to Computer Programming.pptx
Spectroscopy.pptx food analysis technology
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
A comparative analysis of optical character recognition models for extracting...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine Learning_overview_presentation.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
NewMind AI Weekly Chronicles - August'25-Week II

Agile testingandautomation

  • 1. { Agile Testing & Automation: Lessons Learned & Challenges Issued You have to start somewhere to get somewhere
  • 2. Things I’ve Learned About Agile Testing & Automation so far…
  • 3. { {Output Checking  Automatable  Assert requirements  Verify expected behavior  Happy paths & unhappy paths Exploratory Testing  Not completely automatable  A live thought process  Tests beyond the requirements  Will this actually provide value?  Will the customer want to and be able to use it? 1. Testing is more than checking. Automate as much of the checking as possible. Automation doesn’t replace exploratory testing.
  • 4. { 2. Testers are really good at writing automated acceptance/end-to-end tests. • Protractor & Web Driver with Behavior Driven Development (BDD) style • Test the requirements and workflow through the UI • Act as living documentation • Simple, business-user language • Are we making the right software? • Touch as much of the real world as possible • Everyone can learn to write them, and we should write them, but…
  • 5. { If you put all of your efforts into only automating end-to-end tests, you will probably end up with a lot of fragile, broken, unmaintainable tests. Tests can be technical debt too. • End-to-end tests validate through the UI so any time the UI changes, they can break • They rely on data points that need to be managed
  • 6. { • Confirm the code is doing what we say it will do • Are we making the application right? • Small, light, and less fragile • Unit tests don’t touch the external world and don’t rely on data points • Require more technical skill to write – embrace it! 3. Quality products also need unit and integration tests.
  • 7. { 4. Code review improves code quality, reduces bugs, and leads to writing the right tests. • Keep it lightweight, small, frequent, and do it early • Asynchronous reviews allow people to review when it is convenient • Actively share interesting findings or design decisions and champion quality! • Treat code reviews as an active state in your workflow, or they probably won’t happen • Change the mindset to view code review feedback as a learning opportunity for both the reviewer and the reviewee
  • 8. { • Leads to clearly thinking about what your code needs to do before you write it • Reduces waste (code and tests) • Sets the goal • It doesn’t just happen. You make it happen. 5. Test Driven Development (TDD) is hard & it takes commitment.
  • 9. 6. Automated tests reduce regression testing time, enabling more rapid delivery and a shortened feedback loop.
  • 10. Regression testing estimate 2012/2013 = 1 week +++
  • 11. Regression testing estimate 2014 = 1 day +/-. Imagine what we could do in 2015!
  • 12. { • User stories are the basis for tests • Tests set the goal for code • The relationship between tests and requirements needs to be tight • The communication between testers and programmers needs to be even tighter 7. It takes a whole team. Developers + Testers + Business People = Beautiful Tests
  • 13. { Opportunities • A consistent approach to test automation to… • Add value up front and reduce technical debt and maintenance time down the road • Build confidence in our releases • Reducing the feedback loop even more through truly continuous delivery • Leveraging Sauce Labs and other tools to automate cross-browser and mobile testing • Support and empower teams toward consistency, quality, and testing
  • 15. { What’s next? • Outreach to teams. What do you need to make testing a part of your development process? • Automation coverage metrics. How are we doing? Where do we need to focus our attention? • Big Team’s Definition of Done (DOD) • Training Roadmap to support DOD • Team representation at monthly QA COE meetings • Working with teams to run Watchfire AppScan and report on security analysis quarterly • Following up with teams to champion resolution of security, eAccessibility, or other defects.
  • 16. Challenge Issued!  Start changing your mindset right now to champion quality. Push back when you believe quality is at risk!  Don’t wait for the perfect idea, perfect steps, perfect plan. Start doing something right now! But what???
  • 17.  Before you write code, write down what your code should do.
  • 18.  Then write some simple expectations. What would the user expect at the end of the test?
  • 19.  Fill in the test steps and run your tests.
  • 20.  Practice continuous improvement.  This is an attitude.  I have a set of tests and they all pass.  I bet I can find 2 more tests that will make the product even better, or  How could I refactor some of my tests to be more readable, more efficient, more valuable?  I don’t have all of my tests automated.  I can automate 3 new tests each sprint, or  I’ve been automating 3 per sprint, I bet I can do 5.
  • 21.  Pair with pretty much anyone you can an hold one another accountable for adding tests.  Pick one story in each sprint and commit as a team to pair or public pair programming for that story. Commit to writing tests first for that story.  Make code review a part of your process. Do a pull request. Look at someone else’s pull request. I bet you will find something to improve upon, and maybe even a bug.
  • 22.  Fix bugs instead of putting them on the backlog. Better yet! When you find a bug, write a test for it, and then fix it or ask someone else to. When the test passes, it’s as if the bug never existed. You just fixed your bug and added to your regression test suite.
  • 23.  Review your Team Agreement and Definition of Done.  Do you have items your team has agreed upon relating to quality and testing?  If not, then you’re probably missing some important discussions. Remember, it takes a team!