一种基于应用内视觉挖掘的软件测试用例生成方法技术

技术编号:27832962 阅读:29 留言:0更新日期:2021-03-30 11:45
本发明专利技术公开了一种基于应用内视觉挖掘的软件测试用例生成方法。涉及计算机软件开发领域,步骤为:首先,给定想要生成测试数据的输入项;然后,对应用程序进行界面探索,获得界面迁移模型;对探索所得每一界面图片做基于文字识别和自然语言处理的视觉挖掘,得到候选输入数据类别与内容;最后,匹配输入项提示关键词和候选输入数据的类别,将匹配成功的候选数据内容作为输入项的测试数据。若匹配失败,将输入项分为身份类、数字类、自由类,分别利用字典匹配、按类型生成、随机构造字符串的方法生成测试数据。本发明专利技术运用计算机视觉算法和自然语言处理生成测试用例,可在非侵入式环境下使用,并且生成的测试用例数据更真实,更易触发界面状态变换,从而揭示更多错误。从而揭示更多错误。从而揭示更多错误。

【技术实现步骤摘要】
一种基于应用内视觉挖掘的软件测试用例生成方法


[0001]本专利技术涉及计算机软件开发领域,具体涉及一种基于应用内视觉挖掘的软件测试用例生成方法。

技术介绍

[0002]测试用例在检测程序中存在的缺陷方面有重要作用,一个高质量的测试用例可以检测到程序中不易被发现的缺陷,帮助识别和改进软件质量问题。但是在可视化测试场景下,主要从外部视觉信息出发来开展测试,依靠的只有界面图像信息,此时测试用例的生成存在困难。
[0003]当前GUI应用的测试用例生成方法主要有两种。一是白盒测试方法,该方法要求待测系统的源代码可以被访问。例如,McMinn等人以待测系统源代码为基础,对函数名称、变量名称等程序标识符进行分词、去除停用词等操作,得到搜索关键字,并利用搜索引擎通过网络搜索的方式构造测试用例。对于无法访问待测系统源代码的场景,该方法无法实施。另一种是基于运行时界面信息的黑盒测试方法。例如,Darab等人首先获取页面运行时结构信息,从页面结构中提取出关于输入项的描述标识符,最后从在线的正则表达式库检索获取测试用例。尽管Darab没有访问系统源码,但是本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于应用内视觉挖掘的软件测试用例生成方法,其特征在于,具体步骤包括如下:步骤(1.1)、由用户给定需要生成测试数据的输入项,对其解析得到输入项提示关键词;步骤(1.2)、对应用程序进行随机界面探索,得到待测应用的界面迁移模型,从而反映从一个界面动作到达一个新界面状态的关系;步骤(1.3)、在所得界面迁移模型上进行视觉挖掘,获取关于每张界面图片中蕴含的候选输入类别与输入内容,从而构造由候选输入类别与内容构成的数据池;步骤(1.4)、按词义相似度匹配输入项提示关键词和候选输入数据的类别信息,将匹配成功的候选输入内容作为该输入项的测试数据进行匹配。2.根据权利要求1所述的一种基于应用内视觉挖掘的软件测试用例生成方法,其特征在于,在步骤(1.1)中,由用户给定需要生成测试数据的输入项的具体操作方法如下:(1.1.1)、由用户给定想要生成测试数据的输入项,每个输入项用多元组,如下式所示:Input=<外部描述标签,内部提示文字,提示图标>式中,外部描述标签表示输入框周边的输入提示文字信息,内部提示文字表示输入框里面的提示文字,提示图标表示输入框内部或周边出现的关键图标信息;(1.1.2)、对输入项多元组信息进行解析得到提示关键词;其具体操作如下:对输入项内部提示文字和外部描述标签,利用词性标注算法获取其中的名词性内容,将名词性内容作为输入项提示关键词;对于提示图标,预定义一个提示图标集并标注各图标文字语义,尝试对输入项提示图标和提示图标集中的每个图标进行模板匹配,如找到匹配项,则匹配项文字语义即当前输入项的一个提示关键词;合并从外部标签描述、内部提示文字和提示图标得到的各个提示关键词,得到最终的输入项提示关键词。3.根据权利要求1所述的一种基于应用内视觉挖掘的软件测试用例生成方法,其特征在于,在步骤(1.3)中;所述构造由候选输入类别与内容构成的数据池的具体操作步骤如下:(1.3.1)、获取界面迁移模型中每张界面图片所包含的候选输入数据的类别;依次处理界面迁移模型中的各个界面图片,获得到达图片标示状态的各个界面动作,得到动作所对应被操作控件的图片;在被操作控件的图片上,利用OCR文字识别算法提取控件文字标签;组合所有控件文字标签,得到界面图片所承载候选输入数据的类别描述;(1.3.2)、利用OCR算法识别界面图片中文本,基于文本内容和位置过滤掉其中标题类型文本、数字类型文本及图片内嵌文本的非人为输入数据、不适合作为测试输入的内容;(1.3.3)、合并界面图片中过滤后相邻但割裂的文本...

【专利技术属性】
技术研发人员:钱巨王岩
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

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

1