Leveraging CI/CD For Complex Tests

Posted Jan 14, 2020

Multiple screens of code

LogiGear is a testing service provider for a number of clients, as well as a specialized service partner for Sauce Labs. We are advocates of the Sauce Labs Continuous Testing Cloud because it offers a comprehensive solution for testing: from its wide array of browsers to mobile devices, and platform support, along with real machines. This helps with detecting bugs on real environments faster. We use the Sauce Labs Continuous Testing Cloud because:

  • Sauce Labs makes supporting a CI/CD pipeline easy via remote link connection.

  • Sauce Labs allows teams to run tests on multiple browsers and devices in parallel, saving time.

  • Sauce Labs records screen when running tests, detecting pass/fail and making debugging failed cases much faster.

Recently, a long-term client of ours needed both speed and quality—a challenging proposition in the world of software testing. They’re in the entertainment industry, and they mainly outsourced manual testing to us due to their testing scenarios. They had created a product that was a robotic toy/telepresence that could be operated via mobile application on the users’ mobile device, and they needed to make sure it was actually going to work before sending it out to consumers. However, they also needed to meet their launch deadlines.

To effectively test the product and the mobile application, the client wanted to test across a variety of leading browsers, two different environments, and six languages: not exactly a walk in the park. This made for an especially complex testing scenario, with the significant combinations of mobile devices and browsers in play for both Android and iOS. The client’s vision was to create an automated test suite that could be effectively integrated into Continuous Delivery. Continuous Testing with Selenium requires customization and there are several best practices around it.

To achieve Continuous Testing, rapid test execution is a high priority. Our client requested a four-hour run cycle for 1,000 test cases. After consulting with the client, we opted to use a Selenium and Appium framework and a cloud-based Selenium grid to help support the testing. The Sauce Labs Continuous Testing Cloud is perfect for this type of testing— since it's a scalable solution that can be used on-demand along with their wide array of browser and platform support. Another added benefit is that it frees up bandwidth on local machines, which saves time and reduces run cycles. Sauce Labs also alleviates the burden of maintaining an in-house mobile lab and makes supporting testing in the CI/CD pipeline easy.

To put it in context: on local machines, it takes about 11 hours to run tests, whereas it takes about three hours if running on Sauce Labs with 1,000 TCs per one environment.

With the combination of Selenium and Appium framework and Sauce Labs, our team was able to successfully overcome the challenges of usability, extendability, compatibility, and maintainability for a complex testing scenario. Sauce Labs was able to successfully implement Continuous Testing to help the client, while massively increasing speed with testing on multiple browsers using one test script and without having to do any internal setup.

That, paired with the easy automation setup and browser validation in multiple environments, was immensely helpful in speeding up the testing process. However, it gets much easier when we’re able to run tests on various browsers with Sauce Labs. Using their cloud-based Selenium grid and our own know-how, we were able to successfully scale and implement Continuous Testing for a complex testing environment for CI/CD, while reducing our sprint-cycle for enterprise test automation. We were also able to gain significant cost savings using a Selenium grid. When we executed tests for the mobile application, Sauce Labs helped us to run test cases on various mobile devices and whatever device type requested, a significant cost savings compared to the cost of creating an in-house mobile lab.

Michael Hackett is a co-founder of LogiGear, and has over two decades of experience in software engineering in banking, securities, healthcare, and consumer electronics. Michael is a Certified Scrum Master and has co-authored two books on Software Testing: Testing Application on the Web-Test Planning for Mobile and Internet-Based Systems (Wiley, 2nd ed. 2003), available in English, Chinese, and Japanese, and Global Software Test Automation (HappyAbout Publishing, 2006). He is a founding member of the Board of Advisors at the University of California Berkeley Extension and has taught for the Certificate in Software Quality Engineering and Management at the University of California Santa Cruz Extensions. As a member of IEEE, his training courses have brought Silicon Valley Testing Expertise to over 16 countries.Michael holds a Bachelor of Science in Engineering from Carnegie Mellon University.

Written by

Michael Hackett

Topics

Automated testing

Categories