SlideShare a Scribd company logo
1 of 39
…or proving Einstein was right about insanity
Presented by
Jim Hazen
Introduction
 Jim Hazen
 Veteran of the Software Testing Trenches
 Experience in software testing, both commercial
and consulting work.
 Working with automation and tools since 1989.
 Implemented Automation Tools on DOS, OS/2,
Windows and Web platforms.
 Experience with tools; including HP/Mercury,
IBM/Rational, and other ‘scripting’ languages.
Sage Words to Remember
 “Insanity: doing the same thing over and over again
and expecting different results.” – Albert Einstein
Agenda
 What is ‘Test Automation’
 A Brief History
 Different types of test automation, tools and uses
 Automation Myths
 How to correct them
 Resources & Skills needed
 Setting expectations for Management & Others
 Summary
 Q&A
What is Test Automation?
It’s a Big Topic to Discuss
Bigger Than We Think!
Is It This?
Or More Like This?
Who Builds the Automation?
Some Are Seen This Way
Most Look Like This Instead
What ‘Test Automation’ Really Is
 “Automation” definition
 Webster’s – “the technique of making an apparatus, a
process, or a system operate automatically”
 In Software Testing we use ‘tools’ to drive our processes
 People only think of tools that execute a test as
‘Automation’ .
 Other tools can be used for Test Design, Test Data
Generation, Defect Tracking, Test Management, etc.
 “Automation” is using a tool during any part of the
process of testing.
Who Test Automator’s Really Are
A Brief History
 Test “Execution” tools have been around a long time!
Mainframes (pre
Mid-80’s)
PC DOS
(Mid 80’s –
90’s)
PC GUI &
Web (1990’s
– present)
Mobile
(2008 –
present)
 Mainframe – Home grown ‘macro’ tools1, Hyperion
 PC DOS – AutoTester, SuperKey (macro tool)
 PC GUI – Automated Test Facility (ATF), Rational Robot,
QA Run, Winrunner, etc.
 PC Web – QTP, SilkTest, Selenium, TestComplete, etc.
 Mobile – MonkeyTalk, Robotium, etc.
Other Types of Test Automation Tools
 Other Test Execution Tools
 xUnit (JUnit & NUnit), SOAPUI, FitNesse, etc.
 Test Design & Test Data Generation
 Hexawise, AllPairs, Tosca Test Suite, etc.
 Test Execution Management
 HP ALM, MS Team Foundation Server, TestLink, etc.
 Test Environment Management
 VMWare vCloud Director, etc.
 Defect Tracking & Reporting
 Bugzilla, JIRA, etc.
Automation Myths & Misconceptions
Old Myths
 You can automate 100% of your tests
 Automation will “cure” all problems with testing
 Automation tools are usable by anyone
 Record/Playback is all you need
 Automation allows Management to cut test staff
 One tool is all you need
 Automation will speed up testing process
* Oldies, but goodies!!
New Myths
 You don’t have to know how to program
 Opensource tools are “free”
 Commercial tools are “expensive”
 GUI level automation is a waste of time
 “Codeless” and “Scriptless” tools
 Commercial tools can’t support agile
 Developers only need to focus on Unit Tests
How to Correct Them
 100% Automation – Certain tests shouldn’t or can’t be
‘automated’. 80/20 Rule; automate 20% of
functionality used 80% of time.
 Automation solves all testing problems – it helps, but
it creates new problems too.
 Automation can be done by anyone – Not everyone has
the ‘mindset’, it is both learned and inherent (logic).
 Record/Playback is all you need – Proven time & time
again to be false, and to fail.
How to Correct Them cont.
 One tool is all you need – There isn’t a one-size fits all.
 Automation speeds up testing process – The “Illusion
of Speed” problem. Both execution and creation.
 You don’t need to know programming – Anyone can
Automate problem.
 Opensource tools are free – Costs due to ramp up time
(money) and skilled staff to do it (more expensive).2
 Commercial = Expensive – Not really in grand scheme
of things. 2
How to Correct Them cont.
 GUI level automation is a waste of time – Not really
How to Correct Them cont.
 Codeless/Scriptless tools – Just a different UI. You’re
still writing a ‘test’ which is a set of ‘instructions’
(code).
 Commercial tools don’t do Agile – Yes they do, it’s how
you use the tool that counts.
 Developers only create Unit Tests – Other tools require
someone to ‘build’ the fixtures/code to ‘talk’ to the
SUT.
Why Failures Happen
15%
11%
17%
20%
37%
Failure Reason
Success
Tool Incompatibility
Insufficient Budget
Lack of Experience
Lack of Time
Source: IDT Survey3
85% Failure Rate! Too High!!
Einstein was right!
 We keep repeating history, why?
 Always a ‘new’ group of management and testers.
 Companies always looking to do testing faster, cheaper
and with less resources.
 Vendors and others who sell “Automagic”.
 Instant gratification mindset. Automation takes time.
 Not learning from past mistakes.
 Software not designed with “testability” in mind.
 Testers not involved early with decisions, not included
by management.
Resources for Automation
 Dedicated Staff
 Skilled & experienced staff
 Dedicated Equipment/Environments
 Reduce risk of competition of resource or teams
stepping on each other
 Dedicated Budget
 Automation isn’t cheap, plan appropriately
 Dedicated Management Support
 Can’t have any of the other 3 without it
Skills for Test Automation
 It’s a different view and purpose for the script code.
 Creating ‘software’ to ‘test’ software; i.e.,
PROGRAMMING!
 Need basic understanding of programming methods.
 Understand different types of technology layers
 GUI, API, System, Web, Services, Database, etc.
 You need to know how to program in different
languages when needed.
 C#, Java, VBScript, Jscript, XML, SQL, etc.
Test Automation Skills Cont.
 Need to understand how to ‘hook’ the software under
test and interact with it, and at what level.
 API, or Object, or Service, or Protocol, etc.
 Understand how tool ‘interacts with’ the software
under test; what functions/methods are to use.
 GUI Object ‘methods’ (functions)
 Ex: SwfWindow(“LoginForm").SwfEdit(“ID”).SET “Jim”
 Need to understand how to “pick apart” the software
and “drive it” programmatically.
Axioms to remember
 SMART
 Standalone
 Test/Script able to run by itself, minimize dependencies
 Modular/Maintainable
 Scripts and code need to be modular in design and easy to
maintain
 Appropriate
 Build according to need for project, don’t try to automate
100%
 Reusable
 Build for reuse; keep script code compact and focused.
 Testable & Traceable
 Make it easy to debug your code, and be able to link together.
Axioms to remember cont.
 SEARCH4,5
 Setup
 Test/Script needs to check for pre-test conditions and flag if
needed.
 Execute
 The logic and data needed to run the test itself
 Analyze
 Validations, Error Handling, etc.
 Report
 Progress, Error, Summation of run information (Logfile)
 Cleanup
 Test/Script needs to ‘cleanup’ (temp files, reset data, etc.)
 Help (or Home)
Setting Realistic Expectations
 Management & Other Groups
 100% automation is an unreachable goal.6,7
 Automation is its own form of software development.
 Ramp-up time will be required, longer than you think.
 Benefits realized over time, no immediate payback for
investment.
Expectations cont.
 Management & Other Groups
 No tool supports all systems & technologies out of the box.
 Not all testers can write scripts. Specialized resources are a
must and need to be dedicated to the work.
 Nothing is “Free”, there are always costs involved.
 Don’t believe the marketing hype! Don’t buy the snake oil.8
There is no Magic!
Otherwise, the result
Summary
 What is ‘Test Automation’ – A lot more than you think!
 History – Lots of tools over the last 30 plus years.
 Different types of test automation tools – Not just for
execution of a test only.
 Automation Myths – Old and New; lots of failures due
to them.
 How to fix the problems – Be realistic, dispel the myths.
 Resources and Skills needed for test automation –
Again, a lot more than you think. It is Programming!
 Setting expectations for Management & Others –
Without proper expectations you are painted into a
corner.
Remember… It’s automation,
Not Automagic!
Q&A
Contact Info
 Jim Hazen
 Company: Freelance Contractor
 Home email: calkelpdiver@gmail.com
 LinkedIn profile:
http://www.linkedin.com/profile/view?id=2835000&trk=tab_pro
References
1) “Experiences of Test Automation: Case Studies of Software Test Automation”,
Chapter 5, Graham & Fewster, Addison-Wesley, 2012
2) “Test Automation - Let's Talk Business”, Igor Gershovich, Connected Testing,
2006.
3) “Implementing Automated Software Testing”, IDT Survey, Elfriede Dustin et
al., Addison-Wesley, 2009.
4) “How We Test Software At Microsoft”, page 187, Alan Page, Microsoft Press,
2009.
5) “How to Automate Testing: The Big Picture“, Keith Stobie & Mark Bergman,
1992.
6) “Seven Steps to Test Automation Success”, Bret Pettichord,
http://www.io.com/~wazmo/papers/seven_steps.html, 2001.
7) “Success with Test Automation”, Bret Pettichord,
http://www.io.com/~wazmo/succpap.htm, 2001.
8) “Test Automation Snake Oil”, James Bach, 1996
Thank you for attending this session.
Please fill out an evaluation form.

More Related Content

Similar to It's Automation, Not Automagic

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
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automationDavid Tzemach
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessAdam Sandman
 
B4usolution_AI for automation
B4usolution_AI for automationB4usolution_AI for automation
B4usolution_AI for automationb4usolution .
 
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 TestingPeter Presnell
 
Test automation and Agile software development
Test automation and Agile software developmentTest automation and Agile software development
Test automation and Agile software developmentBas Dijkstra
 
Manual Tester To Automation Tester
Manual Tester To Automation Tester Manual Tester To Automation Tester
Manual Tester To Automation Tester Kalyan Katuru
 
Where to learn best software course
Where to learn best software courseWhere to learn best software course
Where to learn best software coursewebskittersacademy
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
 
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 Organizationanuvip
 
AutomationTesting
AutomationTestingAutomationTesting
AutomationTestingM. Devi
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005David O'Dowd
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6Yogindernath Gupta
 
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
 
A Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfA Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfpCloudy
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationTEST Huddle
 
Automation testing
Automation testingAutomation testing
Automation testingArta Doci
 

Similar to It's Automation, Not Automagic (20)

Automation testing: how tools are important?
Automation testing: how tools are important?Automation testing: how tools are important?
Automation testing: how tools are important?
 
Best practices for test automation
Best practices for test automationBest practices for test automation
Best practices for test automation
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For Success
 
B4usolution_AI for automation
B4usolution_AI for automationB4usolution_AI for automation
B4usolution_AI for automation
 
Automated tests
Automated testsAutomated tests
Automated tests
 
test
testtest
test
 
test
testtest
test
 
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
 
Test automation and Agile software development
Test automation and Agile software developmentTest automation and Agile software development
Test automation and Agile software development
 
Manual Tester To Automation Tester
Manual Tester To Automation Tester Manual Tester To Automation Tester
Manual Tester To Automation Tester
 
Where to learn best software course
Where to learn best software courseWhere to learn best software course
Where to learn best software course
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 
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
 
AutomationTesting
AutomationTestingAutomationTesting
AutomationTesting
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
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...
 
A Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfA Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdf
 
Digital Transformation, Testing and Automation
Digital Transformation, Testing and AutomationDigital Transformation, Testing and Automation
Digital Transformation, Testing and Automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

It's Automation, Not Automagic

  • 1. …or proving Einstein was right about insanity Presented by Jim Hazen
  • 2. Introduction  Jim Hazen  Veteran of the Software Testing Trenches  Experience in software testing, both commercial and consulting work.  Working with automation and tools since 1989.  Implemented Automation Tools on DOS, OS/2, Windows and Web platforms.  Experience with tools; including HP/Mercury, IBM/Rational, and other ‘scripting’ languages.
  • 3. Sage Words to Remember  “Insanity: doing the same thing over and over again and expecting different results.” – Albert Einstein
  • 4. Agenda  What is ‘Test Automation’  A Brief History  Different types of test automation, tools and uses  Automation Myths  How to correct them  Resources & Skills needed  Setting expectations for Management & Others  Summary  Q&A
  • 5. What is Test Automation?
  • 6. It’s a Big Topic to Discuss
  • 7. Bigger Than We Think!
  • 9. Or More Like This?
  • 10. Who Builds the Automation?
  • 11. Some Are Seen This Way
  • 12. Most Look Like This Instead
  • 13. What ‘Test Automation’ Really Is  “Automation” definition  Webster’s – “the technique of making an apparatus, a process, or a system operate automatically”  In Software Testing we use ‘tools’ to drive our processes  People only think of tools that execute a test as ‘Automation’ .  Other tools can be used for Test Design, Test Data Generation, Defect Tracking, Test Management, etc.  “Automation” is using a tool during any part of the process of testing.
  • 15. A Brief History  Test “Execution” tools have been around a long time! Mainframes (pre Mid-80’s) PC DOS (Mid 80’s – 90’s) PC GUI & Web (1990’s – present) Mobile (2008 – present)  Mainframe – Home grown ‘macro’ tools1, Hyperion  PC DOS – AutoTester, SuperKey (macro tool)  PC GUI – Automated Test Facility (ATF), Rational Robot, QA Run, Winrunner, etc.  PC Web – QTP, SilkTest, Selenium, TestComplete, etc.  Mobile – MonkeyTalk, Robotium, etc.
  • 16. Other Types of Test Automation Tools  Other Test Execution Tools  xUnit (JUnit & NUnit), SOAPUI, FitNesse, etc.  Test Design & Test Data Generation  Hexawise, AllPairs, Tosca Test Suite, etc.  Test Execution Management  HP ALM, MS Team Foundation Server, TestLink, etc.  Test Environment Management  VMWare vCloud Director, etc.  Defect Tracking & Reporting  Bugzilla, JIRA, etc.
  • 17. Automation Myths & Misconceptions
  • 18. Old Myths  You can automate 100% of your tests  Automation will “cure” all problems with testing  Automation tools are usable by anyone  Record/Playback is all you need  Automation allows Management to cut test staff  One tool is all you need  Automation will speed up testing process * Oldies, but goodies!!
  • 19. New Myths  You don’t have to know how to program  Opensource tools are “free”  Commercial tools are “expensive”  GUI level automation is a waste of time  “Codeless” and “Scriptless” tools  Commercial tools can’t support agile  Developers only need to focus on Unit Tests
  • 20. How to Correct Them  100% Automation – Certain tests shouldn’t or can’t be ‘automated’. 80/20 Rule; automate 20% of functionality used 80% of time.  Automation solves all testing problems – it helps, but it creates new problems too.  Automation can be done by anyone – Not everyone has the ‘mindset’, it is both learned and inherent (logic).  Record/Playback is all you need – Proven time & time again to be false, and to fail.
  • 21. How to Correct Them cont.  One tool is all you need – There isn’t a one-size fits all.  Automation speeds up testing process – The “Illusion of Speed” problem. Both execution and creation.  You don’t need to know programming – Anyone can Automate problem.  Opensource tools are free – Costs due to ramp up time (money) and skilled staff to do it (more expensive).2  Commercial = Expensive – Not really in grand scheme of things. 2
  • 22. How to Correct Them cont.  GUI level automation is a waste of time – Not really
  • 23. How to Correct Them cont.  Codeless/Scriptless tools – Just a different UI. You’re still writing a ‘test’ which is a set of ‘instructions’ (code).  Commercial tools don’t do Agile – Yes they do, it’s how you use the tool that counts.  Developers only create Unit Tests – Other tools require someone to ‘build’ the fixtures/code to ‘talk’ to the SUT.
  • 24. Why Failures Happen 15% 11% 17% 20% 37% Failure Reason Success Tool Incompatibility Insufficient Budget Lack of Experience Lack of Time Source: IDT Survey3 85% Failure Rate! Too High!!
  • 25. Einstein was right!  We keep repeating history, why?  Always a ‘new’ group of management and testers.  Companies always looking to do testing faster, cheaper and with less resources.  Vendors and others who sell “Automagic”.  Instant gratification mindset. Automation takes time.  Not learning from past mistakes.  Software not designed with “testability” in mind.  Testers not involved early with decisions, not included by management.
  • 26. Resources for Automation  Dedicated Staff  Skilled & experienced staff  Dedicated Equipment/Environments  Reduce risk of competition of resource or teams stepping on each other  Dedicated Budget  Automation isn’t cheap, plan appropriately  Dedicated Management Support  Can’t have any of the other 3 without it
  • 27. Skills for Test Automation  It’s a different view and purpose for the script code.  Creating ‘software’ to ‘test’ software; i.e., PROGRAMMING!  Need basic understanding of programming methods.  Understand different types of technology layers  GUI, API, System, Web, Services, Database, etc.  You need to know how to program in different languages when needed.  C#, Java, VBScript, Jscript, XML, SQL, etc.
  • 28. Test Automation Skills Cont.  Need to understand how to ‘hook’ the software under test and interact with it, and at what level.  API, or Object, or Service, or Protocol, etc.  Understand how tool ‘interacts with’ the software under test; what functions/methods are to use.  GUI Object ‘methods’ (functions)  Ex: SwfWindow(“LoginForm").SwfEdit(“ID”).SET “Jim”  Need to understand how to “pick apart” the software and “drive it” programmatically.
  • 29. Axioms to remember  SMART  Standalone  Test/Script able to run by itself, minimize dependencies  Modular/Maintainable  Scripts and code need to be modular in design and easy to maintain  Appropriate  Build according to need for project, don’t try to automate 100%  Reusable  Build for reuse; keep script code compact and focused.  Testable & Traceable  Make it easy to debug your code, and be able to link together.
  • 30. Axioms to remember cont.  SEARCH4,5  Setup  Test/Script needs to check for pre-test conditions and flag if needed.  Execute  The logic and data needed to run the test itself  Analyze  Validations, Error Handling, etc.  Report  Progress, Error, Summation of run information (Logfile)  Cleanup  Test/Script needs to ‘cleanup’ (temp files, reset data, etc.)  Help (or Home)
  • 31. Setting Realistic Expectations  Management & Other Groups  100% automation is an unreachable goal.6,7  Automation is its own form of software development.  Ramp-up time will be required, longer than you think.  Benefits realized over time, no immediate payback for investment.
  • 32. Expectations cont.  Management & Other Groups  No tool supports all systems & technologies out of the box.  Not all testers can write scripts. Specialized resources are a must and need to be dedicated to the work.  Nothing is “Free”, there are always costs involved.  Don’t believe the marketing hype! Don’t buy the snake oil.8 There is no Magic!
  • 34. Summary  What is ‘Test Automation’ – A lot more than you think!  History – Lots of tools over the last 30 plus years.  Different types of test automation tools – Not just for execution of a test only.  Automation Myths – Old and New; lots of failures due to them.  How to fix the problems – Be realistic, dispel the myths.  Resources and Skills needed for test automation – Again, a lot more than you think. It is Programming!  Setting expectations for Management & Others – Without proper expectations you are painted into a corner.
  • 36. Q&A
  • 37. Contact Info  Jim Hazen  Company: Freelance Contractor  Home email: calkelpdiver@gmail.com  LinkedIn profile: http://www.linkedin.com/profile/view?id=2835000&trk=tab_pro
  • 38. References 1) “Experiences of Test Automation: Case Studies of Software Test Automation”, Chapter 5, Graham & Fewster, Addison-Wesley, 2012 2) “Test Automation - Let's Talk Business”, Igor Gershovich, Connected Testing, 2006. 3) “Implementing Automated Software Testing”, IDT Survey, Elfriede Dustin et al., Addison-Wesley, 2009. 4) “How We Test Software At Microsoft”, page 187, Alan Page, Microsoft Press, 2009. 5) “How to Automate Testing: The Big Picture“, Keith Stobie & Mark Bergman, 1992. 6) “Seven Steps to Test Automation Success”, Bret Pettichord, http://www.io.com/~wazmo/papers/seven_steps.html, 2001. 7) “Success with Test Automation”, Bret Pettichord, http://www.io.com/~wazmo/succpap.htm, 2001. 8) “Test Automation Snake Oil”, James Bach, 1996
  • 39. Thank you for attending this session. Please fill out an evaluation form.

Editor's Notes

  1. What does it mean to make an apparatus or process or system ‘operate’ automatically. It means setting it up so that it runs autonomously without human intervention during the operation. It means it runs by itself and does not require a human to interact with it to get the job done. Typically people know of or think of “automation” as the “execution” of a test, or set of tests, via a tool. They see it as some type of “magic monkey” that will do their work for them. Execution of a test is only a small part of the process of testing. What about test design, test data generation, test execution management, and test results analysis and reporting? There are tools that automate those tasks/processes as well. They are “test automation” tools too.
  2. All in all it is a dirty job! You have to get your hands into the application and work hard to get the tool to do what you want.
  3. Mainframe based tools worked against static and linear logic based applications. The User Interfaces also were very static in their layout and behavior. Macros were easy to record and fields were simple to navigate to. The recorded keystrokes and tests were easy to replay because the applications were very straightforward in their logic and business actions. DOS based tools also worked against static and linear logic based applications. So just like a mainframe app using Record/Playback was relatively successful. This in effect lulled some people into a false sense of security with automation at this time. PC GUI based tools had a totally new animal to deal with. GUI applications allowed for additional keystroke and mouse interaction between the system and user. Also, the logic paths changed from linear to ‘event driven’. The interaction was not consistent in path logic or process. The application reacted to the users actions/inputs. Straight up R/P quickly failed. Web based systems took everything to a new level, and now mobile adds a totally other dimension to the puzzle of getting automation tools to do their jobs. The level and amount of complexity has skyrocketed.
  4. Other Test Execution Tools Unit Testing, Services Testing, API, Load & Performance, etc. Test Design & Test Data Generation Test scenario design and generation Data generation via different methods Test Execution Management Manual and automated type tests Test Environment Management Test Lab configuration & maintenance Defect Tracking & Reporting
  5. 100% Automation myth – Use functionality maps, categorization and prioritization, and critical path as criteria to narrow scope and get focused tests. Common Usage Modeling Language (CUML) is a way to do it. Automation Solves all testing problems – it can help with some, but creates its own problems with purpose and maintenance. Automation can be done by anyone – Proven time and time again to be false. Not anyone can be a doctor or lawyer. Automation requires skills, knowledge and experience. Record/Playback – enough said. One tool is all you need – Not every job can be done with a hammer. You need a tool that is appropriate for the job at hand. Automation speeds up testing – The “Illusion of Speed” problem. Even automation is dependent upon synchronization and other timing issues in software. Also, a large amount of automated scripts will not run extremely fast if there are dependencies upon run order and data. And if the workload stack is only run on a couple, or single, machine you are throttled by the processing capacity of the setup. Put the workload stack on its side and divide up the workload and then distribute to multiple machines to run in parallel. Use “Economies of Scale” to get “speed”. Automation can be created quickly – A lot of time is required to write/create an automated test initially, and then additional time to maintain them. Expect a greater initial investment than in comparison to manual testing. The investment will pay back over time, but it is not instantaneous. Because automation is its own form of software development is will be constrained by the same rules as most other types of application development work.
  6. You don’t need to know programming – Anything you do with a computer is some form of programming. You are giving the machine “instructions” to do its work. You need to understand process and logic to instruct a computer to do its job. It takes logic. Opensource tools are free – Initially the cost of the tool itself is zero, but the overall cost to implement and use them can be quite large due to time to build the framework and its functionality to match commercial tools. And the cost of staff can be higher due to scarcity of resource or skills to do the work. This can result in major hidden costs. Commerical tools are expensive – Initial costs maybe, but over the long run they are not.2 GUI level Automation is a waste of time – Not really, Business scenario & End-to-End tests have to be done this way. Also, if you follow the Automation Pyramid method you still have a number of GUI tests to build. For example if GUI automation should only be 10% of your automation effort and you have automated 10,000 Unit Tests that means you will have 1,000 GUI tests. Better do it right from the beginning. Commercial tools don’t do Agile – It isn’t the tool that does agile, it is the person using it. Developers only create Unit Tests – In the Automation Pyramid you have Services and API tests, and the tools that drive this are more technical and/or require someone to build interfaces (Fixtures) for them. Developers are best suited to this job, or a skilled tester with programming skills/knowledge who can do the same.
  7. You don’t need to know programming – Anything you do with a computer is some form of programming. You are giving the machine “instructions” to do its work. You need to understand process and logic to instruct a computer to do its job. It takes logic. Opensource tools are free – Initially the cost of the tool itself is zero, but the overall cost to implement and use them can be quite large due to time to build the framework and its functionality to match commercial tools. And the cost of staff can be higher due to scarcity of resource or skills to do the work. This can result in major hidden costs. Commerical tools are expensive – Initial costs maybe, but over the long run they are not.2 GUI level Automation is a waste of time – Not really, Business scenario & End-to-End tests have to be done this way. Also, if you follow the Automation Pyramid method you still have a number of GUI tests to build. For example if GUI automation should only be 10% of your automation effort and you have automated 10,000 Unit Tests that means you will have 1,000 GUI tests. Better do it right from the beginning. Commercial tools don’t do Agile – It isn’t the tool that does agile, it is the person using it. Developers only create Unit Tests – In the Automation Pyramid you have Services and API tests, and the tools that drive this are more technical and/or require someone to build interfaces (Fixtures) for them. Developers are best suited to this job, or a skilled tester with programming skills/knowledge who can do the same.
  8. You don’t need to know programming – Anything you do with a computer is some form of programming. You are giving the machine “instructions” to do its work. You need to understand process and logic to instruct a computer to do its job. It takes logic. Opensource tools are free – Initially the cost of the tool itself is zero, but the overall cost to implement and use them can be quite large due to time to build the framework and its functionality to match commercial tools. And the cost of staff can be higher due to scarcity of resource or skills to do the work. This can result in major hidden costs. Commerical tools are expensive – Initial costs maybe, but over the long run they are not.2 GUI level Automation is a waste of time – Not really, Business scenario & End-to-End tests have to be done this way. Also, if you follow the Automation Pyramid method you still have a number of GUI tests to build. For example if GUI automation should only be 10% of your automation effort and you have automated 10,000 Unit Tests that means you will have 1,000 GUI tests. Better do it right from the beginning. Commercial tools don’t do Agile – It isn’t the tool that does agile, it is the person using it. Developers only create Unit Tests – In the Automation Pyramid you have Services and API tests, and the tools that drive this are more technical and/or require someone to build interfaces (Fixtures) for them. Developers are best suited to this job, or a skilled tester with programming skills/knowledge who can do the same.
  9. Additional References “Software Test Automation”, Mark Fewster & Dorothy Graham, Addison-Wesley, 1999. “Automated Software Testing”, Elfriede Dustin et al., Addison-Wesley, 1999. “Why does test automation often fail to deliver?”, Ben Simo, http://www.questioningsoftware.com/2007/03/why-does-test-automation-often-fail-to.html, 2007. “Important Considerations for Test Automation”, http://bazman.tripod.com/auto.html. “I’m a tester, why should I care about unit tests?”, Testing the Mind blog, http://testingthemind.wordpress.com/2012/02/09/im-a-tester-why-should-i-care-about-unit-tests/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+stcfeedsbloggers+%28Testing+Feeds+-+Bloggers%29, 2012. “Conquering Common Test Automation Challenges”, Bob Crews, STPCon 2012 Fall, http://www.stpcon.com/Item/1070/, 2012. “Rants of a Madman – I don’t care if it’s automation, it’s still code!”, Mark Lawler, Blog, http://markslawler.wordpress.com/2012/07/30/rants-of-a-madman-i-dont-care-if-its-automation-its-still-code/, 2012. “Automate your way to ineffective testing with my twelve step program…”, Jared Quinert, Blog, http://www.software-testing.com.au/blog/2007/03/09/automate-your-way-to-ineffective-testing-with-my-twelve-step-program/, 2007.