hugs instead of bugs: dreaming of quality tools for devs and testers

57
- Of Tools That Make Dev, Test and Ops Hug each Other - More on http://blog.dynatrace.com - Dynatrace Free Trial: http://bit.ly/dttrial Hosted by: Andreas Grabner - @grabnerandi I have a Dream …

Upload: andreas-grabner

Post on 17-Jul-2015

326 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

1 @Dynatrace

- Of Tools That Make Dev, Test and Ops Hug each Other

- More on http://blog.dynatrace.com

- Dynatrace Free Trial: http://bit.ly/dttrial

Hosted by: Andreas Grabner - @grabnerandi

I have a Dream …

Page 2: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 3: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 4: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 5: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 6: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Tester Developer

Page 7: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 8: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 9: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 10: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 11: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 12: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 13: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

NOBODY wants this …

Page 14: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Unless you work for Google or Microsoft

Page 15: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Nor this …

Page 16: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 17: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

As it leads to this …

Page 18: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

The “War Room”

Facebook – December 2012

Page 19: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

And potentially to this …

Page 20: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 21: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

And this …

Page 22: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 23: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

And that’s why Business doesn’t like it either …

Page 24: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

~80% of problems

caused by ~20% patterns

YES we know this

80% Dev Time in Bug Fixing

$60B Defect Costs

BUT

Page 25: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

3 Situations on

WHY this happened,

HOW to avoid it,

METRICS to look at

Page 26: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 27: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

#Push without a Plan

Page 28: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Mobile Landing Page of Super Bowl Ad

434 Resources in total on that page:230 JPEGs, 75 PNGs, 50 GIFs, …

Total size of ~ 20MB

http://apmblog.dynatrace.com/2014/01/31/technical-and-business-web-performance-tips-for-super-bowl-ad-landing-pages/

Page 29: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

m.store.com redirects to www.store.com

ALL CSS and JS files are

redirected to the www domain

This is a lot of time “wasted” especially on high latency mobile

connections

http://apmblog.dynatrace.com/2013/12/02/the-terrible-website-performance-mistakes-of-mobile-shopping-sites-in-2013/

Page 30: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Fifa.com during Worldcup

http://apmblog.dynatrace.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/

Page 31: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

# Images

# Redirects

Size of Resources

Page 32: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 33: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

#“Blindly” (Re)use Existing

Components

Page 34: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Requirement: We need a report

Page 35: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Using Hibernate results in 4k+ SQL Statements to display 3 items!

Hibernate Executes 4k+ Statements

Individual Execution VERY

FAST

But Total SUM takes 6s

http://apmblog.dynatrace.com/2014/04/23/database-access-quality-metrics-for-your-continuous-delivery-pipeline/

Page 36: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

# SQL Executions

# of SAME SQLs

Page 37: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 38: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Architectural Decisions gone

Bad

Page 39: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

We wanted Web 2.0 and Mobile Ready!

Page 40: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 41: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

http://apmblog.dynatrace.com/2014/03/13/software-quality-metrics-for-your-continuous-delivery-pipeline-part-i/

Page 42: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

# Items per Page

# AJAX per Page

Page 43: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 44: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 45: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 46: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 47: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

•# Images

•# Redirects

•Size of Resources

•# SQL Executions

•# of SAME SQLs

•# Items per Page

•# AJAX per Page

Remember: Use Tools that provide these Metrics

•Time Spent in API

•# Calls into API

•# Functional Errors

•3rd Party calls

•# of Domains

•Total Size

Page 48: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

If we do all that …

Page 49: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 50: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

… so there is more

time for …

Page 51: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 52: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Before you get too drunk …

blog.dynatrace.combit.ly/dttrial

apmchallenge.eu

Page 53: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

A FINAL THOUGHT!

Page 54: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Page 55: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

Putting it into Test Automation

12 0 120ms

3 1 68ms

Build 20 testPurchase OK

testSearch OK

Build 17 testPurchase OK

testSearch OK

Build 18 testPurchase FAILED

testSearch OK

Build 19 testPurchase OK

testSearch OK

Build # Test Case Status # SQL # Excep CPU

12 0 120ms

3 1 68ms

12 5 60ms

3 1 68ms

75 0 230ms

3 1 68ms

Test Framework Results Architectural Data

We identified a regresesion

Problem solved

Exceptions probably reason for

failed testsProblem fixed but now we have an

architectural regression

Problem fixed but now we have an

architectural regressionNow we have the functional and

architectural confidence

Let’s look behind the

scenes

Page 56: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

And in your Pipeline

Commit Stage• Compile• Execute Unit Test• Code Analysis• Build installers

Automated Acceptance

Testing

Automated Capacity Testing

Manual testing• Key showcases• Exploratory testing Release

Unit & Integration Tests

Functional Tests

Performance TestsProductionMonitoring

Functional Tests

Page 57: Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers

57 @Dynatrace

Andreas GrabnerFree Tools @ http://bit.ly/dttrial

Follow me @grabnerandi

Email me [email protected]

http://blog.dynatrace.com

Win a GPS Watch: http://apmchallenge.eu