Tooling for Automated Testing 

Marie Drake

https://www.mariedrake.com/

/in/marie-drake

@mcruzdrake

 

Ruby (Selenium, Capybara)

Perl monolith

@mcruzdrake

Issues (testing perspective)

  • Features/changes take a long time to be deployed
  • QE team spends a lot of time on automation maintenance
  • Automation codebase not in synced with project codebase
  • Developers depend on QE to write automated tests

 

 

... and many more!

@mcruzdrake

Project Bedrock

@mcruzdrake

We want all Engineers to be responsible for Testing and Quality!

@mcruzdrake

We want to automate as much as possible so we have more time doing human based testing.

@mcruzdrake

We want everyone to have a great developer experience and enable all Engineers to release features by themselves.

@mcruzdrake

@mcruzdrake

@mcruzdrake

Unit

Integration

UI

High Maintenance

Slow

Difficult

Cheap

Fast

💰💰💰

😫 😫 😫

Test Automation Pyramid

@mcruzdrake

Test Automation Wheel

@mcruzdrake

Our current tooling for automated testing

Jest

Sitespeed

React Testing Library

Terraform

Detox

@mcruzdrake

How did the team choose a Test Automation tool?

  • Think about our testing requirements
  • Assess the skillset of the team
  • Consider the technology stack
  • Can it integrate easily to our pipeline?
  • Is it easy to debug when failures occur?
  • License cost of the tool?
  • Analysis and comparison with other similar tools
  • Finalise decision and own it!
  • Iterate for improvements

@mcruzdrake

How did we get buy-ins?

  • Explaining the benefits clearly
  • Explain that not everything can be automated
  • Getting developers involve with decision making
  • Collaboration and regular feedback
  • Support from leadership team

@mcruzdrake

Challenges that we faced

  • Legacy automation framework maintenance
  • Speed of pipeline
  • Self hosted Gitlab and integration with other tools
  • Not able to do Contract testing on legacy APIs

@mcruzdrake

Future Plans (Continuous Improvements)

  • Improve Contract Testing workflow
  • Improve Visual Testing workflow (Percy 2.0)
  • Introduce basic automated accessibility checks on various pages
  • Browser Performance Testing on feature branches

@mcruzdrake

Let's look at some tools!

@mcruzdrake

Example: Cypress

@mcruzdrake

How does it integrate?

@mcruzdrake

Example: Percy

@mcruzdrake

How does it integrate?

@mcruzdrake

Example: k6

@mcruzdrake

How does it integrate?

@mcruzdrake

K6 + New Relic Dashboard

@mcruzdrake

Example: Pact

@mcruzdrake

How does it integrate?

@mcruzdrake

Example: New Relic

@mcruzdrake

Thank you!

Questions? 😊

@mcruzdrake

Made with Slides.com