Top Banner
Automation Best Practices Leo Laskin, Test Automation Advisor
16

Automation Best Practices

Apr 16, 2017

Download

Technology

Sauce Labs
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automation Best Practices

A u t o m a t io n Be s t P ra c t i c e s

L e o L a s k i n , T e s t A u t o m a t i o n A d v i s o r

Page 2: Automation Best Practices

About Me

• Twitter: @LeoLaskin

• LinkedIn: https://www.linkedin.com/in/llaskin

• Email: [email protected]

© Sauce Labs, Inc. 2

Page 3: Automation Best Practices

Manual Tests

© Sauce Labs, Inc. 3

No Manual Tests*

*TestingExtremeProgramming byLisaCrispin andTipHouse

Page 4: Automation Best Practices

Start with a Clean System

• Having a clean system every time is paramount for reproducible results

• SaaS grid based systems can be setup to be fresh with no system cache, browser cache, cookies, etc.

© Sauce Labs, Inc. 4

Page 5: Automation Best Practices

Paralle li zatio n

• Serialized tests take more time and cost more money

• Using a Selenium Grid like Sauce Labs, parallelized tests can spin up multiple browsers for you or multiple tests simultaneously

• 300 minute long tests can take either 5 hours or as little as 1 minute.

© Sauce Labs, Inc. 5

Page 6: Automation Best Practices

Page Object Pattern

• Encourage reusable code throughout your test app

• Test code more organized for update if test parameters like selectors change

• Tests are more readable with a natural feeling Domain-Specific Language(DSL)

© Sauce Labs, Inc. 6

Page 7: Automation Best Practices

Test Constant ly

• Don’t ever stop testing

• Having tests run on every commit is going to provide significantly higher confidence in your software

• You have unlimited amounts of time to test. Use it!

© Sauce Labs, Inc. 7

Page 8: Automation Best Practices

Speed things up

• The average attention span of an adult is less then 5 minutes

• Try to provide results before context is switched

• Make the devs work for you not against you

© Sauce Labs, Inc. 8

Page 9: Automation Best Practices

Start Small

• Don’t rush to automate every test case

• Identify test case priority then automate

• Don’t automate end-to-end

• Divide and conquer

© Sauce Labs, Inc. 9

Page 10: Automation Best Practices

Divide your testing up

• By Functional Area

• By hosted server

• By backend server

© Sauce Labs, Inc. 10

Page 11: Automation Best Practices

Automation = Development Activ ity

• Automation is a real development endeavor, treat it as such

• Beware of Cowboy Coding

• Copy/Pasting inside your code can be replaced by reusable methods

• Source control is cheap insurance

• Bad coding practices = bad testing practices (and vice versa)

© Sauce Labs, Inc. 11

Page 12: Automation Best Practices

Don’t Forget to Wait!

• Web pages don’t load instantaneously, and not all elements load at the same time

• A lot of your failures in finding an element will disappear if you use these

• Explicit or fluent waits are preferred for waiting for single elements

• Implicit waits for waiting all the time

• Fluent waits for elements that can take variable time to load

© Sauce Labs, Inc. 12

Page 13: Automation Best Practices

Avoid Dependencies

• Don’t allow tests to be dependent on each other

• One test’s actions should not drive another tests assertion criteria

© Sauce Labs, Inc. 13

Page 14: Automation Best Practices

Prep Your Environment

• Make sure your CI rig can handle the number of jobs running on it simultaneously

• Make sure your SUT can handle the number of tests running on it simultaneously

© Sauce Labs, Inc. 14

Page 15: Automation Best Practices

Collect Metr ics

• How long did test runs take before and after automation?

• How many bugs do automated tests identify per release?

• How many engineers does a test run require?

© Sauce Labs, Inc. 15

Page 16: Automation Best Practices

SAUCE LABS RESOURCES

February 29, 2016 © Sauce Labs, Inc.

• Sign up for a free trial of Sauce

https://saucelabs.com/signup/trial

• Check out our docs on Automation and how to use Sauce at https://wiki.saucelabs.com

16