ConfidentialPA12013-12-131 Testing Mobile Applications A Model for Mobile Testing.

Slides:



Advertisements
Similar presentations
What’s new in this release? September 6, Milestone Systems Confidential Milestone’s September release 2012 XProtect ® Web Client 1 Connect instantly.
Advertisements

Objectives Overview Define an operating system
軟工一 吳彥諄. * Scrum overview * What happened to the software * What is the quality attribute * ACRUM * Q&A.
Delivering the multiagent technology to end-users through the web D. Mitrović 1, M. Ivanović 1, C. Bădică 2 1 University of Novi Sad, Serbia 2 University.
Component 4: Introduction to Information and Computer Science Unit 9: Components and Development of Large Scale Systems Lecture 5 This material was developed.
“Turn you Smart phone into Business phone “
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Introduction to Systems Architecture Kieran Mathieson.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Figure 1.1 Interaction between applications and the operating system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Implementation/Acceptance Testing / 1 Implementation and Acceptance Testing Physical Implementation Criteria: 1. Data availability 2. Data reliability.
© 2009 Research In Motion Limited Introduction to developing applications for mobile devices.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 14: Troubleshooting Windows Server 2003 Networks.
Introduction to Software Testing
Operating Systems.
RESOURCE MANAGEMENT System Resources. What resources are managed in a computer system?
Non-functional requirements
Virtual Network Servers. What is a Server? 1. A software application that provides a specific one or more services to other computers  Example: Apache.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Smart Mail lets you send and receive s from your mobile phone in a quick and easy way using your favorite mail account.
Software Project Management Fifth Edition
Term 2, 2011 Week 3. CONTENTS The physical design of a network Network diagrams People who develop and support networks Developing a network Supporting.
Managing Software Quality
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
Chapter SIx Maintaining a Computer Part I: Configuring, Updating, and Upgrading the OS.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
Introduction to Information and Computer Science Information Systems Lecture c This material (Comp4_Unit9c) was developed by OHSU, funded by the Department.
Module 7: Fundamentals of Administering Windows Server 2008.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Computer Emergency Notification System (CENS)
Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Presented by: Reem Alshahrani. Outlines What is Virtualization Virtual environment components Advantages Security Challenges in virtualized environments.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Software Testing for Intelligent Robots Justin Peckner Maria Velasquez November 13, 2012.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
I NTRODUCTION TO N ETWORK A DMINISTRATION. W HAT IS A N ETWORK ? A network is a group of computers connected to each other to share information. Networks.
General Computer Knowledge COE 201- Computer Proficiency.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Chapter 9 Operating Systems Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Introduction TO Network Administration
Configuring, Managing and Maintaining Windows Server® 2008 Servers Course 6419A.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Network Monitoring Through Mobile (MOBTOP) Developed By : Akanksha Jain. (102199) Shikha Arora (101319) Team Name: Beans Course: CS532 Guided By:Prof.
I NTRODUCTION TO N ETWORK A DMINISTRATION. W HAT IS A N ETWORK ? A network is a group of computers connected to each other to share information. Networks.
Kernel Expanded version of Kodak’s AMX kernel Features –Uses Preemptive Priority Scheduling –Multithreading –Multitasking.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Component 8/Unit 1bHealth IT Workforce Curriculum Version 1.0 Fall Installation and Maintenance of Health IT Systems Unit 1b Elements of a Typical.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
M IND Q S YSTEMS Leaders in Training /7, 2nd Floor, Srinivasa Nagar Colony (W) Above HDFC Bank, S.R.Nagar Hyderabad
Unit 3 Computer Systems. What is software? unlike hardware it can’t be physically touched it’s the missing link between the computer hardware and the.
ISQB Software Testing Section Meeting 10 Dec 2012.
COMP532 IT INFRASTRUCTURE
McCall’s Quality Factors
Introduction to Operating System (OS)
Introduction to Software Testing
Charakteristiky kvality
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software Requirements Specification (SRS) Template.
ISO/IEC Systems and software Quality Requirements and Evaluation
Presentation transcript:

ConfidentialPA Testing Mobile Applications A Model for Mobile Testing

ConfidentialPA Introduction ▪This presentation outlines a model for mobile applications testing ▪Focus on what could be included in a mobile application test scope ▪The model is context independent, and should therefore be adapted and applied to specific contexts ▪Four different dimensions

ConfidentialPA Mobile Application Test Scope ▪The model outlines what could be part of a mobile application test scope ▪Which tests are actually selected/created/executed are dependant on different priorities and risks ▪Business priorities/risks? ▪Customer priorities/risks? ▪User priorities/risks? ▪Technical priorities/risks?

ConfidentialPA Model Overview Application Coverage Items Configurations Software Quality Attributes Environments

ConfidentialPA Application Coverage Items ▪Divide the application into different functional areas ▪Each functional area is called a Coverage Item ▪The size of the coverage item is dependant on the granularity needed for planning and reporting

ConfidentialPA Example: Alarm & Clock Application World Time Alarm Clock Stop Watch Timer Alarm & Clock Application

ConfidentialPA Software Quality Attributes ▪ISO/IEC ▪Functional Suitability ▪Performance Efficiency ▪Compatibility ▪Usability ▪Reliability ▪Security ▪Maintainability ▪Portability

ConfidentialPA Example: Functional Suitability ▪Functional Completeness ▪Are the application features there? ▪Functional Correctness ▪Are the application features working? ▪Installability ▪Is the install/uninstall process for the application working? ▪Back-end functionality

ConfidentialPA Example: Performance Efficiency ▪Application start up time ▪UI transitions ▪Memory usage ▪Loading times ▪Save time ▪Back-end capabilities ▪Performance and capacity testing ▪Stress tests

ConfidentialPA Example: Reliability ▪Availability ▪Service up-time ▪Recoverability ▪What happens when the application crashes? ▪How does the application handle data during crash? ▪Service back-end recovery

ConfidentialPA Example: Reliability ▪Random stability tests ▪Monkey testing for Android applications ▪Random walkthrough of UI until application crash or time limit is reached ▪Aging & Duration ▪What happens when the application is used over a long period of time? ▪What happens when the application is used for a long time? ▪What happens to the back-end over time?

ConfidentialPA Example: Usability ▪Different user personas ▪Test the application through different user personas to cover the most important use cases ▪Learnability / Understandability ▪It is easy to learn how to use the application? ▪Aesthetics ▪Usable for people with disabilities? ▪User Error Protection ▪Is the application mistake-proof?

ConfidentialPA Example: Compatibility ▪Interoperability testing ▪Support for different accessories ▪Headsets, watches, wristbands, external storage, external displays ▪Support for communication with third-party devices ▪TV, Playstation, Computer ▪Co-existence ▪Sharing resources with other applications ▪Interruptions from other applications or systems ▪Sharing resources with other users ▪Back-end access ▪Multiplayer usage with different other mobile devices

ConfidentialPA Example: Maintainability ▪Application upgrade ▪What happens when you upgrade to a new version of the application, especially with user data ▪Testability ▪Has the application been created to enable efficient testing? ▪Replacing the back-end ▪Backwards Compatibility

ConfidentialPA Example: Security ▪Fuzz testing ▪Fuzz testing or fuzzing is a software testing technique, often automated or semi-automated, that involves providing invalid, unexpected, or random data to the inputs of a computer program. The program is then monitored for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Fuzzing is commonly used to test for security problems in software or computer systems. [2] ▪There are of course many ways of improving application security [3]

ConfidentialPA Example: Portability ▪Portability testing refers to the process of testing the ease with which a computer software component can be moved from one environment to another, e.g. moving between two different Android cookies, or between Android and Firefox OS. This is typically measured in terms of the maximum amount of effort permitted. [4] ▪Activity performed by Software Developer (in Test)?

ConfidentialPA Configurations ▪Different Operating Systems ▪Different Chipsets & HW ▪Tablets vs. Smart Phones ▪Free vs. Premium ▪Targeted customers

ConfidentialPA Different Operating Systems ▪Is the application working for all intended operating systems? ▪Android ▪Firefox OS ▪Windows ▪IOS ▪Different versions of operating systems ▪New Android cookies ▪Old versions? ▪Different software releases ▪Different OS configurations and customizations

ConfidentialPA Different Chipsets & HW ▪Mobile Devices have different chipsets with different capabilities ▪Qualcom ▪Nvidia ▪Samsung ▪Texas Instruments ▪Devices have different HW support for different features ▪Devices could have different capabilities, even though they have the same chipset, such as RAM, internal memory, etc.

ConfidentialPA Tablet vs. Smartphone ▪Default screen orientation differs between smartphones and tablets ▪There are many different screen sizes for the applications to support ▪Some tablets only support WiFi ▪Speakers / sound may be different

ConfidentialPA Free vs. Premium ▪If your application has both a free and a premium verison, you need to consider what testing can be re-used, and what must be re-tested for both versions ▪Depends on the implementation of the different versions ▪With a good implementation, the tests on the free version should be minimal

ConfidentialPA Targeted Customers ▪If an application has several customized versions which are going to different customers, it is necessary to consider what testing can be re-used between version, and what is customer specific

ConfidentialPA Environments ▪Mobile Networks ▪WiFi and Bluetooth ▪Content ▪Servers & Services

ConfidentialPA Mobile Networks ▪Different mobile networks and operators have different configurations and different capabilities ▪Does the application have access to the correct servers? ▪Is the back-end working in a live environment ▪Can the application handle loss of connection or low bandwidth?

ConfidentialPA WiFi / BT ▪What happens if there is a loss of WiFi network, or BT connection during application usage? ▪What happens if reception is bad or fluctuating?

ConfidentialPA Content ▪If the application handles different content it is relevant to try out live customer content to secure compatibility ▪Different file types ▪Some content could have DRM protection, and also different DRM solutions ▪NFC tags can have different data types and different amounts of data

ConfidentialPA Servers & Services ▪How does the application work with different content and streaming servers? ▪Different solutions ▪Other services

ConfidentialPA Testing the Complete Ecosystem

ConfidentialPA Creating Tests based on the Model ▪Each test case / test session / test mission / test should be marked as covering: ▪One or multiple Coverage Items ▪One or multiple Software Quality Attributes ▪Low level tests usually only cover one coverage item and one quality attribute, while high level system tests usually cover multiple ▪Which tests are created should be based on risk and priorities

ConfidentialPA Test Runs / Executions / Activity ▪Each test run / execution / activity should be marked as covering: ▪One configuration ▪One environment ▪You can run the same tests on multiple configurations and environments ▪Which tests are executed should be based on risks and priorities

ConfidentialPA Test Reporting ▪One (sub-)report for each configuration and environment ▪Coverage items and software quality attributes can be used in the reports to facilitate analysis and understanding ▪Group results based on different coverage items and/or quality attributes ▪Coverage Item / Software Quality Attribute Matrix

ConfidentialPA Test Reporting Example Configuration XEnvironment Y FunctionalPerformanceCompatibilityUsabilityReliabilitySecurityMaintainabilityPortability Alarm Clock World Time Stop Watch Timer Test OKTest Not OKNot Sufficient CoverageNo Test Needed

ConfidentialPA Conclusion ▪The model described in this presentation can be applied to most contexts ▪When using the scope created with this model, there are many testing practices that must be applied to make it effective ▪Risk-based testing ▪10-minute test plans ▪Session-based testing ▪Etc. ▪The model alone will not solve all your mobile application testing needs, but it can be a good starting point for setting a relevant test scope

ConfidentialPA References [1] ISO/IEC [2] Fuzz Testing [3] Application Security [4] Portability testing