Becoming More Test-Driven with CircleCI
The Challenge Prior to CircleCI
Humaan is an Australian web development agency that focuses on creating “digital things for brands and people.” Dan Barrett, back-end developer at Humaan, realized that their team of 7 developers would benefit from adding additional tooling around integrations and tests after experiencing some occasional issues, and bugs, with projects they were building.
“Every so often we would accidentally break something, and not realize we had done it,” says Barrett. “We’d find the issue in internal testing, or a client or end user would point it out. We started writing more tests to help us catch those issues before they happened, but we realized that our workflow didn’t really accommodate an automated testing phase. We didn’t have a great way to see if tests were run, or passed, before we did a deploy.”
The Solution
“CircleCI’s integration with Bitbucket made it an easy choice for us. It gave us a really simple way to see if our tests passed on each commit. Even knowing whether tests ran was a big win for us. It’s definitely boosted confidence for our entire build process and deployment process,” says Barrett.
“Using CircleCI in our development process has also made testing more of an integral part of our workflow. We’re not doing full-on test-driven development yet, but we are writing more tests as we go. In the past, we might have built everything and then added in tests later. I remember at one point, I was adding tests for code that was written eight or nine months ago - and at that point, it’s even hard to know what is supposed to be happening in your code.”
“CircleCI delivers developers the main things they always want: the ability to do things better, and faster, for cheaper,” says Barrett. “It’s easy to set up, and supports the languages and versions we need. And, integration with Bitbucket means it works where we do. Bitbucket is ideal for us because it offers unlimited private repositories. We are a web consulting and design business, so we have a lot of different projects with their own repos at any given time.”
Why Humaan Chose CircleCI
“CircleCI has excellent support for PHP, and much better environment building tools than other CI providers we looked at,” says Barrett. “We can easily specify what version of PHP and node we need, and add in Redis and Memcached. The flexibility CircleCI provides in one config file is a big win for us.”
“It was also really easy to get CircleCI up and running. I think it took an hour. The Bitbucket integration is so nice. We don’t have to go jumping through a number of interfaces to see our build status - we can just look down the commit tree and see all the green ticks.”
Last few months, @botman and myself have integrated unit tests and @circleci into a large project – it’s been heaven!
— Dan Barrett (@yesdevnull) March 13, 2017
About Humaan
Humaan is a Perth-based digital and creative agency that builds world-class web and mobile experiences for brands and people.