当前位置: 首页 > 专利查询>南京大学专利>正文

一种图形界面自动化测试方法技术

技术编号:13749247 阅读:59 留言:0更新日期:2016-09-24 09:25
本发明专利技术涉及一种图形界面自动化测试方法,包括以下步骤:对待测试软件自动生成随机测试用例,并对每个测试软件的功能模块生成操作序列的记录,保存运行截图;根据操作序列的记录计算操作序列之间的相似度,给出操作序列间操作的匹配关系;根据操作序列相似度对操作序列进行聚类;在每个类别中,任选一条序列人为标记对错;在每个类别中,将同类其他序列与标记序列进行图像比对;比对结果一致则可直接判定对错,否则视为待定;若存在待定序列,则返回聚类。本发明专利技术运用图像对比算法结合OCR对同类的操作进行图像比对,根据结果判定功能存在缺陷或重复迭代过程。用机器学习、图像比较技术减少人工干预,实现测试的自动化,提高软件测试的效率。

【技术实现步骤摘要】

本专利技术涉及软件测试技术,及机器学习、图像技术在自动化软件测试中的应用。
技术介绍
目前,软件测试一般需要大量的人为干预。测试工程师需要设计繁多的测试用例,而且大部分工作是重复、乏味、繁琐的;需求或设计变更时,就需要修改或重新设计测试用例;而且人工测试也难以对测试范围覆盖完全,还需要重复的回归测试。将繁重的测试任务自动化,就可以提高测试的准确性和测试人员的积极性,扩大测试的覆盖度,将测试人员解脱出来,节省人员、时间成本。现在有不少自动测试工具,这些工具可以提高测试效率,代替人工输入。它们具有录制脚本、回放等功能,可以复用测试用例,来执行重复的自动化测试,让回归测试,或测试同一软件的新版本更加方便。但是这类工具不能自动生成测试用例,测试人员要手动录制脚本或按照测试用例编写脚本,再利用工具进行回放。近年来,机器学习逐渐兴起。机器学习旨在让计算机能够模拟人类的学习行为。面对软件测试中情况的多样性、软件系统的复杂性,就需要让计算机自动“学习”。为了实现自动化测试,测试系统要能够处理不同类型的输入,实现智能化。机器学习就是人工智能的核心。机器学习具有几种类型:监督学习、无监督学习、半监督学习、增强学习。无监督学习是指训练集不需要人为标注,常见的无监督学习算法有聚类。这有助于减少人工干预、增强测试系统的自动性。大部分的软件应用是基于图形界面的,而黑盒测试时,根据界面的显示结果就可以判断应用是否正确完成了相应的功能。当人工进行功能测试时,依靠人眼去观察界面识别错误容易让人疲劳,且十分枯燥。有很多图像匹配算法、OCR(光学字符识别)技术,可以实现比较图像及其中内容的相似度。图像匹配是一种对影像内容、特征、结构、关系、纹理及灰度等的对应关系,相似性和一致性的分析,寻求相似影像目标的方法;OCR能够对图像文件中进行分析识别处理,获取其中的文字及版面信息。结合这两种技术,就能够计算图像之间像素关系和文字内容的相似度。
技术实现思路
本专利技术的目的在于,提供一种基于图形界面的自动化测试方法,以减少人为干预,提高软件测试的效率。为了实现上述目的,本专利技术的技术方案是,一种图形界面自动化测试方法,其特征在于,所述方法包括以下步骤:对待测试软件自动生成随机测试用例,并对每个测试软件的功能模块生成操作序列的记录,保存运行截图;根据操作序列的记录计算操作序列之间的相似度,给出操作序列间操作的匹配关系;根据操作序列相似度对操作序列进行聚类;在每个类别中,任选一条序列人为标记对错;在每个类别中,将同类其他序列与标记序列进行图像比对;比对结果一致则可直接判定对错,否则视为待定;若存在待定序列,则返回聚类。进一步,所述操作序列相似度的计算,由于序列长度可以不相同,重点在于序列间操作的匹配关系;这里使用DTW(Dynamic Time Warping,动态时间规整)将两条序列的操作进行对齐,DTW遵循边界性原则(两条序列的第一个和最后一个操作需要对齐)、单调性原则(某个操作对齐的操作必须是前个操作所对操作及之后的操作);一个操作可以对应多个操作,将所有对应操作之间的距离求和得到这两条序列的距离;通过动态调整上述的操作匹配方式找到最小的操作的序列距离,即操作序列的相似度。进一步,所述操作序列的聚类,根据操作序列之间的距离,运用名称为DBSCAN机器学习算法进行聚类。DBSCAN是一个基于密度的聚类算法,需要两个参数:eps(扫描半径)、minPts(最小包含点数),聚类过程包括如下步骤:1)任选一个未被访问过的对象(一条操作序列)p,检查其距离为eps的邻域,若包含的对象不小于minPts,建立新簇C,将其中所有的点加入候选集N;否则将p记为噪声;2)对候选集N中所有未被处理的对象q,检查其邻域,若至少包含minPts个对象,则将这些对象加入N;如果q未被归入任何一个簇,则将q加入C;3)重复步骤2),继续检查N中未处理的对象,当前候选集N为空;4)重复步骤1)~3),直到所有对象都归入了某个簇或标记为噪声。所述图像的比对,包括如下步骤:1)首先比较运行截图基于两幅图像对应位置像素的强度值与各自图像整体强度值的差值计算出两幅图相似度的值,与预定阈值比较后,低于阈值则判定为图像不相似;2)高于阈值再通过OCR手段比较对应位置字符,对应位置字符相似个数的比例大于阈值则判定为相似,否则判定为不相似。进一步,所述操作序列间操作的匹配关系,由于动态调整后的匹配关系可以有一对多的关系,需要根据这些关系,找出两条序列中操作最相似的一对一关系,以便后续的图像比对。进一步,运用图像对比算法结合OCR对匹配的操作进行图像比对,根据结果判定功能存在缺陷或重复迭代过程。与标记正确的序列的图像比对结果一致的序列判定为正确,与错误序列图像一致的序列则判定为错误,与正确序列或错误序列不一致的均视为待定(有一个图像比对不一致则为比对结果不一致)。进一步,所述序列中单个操作的距离,利用编辑距离(Edit Distance)的方法计算。编辑距离又称Levenshtein距离,是指两个字符串之间,一个变为另一个所需要的最少编辑次数。这里的编辑操作包括替换一个字符、添加一个字符、删除一个字符。本专利技术有益效果,通过采用迭代的方式来发现错误的序列:待定的序列返回聚类一步,重新聚类、标记、比对,反复迭代,直至没有待定序列。可能存在序列一直被标记为待定、难以判定的少数情况,这时需要人为进行判定。迭代过程提高了测试结果的准确性。本专利技术通过对待测试软件自动生成测试用例,并对每个功能模块生成操作记录、运行截图。运用图像对比算法结合OCR对同类的操作进行图像比对,根据结果判定功能存在缺陷或重复迭代过程。本专利技术运用机器学习、图像比较技术减少人工干预,实现测试的自动化,提高软件测试的效率。附图说明图1为本专利技术的图形界面自动化测试方法实施例一的结构示意图。图2为本专利技术的图形界面自动化测试方法实施例二的结构示意图。图3为本专利技术的图形界面自动化测试方法实施例一的流程图。图4为本专利技术的图形界面自动化测试方法实施例三的执行流程图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。如图1所示,为本专利技术的图形界面自动化测试方法实施例一的结构示意图。生成测试部分主要由QTP(Quicktest Professional)完成。在QTP中生成整个系统需要的数据和图像。处理数据部分将QTP中产生的数据进行聚类等处理。比对结果部分接受聚类结果,结合人工标记,判定图像的正确性。如图2所示,为本专利技术的图形界面自动化测试方法实施例二的结构示意图。生成测试部分使用QTP运行随机触发软件功能的脚本,脚本自动保存操作序列的记录,在每次操作后保存截屏。处理数据部分的输入时QTP产生的操作序列,使用DBSCAN机器学习算法对操作序列进行聚类。聚类时需要计算序列间的距离,又基于操作字符串的距离。最后结合序列距离和操作距离给出序列操作间的一对一匹配关系。比对结果部分首先接受人工输入对聚类结果每类中一条进行标记,接着将同类的序列与已标记序列进行图像比较,来判定软件在某个功能上的正确性。如图3所示,为本专利技术的图形界面自动化测试方法实施例一的流程图,包括如下步骤:步骤101,利用自动测试工具QTP生成随机测试用例,记录操作序本文档来自技高网
...

【技术保护点】
一种图形界面自动化测试方法,其特征在于,包括以下步骤:对待测试软件自动生成随机测试用例,并对每个测试软件的功能模块生成操作序列的记录,保存运行截图;根据操作序列的记录计算操作序列之间的相似度,给出操作序列间操作的匹配关系;根据操作序列相似度对操作序列进行聚类;在每个类别中,任选一条序列人为标记对错;在每个类别中,将同类其他序列与标记序列进行图像比对;比对结果一致则可直接判定对错,否则视为待定;若存在待定序列,则返回聚类。

【技术特征摘要】
1.一种图形界面自动化测试方法,其特征在于,包括以下步骤:对待测试软件自动生成随机测试用例,并对每个测试软件的功能模块生成操作序列的记录,保存运行截图;根据操作序列的记录计算操作序列之间的相似度,给出操作序列间操作的匹配关系;根据操作序列相似度对操作序列进行聚类;在每个类别中,任选一条序列人为标记对错;在每个类别中,将同类其他序列与标记序列进行图像比对;比对结果一致则可直接判定对错,否则视为待定;若存在待定序列,则返回聚类。2.根据权利要求1所述的图形界面自动化测试方法,其特征在于,所述操作序列相似度的计算,由于序列长度可能不相同,重点在于序列间操作的匹配关系;这里使用DTW即动态时间规整将两条序列的操作进行对齐,DTW遵循边界性原则是:1)两条序列的第一个和最后一个操作需要对齐;2)单调性原则、某个操作对齐的操作必须是前个操作所对操作及之后的操作;一个操作能够对应多个操作,将所有对应操作之间的距离求和得到这两条序列的距离;通过动态调整上述的操作匹配方式找到最小的序列距离,即操作序列的相似度。3.根据权利要求1所述的图形界面自动化测试方法,其特征在于,所述序列间操作的匹配关系,由于动态调整后的匹配关系能够有一对多的关系,需要根据这些关系,找出两条序列中操作最相似的一对一关系,以便后续的图像比对。4.根据权利要求1所述的图形界面自动化测试方法,其特征在于,所述操作序列的聚类,根据操作序列之间的距离,运用DBSCAN基于密度的机器学习聚类算法进行聚类,需要两个参数:扫描半径eps、最小包含点数min...

【专利技术属性】
技术研发人员:潘敏学黄嘉伟程成汤恩义
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1