19 Oct 2017 · Software Engineering

    Rails Testing Grader: Compare Your Test Suite to the Industry

    2 min read
    Contents

    Rails Testing Grader

    Being able to compare the way you’re working to rest of the industry is usually both interesting and useful. This is why we created Rails Testing Grader, a new tool backed by anonymous, real-world data from Semaphore that lets you compare the state of your test suite and CI build to Ruby on Rails projects of same size.At Semaphore, we believe that it’s not proper continuous integration if your build takes more than 10 minutes to run. Some people argue that 1.0 code to test ratio is a must. Some might say that this ratio is too low.

    But what is actually happening in reality, in apps that people make for a living? We built Rails Testing Grader to answer that question.

    To compare your Rails app with others of similar size, you only need to visit rails.testinggrader.com, enter your current CI build time, number of lines of code and number of lines of test code.

    Example results on Rails Testing Grader

    In order to provide relevant results, we took an anonymous sample of 1,000 private Ruby on Rails projects that are tested on Semaphore, and segmented them into 5 groups:

    1. Apps with less than 5,000 LoC, representing 48% of the sample.
    2. 5-10k LoC, representing 15%.
    3. 10-20k LoC — 15%.
    4. 20-40k LoC — 11%.
    5. 40+k LoC — 10% of all apps.

    The results that you get are based on the category that your app belongs to.

    We hope you find Rails Testing Grader interesting. We’d love to hear your thoughts and feedback. Is there anything you’d like to see it do? A Grader for another language or tech stack? Feel free to post in the comments section below this post.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Avatar
    Writen by:
    Marko Anastasov is a software engineer, author, and co-founder of Semaphore. He worked on building and scaling Semaphore from an idea to a cloud-based platform used by some of the world’s engineering teams.