Description

This module covers technical topics intended for engineers that are tasked to perform quality assurance activities for mobile platforms, with particular focus on Android, iOS and the mobile web platform. The intention is to familiarize the attendees in the various technologies and approaches used on the mobile platforms running the applications in order to enable them to perform a deeper level of quality testing.

Outline

Concepts and terminology: Testing, unit testing, automated testing vs. manual testing, white box testing, black box testing, hanging, crashing, freezing, memory leaks, bugs, quality assurance, testing test engineering

Overview of the Android operating system / software platform: History, technical structure, programming languages used, latest advancements, future direction

Android tools as required for debugging and testing applications: The development tools / SDK; Android emulator and AVDs (Android Virtual Devices)

Android API levels / platform versions: Differences between the API levels, how to detect them and how to understand the differences

Different Android devices; how they are technically different and what should usually be tested?

The Android Debug Bridge (adb): Installing, starting and controlling applications with ADB; debug messages / logs / application output via ADB; spotting and understanding Java exceptions; using the ADB shell

Monitoring Android memory and CPU usage; detecting memory leaks and observing application performance

Simulating Android hardware features and sensors (accelerometer, GPS, temperature, proximity, etc.); testing network connections, observing and interpreting network API responses

Automated stress testing of applications using standard Android SDK tools

Automating user interface actions: With Android UI Automator and third party tools

Overview of the iOS operating system / software platform: History, technical structure, programming languages used, latest advancements, future direction

The iOS toolset as required for debugging and testing applications: The development tools / SDK (Xcode); the iOS simulator and differences between the simulator and real devices

Different versions of iOS: Major differences between the versions, how to detect them and how to understand the differences

Different generations of iOS devices, their major technical differences and what should be tested

Implications of iOS's mandatory code signing on software testing and ways to manage them

Using the Xcode development tools for debugging and tracing iOS applications on the device and inside the simulator: Using the “Instruments” tools, console output, etc.

Monitoring iOS memory and CPU usage; detecting memory leaks and observing application performance

Interacting with the iOS simulator and simulating hardware events and sensors; testing network connections, observing and interpreting network API responses

Using the iOS UIAutomation library for automatic user interface testing

Overview of the web platform, different web browsers, web standards and browser complicance; the current market condition on mobile and desktop browsers

Structure and architecture of browser based applications; exploring the structure through the use of different browsers on different platforms; recommended debugging tools and browser plugins; accessing JavaScript console and debugging / log messages

Automated testing frameworks for web applications

Overview of other testing automation tools on the market: Appium, Selenium, Ranorex, Robotium, Bitbar.com, Calaba.sh, ..

Duration

5 days

Location

All Emerge trainings can be conducted in different locations globally, in customer offices, shared facilities, Emerge-provided training centers, online or through other means, depending on the requirements of the training participants.

Inquire about or sign up to this training »