Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Testing android

Содержание

Android is an operating system developed by the Open Handset Alliance led by GoogleThe Open Handset Alliance, a consortium of several companies which include The goal of the Open Handset Alliance is to develop open standards for mobile devices.The Android operating system is used on smartphones, netbooks, tablet computers, Google TV,
Testing androidTutorial for black box newcomers Android is an operating system developed by the Open Handset Alliance led by GoogleThe Open Handset Alliance, a consortium of DesignLinuxAndroid's kernel is derived from the Linux kernel. Google contributed code to the Architecture Software ArchitectureSystem LibrariesSSLSQLiteWebKit (and LibWebCore for embeddable webpages)Audio ManagerMedia FrameworkMediaPlayerGraphics LibrariesScalable Graphics Android vs Linux ArchitectureNo native window libraryDoes not support full set of Android Software Development Kit The SDK includes a comprehensive set of development FeaturesHandset layoutsThe platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 FeaturesMessaging SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud FeaturesJava supportWhile most Android applications are written in Java, there is no Java Virtual FeaturesStreaming media supportRTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 tag). Adobe FeaturesMulti-touchAndroid has native support for multi-touch which was initially made available in handsets such FeaturesVideo callingAndroid does not support native video calling, but some handsets have FeaturesVoice based featuresGoogle search through voice has been available since initial release. ApplicationsApplications are usually developed in the Java language using the Android Software Development Android MarketAndroid Market is the online software store developed by Google for SecurityAndroid is a multi-process system, in which each application (and parts of Practice Preparing computerDownload the Android SDK from http://developer.android.com/Install it and upgrade using SDK Manager Preparing deviceOn computer side: Install USB driver to computerOn computer side: Use Screen CaptureOn computer side: launch ddms (SDK_Folder\Tools)On device side: Connect device to “Device Screen Capture” dialog Taking log (For crashes)On computer side: Start ->Run ->”cmd” (run console)In console Taking trace log (For ANR)In console type: “cd C:\SDK_Folder\platform-tools”Type: adb pull /data/anr/traces.txt Installing applicationsPlace file, that should be installed to Device to “C:\SDK_Folder\platform-tools” folderStart Uninstalling applicationsOn device side: Settings -> Applications -> Manage Applications -> “Select Testing tips for newcomersLayout: Rotate device – Portrait and landscape mode – Testing tips for newcomersChange in configurationA situation that is more general than Hardware differencesScreens : Android devices are categorized into small, normal and large Android 4.0 Ice Cream SandwichIce Cream Sandwich was previewed at the May Features Virtual buttons in the UI, in place of capacitive or physical buttonsSeparation Features Improved error correction on the keyboardAbility to access apps directly from lock Features Built-in photo editorNew gallery layout, organized by location and personRefreshed 'People' app Automation using robotiumhttp://code.google.com/p/robotium/Robotium is a test framework created to make it easy BenefitsAndroid platform limitations Not able to handle multiple activitiesTest execution pretty slowTest LimitationsRobotium does not support flash and web based applications.Robotium does not work on Canvas. Any questions? www.google.com
Слайды презентации

Слайд 2 Android is an operating system developed by the Open Handset Alliance led

Android is an operating system developed by the Open Handset Alliance led by GoogleThe Open Handset Alliance,

by Google
The Open Handset Alliance, a consortium of several companies which include 










The goal

of the Open Handset Alliance is to develop open standards for mobile devices.
The Android operating system is used on smartphones, netbooks, tablet computers, Google TV, and other devices.

For what android was made for and by whom


Слайд 3 Design
Linux
Android's kernel is derived from the Linux kernel. Google

DesignLinuxAndroid's kernel is derived from the Linux kernel. Google contributed code to

contributed code to the Linux kernel as part of

their Android effort, but Android kernel is now a separate version or fork of the Linux kernel.
Android does not have a native X Window System nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.


Слайд 4 Architecture

Architecture

Слайд 5 Software Architecture
System Libraries

SSL

SQLite

WebKit (and LibWebCore for embeddable webpages)

Audio

Software ArchitectureSystem LibrariesSSLSQLiteWebKit (and LibWebCore for embeddable webpages)Audio ManagerMedia FrameworkMediaPlayerGraphics LibrariesScalable

Manager

Media Framework

MediaPlayer
Graphics Libraries

Scalable Graphics Library (SGL- for 2D)

OpenGL for

Embedded Devices (for 3D)

FreeType (vector and bitmap fonts)

Surface Manager
Composes 2D and 3D windows, widgets, apps, toolbars and more using Surface Flinger
Uses Binder IPC to get buffers from apps to put into frames
Hardware Abstraction Libraries

GPS, Radio, Camera, Bluetooth

Hardware drivers must implement in order for applications to use them

Applications interact with the abstraction libraries, not the driver


Слайд 6 Android vs Linux Architecture
No native window library

Does not

Android vs Linux ArchitectureNo native window libraryDoes not support full set

support full set of GNU libraries

Difficult to port Linux

applications to Android

Most Android applications written in Java
 
However, no Java Virtual Machine in the platform  
 
Java classes compiled into Dalvik virtual machine
 
Dalvik - a specialized virtual machine designed specifically for Android



Слайд 7 Android Software Development Kit
The SDK includes a

Android Software Development Kit The SDK includes a comprehensive set of

comprehensive set of development tools.
 
Includes a debugger, libraries, documentation,

sample code
 
These tools are accessed through an Eclipse plugin called ADT (Android Development Tools) or from command line
 
Developing with Eclipse is preferred (but not required)


Слайд 8 Features
Handset layouts
The platform is adaptable to larger, VGA, 2D graphics library, 3D

FeaturesHandset layoutsThe platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL

graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts
Storage
SQLite,

a lightweight relational database, is used for data storage purposes
Connectivity
Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX

Слайд 9 Features
Messaging
SMS and MMS are available forms of messaging, including threaded text

FeaturesMessaging SMS and MMS are available forms of messaging, including threaded text messaging and now Android

messaging and now Android Cloud To Device Messaging Framework(C2DM) is

also a part of Android Push Messaging service
Multiple language support
Android supports multiple human languages. The number of languages more than doubled for the platform 2.3 Gingerbread
Web browser
The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine.

Слайд 10 Features
Java support
While most Android applications are written in Java,

FeaturesJava supportWhile most Android applications are written in Java, there is no Java

there is no Java Virtual Machine in the platform and Java

byte code is not executed. Java classes are compiled into Dalvik executables and run on Dalvik, a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.
Media support
Android supports the following audio/video/still media formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP.

Слайд 11 Features
Streaming media support
RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive

FeaturesStreaming media supportRTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 tag).

download (HTML5 tag). Adobe Flash Streaming (RTMP) and

HTTP Dynamic Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for Mobile, and by the operating system in Android 3.0 (Honeycomb).

Additional hardware support
Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.

Слайд 12 Features
Multi-touch
Android has native support for multi-touch which was initially made

FeaturesMulti-touchAndroid has native support for multi-touch which was initially made available in handsets

available in handsets such as the HTC Hero. The feature

was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.
Bluetooth
Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Keyboard, mouse and joystick (HID) support is available in Android 3.1+, and in earlier versions through manufacturer customizations and third-party applications.

Слайд 13 Features
Video calling
Android does not support native video calling,

FeaturesVideo callingAndroid does not support native video calling, but some handsets

but some handsets have a customized version of the

operating system that supports it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 and later. Gingerbread allows Nexus S to place Internet calls with a SIP account. This allows for enhanced VoIP dialing to other SIP accounts and even phone numbers. Skype 2.1 offers video calling in Android 2.3, including front camera support.
Multitasking
Multitasking of applications is available.

Слайд 14 Features
Voice based features
Google search through voice has been

FeaturesVoice based featuresGoogle search through voice has been available since initial

available since initial release. Voice actions for calling, texting,

navigation, etc. are supported on Android 2.2 onwards.
Tethering
Android supports tethering, which allows a phone to be used as a wireless/wired Wi-Fi hotspot. Before Android 2.2 this was supported by third-party applications or manufacturer customizations.
Screen capture
Android does not support screenshot capture as of 2011. This is supported by manufacturer and third-party customizations. Screen Capture is available through a PC connection using the DDMS developer's tool.

Слайд 15 Applications
Applications are usually developed in the Java language

ApplicationsApplications are usually developed in the Java language using the Android Software

using the Android Software Development Kit, but other development tools

are available, including a Native Development Kit for applications or extensions in C or C++, and Google App Inventor, a visual environment for novice programmers.
Android application package file (APK) is the file format used to distribute and install application software and middleware onto the Google Android operating system. To make an APK file, a program for Android is first compiled, and then all of its parts are packaged into one file. This holds all of that program's code such as (.dex files), resources, assets, certificates, and manifest file. As is the case with many file formats, APK files can have any name needed, but must end with the four character, three letter extension, .apk.
APK files are a variant of the JAR file format, with a .apk file extension.


Слайд 16 Android Market
Android Market is the online software store

Android MarketAndroid Market is the online software store developed by Google

developed by Google for Android devices. An application program

("app") called "Market" is preinstalled on most Android devices and allows users to browse and download apps published by third-party developers, hosted on Android Market.
Alternatively, users can install apps from third party app stores such as the Amazon Appstore, or directly onto the device if they have the application's APK file.

Слайд 17 Security
Android is a multi-process system, in which each

SecurityAndroid is a multi-process system, in which each application (and parts

application (and parts of the system) runs in its

own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications.

Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data.


Слайд 18 Practice

Practice

Слайд 19 Preparing computer
Download the Android SDK from http://developer.android.com/
Install it

Preparing computerDownload the Android SDK from http://developer.android.com/Install it and upgrade using SDK Manager

and upgrade using SDK Manager


Слайд 20 Preparing device
On computer side: Install USB driver to

Preparing deviceOn computer side: Install USB driver to computerOn computer side:

computer
On computer side: Use ddms tool (sdk_folder\Tools) to check

connection
On device side: Settings ->Applications ->”Unknown sources” should be turned on
On device side: Settings ->Applications ->Development->”USB debugging” should be turned on
On device side: Settings ->Applications ->Development->”Allow mock locations” should be turned on
On device side: Settings ->Applications ->Development->”Stay awake” should be turned on





Слайд 21 Screen Capture
On computer side: launch ddms (SDK_Folder\Tools)
On device

Screen CaptureOn computer side: launch ddms (SDK_Folder\Tools)On device side: Connect device

side: Connect device to computer using USB cable
On computer

side: In Dalvik Debug Monitor, make sure that device was recognized and available
On computer side: In Dalvik Debug Monitor -> Press Ctrl+S to Screen Capture
On computer side: In “Device Screen Capture” dialog you could save screen to file in *.png format.


Слайд 22 “Device Screen Capture” dialog

“Device Screen Capture” dialog

Слайд 23 Taking log (For crashes)
On computer side: Start ->Run

Taking log (For crashes)On computer side: Start ->Run ->”cmd” (run console)In

->”cmd” (run console)
In console type: “cd C:\SDK_Folder\platform-tools”
Type: adb logcat

-d > log.txt
The log file would be in “C:\SDK_Folder\platform-tools” folder


Слайд 24 Taking trace log (For ANR)
In console type: “cd

Taking trace log (For ANR)In console type: “cd C:\SDK_Folder\platform-tools”Type: adb pull

C:\SDK_Folder\platform-tools”
Type: adb pull /data/anr/traces.txt c:\temp\traces.txt
The log file would be

in “C:\temp\” folder

Слайд 25 Installing applications
Place file, that should be installed to

Installing applicationsPlace file, that should be installed to Device to “C:\SDK_Folder\platform-tools”

Device to “C:\SDK_Folder\platform-tools” folder
Start ->Run ->”cmd” (run console)
In console

type: “cd C:\SDK_Folder\platform-tools”
Type: adb install application_name.apk

Слайд 26 Uninstalling applications
On device side: Settings -> Applications ->

Uninstalling applicationsOn device side: Settings -> Applications -> Manage Applications ->

Manage Applications -> “Select application to uninstall” -> Press

“Uninstall” button

Слайд 27 Testing tips for newcomers
Layout:
Rotate device – Portrait

Testing tips for newcomersLayout: Rotate device – Portrait and landscape mode

and landscape mode – it is two different UI.

Keep looking on application while rotating. For devices that support multiple orientations, Android detects a change in orientation when the user turns the device so that the display is "landscape" (long edge is horizontal) instead of "portrait" (long edge is vertical). When Android detects a change in orientation, its default behavior is to destroy and then re-start the foreground Activity. You should consider testing the following: Is the screen re-drawn correctly? Any custom UI code you have should handle changes in the orientation. Does the application maintain its state? The Activity should not lose anything that the user has already entered into the UI. The application should not "forget" its place in the current transaction.
Connectivity:
Check application in fair service conditions, check in airplane mode. Use cookie cans to decrease signal strength or Hoffman box
Messaging:
Try interruption tests
Multiple language support:
Check translation on Portrait and Landscape mode


Слайд 28 Testing tips for newcomers
Change in configuration
A situation that

Testing tips for newcomersChange in configurationA situation that is more general

is more general than a change in orientation is

a change in the device's configuration, such as a change in the availability of a keyboard or a change in system language.
A change in configuration also triggers the default behavior of destroying and then restarting the foreground Activity. Besides testing that the application maintains the UI and its transaction state, you should also test that the application updates itself to respond correctly to the new configuration.
Dependence on external resources
If your application depends on network access, SMS, Bluetooth, or GPS, then you should test what happens when the resource or resources are not available.
For example, if your application uses the network, it can notify the user if access is unavailable, or disable network-related features, or do both. For GPS, it can switch to IP-based location awareness. It can also wait for WiFi access before doing large data transfers, since WiFi transfers maximize battery usage compared to transfers over 3G or EDGE.


Слайд 29 Hardware differences
Screens : Android devices are categorized into

Hardware differencesScreens : Android devices are categorized into small, normal and

small, normal and large screens and low-, medium-, and

high –pixel density.
Keyboards: virtual and physical keyboards


Слайд 30 Android 4.0 Ice Cream Sandwich
Ice Cream Sandwich was

Android 4.0 Ice Cream SandwichIce Cream Sandwich was previewed at the

previewed at the May 2011 Google I/O event, and officially launched

at the Galaxy Nexus and Ice Cream Sandwich release event on 19 October 2011.The SDK for Android 4.0 was publicly released on 19 October 2011.Gabe Cohen from Google said that ICS was "theoretically compatible" with any Android 2.3.x device in production at that time. The source code for this version is scheduled to be released soon after the Galaxy Nexus ships in November 2011.

Слайд 31 Features 
Virtual buttons in the UI, in place of

Features Virtual buttons in the UI, in place of capacitive or physical

capacitive or physical buttons
Separation of widgets in a new

tab, listed in a similar list to apps
Easier-to-create folders, with a drag-and-drop style
A customizable launcher
Improved visual voicemail with the ability to speed up or slow down voicemail messages
Pinch-to-zoom functionality in the calendar
Offline search, a two-line preview, and new action bar at the bottom of the Gmail app
Ability to swipe left or right to switch between Gmail conversations
Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons)

Слайд 32 Features 
Improved error correction on the keyboard
Ability to access

Features Improved error correction on the keyboardAbility to access apps directly from

apps directly from lock screen (similar to the HTC Sense

3.x)
Improved copy and paste functionality
Better voice integration and continuous, real-time speech to text dictation
Face Unlock, a feature that allows users to unlock handsets using facial recognition software
New tabbed web browser, allowing up to 16 tabs
Automatic syncing of browser with users' Chrome bookmarks
Modern Roboto font
Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data when the limit is exceeded
Ability to shut down apps that are using data in the background
Improved camera app with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording

Слайд 33 Features 
Built-in photo editor
New gallery layout, organized by location

Features Built-in photo editorNew gallery layout, organized by location and personRefreshed 'People'

and person
Refreshed 'People' app with social network integration, status

updates and hi-res images
Android Beam, a NFC feature that lets user exchange web bookmarks, contact info, directions, YouTube, etc.
Hardware acceleration of the UI
Resizeable widgets, already part of 3.1 but new for cellphones
Wi-Fi Direct
1080p video recording for stock android

Слайд 34 Automation using robotium
http://code.google.com/p/robotium/
Robotium is a test framework created

Automation using robotiumhttp://code.google.com/p/robotium/Robotium is a test framework created to make it

to make it easy to write powerful and robust

automatic black-box test cases for Android applications. With the support of Robotium, test case developers can write function, system and acceptance test scenarios, spanning multiple Android activities.
Robotium has full support for Activities, Dialogs, Toasts, Menus and Context Menus
The Android testing framework is based on the JUnit 3.


Слайд 35 Benefits
Android platform limitations
Not able to handle multiple

BenefitsAndroid platform limitations Not able to handle multiple activitiesTest execution pretty

activities
Test execution pretty slow
Test cases are complex to implement
Robotium

benefits

You can develop powerful test cases, with minimal knowledge of the application under test.
The framework handles multiple Android activities automatically.
Minimal time needed to write solid test cases.
Readability of test cases is greatly improved, compared to standard instrumentation tests.
Test cases are more robust due to the run-time binding to GUI components.
Blazing fast test case execution.
Integrates smoothly with Maven or Ant to run tests as part of continuous integration.


Слайд 36 Limitations
Robotium does not support flash and web based

LimitationsRobotium does not support flash and web based applications.Robotium does not work on Canvas.

applications.
Robotium does not work on Canvas.


  • Имя файла: testing-android.pptx
  • Количество просмотров: 116
  • Количество скачиваний: 0