SlideShare a Scribd company logo
1 of 23
Download to read offline
Scripting Recipes for
       Testers
            Adam Goucher
Manager of Quality, Zerofootprint Software

            adam@goucher.ca
          http://adam.goucher.ca
Code craft is mandatory
 Reading and writing code extends and accelerates
                  critical thinking
Language Choice
Three things you don’t talk about in polite company:
           sex, politics, language choice
Language Choice
There is no such thing as right or wrong, but there is
 right-er and wrong-er depending on the situation
Increasing Insight
 Uncover hidden technical debt
Tip: Common Case
Converting both sides of a comparison to a common
  case means you don’t have to worry about case
Tip: YAGNI
You Ain’t Gonna Need It
Increase Insight
Exploration (or Throw out your scripts)
Increasing Ease
Just because something was hard manually doesn’t mean
                it always has to be hard
Tip: One Line at a Time
 Simple is better than complex - The Zen of Python
Test Selection
  Browser Percentages
Tip: Filter the data
You are not the customer so you should not be in the
                       data
Tip: Reinvent the wheel
  Sometimes you can make a better wheel
Tip: YAGNI is heuristic
Even though YAGNI, if you can capture it easily then do
                         so
Data Generation
Who says randomness in testing is bad?
Tip: Can’t Pronounce?
        So what?
Tip: Embrace Chaos
The world is a random place, why should your data be
                    organized?
Oracles
Unlike the one at Delphi, our oracles shouldn’t be
            stoned on sulphur fumes
Tip: Proximity
Things that are related, should be together
Reduce Costs
Wouldn’t you like your budget focused on your salary?
Tip: Let scripts evolve
   Just like all living thing, scripts evolve
Increase Speed
We have the technology. ... Better than he was before.
              Better, stronger, faster.
Go Forth and Script!

More Related Content

What's hot

Its Not My Presentation!
Its Not My Presentation!Its Not My Presentation!
Its Not My Presentation!
karenMoyse
 

What's hot (13)

How to Hack your Presentations
How to Hack your PresentationsHow to Hack your Presentations
How to Hack your Presentations
 
Is it a crime to estimate - #RSGECU2015
Is it a crime to estimate - #RSGECU2015Is it a crime to estimate - #RSGECU2015
Is it a crime to estimate - #RSGECU2015
 
Its Not My Presentation!
Its Not My Presentation!Its Not My Presentation!
Its Not My Presentation!
 
How to give good demo
How to give good demoHow to give good demo
How to give good demo
 
Benzne webinar - The secret sauce of scrum mastery
Benzne webinar - The secret sauce of scrum masteryBenzne webinar - The secret sauce of scrum mastery
Benzne webinar - The secret sauce of scrum mastery
 
The Art of the Demo
The Art of the DemoThe Art of the Demo
The Art of the Demo
 
Agile estimating user stories
Agile estimating user storiesAgile estimating user stories
Agile estimating user stories
 
What even is a MVP for BowTie Springboard
What even is a MVP for BowTie SpringboardWhat even is a MVP for BowTie Springboard
What even is a MVP for BowTie Springboard
 
A presentation on "How to make a presentation"
A presentation on "How to make a presentation"A presentation on "How to make a presentation"
A presentation on "How to make a presentation"
 
How to Convert Seminars to Webinars In-House
How to Convert Seminars to Webinars In-HouseHow to Convert Seminars to Webinars In-House
How to Convert Seminars to Webinars In-House
 
St. Vincent de Paul Y5 27.11.20
St. Vincent de Paul Y5 27.11.20St. Vincent de Paul Y5 27.11.20
St. Vincent de Paul Y5 27.11.20
 
Onboarding - Lessons Learned
Onboarding - Lessons LearnedOnboarding - Lessons Learned
Onboarding - Lessons Learned
 
Better Documentation
Better DocumentationBetter Documentation
Better Documentation
 

Viewers also liked

Introduction to the INTEGRAL FRAMEWORK
Introduction to the INTEGRAL FRAMEWORKIntroduction to the INTEGRAL FRAMEWORK
Introduction to the INTEGRAL FRAMEWORK
Karthik Subramanian
 

Viewers also liked (20)

[Automation] Trick-or-Treat Style
[Automation] Trick-or-Treat Style[Automation] Trick-or-Treat Style
[Automation] Trick-or-Treat Style
 
Ratatouille n°42
Ratatouille n°42Ratatouille n°42
Ratatouille n°42
 
Ratatouille n°45
Ratatouille n°45Ratatouille n°45
Ratatouille n°45
 
Ratatouille n°48
Ratatouille n°48Ratatouille n°48
Ratatouille n°48
 
Meet the expert
Meet the expertMeet the expert
Meet the expert
 
Ratatouille n°44
Ratatouille n°44Ratatouille n°44
Ratatouille n°44
 
Agile Hats Art Show
Agile Hats Art ShowAgile Hats Art Show
Agile Hats Art Show
 
Karthik Subramanian online portfolio
Karthik Subramanian online portfolioKarthik Subramanian online portfolio
Karthik Subramanian online portfolio
 
You're doing it wrong
You're doing it wrongYou're doing it wrong
You're doing it wrong
 
APIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page ObjectsAPIs: A Better Alternative to Page Objects
APIs: A Better Alternative to Page Objects
 
Introduction to the INTEGRAL FRAMEWORK
Introduction to the INTEGRAL FRAMEWORKIntroduction to the INTEGRAL FRAMEWORK
Introduction to the INTEGRAL FRAMEWORK
 
Proxy and Executor
Proxy and ExecutorProxy and Executor
Proxy and Executor
 
Selenium Page Objects101
Selenium Page Objects101Selenium Page Objects101
Selenium Page Objects101
 
Serenity and the Journey Pattern
Serenity and the Journey PatternSerenity and the Journey Pattern
Serenity and the Journey Pattern
 
Perils of Page-Object Pattern
Perils of Page-Object PatternPerils of Page-Object Pattern
Perils of Page-Object Pattern
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, Successfully
 
Sharing the pain using Protractor
Sharing the pain using ProtractorSharing the pain using Protractor
Sharing the pain using Protractor
 
Selenium Best Practices with Jason Huggins
Selenium Best Practices with Jason HugginsSelenium Best Practices with Jason Huggins
Selenium Best Practices with Jason Huggins
 
Your Job Is To Collect Stories
Your Job Is To Collect StoriesYour Job Is To Collect Stories
Your Job Is To Collect Stories
 
A journey beyond the page object pattern
A journey beyond the page object patternA journey beyond the page object pattern
A journey beyond the page object pattern
 

Similar to Scripting Recipes KWSQA2009

I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
Peter Presnell
 

Similar to Scripting Recipes KWSQA2009 (20)

Software Process... the good parts
Software Process... the good partsSoftware Process... the good parts
Software Process... the good parts
 
Startup Weekend - Interviewing Customers
Startup Weekend - Interviewing CustomersStartup Weekend - Interviewing Customers
Startup Weekend - Interviewing Customers
 
How to ace technical interviews
How to ace technical interviewsHow to ace technical interviews
How to ace technical interviews
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Better
 
Agile Schmagile -- Jon Kern
Agile Schmagile -- Jon KernAgile Schmagile -- Jon Kern
Agile Schmagile -- Jon Kern
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
The Software Developer
The Software DeveloperThe Software Developer
The Software Developer
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
Do testers have to code... to be useful?
Do testers have to code... to be useful?Do testers have to code... to be useful?
Do testers have to code... to be useful?
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Steal
 
Adopting A Whole Team Approach To Quality
Adopting  A  Whole  Team  Approach  To  QualityAdopting  A  Whole  Team  Approach  To  Quality
Adopting A Whole Team Approach To Quality
 
Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford Design Thinking in the Product Development Process - Product tank oxford
Design Thinking in the Product Development Process - Product tank oxford
 
Recruiting great developers
Recruiting great developersRecruiting great developers
Recruiting great developers
 
Pragmatic programmer
Pragmatic programmerPragmatic programmer
Pragmatic programmer
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
Beyond the Hack
Beyond the HackBeyond the Hack
Beyond the Hack
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 

More from Adam Goucher

More from Adam Goucher (20)

Lightsabers, Time Machines and other Automation Heuristics
Lightsabers, Time Machines and other Automation HeuristicsLightsabers, Time Machines and other Automation Heuristics
Lightsabers, Time Machines and other Automation Heuristics
 
SeleniumConf London 2019 - "Part 3: Practice what you Preach"
SeleniumConf London 2019 - "Part 3: Practice what you Preach"SeleniumConf London 2019 - "Part 3: Practice what you Preach"
SeleniumConf London 2019 - "Part 3: Practice what you Preach"
 
Is your Automation Infrastructure ‘Well Architected’?
Is your Automation Infrastructure ‘Well Architected’?Is your Automation Infrastructure ‘Well Architected’?
Is your Automation Infrastructure ‘Well Architected’?
 
Maintainable Automation FTW
Maintainable Automation FTWMaintainable Automation FTW
Maintainable Automation FTW
 
Selenium IDE - The future if plugin-y
Selenium IDE - The future if plugin-ySelenium IDE - The future if plugin-y
Selenium IDE - The future if plugin-y
 
Namesmatter
NamesmatterNamesmatter
Namesmatter
 
Everything I learned about Agile I learned from Pirates
Everything I learned about Agile I learned from PiratesEverything I learned about Agile I learned from Pirates
Everything I learned about Agile I learned from Pirates
 
Agile Test Case Management
Agile Test Case ManagementAgile Test Case Management
Agile Test Case Management
 
Mitigation
MitigationMitigation
Mitigation
 
The Many Hats of a Tester
The Many Hats of a TesterThe Many Hats of a Tester
The Many Hats of a Tester
 
Testing inspiration
Testing inspirationTesting inspiration
Testing inspiration
 
Archetypes
ArchetypesArchetypes
Archetypes
 
Quality through the lens of Astrophysics
Quality through the lens of AstrophysicsQuality through the lens of Astrophysics
Quality through the lens of Astrophysics
 
Legend of Zealot Anarchist Robot
Legend of Zealot Anarchist RobotLegend of Zealot Anarchist Robot
Legend of Zealot Anarchist Robot
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
Kids In Armor
Kids In ArmorKids In Armor
Kids In Armor
 
Adam Goucher I18n And L10n
Adam Goucher   I18n And L10nAdam Goucher   I18n And L10n
Adam Goucher I18n And L10n
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Selenium
SeleniumSelenium
Selenium
 
Slime
SlimeSlime
Slime
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Scripting Recipes KWSQA2009