基于动态搜索的Android应用程序自动化测试方法研究
发布时间:2023-02-08 18:02
基于动态搜索的Android应用测试方法通过动态搜索Android应用的用户界面状态空间,构建GUI模型,并据此生成测试用例,实现对Android应用的自动化测试。然而传统的深度优先模型搜索策略无法有效处理界面回路问题,造成部分界面的丢失,导致生成的GUI模型不完整。同时,在建模过程中人们一般使用随机生成的字符串或测试人员设置的字符串填充Android应用表单参数,导致对应用表单测试不充分。针对测试方法中存在的问题,本文提出一种基于记录栈的深度优先模型搜索策略,使用栈记录已搜索到的应用界面,以此识别界面回路,避免界面状态的丢失,保证模型完整性。为了提高表单测试的充分性,本文还提出基于约束的两两组合方法生成表单参数测试数据,该方法对Android应用表单参数进行约束分析,使用等价类划分确定参数可选值,实现对参数取值的二维组合覆盖,避免了无效参数数据的生成。在上述工作基础上,本文实现了Android应用自动化测试工具FectDroid,并选择了30个开源Android应用进行实验研究。实验结果表明:(1)基于记录栈的深度优先模型搜索策略可提高GUI模型的完整性。该策略对手工生成GUI模型的...
【文章页数】:68 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第一章 引言
1.1 选题依据
1.2 国内外研究现状
1.3 研究内容
1.4 论文主要创新点
1.5 论文结构
第二章 基于模型的测试方法
2.1 Android应用概述
2.2 基本概念
本章小结
第三章 基于动态搜索的Android应用测试方法
3.1 问题分析
3.1.1 基于记录栈的深度优先模型搜索策略
3.1.2 界面相似控件处理
3.2 界面相等判定算法
3.3 基于约束的两两组合测试
3.3.1 组合测试基本概念
3.3.2 约束定义
3.3.3 约束处理
3.3.4 基于约束的两两组合测试方法
本章小结
第四章 FectDroid测试工具设计与实现
4.1 测试工具框架
4.1.1 设备模拟器
4.1.2 界面解析模块
4.1.3 事件选择模块
4.1.4 测试用例生成系统
4.2 约束条件实现
4.3 工具设计与实现
4.4 工具执行
本章小结
第五章 实验分析
5.1 研究问题
5.2 实验对象
5.3 实验方法
5.4 实验结果
5.4.1 不同模型搜索策略
5.4.2 不同组合方法
5.4.3 GUI模型与代码覆盖率
5.4.4 错误探测
5.4.5 不同工具测试时间比较
本章小结
第六章 总结与展望
6.1 论文总结
6.2 工作展望
致谢
参考文献
本文编号:3738129
【文章页数】:68 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第一章 引言
1.1 选题依据
1.2 国内外研究现状
1.3 研究内容
1.4 论文主要创新点
1.5 论文结构
第二章 基于模型的测试方法
2.1 Android应用概述
2.2 基本概念
本章小结
第三章 基于动态搜索的Android应用测试方法
3.1 问题分析
3.1.1 基于记录栈的深度优先模型搜索策略
3.1.2 界面相似控件处理
3.2 界面相等判定算法
3.3 基于约束的两两组合测试
3.3.1 组合测试基本概念
3.3.2 约束定义
3.3.3 约束处理
3.3.4 基于约束的两两组合测试方法
本章小结
第四章 FectDroid测试工具设计与实现
4.1 测试工具框架
4.1.1 设备模拟器
4.1.2 界面解析模块
4.1.3 事件选择模块
4.1.4 测试用例生成系统
4.2 约束条件实现
4.3 工具设计与实现
4.4 工具执行
本章小结
第五章 实验分析
5.1 研究问题
5.2 实验对象
5.3 实验方法
5.4 实验结果
5.4.1 不同模型搜索策略
5.4.2 不同组合方法
5.4.3 GUI模型与代码覆盖率
5.4.4 错误探测
5.4.5 不同工具测试时间比较
本章小结
第六章 总结与展望
6.1 论文总结
6.2 工作展望
致谢
参考文献
本文编号:3738129
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3738129.html