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
{
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

What's hot

XP Injection
XP InjectionXP Injection
XP Injection
Aleksey Solntsev
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Aleksey Solntsev
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
TEST Huddle
 
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
DevOps.com
 
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh LongAgile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Ho Chi Minh City Software Testing Club
 
Continuous business goal validation
Continuous business goal validationContinuous business goal validation
Continuous business goal validation
Hylke Stapersma
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Hicham El Hammouchi
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
Zend by Rogue Wave Software
 
Continuous delivery test strategies
Continuous delivery test strategiesContinuous delivery test strategies
Continuous delivery test strategies
Hylke Stapersma
 
Way to Agile - USTH
Way to Agile - USTHWay to Agile - USTH
Way to Agile - USTH
Hien Nguyen
 
Start with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyStart with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case Study
Nick Zdunić
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteriaSoftheme
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
Raghu Karnati
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain
 
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
 
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and InterfacesEpisode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Jitendra Zaa
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
Corina Pip
 
Quality not-speed-for-distrobution
Quality not-speed-for-distrobutionQuality not-speed-for-distrobution
Quality not-speed-for-distrobutionbownyboy
 
ATDD with Pepino
ATDD with PepinoATDD with Pepino
ATDD with Pepino
Byron Sommardahl
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
Thomas Noë
 

What's hot (20)

XP Injection
XP InjectionXP Injection
XP Injection
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
Achieve Intelligent Test Execution: Strategies for Streamlining Regression Te...
 
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh LongAgile Testing - Not Just Tester’s Story _ Dang Thanh Long
Agile Testing - Not Just Tester’s Story _ Dang Thanh Long
 
Continuous business goal validation
Continuous business goal validationContinuous business goal validation
Continuous business goal validation
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
Continuous delivery test strategies
Continuous delivery test strategiesContinuous delivery test strategies
Continuous delivery test strategies
 
Way to Agile - USTH
Way to Agile - USTHWay to Agile - USTH
Way to Agile - USTH
 
Start with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyStart with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case Study
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
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
 
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and InterfacesEpisode 3 – Classes, Inheritance, Abstract Class, and Interfaces
Episode 3 – Classes, Inheritance, Abstract Class, and Interfaces
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
 
Quality not-speed-for-distrobution
Quality not-speed-for-distrobutionQuality not-speed-for-distrobution
Quality not-speed-for-distrobution
 
ATDD with Pepino
ATDD with PepinoATDD with Pepino
ATDD with Pepino
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
 

Similar to Agile testingandautomation

! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
Dennis Popov
 
{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
AmalEldhose2
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
Shawn Jones
 
Test Automation
Test AutomationTest Automation
Test Automation
nikos batsios
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
Jean-François Nguyen
 
Beyond "Quality Assurance"
Beyond "Quality Assurance"Beyond "Quality Assurance"
Beyond "Quality Assurance"
Jason Benton
 
7 steps to Software test automation success
7 steps to Software test automation success7 steps to Software test automation success
7 steps to Software test automation success
ngowda gowda (Looking For New job in Bangalore
 
Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testing
Hossam Hassan
 
Software testing
Software testingSoftware testing
Software testing
Nico Heidtke
 
Manual Testing real time questions .pdf
Manual Testing real time questions .pdfManual Testing real time questions .pdf
Manual Testing real time questions .pdf
TiktokIndia2
 
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Maurizio Mancini
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
Financial Services Innovators
 
The Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated TestingThe Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated Testing
James Briers
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
David Tzemach
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
Asim Kazmi
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
KMS Technology
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
ANDRI HAIRIYADI, S.Kom.
 
Quality Spy Overview
Quality Spy OverviewQuality Spy Overview
Quality Spy Overview
AndreasKleffel
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
International Personal Finance Plc
 

Similar to Agile testingandautomation (20)

! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
 
Agile testing
Agile testingAgile testing
Agile testing
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Beyond "Quality Assurance"
Beyond "Quality Assurance"Beyond "Quality Assurance"
Beyond "Quality Assurance"
 
7 steps to Software test automation success
7 steps to Software test automation success7 steps to Software test automation success
7 steps to Software test automation success
 
Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testing
 
Software testing
Software testingSoftware testing
Software testing
 
Manual Testing real time questions .pdf
Manual Testing real time questions .pdfManual Testing real time questions .pdf
Manual Testing real time questions .pdf
 
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
 
The Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated TestingThe Leaders Guide to Getting Started with Automated Testing
The Leaders Guide to Getting Started with Automated Testing
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Agile Testing - What, why and how.
Agile Testing - What, why and how.Agile Testing - What, why and how.
Agile Testing - What, why and how.
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Quality Spy Overview
Quality Spy OverviewQuality Spy Overview
Quality Spy Overview
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 

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
  • 14.
  • 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!