南京大学智能软件工程实验室
iselab.cn
摘要
关键词:缺陷 告生成,图像理解,移动众包测试
一、 介绍
一些研究人员在评估和提升众包测试 告的质量方面做了相关工作。Xin Chen等人开发了评估测试 告质量的框架,He Jiang等人提出了一种使用基于文本的方法来检测重复 告的技术,Rui Hao等人开发了一种使用自然语言处理和空间金字塔匹配技术来概括和汇总重复 告的工具。
我们的贡献如下:
1) 我们提出了一种基于截屏理解的缺陷 告生成方法——SUBDeG。它由图像翻译部分,文本提取部分和 告生成三个部分组成。
2) 我们将SUBDeG实现成了一个工具。在我们的实现中,我们采用的缺陷描述神经 络是完全可训练的,并使用了图像描述的最先进的解决方案。
3) 我们进行初步实验以评估工具的准确性,发现SUBDeG能够较准确地识别出截图中所包含的缺陷。
二、 方法
SUBDeG旨在根据缺陷截屏生成一个缺陷 告,该列表由多个潜在的缺陷描述组成。图1显示了SUBDeG的框架。它由3个主要部分组成:图像翻译,文本提取和 告生成部分。图像翻译部分提取截屏的特征向量,并使用该向量生成几个缺陷描述。文本提取部分使用预定义的关键词列表提取、过滤截屏中的相关文本信息,然后在 告生成部分中使用文本聚类方法聚合生成的描述生成缺陷 告。
1. 图像翻译
图像翻译部分旨在将缺陷截屏翻译成几个可能的描述。它是一种专门的图像描述模型,经过训练可以生成缺陷描述,而不是图像的一般描述。类似于机器翻译中的Encoder-Decoder结构,图像翻译部分包括从截屏中提取缺陷特征的截屏编码器,以及根据编码器中的那些特征生成描述的缺陷描述解码器。
在图像转换部分的实现中,我们采用了im2txt模型,该模型是当前最先进的图像描述模型。截屏编码器是一个深度卷积神经 络(CNN)。CNN具有从图像中提取丰富特征并生成固定长度的向量的能力[5]。我们使用Inception-v3模型作为截屏编码器。编码器中最后一个隐藏层中的特征向量将馈送给解码器。解码器是一个长期短期记忆 络(LSTM),经过训练后可以得到一个缺陷描述语言模型。众所周知,梯度消失和梯度爆炸是递归神经 络(RNN)的最大挑战,而LSTM可以有效地应对这一挑战[3]。LSTM的每个生成的单词将被馈送到单词嵌入层,以生成相应的单词嵌入,作为后续LSTM的输入。最终,我们使用BeamSearch方法生成若干缺陷描述并按照各自的概率降序排列。
2. 文本提取
文本提取部分的目的是识别截屏上与缺陷直接相关的文本,并将其用作可能的缺陷描述。这部分由一个文字识别器和一个关键词过滤器组成。文字识别器从截屏中提取文本,然后使用关键词过滤器过滤与缺陷相关的文本来作为可能的缺陷描述。
在文字识别器的实现中,我们应用了光学文字识别(OCR)技术,因为当前的OCR技术在通常情况下可以准确地识别图像上的所有字符。当前,许多公司提供了其OCR服务,这些服务通常比大多数开源OCR实现更准确。在对不同公司提供的各种OCR服务进行初步测试后,我们发现百度提供的OCR服务具有最佳性能,并且可以准确识别英文和中文的混合文本。中英混合文本在中文应用程序中较为常见。所以,SUBDeG的文本提取部分使用了百度OCR服务接口。接口的输出是提取的多行文本,其中许多文本与缺陷无关,因此必须进一步处理。
为了从百度OCR输出的文本行中获取与缺陷相关的文本,我们使用预定义的关键词列表过滤文本,该列表包含在缺陷提示的上下文中最常出现关键词。这些关键词是从2605个缺陷截屏中手动收集的。列表包含13个中英文关键词。如果我们用s表示提取的句子,用h(s)表示s包含的关键词数量,用n表示所有关键词的数量,则s成为缺陷描述的概率P(s)由下式定义:
然后,由OCR提取的句子将按照其概率降序排列,舍弃那些概率为零的句子。在具体实现中,我们只选择一个概率最高的句子,它可以反映大多数情况下的实际缺陷。
图1:SUBDeG系统架构
3. 告生成
告生成部分的目的是将由图像翻译和文本提取部分生成的描述汇总为一个缺陷 告。我们使用文本聚类方法来获取不同缺陷类型的聚类,并根据聚类大小顺序来组织缺陷描述列表。
由图像翻译部分和文本提取部分生成的描述通常彼此相似。这些相似的描述越多表明存在特定缺陷的可能性更大。所以,我们将这些描述根据相似性分为若干类。在文本聚类步骤中,我们在将单词标记化之后从描述中删除了若干停用词。然后,使用词频-逆文本频率指数(TF-IDF)方法对其余标记进行向量化。TF-IDF向量化在某些描述中为那些高频标记分配了更大的权重,这可以提高随后聚类步骤的准确性。向量化之后,这些向量可以简单地通过k均值聚类方法进行聚类。尽管k均值方法在处理高维向量时有一些缺点,但是由于描述数量很少,因此描述向量的维数非常低。在大多数情况下,缺陷截屏中只有一个或两个缺陷,因此由图像翻译部分和文本提取部分生成的描述数量始终很少。k均值聚类方法可以高精度和高效地处理它们。在我们的实现中,将聚类数k设置为2。在对描述进行聚类之后,我们选择其向量与每个聚类中的聚类中心距离最小的描述。因为聚类大小可以反映那些描述聚类的概率,所以我们根据聚类大小在列表中降序排列那些选定的描述。最终的缺陷 告即是SUBDeG的输出。
三、 实验
1. 实验设置
在SUBDeG的实现中,由于SUBDeG的文本提取部分使用的是第三方闭源OCR服务,因此我们唯一需要训练的模型是SUBDeG的图像翻译部分中的im2txt模型。
我们用来训练和验证im2txt模型的数据集来自百度移动测试中心(MTC)和Mooctest平台,包括成对的缺陷截图以及的相应缺陷 告。由于硬件能力的限制,我们仅对模型进行了10000次训练,这比默认的1000000次要少得多。这可能会降低我们工具的性能。此外,尽管在训练了缺陷描述语言模型后可以提高编码器初始模型与LSTM解码器一起训练的准确性,但我们没有运行第二个训练阶段,因为它花费的时间比第一次训练要长得多,超出了我们的能力。
在训练了im2txt模型之后,我们进行了一些初步实验,以评估SUBDeG的总体准确性。我们还使用了来自百度MTC和Mooctest平台的缺陷截屏,但我们没有选择在训练集或验证集中的截屏。我们采用的评估方法是手动评估。评估人员将SUBDeG生成的缺陷 告与每个截屏的最佳答案进行比较,以确定所生成的 告是否准确。该指标能够可靠地反映生成的 告与实际缺陷的匹配程度。
2. 实验结果分析
根据我们的初步实验,SUBDeG的准确性约为90%。通常,我们发现,当截屏具有某些特殊特征(例如黑屏,闪烁显示等)时,SUBDeG可以准确识别缺陷。SUBDeG还可以发现一些UI的渲染缺陷,例如按钮上缺少文本或不适用的UI。但是,对于与业务逻辑相关的缺陷,其效果往往会降低。
SUBDeG在包含特殊特征的截屏上具有可比的出色表现不足为奇,因为这些截屏较易解释。困难在于对与UI渲染或业务逻辑有关的缺陷的理解。在某些情况下,生成的描述可能包含一些与缺陷直接相关的关键词,但它们并不通顺或含义不准确。在连人都很难根据截屏来分辨缺陷(例如故障按钮或媒体播放器)的情况下,生成的 告与缺陷也总是完全无关。
四、 结论
致谢
感谢国家自然科学基金(61932012,61802171,61772014)支持!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!