基于关键词匹配的Web应用自动化测试研究毕业论文

 2022-10-02 21:59:44

论文总字数:26097字

摘 要

由于web应用高度的动态性、运行的复杂性、更新频繁等原因,web应用测试较为困难。人工测试web应用虽然可行,但测试成本较高,不适用于实际web应用测试中。基于搜索的web应用测试方法自动化程度较高,但穷尽搜索的策略也会在无关功能上浪费大量时间。给定指定功能的关键词,基于关键词引导的动态搜索可优先覆盖web应用指定功能。通过计算关键词与页面的相关度,优先寻找并搜索web应用中的指定功能,生成web应用的用户接口状态流图(SFG)的一个子集作为测试模型。该模型虽然只包含web应用的部分状态和事件,但可充分覆盖web应用的指定功能。在前期工作基础上,本文使用基于上述搜索策略设计的KeyjaxTest工具进行了实验,实验对象为5个英文web应用和2个中文web应用。实验结果表明,KeyjaxTest可以有效地搜索并覆盖web应用的指定功能。与现有的搜索策略相比,KeyjaxTest在指定功能覆盖率方面有较为明显的优势。深度优先搜索(DFS)、广度优先搜索(BFS)以及FeedEx对于指定功能搜索的覆盖率分别比KeyjaxTest对于指定功能搜索的覆盖率少55.18%、62.07%以及58.62%。

关键词:web应用,关键词,指定功能覆盖

ABSTRACT

Web application testing is very challenging due to the dynamic nature of web applications, the complexity of operations, frequent updates, etc. Though human testing of web applications is feasible, it yields a high cost, hence preventing its application from testing applied to industrial web applications. Exhaustive search strategy, which is used in most crawlers, wastes most time in exploring irrelevant functionalities.

Given keywords of specified functionalities, keyword-based dynamic crawler prefers to cover the specified functionalities of web applications. By calculating the relativenee of keywords and pages, it explores the specified functionalities and generates a subset of the user interface state flow graph (SFG) of the web application as the test model. Although the model contains only part states and events of the web application, it can fully cover the specified functionalities of the web application.

In this paper, on the basis of preliminary work, we use a tool which named KeyjaxTest to test web applications. We conducted an empirical study with five English web applications and two Chinese web applications. Experimental results show that KeyjaxTest improves specified functionality coverage. The number of specified functionalities covered by KeyjaxTest is 55.18%, 62.07% and 58.62% higher than DFS,BFS and FeedEx respectively.

KEY WORDS: web applications, keywords, coverage

目 录

摘要 I

ABSTRACT II

第一章 绪论 1

1.1引言 1

1.2国内外研究现状 2

1.3本文的研究目的和主要研究内容 3

1.3.1研究目的 3

1.3.2研究内容 3

第二章 相关概念和方法 4

2.1用户接口状态流图的相关概念 4

2.2word2vec简介 5

第三章 基于关键词匹配的动态搜索 8

3.1基于关键词匹配的搜索策略 8

3.1.1预处理阶段 8

3.1.2状态空间搜索 9

3.2相关度计算 11

3.2.1状态与功能相关度 11

3.2.2 事件与功能相关度 12

第四章 实验结果分析与讨论 13

4.1研究对象 13

4.2实验方法 14

4.3实验结果分析 14

第五章 总结与展望 18

致 谢 19

参考文献 20

第一章 绪论

本章概括性地介绍了研究背景、研究意义以及研究内容。首先是引言部分,简要概括了本文的研究背景以及研究内容。接着是国内外研究现状,介绍了关于web应用的测试的研究现状,分别介绍了web应用测试的4种方法以及每种方法的优缺点,并且介绍了基于搜索的web应用测试。最后一节介绍了本文的研究目的以及研究内容,即介绍了基于关键词匹配的web应用自动化测试的策略。

1.1引言

近年来,随着互联网的高速发展,金融、医疗、教育等等各个领域都与互联网紧密地联系在一起,社会的各个方面都依赖于具有高度交互性的web应用,因此对于web应用的可靠性以及稳定性提出了很高的要求,web应用测试极为重要[22]。由于web应用测试与一般应用测试相比,动态性更强,运行情况更为复杂,更新频率更快,因此web应用测试更为困难。web应用的运行过程中,用户操作的多样化导致了web应用中内容和结构的变化的多样性。除此之外,web应用的版本更新频率与一般应用相比更高。这些原因都导致了web应用运行的繁复以及测试的困难。在对web应用进行人工测试时,测试人员需要进行大量的工作,但生成的测试用例覆盖率不高,测试用例的重用性较差,且频繁的版本更新迭代也增加了成本,因此web应用的人工测试成本较高。基于以上原因,人们对web应用的自动化测试提出了要求。

随着web应用的发展和AJAX技术的应用,静态页面逐渐被动态页面所取代。在使用静态页面时,每一个静态页面都唯一对应着一个URL,因此为了记录每个页面的状态,人们借助了URL来进行标记。但这种方法不适用于动态页面。动态页面的URL会有重复的现象出现。标记状态的方法需要改变,这也影响到了对web应用进行自动化搜索的方法。

剩余内容已隐藏,请支付后下载全文,论文总字数:26097字

您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。