SlideShare a Scribd company logo
A Walk in the
Fields
Why Test Automation Is
Really, Really Difficult, and
Why It Usually Sucks
The Problem
 The

product is ever-changing
 Developers do not communicate
changes proactively (or at all)
 40% of our time was spent accounting for
these changes
 We

should be guided by features, not
failures
The Solution
 Move

testing further UP the chain, not

down
 Embed automation testers with regular
developers
 Use automation to GATE the release
 Apply some Principles of Real Software
Design to our little corner of the process
What’s in it for me?
 Managers

– Increase your confidence
day-to-day and release-to-release
 Developers – no more whiny testers, now
they’re whiny PARTNERS
 Testers – worry about developing NEW
tests, not fixing broken ones
Add a User
Let’s Look at Some Code
(Don’t worry about trying to read this, I’m
trying to convey quantity, not quality)
Server-side input validation
Velocity Definition
 This

is just for that one button!
DAO Code
 Hooking

the fields to the database
Some SQL
What Was all That??!
 Recursive

Velocity templates
 Java (with Hibernate annotations)
 In-depth Velocity macro definitions
 More Java
 SQL
 We didn’t even look at the CSS or
JavaScript
What Does QA Typically Know
About This Stuff?
Some Numbers


Some analysis and estimation around the
form:








150 lines of Velocity
600 lines of Java
200 lines of SQL
6,000+ lines of shared JavaScript libraries
1,000 lines of shared CSS

Whenever any of this changes, it can affect
the functional, presentational, or
performance aspects of this form
More Numbers
 This

is one of 8 different forms surrounding
the creation/maintenance of users
 User is one of ~200 top-level entities in the
system
 800 pages
 Thousands of forms, buttons, and dynamic
screen elements
 What happens if one thing changes?
Facts are facts
 Little

of the code that does show up in the
browser was written, or would be easily
understood, by the developer
 It’s either auto-generated by the
templates, or was designed by the UX
team
What Makes it Complicated
for Testing?
Why So Serious?
6

big fat lozenges of code that you didn’t
write
 Then there’s the ―robot‖ you use to
control it, which you also didn’t write





QTP
SilkTest
Watir
Selenium/WebDriver
High Maintenance Tests
 Everything

is in the test, in one big layer
Baby Steps
 Lower



maintenance:

Utility or ―Helper‖ methods
Locators stored in xml or properties files or
something
Adolescence
 Even






lower maintenance:

Page Object Model—tests are driven by the
functionality of the site
Strongly-typed WebElements
Database abstractions—an ―API‖ for testing
Continuous Integration
Screen shots upon failures
Adulthood
 No





longer guided by failure:

User-modeled actions—tests are driven by
use cases more than pure functionality
Domain-specific language, coupled with
strong Page Objects
EventFiringWebDriver to give you pinpoint
logging and error handling
TestNG TestListeners coupled with the
above for fine-grained failure handling
Nirvana
 Virtually



maintenance-free:

All of the above, plus…
Page Object generation, created/updated
at build time whenever the developer
makes an update
A Velocity Template
The generated code
Managers: You Want a
Strategy?







TEST AUTOMATION DEVELOPMENT IS
SOFTWARE DEVELOPMENT
Treat it like any other project, but one in which
you *can* control the variables
You already know 90% of what you need to
know
Just make the connection and make the
commitment
Insist on automation involvement from the
earliest point
Engineers: Now what?
 Make

a connection with your automation
resources
 Find areas where your presentation layer
could be more consistent
 Prototype on a simple page or single
element type
 Figure out how you can communicate
change via continuous build instead of
hallway conversations
Testers
 Now

you don’t have to chase down
changes
 You understand much better how the
software gets built
 You can provide metrics and perspective
you couldn’t before
 Your code base is tied to theirs—sounds
dubious, but turns out to be awesome
Pros
 Maintenance

goes way down
 Automation code is now tied to
developer code


Including version-specific tests

 QA

now has skin in the development
game
 Development now has skin in the
automation game
Cons
 Heavy


up-front development time

But you should be quick-to-fail

 Need

a higher level skill set than the
traditional QA role
 Difficult to implement on non-templated
systems



Velocity, JSF, JSP, ASP, wicket OK
PHP, JavaScript, Java-based HTML not so
easy
The Risk?
 ―If

they plugged up the leaks that allow us
to hack FireFox, this whole thing would go
away.‖
 ―Developers are a huge risk to test
automation. They shouldn’t be allowed
near the codebase.‖
—Simon Stewart
Other ideas
 Could

you somehow track the
changes, to get an idea of ―churn rate‖ in
your presentation layer?
 Compile to some kind of meta-step, so
the target, rather than being pure
Java, could interface with anything?
 Standard for ―Object Repository‖, maybe
as an addition to Selenium?
Questions?

More Related Content

What's hot

Test Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTest Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTabăra de Testare
 
Getting Started With Selenium
Getting Started With SeleniumGetting Started With Selenium
Getting Started With Selenium
SmartBear
 
Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases
Bipin VK
 
Manual, Visual, and Automated Testing For Web Apps
Manual, Visual, and Automated Testing For Web AppsManual, Visual, and Automated Testing For Web Apps
Manual, Visual, and Automated Testing For Web Apps
SmartBear
 
Test Design + Environment Management: Scaling UI Automation for Agile
Test Design + Environment Management: Scaling UI Automation for AgileTest Design + Environment Management: Scaling UI Automation for Agile
Test Design + Environment Management: Scaling UI Automation for Agile
SmartBear
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Narayanan Palani
 
Yelp Tech Talks: Mobile Testing 1, 2, 3
Yelp Tech Talks: Mobile Testing 1, 2, 3Yelp Tech Talks: Mobile Testing 1, 2, 3
Yelp Tech Talks: Mobile Testing 1, 2, 3
Yelp Engineering
 
XP Injection
XP InjectionXP Injection
XP Injection
Aleksey Solntsev
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
Stephen Donner
 
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
 
Code review
Code reviewCode review
Code review
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
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
SOASTA
 
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
Sauce Labs
 
Scaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without FearScaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without Fear
TechWell
 
You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements quality
Markus Unterauer
 
Automated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AUAutomated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AU
Applitools
 

What's hot (20)

Test Automation Techniques for Windows Applications
Test Automation Techniques for Windows ApplicationsTest Automation Techniques for Windows Applications
Test Automation Techniques for Windows Applications
 
Getting Started With Selenium
Getting Started With SeleniumGetting Started With Selenium
Getting Started With Selenium
 
Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases
 
Manual, Visual, and Automated Testing For Web Apps
Manual, Visual, and Automated Testing For Web AppsManual, Visual, and Automated Testing For Web Apps
Manual, Visual, and Automated Testing For Web Apps
 
Test Design + Environment Management: Scaling UI Automation for Agile
Test Design + Environment Management: Scaling UI Automation for AgileTest Design + Environment Management: Scaling UI Automation for Agile
Test Design + Environment Management: Scaling UI Automation for Agile
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
 
Yelp Tech Talks: Mobile Testing 1, 2, 3
Yelp Tech Talks: Mobile Testing 1, 2, 3Yelp Tech Talks: Mobile Testing 1, 2, 3
Yelp Tech Talks: Mobile Testing 1, 2, 3
 
XP Injection
XP InjectionXP Injection
XP Injection
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
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
 
Code review
Code reviewCode review
Code review
 
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
 
Testing, job or game
Testing, job or gameTesting, job or game
Testing, job or game
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
 
Tec314f
Tec314fTec314f
Tec314f
 
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.orgContinuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
 
Scaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without FearScaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without Fear
 
You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements quality
 
Automated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AUAutomated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AU
 

Viewers also liked

Adaptive Leadership: Accelerating Enterprise Agility
Adaptive Leadership: Accelerating Enterprise AgilityAdaptive Leadership: Accelerating Enterprise Agility
Adaptive Leadership: Accelerating Enterprise Agility
TechWell
 
Dealing with Estimation, Uncertainty, Risk, and Commitment
Dealing with Estimation, Uncertainty, Risk, and CommitmentDealing with Estimation, Uncertainty, Risk, and Commitment
Dealing with Estimation, Uncertainty, Risk, and Commitment
TechWell
 
Data Collection and Analysis for Better Requirements
Data Collection and Analysis for Better RequirementsData Collection and Analysis for Better Requirements
Data Collection and Analysis for Better Requirements
TechWell
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design
TechWell
 
Connecting with Customers
Connecting with CustomersConnecting with Customers
Connecting with Customers
TechWell
 
Test Management for Cloud-based Applications
Test Management for Cloud-based ApplicationsTest Management for Cloud-based Applications
Test Management for Cloud-based Applications
TechWell
 
It’s All Fun and Games: Using Play to Improve Tester Creativity
It’s All Fun and Games: Using Play to Improve Tester CreativityIt’s All Fun and Games: Using Play to Improve Tester Creativity
It’s All Fun and Games: Using Play to Improve Tester Creativity
TechWell
 
Make the Cloud Less Cloudy: A Perspective for Software Development Teams
Make the Cloud Less Cloudy: A Perspective for Software Development TeamsMake the Cloud Less Cloudy: A Perspective for Software Development Teams
Make the Cloud Less Cloudy: A Perspective for Software Development Teams
TechWell
 
Risk-based Testing: Not for the Fainthearted
Risk-based Testing: Not for the FaintheartedRisk-based Testing: Not for the Fainthearted
Risk-based Testing: Not for the Fainthearted
TechWell
 
Six Free Ideas to Improve Agile Success
Six Free Ideas to Improve Agile SuccessSix Free Ideas to Improve Agile Success
Six Free Ideas to Improve Agile Success
TechWell
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
TechWell
 
Agile at Scale with Scrum: The Good, the Bad, and the Ugly
Agile at Scale with Scrum: The Good, the Bad, and the UglyAgile at Scale with Scrum: The Good, the Bad, and the Ugly
Agile at Scale with Scrum: The Good, the Bad, and the Ugly
TechWell
 
Collaboration without Chaos
Collaboration without ChaosCollaboration without Chaos
Collaboration without Chaos
TechWell
 
Build Your Mobile Testing Knowledge
Build Your Mobile Testing KnowledgeBuild Your Mobile Testing Knowledge
Build Your Mobile Testing Knowledge
TechWell
 
Measurement and Metrics for Test Managers
Measurement and Metrics for Test ManagersMeasurement and Metrics for Test Managers
Measurement and Metrics for Test Managers
TechWell
 
Building Successful Test Teams
Building Successful Test TeamsBuilding Successful Test Teams
Building Successful Test Teams
TechWell
 
Creating Great User Experiences: Tips and Techniques
Creating Great User Experiences: Tips and TechniquesCreating Great User Experiences: Tips and Techniques
Creating Great User Experiences: Tips and Techniques
TechWell
 
Test Automation for Packaged Systems: Yes, You Can!
Test Automation for Packaged Systems: Yes, You Can!Test Automation for Packaged Systems: Yes, You Can!
Test Automation for Packaged Systems: Yes, You Can!
TechWell
 

Viewers also liked (18)

Adaptive Leadership: Accelerating Enterprise Agility
Adaptive Leadership: Accelerating Enterprise AgilityAdaptive Leadership: Accelerating Enterprise Agility
Adaptive Leadership: Accelerating Enterprise Agility
 
Dealing with Estimation, Uncertainty, Risk, and Commitment
Dealing with Estimation, Uncertainty, Risk, and CommitmentDealing with Estimation, Uncertainty, Risk, and Commitment
Dealing with Estimation, Uncertainty, Risk, and Commitment
 
Data Collection and Analysis for Better Requirements
Data Collection and Analysis for Better RequirementsData Collection and Analysis for Better Requirements
Data Collection and Analysis for Better Requirements
 
Cause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case DesignCause-Effect Graphing: Rigorous Test Case Design
Cause-Effect Graphing: Rigorous Test Case Design
 
Connecting with Customers
Connecting with CustomersConnecting with Customers
Connecting with Customers
 
Test Management for Cloud-based Applications
Test Management for Cloud-based ApplicationsTest Management for Cloud-based Applications
Test Management for Cloud-based Applications
 
It’s All Fun and Games: Using Play to Improve Tester Creativity
It’s All Fun and Games: Using Play to Improve Tester CreativityIt’s All Fun and Games: Using Play to Improve Tester Creativity
It’s All Fun and Games: Using Play to Improve Tester Creativity
 
Make the Cloud Less Cloudy: A Perspective for Software Development Teams
Make the Cloud Less Cloudy: A Perspective for Software Development TeamsMake the Cloud Less Cloudy: A Perspective for Software Development Teams
Make the Cloud Less Cloudy: A Perspective for Software Development Teams
 
Risk-based Testing: Not for the Fainthearted
Risk-based Testing: Not for the FaintheartedRisk-based Testing: Not for the Fainthearted
Risk-based Testing: Not for the Fainthearted
 
Six Free Ideas to Improve Agile Success
Six Free Ideas to Improve Agile SuccessSix Free Ideas to Improve Agile Success
Six Free Ideas to Improve Agile Success
 
Management Issues in Test Automation
Management Issues in Test AutomationManagement Issues in Test Automation
Management Issues in Test Automation
 
Agile at Scale with Scrum: The Good, the Bad, and the Ugly
Agile at Scale with Scrum: The Good, the Bad, and the UglyAgile at Scale with Scrum: The Good, the Bad, and the Ugly
Agile at Scale with Scrum: The Good, the Bad, and the Ugly
 
Collaboration without Chaos
Collaboration without ChaosCollaboration without Chaos
Collaboration without Chaos
 
Build Your Mobile Testing Knowledge
Build Your Mobile Testing KnowledgeBuild Your Mobile Testing Knowledge
Build Your Mobile Testing Knowledge
 
Measurement and Metrics for Test Managers
Measurement and Metrics for Test ManagersMeasurement and Metrics for Test Managers
Measurement and Metrics for Test Managers
 
Building Successful Test Teams
Building Successful Test TeamsBuilding Successful Test Teams
Building Successful Test Teams
 
Creating Great User Experiences: Tips and Techniques
Creating Great User Experiences: Tips and TechniquesCreating Great User Experiences: Tips and Techniques
Creating Great User Experiences: Tips and Techniques
 
Test Automation for Packaged Systems: Yes, You Can!
Test Automation for Packaged Systems: Yes, You Can!Test Automation for Packaged Systems: Yes, You Can!
Test Automation for Packaged Systems: Yes, You Can!
 

Similar to Designing Self-maintaining UI Tests for Web Applications

Test Automation Pyramid
Test Automation PyramidTest Automation Pyramid
Test Automation Pyramid
T. Alexander Lystad
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
Anand Prabhala
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
Globant
 
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
SOASTA
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEVKrit Kamtuo
 
Automated tests
Automated testsAutomated tests
Automated tests
Damian Sromek
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Developers Border Line: Unit Testing
Developers Border Line: Unit TestingDevelopers Border Line: Unit Testing
Developers Border Line: Unit Testing
Sikandar Ahmed
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
Alessandro Alpi
 
Nuevosoft Test Manager Overview
Nuevosoft Test Manager OverviewNuevosoft Test Manager Overview
Nuevosoft Test Manager Overview
Suhas Patil
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...
Tomas Riha
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
IndicThreads
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
QA or the Highway
 
Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009
Guy Ferraiolo
 

Similar to Designing Self-maintaining UI Tests for Web Applications (20)

Test Automation Pyramid
Test Automation PyramidTest Automation Pyramid
Test Automation Pyramid
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Agile testing
Agile testingAgile testing
Agile testing
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Developers Border Line: Unit Testing
Developers Border Line: Unit TestingDevelopers Border Line: Unit Testing
Developers Border Line: Unit Testing
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
Nuevosoft Test Manager Overview
Nuevosoft Test Manager OverviewNuevosoft Test Manager Overview
Nuevosoft Test Manager Overview
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009Web Performance Analysis - TCF Pro 2009
Web Performance Analysis - TCF Pro 2009
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
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
 
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
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
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
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
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
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
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
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
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
 
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
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
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...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
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
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

Designing Self-maintaining UI Tests for Web Applications

  • 1. A Walk in the Fields Why Test Automation Is Really, Really Difficult, and Why It Usually Sucks
  • 2. The Problem  The product is ever-changing  Developers do not communicate changes proactively (or at all)  40% of our time was spent accounting for these changes  We should be guided by features, not failures
  • 3. The Solution  Move testing further UP the chain, not down  Embed automation testers with regular developers  Use automation to GATE the release  Apply some Principles of Real Software Design to our little corner of the process
  • 4. What’s in it for me?  Managers – Increase your confidence day-to-day and release-to-release  Developers – no more whiny testers, now they’re whiny PARTNERS  Testers – worry about developing NEW tests, not fixing broken ones
  • 6. Let’s Look at Some Code (Don’t worry about trying to read this, I’m trying to convey quantity, not quality)
  • 8. Velocity Definition  This is just for that one button!
  • 9. DAO Code  Hooking the fields to the database
  • 11. What Was all That??!  Recursive Velocity templates  Java (with Hibernate annotations)  In-depth Velocity macro definitions  More Java  SQL  We didn’t even look at the CSS or JavaScript
  • 12. What Does QA Typically Know About This Stuff?
  • 13. Some Numbers  Some analysis and estimation around the form:       150 lines of Velocity 600 lines of Java 200 lines of SQL 6,000+ lines of shared JavaScript libraries 1,000 lines of shared CSS Whenever any of this changes, it can affect the functional, presentational, or performance aspects of this form
  • 14. More Numbers  This is one of 8 different forms surrounding the creation/maintenance of users  User is one of ~200 top-level entities in the system  800 pages  Thousands of forms, buttons, and dynamic screen elements  What happens if one thing changes?
  • 15. Facts are facts  Little of the code that does show up in the browser was written, or would be easily understood, by the developer  It’s either auto-generated by the templates, or was designed by the UX team
  • 16. What Makes it Complicated for Testing?
  • 17. Why So Serious? 6 big fat lozenges of code that you didn’t write  Then there’s the ―robot‖ you use to control it, which you also didn’t write     QTP SilkTest Watir Selenium/WebDriver
  • 18. High Maintenance Tests  Everything is in the test, in one big layer
  • 19. Baby Steps  Lower   maintenance: Utility or ―Helper‖ methods Locators stored in xml or properties files or something
  • 20. Adolescence  Even      lower maintenance: Page Object Model—tests are driven by the functionality of the site Strongly-typed WebElements Database abstractions—an ―API‖ for testing Continuous Integration Screen shots upon failures
  • 21. Adulthood  No     longer guided by failure: User-modeled actions—tests are driven by use cases more than pure functionality Domain-specific language, coupled with strong Page Objects EventFiringWebDriver to give you pinpoint logging and error handling TestNG TestListeners coupled with the above for fine-grained failure handling
  • 22. Nirvana  Virtually   maintenance-free: All of the above, plus… Page Object generation, created/updated at build time whenever the developer makes an update
  • 25. Managers: You Want a Strategy?      TEST AUTOMATION DEVELOPMENT IS SOFTWARE DEVELOPMENT Treat it like any other project, but one in which you *can* control the variables You already know 90% of what you need to know Just make the connection and make the commitment Insist on automation involvement from the earliest point
  • 26. Engineers: Now what?  Make a connection with your automation resources  Find areas where your presentation layer could be more consistent  Prototype on a simple page or single element type  Figure out how you can communicate change via continuous build instead of hallway conversations
  • 27. Testers  Now you don’t have to chase down changes  You understand much better how the software gets built  You can provide metrics and perspective you couldn’t before  Your code base is tied to theirs—sounds dubious, but turns out to be awesome
  • 28. Pros  Maintenance goes way down  Automation code is now tied to developer code  Including version-specific tests  QA now has skin in the development game  Development now has skin in the automation game
  • 29. Cons  Heavy  up-front development time But you should be quick-to-fail  Need a higher level skill set than the traditional QA role  Difficult to implement on non-templated systems   Velocity, JSF, JSP, ASP, wicket OK PHP, JavaScript, Java-based HTML not so easy
  • 30. The Risk?  ―If they plugged up the leaks that allow us to hack FireFox, this whole thing would go away.‖  ―Developers are a huge risk to test automation. They shouldn’t be allowed near the codebase.‖ —Simon Stewart
  • 31. Other ideas  Could you somehow track the changes, to get an idea of ―churn rate‖ in your presentation layer?  Compile to some kind of meta-step, so the target, rather than being pure Java, could interface with anything?  Standard for ―Object Repository‖, maybe as an addition to Selenium?