providing a software quality framework for testing of mobile applications dominik franke and carsten...

31
Providing a Software Quality Framework for Testing of Mobile Applications Dominik Franke and Carsten Weise RWTH Achen University Embedded Software Laboratory 52074 Achen, Germany Speaker P76031446 許許許 P76034135 許許許

Upload: adele-willis

Post on 26-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

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

Providing a Software Quality Framework

for Testing of Mobile Applications

Dominik Franke and Carsten WeiseRWTH Achen University

Embedded Software Laboratory

52074 Achen, Germany

Speaker: P76031446 許庭樺 P76034135 李佳陵

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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

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

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.

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

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.

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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.

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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.

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

Boehm’s Quality Model (1978)

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

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

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

Adaptability

• Adaptability is the ability of software to adapt itself to new underlying systems• OS, Other hardware

• Portability is an important feature of adaptability

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

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.

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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.

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

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

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

• 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

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

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

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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

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

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.

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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.

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

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

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

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.

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

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?

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

Outline

• Introduction

• Mobile Software Quality Framework• Mobile Software Quality Model

• Mobile Quality Metrics

• Mobile Design Patterns

• Case study: Analysis of Mobile Application Lifecycle

• Conclusion

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

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.