A beginner’s experience with CI/CD and how SauceLabs helped us
I recently took CSE 112, Advanced Software Engineering with Professor Powell at UCSD and was one of the team leads for our 11-person team. Today I’m going to be focusing on our CI/CD process, of which I was largely responsible for.
A large part of our class dealt with handling and establishing a proper Continuous Integration/Deployment pipeline to create the necessary precautions and safeguards to our software development process. Examples of tools we were supposed to have were linting, unit testing, end-to-end testing, code coverage, automated deployment, cloud hosting. As college students, our goal was to deal with as little manual setup as possible so we sought out cloud solutions for our problems. Companies such as mLab, CodeClimate, Heroku, and TravisCI provided free solutions that students could use and were easily available online. The only piece of the puzzle we were missing was testing.
I had setup local end-to-end testing on Chrome using Selenium Webdriver, but that wasn’t usable within TravisCI and also lacked browser/OS coverage. I researched cloud testing solutions and came upon two likely candidates: SauceLabs and BrowserStack. Both of them had free trial options for a certain time period, but they were also both shorter than the duration of the class. I personally reached out to both companies through email, asking if we could use their product for our student development team. Only one of the companies responded…

Larry Ho, a company representative of SauceLabs, was kind enough to understand our situation and set us up with free accounts for the duration of our class. After reading a couple short tutorials regarding their product, I was able to seamlessly move our tests we had written with Selenium Webdriver to their cloud hosted solution, and run them in parallel across different browsers/operating systems without additional configuration!
Now obviously the application my team was developing didn’t exactly need this level of test coverage, but I could immediately see the utility of such service. In one of my previous internships at Qualcomm, they had automated test farms for the applications they were testing, but the management of firmware and hardware constituted significant overhead that would be untenable for a smaller team. Testing-as-a-Service could prove invaluable to new companies that don’t want to invest in creating/managing their own test farms but want the stability and coverage such a setup provides.
I may be biased because they did offer my development team a free trial, but upon using their services and comparing their pricing to competitors also within the hosted end-to-end testing market, I found their pricing to be competitive. Compared to other competitors when looking for parallel automated testing, they offered lower prices both monthly and annually. If I were to found or join a startup in the future, I would strongly consider using SauceLabs within our CI/CD process again. SauceLabs provided my development team with strong and reliable end-to-end test coverage, without significant additional overhead or cost.
