SwiftKey is an innovative language technology company based in the UK. It created the intelligent keyboard app of the same name, which was the biggest-selling paid Android app of the last year, reaching number 1 in 57 countries. The company’s software is designed to make typing faster, easier and more personalized. The app’s contextual predictions are available in over 60 languages, making it a regular on top 10 must-have app lists. SwiftKey’s language technology is also available to licence and its prediction engine powers the keyboards on a number of leading smartphones. The company was founded in London in 2008 in response to the growing popularity of mobile devices and the difficulties users had typing on touchscreen keyboards. The team now works with well-known manufacturers, healthcare organizations and other enterprises.
SwiftKey’s software supports many versions of Android with different screen sizes and in numerous languages. The company therefore had large suites of Android instrumentation tests that they wished to run across various devices. However, this presented a couple of challenges in terms of automated testing. In Android, keyboards need to be both enabled and selected manually by the user. Also, the keyboard is a system service with a UI which means that it is both used by other apps and also displays its own UI inside the calling app UI.
With this in mind, the company’s engineering team needed to test the thousands of different possible Android configurations to ensure that they would be supported by SwiftKey software. While most cloud systems offer a record and replay solution, the company wanted to avoid using a third party library or testing framework in order for their tests to remain purely Android. Instead of running a test for each different configuration – costly and time-consuming measures that can lead to erroneous results and potentially jeopardize the testing operation as a whole—SwiftKey was looking for a test cloud solution that was not-UI-driven, all while being cost-effective and time-saving.
The company turned to Bitbar for its cloud-based Android testing solution—Testdroid Cloud—the first automated, real-time testing tool for mobile application developers. SwiftKey took full advantage of the Testdroid Cloud API by making it part of its test infrastructure through the Testdroid Cloud Jenkins-plugin. This enabled the SwiftKey team to run its own functional test suites that spanned over 1000 test cases on any device in Testdroid Cloud and avoid the need of implementing third party testing framework. The team also created comprehensive tests to check the SwiftKey keyboard layout on any language across all devices in Testdroid Cloud as well as ran performance tests using the real devices in Testdroid Cloud to find performance bottlenecks.
By using Testdroid Cloud, SwiftKey was able to detect issues that only appeared on specific Android devices, allowing the company to find, fix and validate them before release. This helped SwiftKey deliver a better experience for users of its software.
He added: “Testing is an important part of our work as we’re always seeking to innovate and deliver a better experience for our users around the world.”
Test Architect, SwiftKey
Michele Sama has a signiﬁcant track record of test automation including Google, where he created a test automation frameworks for J2ME application and Swiftkey, where he is currently leading the company’s quality assurance. At SwiftKey, Michele and his team have created various tools and frameworks to support large scale test automation.
He holds a PhD in software validation and veriﬁcation from University College London.
MSc and BS in software engineering from University of Bologna, Italy