Behavioural Testing Ruby/Rails Apps @ Scale with Rspec and Cucumber

Reading time ~2 minutes | February 05, 2016

Problem -

When I used to lead the development of a functional heavy e-learning cloud (it’s like Shopify for e-learning) we used to have a fairly large code base written in Ruby (Rails) and nodejs. To understand the scale, there were 250+ APIs used by hundreds of websites launched on this cloud platform.

We had a development team of size 40+ spread across 3 engineering centers and integration testing used to be an issue. This demanded a lot of cross team coordination efforts to perform releases on a daily cadance and resulted in slower deployment cycles. The platform was under development for 3+ years already and had good unit and functional test coverage. I decided to lead an effort towards increasing our integration test coverage, automate behavior testing so that SDE bandwidth is saved during integration and UAT is fast tracked by QA being able to run all behavior tests in self service manner.

Solution -

Behavioural Testing Ruby/Rails Apps @ Scale - Rspec & Cucumber from Udaya Kiran

Results

  1. This saved a cumulative of 1.5 SDE and 2 QA bandwith for releases through out the month.
  2. Test coverage for code improved from 65% to 87%
  3. Number of regression bugs reduced by 10% upon release.