Name
Android Applications Testing

Code
3955

Duration
24 Hours

Description
This course aims at providing software testers with the required knowledge and skills in order to perform quality assurance tests for software applications that were developed for the Android platform. This course overviews the Android platform capabilities and provides with up-to-date practices for performing the tests.

Population
Java Programmers who specialize in performing software quality assurance tests.

Objectives
Provide with the required knowledge and skills in order to perform effective testing for software applications that were developed for the Android platform.

Prerequisites
Experience in Java Programming.

Topics
Android Fundamentals - 20 Hours
Introduction
What is Android?
Android SDK
Android JVM
The Software Stack
The Development Tools (ADT)
User Interface
Installing Development Tools
Content Providers
Services
Intents
Activities
Views
Configuration File
Simple Hello World
Application Artifacts
Asset Packging Tool
Entry Point Activity
Intent
Calling Other Activities
The Activities Stack
Paused & Stopped Activities
SQLite Database
System Management
Separated Processes
Component & Integration Architecture
Application Resources
Introduciton
What are Resources?
String Resources
Layout Resources
Code Samples
Resource Reference Syntax
Compiled Resources
Compiled Animation Files
Compiled Bitmaps
Compiled UI View Definitions
Compiled Arrays
Compiled Colors
Compiled Strings
Compiled Styles
Compiled Arbitrary Raw XML Files
Uncompiled Resources
The .apk File
Assets
Assets & Resources Directory Structure
The Intent Concept
Introduction
Intent Filter
Use Intent to Start Activity
Android Available Intentions
Code Samples
Intent Categories
Late Run-Time Binding
Use Intent to Start Service
Broadcast Receivers
The Intent Object Structure
The Intent Component Name
The Intent Action
The Intent Data
The Intent Category
The Intent Extras
The Intent Flags
Intents Resolution
Intent Filter Structure
The Action Test
The Category Test
The Data Test
Multiple Matches
Android Predefined Intents
Samples
User Interface Controls
Introduction
GUI Sample in Source Code
GUI Sample in XML
GUI Sample in XML & Source Code
TextView
TextView Sample
TextView Style Sample
EditText
EditText Sample
AutoCompleteTextView
AutoCompleteTextView Sample
MultiAutoCompleteTextView
MultiAutoCompleteTextView Sample
Button
Button Sample
ImageButton
ImageButton Sample
ToggleButton
ToggleButton Sample
CheckBox Contorl
CheckBox Control Sample
RadioButton Control
RadioButton Control Sample
ListView
ListView Sample
GridView Control
GridView Control Sample
Date & Time Controls
Gallery Controller
MapView
WebView
Layout Managers
Introduction
LinearLayout
Layout Weight
Gravity
Samples
TableLayout
Padding Properties
RelativeLayout
AbsoluteLayout
FrameLayout
TabsHost
Menus and Dialogs
Introduction
Menu Interface
MenuItem Interface
SubMenu Interface
Menu Items Group
Menu Items Attributes
Container Menu Items
System Menu Items
Secondary Menu Items
Alternative Menu Items
Creating Menu
Sample
Menu Items Groups
Menu Items Events Handling
Overriding Callback Function
Define Listener
Using Intents
Expanded Menu
Icon Menus
Sub Menus
System Menus
Context Menus
Samples
Handling Menu Events
Creating Menu using XML
Alert Dialog
Prompt Dialog
Samples
Location Based Services
Introduction
The Map Key
The MD-5 Signature
Google Maps Key
Required Permissions
Code Sample
The Map Controller
Code Samples
Maps Overlays
Code Samples
The Geocoder Class
The Address Class
The LocationManager Class
The LocationListener Interface
The Debug Monitor Service (DMS)
Android Security Model
Introduction
Deployment
The keytool Utility
The jarsigner Utility
Deployment using Eclipse
Separated Processes
Declarative Permission Model
Application Life Cycle
Introduction
Activity Life Cycle Methods
The onStart() and onResume() Methods
The onPause() and onStope() Methods
Return Back to Previous Activity
The onStop() and onDestroy() Methods
The onCreate() Method
The onPause() Method
SQLite Database
Introduction
SQLite Implementation
The SQLiteOpenHelper Class
The onCreate() Method
The onUpgrade() Method
The onOpen() Method
The getWriteableDatabase() Method
The getReadableDatabase() Method
The SQLiteDatabase Class
The execSQL() Method
The insert() Method
The delete() Method
The rawQuery() Method()
Code Samples
The query() Method
Code Samples
Content Providers
Introduction
Android Built-In Content Providers
SQLite Database
Content Providers Architecture
Content Providers Registration
Content Providers REST Access
Content Providers URL Structure
Content Providers Mime Types
Using Content Provider
Retrieving Records
Adding Records
The Cursor Object
The ContentValues() Object
Content Provider Demo
File Management
Introduction
Creating Files
Accessing Simple Files
Accessing Raw Resources
XML Files Resources
SD Card External Storage
Background Applications
Introduction
Services
Background Threads
Making Toasts
Notifications
Other System Services
Background Activity Sample
Activity Data
Introduction
The Intent Class
Start Activity Methods
Passing Data between Activities
Coherent User Experience
Code Sample
Web View
Introduction
The WebView Class
The android.webkit Package
The INTERNET Permission
The loadUrl() Method
JavaScript Support
The loadData() Method
The WebView Methods
The WebViewClient Class
The WebChromeClient Class
Java Language
Introduction
The Limits
Third Party Java Libraries
Debugging
Introduction
Eclipse Java Editor
Eclipse Java Debugger
Logcat
Android Debug Bridge
Delvik Debug Monitor Service
Traceview
Accelerometer
Introduction
The SensorManager Class
The SensorListenr Interface
Localization
Introduction
Default Resources
Current Locale
Testing
Custom Locale
Code Samples
Speech Input
Introduction
The RecognizerIntent Class
Start Speech Recognition
Google Server Side
The Language Model
Free Form Language Model
Web Search Language Model
Development Tools
Introduction
The aapt Tool
The adb Tool
The android Tool
The ddms Tool
The dx Tool
The draw9patch Tool
The emulator Tool
Android Applications Testing Practices - 4 Hours
Automated Testing
JUnit Testing
Using Assertions
Instrumentation Framework
On Device Testing
User Interface & Consistency
Functionatliy of Interaction with the OS
Networking Testings
Stress Test Conditions
International Support Testing
General Requirements
On Device Remote Testing
DeviceAnywhere Platform
Scenarios To Be Care Of