About This Episode:
In Today's special session, we are honored to have Daniel Knott, a seasoned expert in mobile testing. Join us as Daniel discusses “Removing the Pain from Mobile Test Automation,” a compelling discussion presented at the Automation Guild 2024.
Check out App Live https://testguild.me/getapplive
Register for Automation Guild 25 now.
In this episode, Daniel delves into the current state of the mobile market, discussing staggering statistics and the massive influence of mobile devices on our daily lives. He addresses key challenges in mobile testing, such as fragmentation, hardware and sensor issues, and the intricacies of test automation.
Daniel also introduces Maestro, a new, user-friendly tool in the automation space, and demonstrates how to set it up and utilize its features effectively. By the end of this episode, you'll gain valuable insights into choosing the right automation tools and strategies to enhance your mobile testing efforts.
So, whether you're a developer, tester, or just someone keen on the latest trends in mobile automation, this episode is packed with practical advice and actionable tips.
Exclusive Sponsor
BrowserStack App Live is a cloud-based platform that allows developers and testers to interactively test their mobile applications on a wide range of real Android and iOS devices. With support for various OS versions and device manufacturers, App Live eliminates the need for maintaining a personal device cloud, providing instant access to real devices for testing.
Key Features
Real Device Testing: Test your apps on over 20,000+ real devices without any setup or maintenance hassles.
Multi-Device Testing: Run tests on two devices simultaneously in one session, allowing for efficient testing of different scenarios.
Local Testing: Test apps that require access to internal servers or staging environments securely.
Native Device Features: Replicate real user conditions by utilizing features like GPS, network simulation, and more.
Debugging Tools: Access DevTools for inspecting UI elements, monitoring network requests, and tracking app performance.
BrowserStack App Live offers a robust solution for mobile app testing that enhances productivity while ensuring high-quality user experiences. By providing access to real devices and advanced testing features, it empowers developers to identify issues early in the development cycle, ultimately leading to faster releases and improved app performance.
If you haven’t already, give BrowserStack App Live a try and see how it can streamline your testing process. Visit: https://testguild.me/getapplive
About Daniel Knott
Daniel loves digital products with high quality, being it web or native mobile applications. He has more than 15 years of professional experience in the software development and testing industries. Daniel wrote two books – Hands-On Mobile App Testing and Smartwatch App Testing and is a frequent blogger at www.adventuresinqa.com and conference speaker. Since 2022 he also created his YouTube Channel about Software Testing.
Connect with Daniel Knott
-
- LinkedIn: www.daniel-knott
- Twitter: www.dnlkntt
Rate and Review TestGuild
Thanks again for listening to the show. If it has helped you in any way, shape, or form, please share it using the social media buttons you see on the page. Additionally, reviews for the podcast on iTunes are extremely helpful and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.
[00:00:00] In a land of testers, far and wide they journeyed. Seeking answers, seeking skills, seeking a better way. Through the hills they wandered, through treacherous terrain. But then they heard a tale, a podcast they had to obey. Oh, the Test Guild Automation Testing podcast. Guiding testers with automation awesomeness. From ancient realms to modern days, they lead the way. Oh, the Test Guild Automation Testing podcast. With lutes and lyres, the bards began their song. A tune of knowledge, a melody of code. Through the air it spread, like wildfire through the land. Guiding testers, showing them the secrets to behold Oh, the Test Guild Automation Testing podcast. Guiding testers with automation awesomeness. From ancient realms to modern days, they lead the way. Oh, the Test Guild Automation Testing podcast. Oh, the Test Guild Automation Testing podcast. With lutes and lyres, the bards began their song. A tune of knowledge, a melody of code. Through the air it spread, like wildfire through the land. Guiding testers, showing them the secrets to behold.
[00:00:34] If you're struggling with mobile testing, you're in for a treat. Because today, I'm sharing with you a session from the last Automation Guild. At the last event, we had some jaw dropping sessions, deep dives, unbeatable tips, and automation tools galore. Today, I'm going to return to one of our most talked about sessions from 2024. Imagine cutting down the pain of mobile test automation with ease. Yes, it's possible. Join Daniel Knott as he mystifies the complexities and showcases a tool so intuitive that you'll wonder how you ever lived without it. And guess what? Registration for Automation Guild 2025 is now open. It's happening February 10th to the 14th, all online. Get ready to experience more insightful talks, innovative solutions, and connect with the best minds in the industry. Don't miss out, register today at AutomationGuild.com. Hope to see you there. Before we begin to it, If you're struggling with mobile testing, you're going to want to also hear from this week's episode sponsor BrowserStack App Live. Check it out.
[00:01:36] BrowserStack App Live is a cloud based platform that allows developers and testers to interactively test their mobile applications on a wide range of real Android and iOS devices. With support for various OS versions and device manufacturers, App Live eliminates the need to maintain a personal cloud device providing instant access to real devices for testing. Some key features are real device testing. Test your apps on over 20,000 real devices without any setup or maintenance hassles. You also get multi-device testing, which allows you to run tests on two device simultaneously in one session, allowing for efficient testing of different scenarios. It also allows local testing. So test your apps the required access to internal servers or staging environments securely. Also, native device features allow you to replicate real users conditions by utilizing features like G.P.S. network simulations and more. It also gives you access debugging tools for inspecting UI elements, monitoring network requests, and tracking app performance. BrowserStack App Live offers a robust solution for mobile app testing that enhances productivity while ensuring high quality user experiences. By providing access to real devices and advanced testing features, it empowers developers to identify issues early in the development cycle, ultimately leading to faster releases and improved app performance. If you haven't already, give BrowserStack App Live a try and see how it could streamline your testing process. Check it out in the links down below.
[00:03:09] Daniel Knott Hi everyone and welcome to my talk, Remove The Pain from Test Automation. My name is Daniel Knott and I'm happy that you're here to join altogether the Automation Guild 2024 with us to talk about mobile testing, automation, new trends and testing and whatnot. Thanks, Joe, for having me today. And for let's jump right into today's talk. Here we are Remove The Pain from Mobile Test Automation. What is this all about? Before we dive into the topic, quick introduction of myself. For those who don't know me. My name is Daniel Knott, happy that you're here. I am 39 years old, living in Germany. And right now I'm working as the head of product engineering in a company called MaibornWolff in Germany. But for those who don't know me, I'm a mobile tester by heart. I started mobile testing in 2010 when I was allocated to the first mobile team. And back then there was literally no mobile testing tools available or no mobile testing lines around because apps just came around the corner. And for me, it was a green field. And over the course of time I developed a lot of knowledge and I love to share my knowledge. And I'm doing this on my blog, Adventures in UK. But also I wrote a book about mobile testing and also smartwatch app testing. And since two years, I'm also having my own YouTube channel talking all kinds of topics, of software testing, testing related topics, mobile testing, of course, as well. Lately a lot of stuff in AI. If you haven't watched it yet, take a look at the video description and to find the link to my channel. Without no cut to the chase, no cheesy marketing anymore. Let's go right into the topic of Removing The Pain from Mobile Test Automation. And why is this so important to talk about? This is what I would like to tal. First, current state of the mobile market. Some pretty amazing numbers, I would say. Then I would like to briefly talk about the mobile testing challenges and then we go hands on in automation stuff and show you how easy it can be to set up from scratch. Today, we do something from scratch in automation a few seconds. And then last but not least, quick summary resources. And then I'm here for your questions. Current state of Mobile. In 2023, more than 1 billion devices have been sold to people around the globe. And it's just mind blowing number. So many devices are being sold and also mentioned that there like a lot of devices still available and running on the devices or the pockets of people for the sheer amount of devices is crazy. There's a lot of stuff going to happen. In 2023, the mobile revenue was roughly about $935 billion and it's not decreasing, it's still growing. So mobile revenue is still a big thing. And because sometimes I hear people talking, Oh mobile, the mobile game is over. There's no revolution any more happening. Yes, that's true. There is no revolution happening. But at the same time, there like everything is happening on our mobile devices, right? We have everything in our pockets. We use the devices on a daily basis to do everything, basically. Yeah. That's why revenue is still growing and that's why also company still investing a lot of time and effort in building and developing apps, 250 billion apps downloads per year roughly in the mix of iOS and Android stores. There are some third party app stores available, but to be honest, they're like too small, at least for the the Western markets in terms of downloads and capabilities. We have more than 7 billion users worldwide usage of smartphone devices. That's also amazing. I mean, it's almost everyone except smaller kids using smartphones these days. And that's why it's really likely that's a lot of people would use your app as well. More than 4 million apps that are available in iOS and Android store and is also a big number compared to the download numbers. It's of course rather small. But what I would like to show you with that number is like 4 million potential competitors. Yeah, of course, you're not competing with all the apps out there, but if mobile users are not happy with your performance, with your app, with things that you are doing, it's really likely that that person is just like a single tap away to go somewhere else and then take something else to play around our tool to use it. And also a pretty amazing number I would say, is that an average user is checking their smartphone round about 50 times a day and will open 50 apps open per day. So that's also a pretty amazing number so that people like really still going into apps, open them, and use them for their purposes and for the challenges that tasks whatever they would like to do with. Still the mobile market is huge compared to numbers. What are challenges? For those of you who have seen videos from myself before and also some talks and conferences, nothing has changed from the challenges point of view. I see the three main challenges when it comes to mobile development and also mobile testing. It's the fragmentation. Yes, it was a big topic in the beginning when especially on the Android side, when there were like thousands and thousands of hardware, software, combinations, potential customer coverage. Of course, you don't have to test on all the devices, but still, fragmentation is a topic. Depending on your target customers, you have to focus on the devices that you would like to test. Secondly, the hardware or the sensors is a big topic. Yeah, I mean, I have seen companies struggling with mobile development and testing because they were relying just on emulators or simulators to test and develop the apps. And that's a big mistake. The mobile smartphones are packed with so many sensors and things that the people can use and they have a huge impact on your testing and development activities. And that's why it's important to test against sensors and the specific hardware. And the third challenge that approved for you today here is automation. That's why we are here today, right? Talking about automation is still test automation. I mean, as I said, I'm seeing a lot of companies and customers and also from a past experience. So many companies struggle with test automation because they just do it wrong. They think, that's the newest, coolest tool on the planet, that tool, let's take it, let's use it. That's wrong. Do your homework, do your every evaluation, check what is your tech stack, what is the architecture? And then find the right test automation tool that fits your need on the specific layer of the tech stack. It doesn't need to be like an end to end automation view tool from the UI level. It can be only unit testing or API or whatnot. So this really depends on and that's why it's so important to invest a lot of time in automation and yes, everything is hardware related. That's the big topic. It's not stationary. So people are really walking around are on the move while they using a product. And that's why testing on real devices is so important. That's what I was just wanted to say. Testing on real device is a must. You cannot rely on emulators or simulators. You have to go and test on field physical devices, period. I think that's enough for today in terms of theoretical information, in case you would like to know more about how to do mobile testing. Testing activities. Check my blog Adventures in QA. You will get lots of information as well. In case you have some questions, sent me a message on social media, you will find me. And I'm happy to help out.
[00:10:49] Daniel Knott Now, I would like to talk about Remove The Pain from Mobile Test Automation for the remaining time. And why? Why I would like to talk about it? And I've seen lots of tools not only from mobile but also from the web space and other stuff. There's sometimes the tools are so complicated to set up it needs if not days to have a solid setup up and running integrated in your pipeline and so forth. Therefore, tools must be simple to use. That's it. We as developers or testers, we're just like users of that product of the automation tool. And that's why the tools must be simple to use. Otherwise, I would go somewhere else. Tools must fit the needs. That's what I mentioned before. Do your homework and check what tool is best for your needs. Otherwise, you might pick the wrong one. You would like to cost saving. You would like to save costs with tools. That's also really important. Just take a look at what's the cost structure of the tool. Is it an open source tool? Is it a paid tool? How does it integrate into your environment and so forth? And can you save costs and time with a tool? And also, last but not least, it should be easy to integrate in your pipeline. And without that, I would like to talk about today about Maestro. Yes. It's a new kit on the block in the automation space, if you haven't seen it before. Let's take a look at together because I think it's a really, really great example how easy tool can be, how simple it can be to set up, and how simple it can be to write automation from a user's point of view. User's point of view, user journeys. That's what we like to talk about today. Let's jump right into the hands on demonstration. If we open up the Maestro page, which is Maestro.mobile.dev, you end up on that landing page, right? So it's a lot of information here, like what is Maestro, how it can be used and what. On the left hand side you have a really great view of things that are important to learn about Maestro. Everything is documented from examples, from how to integrate with Android, with iOS, with UIKit, with Swift, React Native, and whatnot. It's really easy to follow up on. And also you have installation instructions here and that's the cool part. So if you would like to install, you can install it on Mac, on Windows, and on the Linux system. I'm on a mac today, so I would like to show you how easy it is to install Maestro and to do the very first things with it. Yeah, for you to mention, I already have an emulator, an emulator up and running for an easier demonstration purposes today. But you can also use Maestro on real devices as well. What I'm doing right now, I'm copying the installation command curl, blah blah blah, and I will put that right now into my environment. As you can see, here we are on the terminal. And for you to show that, let's do the installation. Copy pasting it, hit the enter button. Now we're downloading all the resources to the computer. Depending on your internet connection just might take longer or it's even faster. It's checking extracting. Done. Maestro installed. We can start automating it. That's it. Nothing more to do, no prerequisite, nothing. But what we now do is type in Maestro. And as we can see here, we have some information that's missing, but that's the sub command. Right now we can see what we can do with Maestro. Make this one a bit bigger here. So you can see, as we can see here, we can use Maestro already. If you check the documentation, what you can do here is one thing that is really cool about Maestro. It's coming with Maestro studio. And if we do like this Maestro studio, we are starting now. We have the emulate up and running so we can see the emulator. We have now Maestro studio up and running. It's opening up in a console and here you can see basically the emulator, right? So what you can see here, you get a direct view as well in your browser. So in case we navigate on the device in a few seconds later, we have the representation here as well. And the cool thing is, Maestro, already provide you with some really simple flows that you can already use in order to interact with something. For example, let's say we tap on Gmail. Oops. We tap here, can click play, which has played at one. We can see here we open up the Gmail account. And that's the cool thing about Maestro. You don't need to have access to the code base of the app that you would like to test. Just go to the app store, download any app that you would like to automate and then go for it. Go for it and automate it. And that's the really cool thing. That we can say, okay, let's use this one or we can say, okay, we can copy it now we have copied it, we can put it into our flow, into our Yaml flow package, so to say. But what I would like to show you here is though, to actually automate the messaging it. That's what I wanted to say. What we can see here, we started the app basically. No, I did something wrong. Give me a second. That's the thing we would like to take here. So what is this? We can double tap on the Maestro studio to get basically the command that we would like to use so we can say here, tap on messages and we can now create. That's an example. Yes. So we can basically get rid of this one. I prepared this something here. That's basically just structure. You have to use Yaml files in order to write as per Maestro test. So you can use to identify the app id that you would like to test. You provide this as well. You can say launch the app and say clear state true so that the app that you would like to test is always in the same state as you would like to have it. That's what we have. And now we can just run it, right? We have a really simple script here that is starting. So we open up a new window. Okay, Maestro test, first test yaml, and then we click that and we can see here we are just now starting the flow. We launched the app, we put it in the clear state and that's it basically. That's what we have done already. And so what else we can now do is now that you can see the view has changed. We got the latest view as well. We can say, okay, I would like to have this one. And then you click on it and you get specific information from Maestro again, so you can get the ID, you can get the text that you would like to tap. For now, let's just tap on the button. We go back to our here. Let's make this one again a bit bigger. We have this one as well. We tap that and now we can run it again. Let's see just do the same thing. We run it, as you can see here, some two steps. We open up the app, we have the clear state. We tap on use messages without an account. Here we are. Next test is passing. Now we can close this one as well. We say, okay, we would like to see this one. We can tap it, but nothing is going to happen if we tap it, right? That's the visual representation. Assert. Then we can say Assert visible and check that this actually the image is visible. We're copying it. Now we can run it. We can see here we're putting the app in a clear state again, we tap the button, we log in without an account and we verify that the ID is visible. That's really cool. And as you can see, it's fairly simple to basically write your automation script with Maestro studio. And of course, if you're more familiar with the whole syntax of it, you can just go ahead and do just check on the IDs and then use the commands that you can use in order to automate and that the commands is really cool. You have everything over here, so we have flows, of course you have the flows, you have the nested flows, you can use JavaScript in order to enrich the automation scripts and so forth and so forth. What I also wanted to show you here today is basically the samples. In case you would like to see in advance flow of Maestro, we have an advanced law Yaml filing as well. As you can see here, that's example files from Maestro. Here we would like to test the Wikipedia. We have some text advanced and we have some subflows. So here we have a flow, a subflow defined. So run the subflow. And if we go into that folder, which is called subflows, and then we have the Android onboarding, you can see here that we are launching the app that we are tapping a few buttons. Yeah. And then we check on some search container, then we run the script and then we have some inputs text. So let's see what's the script all about. We go into scripts. We enter qwerty here or get this, and then we have the input text and the assertion that we are also checking as well from that more advanced test case, it's a test case that you do. And that's basically the really quick hands on demonstration. I would like to show you. Look how easy it is to set up Maestro just by a couple of seconds that is running and then you can start right away with Maestro studio to actually automate, get information from the app that you would like to test, copy paste it over and then make use of it. And also, if you are like checking Maestro already, they are also working on more AI capabilities for you to make it even more reliable, more faster, and yeah, basically to remove the pain from test automation. That's the most important thing because maybe you've used Appium before or other tools and it's pain in the ass sometimes to set them up. Sorry for my words to actually get it up and running. And that's not what should happen, right? We are users of the tools and we would like to have good tools as well. And that's why I'm a big fan of Maestro. If you haven't seen it before, you haven't tried it out, go ahead and check it out to learn all about Maestro today.
[00:21:20] Daniel Knott And now let's jump back to my presentation and let's get to a quick summary because we're almost out of time. The summary. The mobile world is still growing, but that's still important. So if someone is telling you like, hey, mobile is not growing anymore, it's boring and outdated and whatnot, it's not true. It offers a lot of opportunities for you out there. If you would like to know more about mobile, the mobile space, do your homework, do your statistics research. It's still growing. Still mobile testing poses many challenges. I mean, this what I've shown you today with automation is just like little tiny thing when it comes to mobile and mobile testing. The more challenging part is the device handling and the testing and the wild like going out and testing on a real physical device in your hands with your fingers. That's important. As I said, the main challenge is device handling automation comes into place as well. That's why make use of tools to support your testing activities. Maestro might only be like a little tiny tool that you can use on top of automating maybe ten user journeys that you see in your app that are most critical for you and for your product. And the remaining things might be tested on the API level or the backend and whatnot. That's why do your homework, do your research in terms of which tools you would like to use and then yes, invest the time to research the tool. I just told it. It's so, so, so important. Invest time and research in automation tools. Otherwise, you will fail the game of automation. You will notice really fast that the next hype tool might be not the right one for you. Maybe Maestro is not the right tool for you. Maybe Appium is the one for you to go because maybe you can more customizing it. You could build your own frameworks around it and whatnot, but really invest your time in the right tool for your set up. And that's important for me to tell you today. Last but not least, I only can say thank you. Thanks for coming by today. If you have any questions, there's my email address, there's my blog, there's my YouTube, there's my X, whatever. Let me know in the Q&A session right now. And I'm happy to help you out in the mobile space. I'm happy to share my knowledge. Thanks for coming by today. Have a great one and see you soon.
[00:23:37] Thanks again for your automation awesomeness. The links of everything we value we covered in this episode. Head in over to testguild.com/a524. And if the show has helped you in any way, why not rate it and review it in iTunes? Reviews really help in the rankings of the show and I read each and every one of them. So that's it for this episode of the Test Guild Automation Podcast. I'm Joe, my mission is to help you succeed with creating end-to-end, full-stack automation awesomeness. As always, test everything and keep the good. Cheers.
[00:24:12] Hey, thank you for tuning in. It's incredible to connect with close to 400,000 followers across all our platforms and over 40,000 email subscribers who are at the forefront of automation, testing, and DevOps. If you haven't yet, join our vibrant community at TestGuild.com where you become part of our elite circle driving innovation, software testing, and automation. And if you're a tool provider or have a service looking to empower our guild with solutions that elevate skills and tackle real world challenges, we're excited to collaborate. Visit TestGuild.info to explore how we can create transformative experiences together. Let's push the boundaries of what we can achieve.
[00:24:56] Oh, the Test Guild Automation Testing podcast. With lutes and lyres, the bards began their song. A tune of knowledge, a melody of code. Through the air it spread, like wildfire through the land. Guiding testers, showing them the secrets to behold.
Sign up to receive email updates
Enter your name and email address below and I'll send you periodic updates about the podcast.