GSoC/GCI Archive
Google Summer of Code 2015 Ruby on Rails

Improve Rails Testing Speed by Predicting Test Failures

by Genki Sugimoto for Ruby on Rails

This project tries to determine which test should be run for a given commit based on changes introduced since the base commit (likely to be the latest commit on master branch). It maintains the data of relationships between application code and test cases, for example, "line 10 of `a.rb` is executed by test cases A, B, and C". In this way, when a commit which changes line 10 of `a.rb` is introduced, we know we should run test cases A, B, and C (and more, based on other changes).