• No results found

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

N/A
N/A
Protected

Academic year: 2022

Share "Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Mobile Testing

(2)

• Mobile application testing is a process by

which application software developed for hand held mobile devices is tested for its functionality, usability and

consistency.

• A mobile application (or mobile app) is a software

application designed to run on smartphones, tablets and other mobile devices.

• Mobile OS is the operating system that operates a

smartphone, tablet, PDA, or other digital mobile devices.

 Android from Google Inc. (free and open source)

 iOS from Apple Inc. (closed source, proprietary)

 Windows Phone from Microsoft (closed source, proprietary)

 BlackBerry 10 from BlackBerry (closed source, proprietary)

(3)

• They are specific to a given mobile platform (iOS, Android, Windows Mobile & others) using the development tools and language for the respective platform. Native apps are what you download form the app stores.

Native Apps

• Mobile Web apps are indeed web applications for use on mobile devices, and are invoked through web browsers such as Safari or Chrome. They offer the promise of “Write Once, Run Anywhere” that works on all types of platforms and devices.

They are developed using standard web technologies such as HTML5, JavaScript and CSS.

Mobile Web apps

• Hybrid apps work like native apps and you download them from the app stores also. The key difference is that that they are not developed using native technologies. Rather, they can be developed in one of the popular languages; PhoneGap, perhaps the most popular framework to develop hybrid apps, allows developers to write code in JavaScript/HTML5 that can be converted to a mobile app.

Hybrid

apps

(4)

• Get familiar with your testing device(s):

• Model

• OS version

• Device specific features –keyboard, camera etc.

• Debugging tools

:

(5)

?

• To find what version of the Android OS your device is running, navigate to Settings > About phone/About tablet and look for Android

version.

• To check your iOS version follow the steps:

1. Press the ‘Settings’ from your iPhone/iPad 2. Press ‘General’ from your ‘Settings’ menu 3. Go to ‘About’ from ‘General’ menu

4. Scroll down and find the iOS version under ‘Version’

(6)
(7)

• Android OS is used by 3 000+ devices (including manufactures like HTC, Asus, LG, Samsung etc.)

• Android is open source code and allows the software to be freely modified and distributed by device

manufacturers, wireless carriers, mobile application

companies and enthusiast developers.

(8)

• iPhone Configuration Utility

1. Open the tool

2. Connect your iPhone/iPad to the PC

3. Select your device from the left side of the tool – See the attached screen shot.

4. After this select ‘Console’ – now you can see the log files

5. To save your log file either copy and paste it as a document or click ‘Save Console As’ at the bottom right corner.

• Screenshots

1. Navigate to the screen of the application that you want to take a screen shot.

2. Simply hold down Home key and Lock key together. This activates the screen-shot capture and saves the photo on your device.

3. Connect the device to the PC , navigate to ‘Internal Storage’ -> DCIM -> Choose the correct directory and find your screen shot

4. Copy the file and paste it to your PC

(9)

• Eclipse -> DDMS

(Dalvik Debug Monitor Server) 1. Open device settings – select ‘Enable USB debugging’

2. Connect the device to PC

3. Open Eclipse – Select ‘Open Perspective’ icon which is placed on upper right corner and choose ‘DDMS’

4. Your device will be shown on the upper left corner. Click on the device.

If the device is missing it means that you have to install additional drivers -

http://developer.android.com/tools/extras/oem-usb.html#Drivers

5. Get device logs - devices’ log files are shown in the ‘LogCat’ section on the screen.

You can choose the level of filtering the logs but with no additional selection, if there is a crash, the log will be colored in red. Usually the crash appears with the text ‘

FATAL_EXCEPTION’ or ‘Terminating app due to uncaught exception’, but you can also search for other errors or exceptions in the log. When the Android app crashes most probably you will see an error dialog saying ‘Force Close’ on the screen.

6. Capture screen shot - look on the up right corner – you should see a little camera icon. When clicking it, a screen shot of your device’s current screen is made.

(10)

• DO always submit your device

in http://devices.devsmm.com/ - to login user your MM mail credentials.

• DO NOT UPGRADE your testing device OS

version without consulting QA Practice Leader.

• DO NOT JAILBREAK iOS devices and DO NOT

ROOT Android devices EVER.

(11)

• Test the app as a ‘black box ’ and try to break it.

• Make sure that the features implemented conforms to the user story’s requirements.

• Every code change or a new feature could affect existing features and their behavior.

• While testing a new feature, always test how the app behaves in a foreground/background.

• Open every screen of the mobile app and change

the device from portrait to landscape mode and

back again.

(12)

• Test app while some other action is performed on the device - for example use the app while the

device is charging, when the card is mounted etc.

• Test app in a silent mode - if your app supports some sound notification, for example receiving a message that makes the device to ring, or game with sound, etc, you need to test how it behaves in silent mode.

• Performs some tests while the device mobile

device sleeps, locks on/off.

(13)

• Testing network connectivity

– Ensure app works on Wi-Fi, 3G, GPRS (if supported) – Ensure offline support - checked how does mobile app

respond to connection outages, and reduced quality of service.

– Check how mobile app behaves in airplane mode.

– Ensure that all the connectivity issues are handled

with user-friendly messages or some other behavior

that is intuitive for the user to understand what is the

problem.

(14)

• Estimate mobile app response time and define variables that impact it:

 Data uploaded

 Network issues -network abort, delay, change and weak connections

 Third party applications integration

 Mobile browsers

 Devices

• Compare performance levels between the

released and the new version of the mobile app.

(15)

• User interaction – level of intuitiveness and efficiency

– Touchscreen - gestures, input

– Motion sensors - pan, overturning

– Keyboards - numeric keyboards, QWERTY keyboards – Trackball, track wheel

• Navigation – adherence to platform rules and guidelines

– menus like Home, Log Out, and Help, About, etc. should be present on the different pages inside the application.

• Layout and user interface design – look and feel, aesthetics, and precision in layout

– Positions of icons – logical

– Readability - look, display duration – Language - grammar, spelling

– Different display format - suitable

– Text display -alignment, overlap, text wrapping – Progress bars - timing

(16)

• Exception handling – user friendly messages and graceful exception handling .(interruptions)

• Need for speed - No matter the technology, one thing’s for certain – people always seem to want it faster. (performance)

• Think out of box– try to put yourself in the user’s

shoes.

(17)

Mobile apps are implicit in an increasing number of scenarios where sensitive systems are accessed and private data is in transit or at rest, that is, stored in mobile devices. And given the physical nature of

mobile devices, they are more easily forgotten, lost, or stolen.

• authentication and authorization

• security access to user data - If the mobile app access to user personal data (for example contacts, emails, messages make sure that user is notified for this. Also, if it will lead to additional charges for the user, make sure that this one is clearly explained with user- friendly messages. Missing this one may have to some law issues.

• allocation of data in offline mode

• protection of the file system, options,

hardware, network resources, etc.

(18)

• Versions compatibility – install/uninstall the app

– upgrade the app from all the supported versions below.

– test automatic upgrades

– ensure that version data is populated

• Backwards compatibility - check what platforms and OS version you are supporting and test your app against the previous versions too.

• Browser compatibility – mobile web app should be tested against different browsers.

• Device compatibility - ensure mobile app's compatibility and

functions across multiple devices of different screen sizes,

resolutions and hardware.

(19)

• Monitor battery consumption as:

- app runs in a foreground - app runs in a background

• Ensure that mobile app does not run automatically without user permission.

• Ensure mobile app turns off device functions as GPS, camera, accelerometer and other sensors when they are no longer required.

• “No-sleep energy bug” - this is a condition where at

least one component of the device is woken up by an

app and not put back to sleep due to a programming

error so causing severe battery drain.

(20)

• interruptions by incoming calls

• interruptions by SMS/MMS

• interruptions by data synchronization via Bluetooth, cellular data

• interruptions by device turn off – reboot of the device, battery removal

• interruptions of data synchronization

• Interruptions by camera activated

(21)

• interruptions by other’s application alerts/notifications

• interruptions by a battery drain alert

• interruptions by alarm clock

• force the application to minimize to access the

menu or home screen

(22)

• Localization testing of mobile applications is a crucial step to ensure the desired end-user

experience and final quality of the product.

– cosmetic (e.g layout problems, truncation issues due to text expansion)

– input fields such as zip codes and telephone numbers – sorting and display logic

– date, time and decimals formatting – app functionality

– currency and purchasing

(23)

T

References

Related documents

23 Concern: Lower High School Graduation Rates 25 Concern: Increasing Due Process Cases 26 Concern: Insufficient Resources 26 Benefit: Increased Professional Collaboration

Start of tour of Punta della Dogana with a specialist guide: presentation of the exhibition spaces, the restoration project and of the works in the

knowledge of how to develop talk, and knowledge of the pedagogy for managing student talking time (STT) in CLIL, how to evaluate talk and how to alert learners to the effect of

(Bernard J. [Ben] Scaglione, CPP, CHPA, CHSP, is Principal of The Secure Hospital, a resource management and blogging site, and author of Security Management for Health-

Manitou reserves the right to change the specifications shown and described at any time and without prior warning. The manufacturer is not liable for the

Attach a ring or loop to the zipper on slacks or jackets to make it easier to catch with your finger or the hook of a dressing stick. For back zippers, use a dressing stick if

– Non-financial corporations and other issuers – Or traditional and other covered bank bonds • Category IV: Unsecured debt instruments issued by:. –

researchers also address that working relationships have positive impact on project performance in terms of project time cost and quality. This research conceptualizes