A native of Austria, Martin Schneider is a technical architect, currently based in Singapore. He holds a Master’s degree in Mathematics and has been working as a software engineer for 15+ years. He has more than five years of experience in automated software testing under his belt, with a strong focus on UI testing with tools like Selenium, Appium, Cucumber, Applitools and others. He also possesses a broad knowledge of cloud-based UI testing solutions like Browserstack and AWS Devicefarm.
Before moving to Singapore, Martin worked for Salzburg-based Porsche Informatik for eight years as a software engineer and technical architect. He designed and built a Java-based functional testing framework from scratch, which encapsulated different automation technologies to interact with a large-scale web application. This approach allowed his team a seamless transition from one technology (Silk4J) to the next (Selenium).
Today, Martin is based in Singapore and responsible for the overall quality at Carousell, one of the world’s largest and fastest growing online marketplaces. He manages a team of seven test automation engineers across three development centres (Singapore, Taipei and Ho Chi Minh City) and is the principal architect of their functional testing platform. Martin drives both technical and process changes to improve the quality of the organisation and its products.
Besides, he maintains the open-source test framework JustTestLah! (www.justtestlah.qa) and is a firm believer in the need to apply software design principles and best practices to QA solutions.
Martin is a co-founder of the Singapore testing community TAQELAH and has given talks about software quality in Singapore, Taiwan and the Philippines.
ABOUT THE PRESENTATION
Building a scalable device lab with Ansible, Appium and Selenium Grid
Simulators are a cost-effective and straightforward alternative to testing on physical devices. We showcase how to set-up, auto-scale and efficiently maintain an iPhone simulator lab using Ansible, Selenium Grid and Appium.
Maintaining physical test devices for mobile automation can be expensive and time-consuming. On top of the initial investment, you need to consider maintenance cost, replacement devices and efforts for manual scaling. On the other side of the spectrum, cloud providers take care of these restrictions, but their services can come at a hefty price tag, especially when your use-case requires a large number of devices. We present a middle path and demonstrate how to use simulators to build a reliable and scalable in-house device lab using Ansible, Selenium Grid and Appium. Combining Ansible with Selenium Grid yields a powerful combination because it allows us to set-up our grid and nodes in just a few seconds. In this talk, we show you how to utilise Ansible to auto-scale your grid infrastructure efficiently.
Like many companies, we maintain both iOS and Android apps. When it comes to iOS, there are some restrictions on how we can perform testing; for example, the need to use Apple certified hardware. Not being able to employ a large cloud provider like AWS or GCP for our device lab, we gave new life to a couple of “old” Macbooks sitting around the office. We cover how to run our solution on physical hardware but also talk about migration to a Mac-based cloud provider.
We describe the technical concept, challenges and learnings from our experience. We also touch on our general testing philosophy and strategy and how a flexible device lab is an essential key to achieving our quality goals.