Show Me the Numbers: Automated Browser
Show Me the Numbers
AUTOMATED BROWSER PERFORMANCE TESTING

CHRIS MOUNTFORD

•

SENIOR DEVELOPER, JIRA

•

ATLASSIAN

•

@CHROMOSUNDRIFT
2005
3.4.1
7425
Inline
Edit

Search
Detail
View
Browser Performance
Testing
“

Measuring the perceived
performance of specific
interactions for a single user

”
“

Measuring the perceived
performance of specific
interactions for a single user

”
JavaScript Timeline
1995

Classical JavaScript
Just text by itself, for
impact.
Show Me the Numbers: Automated Browser
“Why do we split
everything into so
many files?”

“Performance.”
“Why do we merge all
the files into large
batches?”

“Performance.”
“Why...”

“Performance!”
“

Show me the numbers!
NOT JACKY CHAN

”
“

If we have data, let’s look at
data. If all we have are opinions,
let’s go with mine.

JIM BARKSDALE

”
Performance has
many enemies
The Mobile Web
EVERYTHING IS THE SAME BUT WORSE

• network / radio power mode steps, sleep, etc.
• cpu / battery impact
• memory
• standards compliance
• tooling
NETWORK TIME
PARSE TIME
JavaScript Execution
• JS Engines
• native bind(), map() etc
• V8: hidden classes, arrays, gc
• DOM Manipulation
• events
• JQuery
• Sizzle selectors
• Memory leaks
BLOCKING
<SCRIPT SRC=”WTF.JS”>
Tools
Chrome DevTools,
Chrome WTF
Firebug Lite
dynaTrace
Reflow
Show Me the Numbers: Automated Browser
Yes!

Will It Reflow?
inspired by @stoyanstefanov
But wait, there’s more!
• CSS Transforms
• Hardware acceleration?
• Data weight
• Concurrent request count
• Inline Base64 Encoded resources
Designing the JIRA
Browser Performance
Test Suite
Automated JIRA Browser
Performance Tests
Baselines

Vigilance

Koto Psycho OnDemand
Charts Events Analytics
Hacking
Page
Objects

Soke
Bamboo
Framework
Plugin

DB
Soke Interactions
• Define Timed Sections
• Number of Repetitions
• Personas

Mad
Props to
Atlassian
PerfEng
Team
Soke Interactions In Scala
Show Me the Numbers: Automated Browser
Show Me the Numbers: Automated Browser
Optimization Techniques
• Batching
• Atlassian Plugins, No Worries
• Predictive Fetching
• Guided by Analytics
• Caching
• Watch for memory leaks
“

”

I don’t know... it just feels slow.
A JIRA PRODUCT MANAGER
Perception is Reality
Show Me the Numbers: Automated Browser
Psycho Latency
• Ready for Action
• When does the User believe the app is waiting
for her?
• Manual “psycho” event placement
• and maintenance!
• Yardstick tuning against a real system
• Optimization Example: Execution Reordering
Gotchas
click( )
Selenium / Webdriver
• Chromedriver implemented by Chromium team
• mouse click on geometric centre of target
• W3C Webdriver wire protocol draft
• OK Browsers, follow the standard!
Selenium / Webdriver
• Windows and IE process control
• Browser auto-upgrades
• Changing what you measure
• Prefetch cache benefit in JIRA 6.0
Takeaway tweets:
• Performance has many enemies
• Be holistic, be quantitative, beware the microoptimization trap
• Perception is Reality
• The price of performance is eternal vigilance

#atlassiansummit
Thank you!
CHRIS MOUNTFORD

•

SENIOR DEVELOPER, JIRA

•

ATLASSIAN

•

@CHROMOSUNDRIFT
Rate this Talk
Show Me the Numbers: Automated Browser
Text code below to 22333
or visit http://bit.ly/197mpCa
MEH = 45
NO T BA D = 46
P R ET T Y GO O D = 47
A WES O ME = 48

To join this session, send text 136888 to

More Related Content

PDF
VMUG - My Journey to Full Stack Engineering
PDF
5 Quick JavaScript Performance Improvement Tips
PDF
Harnessing The Power of CDNs
PPT
High performance java script why everything youve been taught is wrong
PPTX
All about that reactive ui
PPTX
Apache Mesos Distributed Computing Talk
PDF
Chain Reaction: How React is Changing the Front-end
PDF
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
VMUG - My Journey to Full Stack Engineering
5 Quick JavaScript Performance Improvement Tips
Harnessing The Power of CDNs
High performance java script why everything youve been taught is wrong
All about that reactive ui
Apache Mesos Distributed Computing Talk
Chain Reaction: How React is Changing the Front-end
Recipes for Continuous Delivery (ThoughtWorks Geeknight)

What's hot (8)

PDF
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
PDF
React, London JS Meetup, 11 Aug 2015
PPT
#Surgeconf Scaling Twitter to go After the Fail Whale
PDF
Chaos Patterns
PPTX
Scaling apps for the big time
PPTX
Some chat ops what?
KEY
A Very Biased Comparison of MVC Libraries
PDF
Creating airplane mode proof (Xamarin) applications
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
React, London JS Meetup, 11 Aug 2015
#Surgeconf Scaling Twitter to go After the Fail Whale
Chaos Patterns
Scaling apps for the big time
Some chat ops what?
A Very Biased Comparison of MVC Libraries
Creating airplane mode proof (Xamarin) applications
Ad

Viewers also liked (8)

PDF
AtlasCamp 2010: JIRA Plugin Performance Tuning - Alex Hennecke
PDF
JIRA Enterprise Webinar - 15 Aug 2012
PDF
Administrivia: Golden Tips for Making JIRA Hum
PPSX
Implementing Confluence in to a global SME
PDF
Project Management Hacks
PPTX
Sucessful implementation of JIRA and Confluence - tips and best practice
PDF
5 Best Practices to Achieve Operational Excellence with Big Data Apps
PDF
The 7 habits of high successful atlassian marketplace developers
AtlasCamp 2010: JIRA Plugin Performance Tuning - Alex Hennecke
JIRA Enterprise Webinar - 15 Aug 2012
Administrivia: Golden Tips for Making JIRA Hum
Implementing Confluence in to a global SME
Project Management Hacks
Sucessful implementation of JIRA and Confluence - tips and best practice
5 Best Practices to Achieve Operational Excellence with Big Data Apps
The 7 habits of high successful atlassian marketplace developers
Ad

Similar to Show Me the Numbers: Automated Browser (20)

PDF
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
PPTX
Using Modern Browser APIs to Improve the Performance of Your Web Applications
PPTX
Measuring web performance with user-centric metrics
PPTX
Performance on a budget
PDF
Ez performance measurement
PPTX
Can we do performance testing manually
PDF
Ciprian balea automated performance-testing
PPSX
Automated Performance Testing for Desktop Applications by Ciprian Balea
PDF
Client-Side Performance Testing
PDF
Measuring what matters
PDF
Edge 2016 measuring what matters
PPTX
Web Application Performance from User Perspective
PDF
Performance Testing Java Applications
PDF
ConFoo: Moving web performance testing to the left
PPTX
Optimizing Java
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
Metrics, metrics everywhere (but where the heck do you start?)
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
PDF
Comprehensive Performance Testing: From Early Dev to Live Production
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Measuring web performance with user-centric metrics
Performance on a budget
Ez performance measurement
Can we do performance testing manually
Ciprian balea automated performance-testing
Automated Performance Testing for Desktop Applications by Ciprian Balea
Client-Side Performance Testing
Measuring what matters
Edge 2016 measuring what matters
Web Application Performance from User Perspective
Performance Testing Java Applications
ConFoo: Moving web performance testing to the left
Optimizing Java
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Comprehensive Performance Testing: From Early Dev to Live Production

More from colleenfry (20)

PDF
True Git
PDF
The 7 habits of high successful atlassian marketplace developers
PDF
The 7 habits of high successful atlassian marketplace developers by dave meyer
PDF
AtlasCamp 2013: Scratch your own itch
PDF
AtlasCamp 2013: Bring your own Stack
PDF
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
PDF
AtlasCamp 2013: Keynote
PDF
AtlasCamp 2013: Confluence patterns
PDF
AtlasCamp 2013: Modernizing your Plugin UI
PDF
AtlasCamp 2013: Confluence Blueprints
PDF
AtlasCamp 2013: Confluence State of the Union
PDF
AtlasCamp 2013: ADG / Lean UX
PDF
Atlassian Summit 2013: Confluence State of the Union
PDF
Atlassian: More Awesome with Add-ons
PDF
Flying at the Speed of Git
PDF
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
PDF
True Git: The Great Migration
PDF
Adopting Continuous Integration in an Ops Group
PDF
W4 0245 agility_v1
PDF
Cultivating Content: Designing Wiki Solutions That Scale
True Git
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers by dave meyer
AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: Keynote
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: ADG / Lean UX
Atlassian Summit 2013: Confluence State of the Union
Atlassian: More Awesome with Add-ons
Flying at the Speed of Git
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
True Git: The Great Migration
Adopting Continuous Integration in an Ops Group
W4 0245 agility_v1
Cultivating Content: Designing Wiki Solutions That Scale

Recently uploaded (20)

PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPT
Geologic Time for studying geology for geologist
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Architecture types and enterprise applications.pdf
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A comparative study of natural language inference in Swahili using monolingua...
Geologic Time for studying geology for geologist
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Consumable AI The What, Why & How for Small Teams.pdf
Enhancing emotion recognition model for a student engagement use case through...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
1 - Historical Antecedents, Social Consideration.pdf
Getting started with AI Agents and Multi-Agent Systems
Architecture types and enterprise applications.pdf
Microsoft Excel 365/2024 Beginner's training
Developing a website for English-speaking practice to English as a foreign la...
Benefits of Physical activity for teenagers.pptx
Module 1.ppt Iot fundamentals and Architecture
The influence of sentiment analysis in enhancing early warning system model f...
Custom Battery Pack Design Considerations for Performance and Safety
CloudStack 4.21: First Look Webinar slides
Convolutional neural network based encoder-decoder for efficient real-time ob...
Taming the Chaos: How to Turn Unstructured Data into Decisions
From MVP to Full-Scale Product A Startup’s Software Journey.pdf

Show Me the Numbers: Automated Browser