test automation in a continuous deployment environment

18
Yehuda Miller, QA Engineer Test Automation in a Continuous Deployment Environment

Upload: yehuda-miller

Post on 15-Feb-2017

251 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Test Automation in a Continuous Deployment Environment

Yehuda Miller, QA Engineer

Test Automation in a Continuous Deployment Environment

Page 2: Test Automation in a Continuous Deployment Environment

• Got into QA by accident…just like everyone else

• Worked on many different projects• I’m an avid reader (28 books this year)• Moved to Israel July 1, 2014• I’m colorblind (a challenge for a tester)• My favorite color is teal

Hello, who are you?

Page 3: Test Automation in a Continuous Deployment Environment

“How long does it take you to get one line of code into production?” - Wisdom of the Internet ;)

Page 4: Test Automation in a Continuous Deployment Environment

Where we were• All manual QA

• Repetitive tasks• Time consuming

• Two service packs a week• Holding back development• SPC size limits error handling

Page 5: Test Automation in a Continuous Deployment Environment

• Number of tests • Desktop: 587 (469) (493 IE)• Mobile-web: 69 phone, 23 tablet (0)

• Runtime of full suite: 37 min (51 min)• RND size

• Number of testers: 12• Developers: 50

• Grids: 4 (1)• Tests run on prod and semi staging env.• Continuous Deployment

Where we are today:

Page 6: Test Automation in a Continuous Deployment Environment

• We moved to CD in the last 8 months• On average we distribute code to

production 30 times per day.• Comes with challenges• Automated test on every code release• Only minimal tests on each release• Dev is responsible to run appropriate tests

PRE-RELEASE in staging

The CD mindset

Page 7: Test Automation in a Continuous Deployment Environment

• Risk reduction to production• Small incremental changes are easier to

monitor and revert if necessary• Has lower impact on the system

• Increasing R&D velocity• Avoiding wasted time on merges and complex

coordination before dist.• Allow R&D and product to experiment and

innovate more frequently.

RND Goals

Page 8: Test Automation in a Continuous Deployment Environment

• Provide a safety net• Avoid the bottleneck of manual sanity

testing• Reliability

• No flaky tests• No false failures

• QA E2E test should not be the new bottleneck

QA Goals

Page 9: Test Automation in a Continuous Deployment Environment

• QA are responsible for E2E tests only.• Dev write and maintain Unit tests• E2E tests are written during development

process • All QA members monitor CD suite results.• CD E2E tests are NOT acceptance tests

Responsibilities

Page 10: Test Automation in a Continuous Deployment Environment

• CD flow from commit to prod is ~25 minutes

• Current QA CD suite takes 1.5 minute in best case scenario.

• Runs in parallel to some of the jobs in the CD flow• Limited by time frame of parallel jobs• Still have room for further growth

Timing

Page 11: Test Automation in a Continuous Deployment Environment

• Minimal suite – No full regression on commit

• Occasional false failures due to env/site performance/human error

Risks

Page 12: Test Automation in a Continuous Deployment Environment

“A challenge only becomes an obstacle when you bow to it.” - Ray A. Davis

Page 13: Test Automation in a Continuous Deployment Environment

• Reliability• Velocity of tests• Pinpointing the failure• CD halt on failure.• Large scale tests refactoring due to

changes.

Challenges of CD

Page 14: Test Automation in a Continuous Deployment Environment

• Maintaining production data integrity• Reliance on pre-existing data• Unable to run on local staging env• Fast adaptation to feature flags• Identifying failure reasons• Need a true BDD/TDD mindset

Challenges QA faces

Page 15: Test Automation in a Continuous Deployment Environment

• Testing on more browsers• Edge• Firefox• Safari?

• Suites for our native apps (in progress)• iOS• Android

• Upgrading the infra• Gems, grids, Ruby…

• Adapt the tests for feature flags• Turn tests on/off based on prod flags• Test “flagged-off” features

The road ahead…

Page 16: Test Automation in a Continuous Deployment Environment

Questions?

Page 17: Test Automation in a Continuous Deployment Environment

Come join us for our next meetup!Topic:

Continuous Deployment Applied @MyHeritage

When: Tuesday, December 1, 2015 at 17:00

Where: MyHeritage office, 3 Ariel Sharon 4th

floor, Or Yehuda

Shameless Plug!

Page 18: Test Automation in a Continuous Deployment Environment

AA Milne

Thanks!We are hiring