Providing a Software Quality Framework for Testing of Mobile Applications Dominik Franke and Carsten Weise RWTH Achen University Embedded Software Laboratory.

Slides:



Advertisements
Similar presentations
When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
Advertisements

An Overview Of Virtual Machine Architectures Ross Rosemark.
Using MapuSoft Instead of OS Vendor’s Simulators.
Component Oriented Programming 1 Chapter 2 Theory of Components.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Security in By: Abdulelah Algosaibi Supervised by: Prof. Michael Rothstein Summer II 2010: CS 6/79995 Operating System Security.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
University of Jyväskylä 1 MODPA Platform Independent Design of Mobile Applications WIM Workshop 2004 Teemu Ihalainen Information Technology Research.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Introduction to Software Testing
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
What is Android? Android is among the most popular operating systems aimed towards mobile devices such as smartphones, and is currently the most widely.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
1 RoboSapien Based Autonomous Humanoid Robot Researched and Presented by Nick Repka.
Week 11 Further Web Design Concepts and Tools FTP, CMS, Wordpress and Responsive Web Design.
LIUPPA – Movies Team DSM’10 – Reno/Tahoe, Nevada, USA 17 October 2010 A DSML for Mobile Applications Testing Youssef RIDENE*/**, Nicolas BELLOIR*, Franck.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
1 NETE4631 Mobile Cloud Computing Lecture Notes #10.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Introduction to MDA (Model Driven Architecture) CYT.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
GEOREMINDERS ANDROID APPLICATION BY: ADRIENNE KECK.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Quality Assessment for CBSD: Techniques and A Generic Environment Presented by: Cai Xia Supervisor: Prof. Michael Lyu Markers: Prof. Ada Fu Prof. K.F.
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
ANKITHA CHOWDARY GARAPATI
Model View Controller MVC Web Software Architecture.
Celluloid An interactive media sequencing language.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CSE 303 – Software Design and Architecture
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Lecture 7: Overview Microprocessors / microcontrollers.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott GMD Fokus Berlin, Germany.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
1 Get All Answers Get All Answers. Contents History of Android Android Fragmentation The Role of Google Features and Architecture Android Software Development.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
By SPEC INFOTECH. A programming language reigning the IT industry Marking its presence around the globe Striking Features which make Java supreme: Simplistic.
System Software (1) The Operating System
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Applying Adaptive Software Development (ASD) Agile Modeling on Predictive Data Mining Applications: ASD-DM Methodology M. Alnoukari 1 Z.Alzoabi 2 S.Hanna.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Advanced Software Engineering Dr. Cheng
A Hierarchical Model for Object-Oriented Design Quality Assessment
Chapter 1 Introduction to Computers, Programs, and Java
MOBILE DEVICE OPERATING SYSTEM
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to Software Testing
Presentation transcript:

Providing a Software Quality Framework for Testing of Mobile Applications Dominik Franke and Carsten Weise RWTH Achen University Embedded Software Laboratory Achen, Germany Speaker : P 許庭樺 P 李佳陵

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Introduction Quality assurance methods vary between different kinds of software Difference between software for mobile and desktop applications in particular Mobile phones have often to deal with Dynamic connectivity Restricted user interfaces Specific application lifecycles

Introduction And more… Diversity of platforms Android, iOS, Windows Phone… Development cycles are kept short the mobile market is currently booming and competitive Resulting in great demands on software and specific approaches for quality assurance.

Introduction This work presents a basic approach to improve software quality of mobile applications by adjusting validation and test concepts for usage in mobile application development.

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Mobile Software Quality Framework Performance enhancement in mobile devices Two complementing philosophies: 1. Port reasonable software quality concepts and test methods from desktop application development into mobile application development and to readjust them to this new application area. 2. Aim for the development of new mobile-specific methods and tools for testing mobile applications.

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Mobile Software Quality Model Software quality models serve as indicators for quality of software, mostly of software products, rarely of software processes. Two popular software quality models are ISO/IEC 9126 and the quality model by Boehm et al.

Boehm’s Quality Model (1978)

Flexibility Flexibility is an important issue to mobile applications since the environment of such devices changes often and suddenly. Different hardware components and their different configurations acceleration sensor resolution display

Adaptability Adaptability is the ability of software to adapt itself to new underlying systems OS, Other hardware Portability is an important feature of adaptability

Data persistence If a mobile device runs out of memory it can shut down running applications, that are currently not used. Desktop systems start paging instead of killing running applications autonomous.

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Mobile Quality Metrics Source code metrics are a widely spread indicator for software quality in desktop software. They promise an automated and objective way to get concrete assessed information about the code.

Mobile Quality Metrics Source code metrics can be used to analyze the source code of software for mobile devices as below: McCabe Cyclomatic Complexity Weighted Methods per Class Lack of Cohesion of Methods

But quality requirements for software for mobile devices differ from quality requirements for desktop software. so deriving qualities from source code metrics for software for mobile devices has also to be done in a different way than for desktop software. Mobile Quality Metrics

The goal is to evaluate existing common source code metrics for their usage in the development of mobile software and based on this evaluation to define quality attributes for mobile applications. Extract values about source code metrics we use Eclipse Metrics plug-in 1.3.8

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Mobile Design Patterns Design patterns are today a common way of reusing concepts on architectural level Many current mobile platforms use the model-view-controller pattern

Mobile Design Patterns Another design pattern is target action pattern. This pattern encapsulates all technical details of a user actions (e.g. click on touchscreen) to one method call.

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

Case study: Analysis of Mobile Application Lifecycle How methods and tools can be used to improve and test a key quality of mobile applications like data persistence. Lifecycles are a key issue in development of mobile applications.

Case study: Analysis of Mobile Application Lifecycle Nearly every mobile platform has its own lifecycle Programming language, concepts and architectures of the platforms are different. Each vendor presents his lifecycle model with a different syntax and semantics. Hard for the vendor to test, change or extent

Case study: Analysis of Mobile Application Lifecycle Finite state machine FSM are widespread and have a clear syntax and semantics. This makes it easy for developers of mobile software to understand one certain lifecycle FSM helps programmer to learn and compare lifecycles of different platforms and to test them.

Case study: Analysis of Mobile Application Lifecycle Static analysis for mobile devices Runtime verification Provide the developer information about the current state of his application. For example if an incoming call arrives, is the application paused, stopped or killed?

Outline Introduction Mobile Software Quality Framework Mobile Software Quality Model Mobile Quality Metrics Mobile Design Patterns Case study: Analysis of Mobile Application Lifecycle Conclusion

The problem addressed by this thesis is the lack of quality in mobile applications. This work provide a mobile software quality framework based on this model, containing metrics, patterns, methods and tools for testing mobile applications.