Mobile Native application and some of commercial and open source tools which can be considered and some thumb rules to be considered before finalization of Automation Tool Mobile Native Application Automation What it all takes for Automation Anand Reddy anandreddyp@gmail.com 1 | P a g e
Table of Contents Native Application Automation Testing ........................................................................................................ 2 Mobile Automation Testing Types: ............................................................................................................... 2 Functional Testing: .................................................................................................................................... 2 Mobile Performance Testing: ................................................................................................................... 3 Cross-platform compatibility testing: ....................................................................................................... 3 User Experience Testing: ........................................................................................................................... 3 Network Testing: ....................................................................................................................................... 3 Types of Automation Tools: .......................................................................................................................... 3 Key principles in selection of Automation tool ............................................................................................. 4
2 | P a g e
Native Application Automation Testing Factors to be considered while performing Automation testing for Native Apps Device OS Diversity: o Android Support (Minimum 2.3 + to latest 4.4.4) o ios support (6+ to latest 7.1.2) o Windows Phone (Windows phone 8 and Windows Phone 8.1) Device Screen Support: o Supports Multi screen support (3. 5 to 10 devices) Network Challenges: o Multiple Network Types (2g/3g/Wifi)
Mobile Automation Testing Types: Functional Testing: o Identify Requirements to be automated Testing requirements and their nature is studied for the product/application/modules. Each requirement has its own actions, validations for testing. For example, Scenario 1: For an application, form validation functionalities, database validation and accessibility functionalities needs to be validated. Scenario 2:For an application, all the web-service methods needs to be validated. This would so include the delay time for the request's reponse from third party systems All the identified requirements are assigned priority. This would help in identifying 'Build- Verification Test' (BVT) requirements that should never fail.
Every tool has its own limitations. A feasibility study needs to be conducted for the requirements against the tools. This study would result in listing requirements that can be 3 | P a g e
automated. Also based on the nature of the requirements, automation feasibility needs to be identified.
Mobile Performance Testing: o When compared with Desktop/Notebook environment Mobile device system resources (Ex: Processing, Power, Memory, etc.) are limited. Hence, performance testing of mobile applications is crucial. Cloud based provider like SOASTA helps you accomplish the same. Cross-platform compatibility testing: o This is a must to ensure the native application works as expected in all different growing number of handsets and diversified mobile OS like ios, Android & Windows phone. User Experience Testing: o User behavior should be mocked up on devices at same time to ensure the app behaves consistently across all diversified devices on cross-platform. Network Testing: o Real device Testing must be performed in geographically distributed environment to account for a variety of network types.
Types of Automation Tools: Test Automation tools for native applications can be automated using any of the following approaches: 1. Cloud-based Automation: Cloud-based test automation vendors support web-based device accessibility so tests can be executed on remote real devices connected to cradle. Supports Android, Windows Phone & Ios. Automation script can be recorded and executed on multiple devices based on cross-mobile os. This is a commercial tool and hence the subscription fees will be charged based on services required. Ex: Perfecto Mobile Solution , SOASTA Device Cloud lite (Free). 2. Opensource Lab- based Automation: This method involves setting up tools in a test lab environment and leveraging simulators or physical devices to automate testing using popular open-source tools such as Selendroid (supports only Android Native App) and Appium. (supports Android & ios). 4 | P a g e
3. Commercial Tools: Automation Tools like SeeTest Experitest helps you to record script once and allows to execute the script on multiple devices and cross-platform. For executing on ios device, one may need to have MAC machine and for Windows Phone execution, user may need Windows 8 machine. This tool also helps you to run tests on geographically connected devices using Test cloud but again one need to pay a premium subscription fees to access the same.
Key principles in selection of Automation tool 1. Perform Tool feasibility tests, because mobile technologies and platforms vary 2. Select tools that support both platform simulators and devices, because we can mix and match devices and emulators to optimize runs on different cross-platforms 3. Aim for automation in nonfunctional areas like Interruption and Hardware scenarios (Accelerometer) 4. Identify devices and platform support (ios,Android & Windows Phone) before Tool can be shortlisted. 5. Determine reusable functions for the features that add value to automation. 6. Ensure ROI per each mobile platform and duration of execution as part of tool consideration process. 7. Integrated execution with Test management tool and application lifecycle management. 8. Good candidates for automation are test cases that have repeated business logic, functional flows or data-driven tests: Smoke test and build acceptance testing, regression testing, synchronization testing, compatibility testing, GUI testing and testing non-dynamic UI components, as well as cross-platform functional testing.
Evaluation of Some Websites that Offer Virtual Phone Numbers for SMS Reception and Websites to Obtain Virtual Debit/Credit Cards for Online Accounts Verifications
Kali Linux - An Ethical Hacker's Cookbook - Second Edition: Practical recipes that combine strategies, attacks, and tools for advanced penetration testing, 2nd Edition