安卓应用软件兼容性测试用例的自动生成
发布时间:2021-05-12 14:22
Android是一种流行的移动操作系统,具有最大的市场份额。Android OS不断发展,市场上存在各种Android版本。此外,设备制造商通常会定制原的Android OS来实现各种功能以吸引客户。这些现象使得Android生态系统严重碎片化,从而使Android开发人员很难测试其Android应用程序的兼容性。因此,现实生活中许多Android应用程序都存在各种兼容性问题,这可能会严重影响用户体验。兼容性问题已经引起了学术界广泛的关注。为了解决这个问题,研究人员提出了许多静态分析工具,例如Fic Finder和Ci D。但是,这些技术有一个共同的局限性:它们会生成许多错误警报。测试是一种为了检测程序错误而广泛使用的技术。但是,由于搜索空间爆炸问题,对Android应用程序执行兼容性测试具有不少挑战。首先,要测试的设备型号太多。市场上有来自1,200多个制造商的24,000多种不同的设备。其次,要测试的API版本太多。由于Android平台发展迅速,市场上的设备运行的API版本有十多种(从10到29)。第三,要测试的API调用点太多。我们分析了API版本28的Android SDK的...
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:69 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
Chapter 1 Introduction
Chapter 2 Background Knowledge
2.1 Android Platform
2.1.1 Android Platform Architecture
2.1.2 JNI and Native APIs
2.2 Compatibility Issue
2.2.1 Issue Symptoms
2.2.2 Issue Types
2.3 Root Cause for Compatibility Issue
2.3.1 Devices Fragmentation
2.3.2 Android Platforms Fragmentation
2.4 Image Histogram
2.4.1 Histogram and Normalization
2.4.2 Histogram Comparison
Chapter 3 Literature Review
3.1 Compatibility Issues in Android Apps
3.2 Static Analysis Tools for Compatibility Enhancement
3.3 Automated Testing Tools for Android Apps
3.3.1 General-Purpose Testing Tools
3.3.2 Compatibility Testing Tools
Chapter 4 Workflow
4.1 Target APIs
4.2 Workflow
Chapter 5 Target APIs Identification
5.1 Identifying Two Types APIs
5.1.1 Identifying APIs Related to Hardware
5.1.2 Identifying Evolution APIs
5.2 Studying Usage Frequency for Two Types of APIs
Chapter 6 Implementation of GTFC
6.1 Instrumentation Phase
6.2 Test Generation Phase
6.2.1 Choosing an Appropriate General Testing Tool
6.2.2 Appium Driver
6.3 Compatibility Test Synthesis Phase
6.3.1 Processing Log Files
6.3.2 Filtering Compatibility Tests
6.4 Replaying Tests Phase
6.4.1 Two Devices Pools
6.4.2 The Two-level Oracle
Chapter 7 Evaluation
7.1 RQ1: (Effectiveness)
7.1.1 Experiment on Apps Invoking Evolution APIs
7.1.2 Experiment on Apps Triggering Customized Hardware
7.2 RQ2: (Usefulness)
7.3 RQ3: (Efficiency)
Conclusions
结论
References
Acknowledgement
本文编号:3183571
【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校
【文章页数】:69 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
Chapter 1 Introduction
Chapter 2 Background Knowledge
2.1 Android Platform
2.1.1 Android Platform Architecture
2.1.2 JNI and Native APIs
2.2 Compatibility Issue
2.2.1 Issue Symptoms
2.2.2 Issue Types
2.3 Root Cause for Compatibility Issue
2.3.1 Devices Fragmentation
2.3.2 Android Platforms Fragmentation
2.4 Image Histogram
2.4.1 Histogram and Normalization
2.4.2 Histogram Comparison
Chapter 3 Literature Review
3.1 Compatibility Issues in Android Apps
3.2 Static Analysis Tools for Compatibility Enhancement
3.3 Automated Testing Tools for Android Apps
3.3.1 General-Purpose Testing Tools
3.3.2 Compatibility Testing Tools
Chapter 4 Workflow
4.1 Target APIs
4.2 Workflow
Chapter 5 Target APIs Identification
5.1 Identifying Two Types APIs
5.1.1 Identifying APIs Related to Hardware
5.1.2 Identifying Evolution APIs
5.2 Studying Usage Frequency for Two Types of APIs
Chapter 6 Implementation of GTFC
6.1 Instrumentation Phase
6.2 Test Generation Phase
6.2.1 Choosing an Appropriate General Testing Tool
6.2.2 Appium Driver
6.3 Compatibility Test Synthesis Phase
6.3.1 Processing Log Files
6.3.2 Filtering Compatibility Tests
6.4 Replaying Tests Phase
6.4.1 Two Devices Pools
6.4.2 The Two-level Oracle
Chapter 7 Evaluation
7.1 RQ1: (Effectiveness)
7.1.1 Experiment on Apps Invoking Evolution APIs
7.1.2 Experiment on Apps Triggering Customized Hardware
7.2 RQ2: (Usefulness)
7.3 RQ3: (Efficiency)
Conclusions
结论
References
Acknowledgement
本文编号:3183571
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3183571.html