Feeling fatigued, frustrated, and stressed at work? Wondering how you can stay relevant and highly valued in this fast-changing software development domain? David Rosskopf shares how you can become more productive through a non-traditional approach for automating testing—and much more. David, a self-admitted automation addict, confesses he is easily bored with repetitive tasks and frustrated with inefficiencies. Learn from David how to identify inefficiencies in your workplace and how to develop the right tool to fit each need. He shares his knowledge and experiences using automation to solve day-to-day business problems: building automation frameworks, developing tools that decrease troubleshooting efforts, and creating tools to monitor performance. Get inspired to become the automation addict on your team and start solving problems back at the office.
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Confessions of a Test Automation Addict
1. T15
Concurrent Class
10/3/2013 1:30:00 PM
"Confessions of a Test
Automation Addict"
Presented by:
David Rosskopf
LDS Church
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
2. David Rosskopf
LDS Church
David Rosskopf has been addicted to test automation since 2006. As a bored technical support
representative for the illegal-drug testing industry, David started introducing automation to
simplify his job—and save time. He moved on to create large automation suites using various
tools, creating solutions that simplified not only his job but the jobs of others. David currently
works for The Church of Jesus Christ of Latter-day Saints, where he helps control quality on an
enterprise level facilities management and property application.
4. 9/19/2013
• Born in Southern California
• Moved to Utah
• Hobbies and interest: music,
movies, games, and family.
I am David
And I am an addict
• Born in Southern California
• Moved to Utah
• Loves Music, Movies, Games,
and Family.
I am David
And I am an addict
• Foster Parent
• Four children (12, 8,6,4)
• Two Dogs
• One incredible wife
2
5. 9/19/2013
History
• First XT Computer at 12
• First website at 16
• First tech job at 18
• Small break from IT at 21
• First tech support at 24
My profession is my enabler
• First QA position 25
• Currently work for the
LDS Church
• Supporting physical
facilities
Tools of choice
3
6. 9/19/2013
UI Automation
• WShell (VB Script)
• Selenium 1 C#
• WaTiN C#
• Selenium 2 C#
• MS Coded UI
Pros
Pros
Pros
••
•
•
Cons
•
Cons••
•
Cons••
Cons•
Cons
••
•
•
•
AutomateIE automation websites
Has to automate applications
Easymap complex elements on site
Great recorder
Can a for all typessimple
Limited script capabilities Programing
Recorderof Object elements on site
Can use
Easy map complex Oriented
Greatuse of Object Orientedthat literally takes
Very for simulating a yourself
Easy complex to code virus Programing
Use with mobile devices
over your computer browser you do a simple
Recorder creates tons
Doesn’t always work the way to think it would
Support for multiple of lines
function.
No support for onFirefox
Little support for load JavaScript calls
No errorworkto Chrome IEevery time a change is
Really made as well server
Requires handling RCin
No support for rerecord
Doesn’t selenium
Have to watch or it will screw up your computer
made
No Xpath
Tools of choice
UI Automation
• WShell (VB Script)
• Selenium 1 C#
• WaTiN C#
• Selenium 2 C#
• MS Coded UI
Pros
Pros
•
•
Cons•
•
Cons•
•
Cons•
Cons•
Cons
•
•
•
•
AutomateIE automation websites
Has to automate simple
Easya recorder
Great for all types applications
Can map complex elements on site
Limited script capabilities Programing
Recorderof Object elements on site
Can use
Easy map complex Oriented
Greatuse of Object Orientedthat literally takes
Very complex to devices
Easy for simulating a virus Programing
Use with mobile code yourself
over your creates tons lines toyou a simplewould
Recorder computer
Doesn’t always work browser do think it
Support for multiple the way
function.
No support for onFirefox
Little support for load JavaScript calls
No errorwork as well in IE
Really madefor rerecord every
Requires handling RC server time a change is
No support to Chrome
Doesn’t selenium
Have to watch or it will screw up your computer
made
No Xpath
Weapons of choice
Pros
•
•
•
•
Cheap Load test
Has UI code
Easy to
Complex integration
Good for Web Applications
Scalable (Cheap)
Cons
• Expensive Testing
No UI Load
• Complex coding
Load Testing
• WAPT
• Silk Performer
• Microsoft
Load Testing
4
7. 9/19/2013
Repetitive task + me = boredom
Boredom + me = sleep
Boredom is my trigger
Sleepy work = why?
Are others falling asleep?
Why? = can I automated this?
Relapse:
Building a Framework
5
8. 9/19/2013
Websites are
made up of
HTML code
Automation interacts
with the website using
the HTML code
Websites have
patterns in HTML
code
Relapse:
Building a Framework
Best Automation
frameworks, map
each interaction
Coding all of these
interaction points is a
great sleep agent.
Websites have
patterns in HTML
code
Part 1: Select has name
Part 2: Options has values
Part 3: Options has text
6
9. 9/19/2013
Websites have
patterns in HTML
code
Then I make a template
for creating the code for
each object.
After running, I then
have the foundation
for my framework.
Part 1: Select has name
Part 2: Options has values
Part 3: Options has text
I use web driver to crawl
through the website to
grab my variables for
each dropdown in the
site.
2 Days of Coding = 1000 automatically
mapped objects
I can now do more interesting things like
writing tests.
Relapse:
Building a Framework
7
10. 9/19/2013
The problem
Servers Crashing
Slow Response Times
Sad Users
Relapse:
Monitoring Software
The Solution
Have technical support check servers every hour
Problem: they have better things to do.
Create automated test
for each application
Capture response
times and errors
Create
Create a database
Relapse: annoying
program to prompt
to log the data
support users
Monitoring Software
Create timer to run
tests
40 hours spent
• Increased Efficiency
• Increased Quality
8
11. 9/19/2013
Relapse:
Application Helper
Complications found with testing
Complex Security Model
Not easy to navigate to right record
Frustrating Organization Model
No easy way to spoof user
Step 1: Identified Redundant
Tasks
• SQL Queries run often
• User spoofing
Hours spent in the database
Step 2: Think “How
can I automate this”
• Take the queries, and move
them into a .Net
application, with an easy
UI.
• Create a bunch of fake
users, and replace the real
ones.
Step 3: Sell it
and Do it.
• Check with your boss, and sell
him on the idea.
• Make the program, and share
for all to use.
9
12. 9/19/2013
Hours Saved per Week
QA = 5 Hrs. X 3 = 15 Hrs.
Dev = 2 Hrs. X 3 = 6 Hrs.
Total Hours: 21 Hrs.
Relapse:
Application Helper
Sort through all of the data
changes for the last 4 years.
Relapse:
Find Common Issues
NO!!!!!!!!!!!!!!!
10
13. 9/19/2013
Step 1: Identify the Need
Step 2: Think “How
can I automate this”
Step 3: Do It
Relapse:
Find Common Issues
• Identify the common
fixes being made to the
database.
• Find ways to prevent
these fixes from being
needed.
• Source control contains a
copy of every fix to the
database.
• Create a program that
reads through each file,
and parses it out to a table.
• Didn’t check with boss, time
already approved
• Created a simple console
program to parsed through
the files, and save the data in
csv file.
Identified enhancements that
lowered annual ticket count
50 tickets X 3 hr = 150 hr year
Relapse:
Find Common Issues
80 Hours schedule for project
6 hours to automate
74 hours saved
11
14. 9/19/2013
If you automate the boring
stuff, you leave enough time for
the fun stuff.
What to take away
Identify tasks that are
repetitive, boring, and a waste
of time, automate them.
Learn to program, and use
those skills to simplify your job.
What to take away
Build tools that will help you
Support the code.
12