In this session, we will start by talking about Introduction to Mobile Testing.
In this chapter, we will cover the Mobile Test Automation tools and the types of Mobile Applications, Platforms, and Devices.
Testing your mobile app is a vital part of the app development process.
By running tests against your mobile app, you can verify your app's correctness, functional behavior, and usability before you release it to the public.
We have different mobile testing tools - native and cross-platform.
Cross-platform means supporting all mobile platforms - including iOS, Android, and Windows such as Appium.
We mentioned already that Appium is a cross-platform tool that supports many programming languages, such as Java, Python, and C#.
Native means developed or released to support one single mobile platform, such as Espresso for Android and XCUITest or EarlGrey for iOS.
Also, you can only use Java or Kotlin for Espresso, and Swift or Objective-C for XCUITest.
We need to know the difference between native and cross-platform mobile testing tools.
We will start by talking about Android.
Android is both an operating system and software platform for mobile devices such as smartphones, tablets, televisions, media players, and cars, and it's developed by Google.
iOS mobile platform is a mobile operating system developed by Apple for the iPhone and the iPod touch.
Until the beginning of 2010, it was called the iPhone OS on the iPhone, and the iPad OS on the iPad.
But in September 2019, a version of the iPad was launched as an independent iPadOS separated from iOS design.
Windows Phone is an operating system for smartphones from Microsoft or developed by Microsoft - it has been the preferred operating system since the alliance between Microsoft and Nokia announced in February 2011.
Emulators are usually virtualized mobile devices.
A good emulator runs exactly the same OS as the physical device that it is emulating, and is, therefore, a really good option for mobile device testing.
The disadvantage to using the emulator is that emulators have limitations - including hardware components such as Bluetooth, GPS, and cameras.
Physical devices are a good idea for testing when you need the test result to be as accurate as possible.
Testing on physical devices gives you the most accurate test result because simply put, you are testing on the actual device on which your software will run.