CN108073498A - 软件测试中获取反馈的插件和检测重复反馈的方法及装置 - Google Patents
软件测试中获取反馈的插件和检测重复反馈的方法及装置 Download PDFInfo
- Publication number
- CN108073498A CN108073498A CN201610978408.5A CN201610978408A CN108073498A CN 108073498 A CN108073498 A CN 108073498A CN 201610978408 A CN201610978408 A CN 201610978408A CN 108073498 A CN108073498 A CN 108073498A
- Authority
- CN
- China
- Prior art keywords
- feedback
- action
- action description
- software
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件测试中获取反馈的插件和检测重复反馈的方法及装置。检测重复反馈的方法包括:接收测试者的反馈,该反馈包括测试者对软件的评论和动作描述流,该动作描述流包括表示测试者在测试软件时所执行的各个动作的动作描述,动作描述流中的各个动作描述按动作的执行顺序来排列;计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;计算第一反馈的动作描述流与第二反馈的动作描述流之间的动作描述流相似度;以及基于所计算的评论相似度和动作描述流相似度来计算第一反馈和第二反馈的相似度,以检测第一反馈和第二反馈的重复性。
Description
技术领域
本发明涉及一种软件测试中获取反馈的插件和检测重复反馈的方法及装置。
背景技术
手机应用程序是最近比较流行的应用程序。然而手机应用程序的开发和调试却是非常麻烦的,尤其对于安卓手机而言,因涉及到不同的手机品牌、型号、屏幕大小等,加之安卓的系统从V1.x到最新的V6.0不等,导致开发和调试过程异常麻烦。
对于开发者来说,测试者的上下文信息也是很重要的,可以帮助重现程序错误。上下文信息包括用户的动作流、手机详细信息及其它。手机的型号、大小、操作系统等基本信息很容易获得,但用户的动作流却是比较麻烦的。因此,最好能跟踪测试者的动作流程,当他反馈一个程序错误的时候,就能得到相应的操作细节。另外一个问题是,如果多个测试者提交多个测试反馈,如何处理这些重复的反馈信息也是很麻烦的。
现有的检测重复反馈的方法仅仅比较反馈信息的评论相似度,并且结果不准确、效率较低。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,该概述并不是关于本发明的穷举性概述,它并非意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为后文的具体实施方式部分的铺垫。
鉴于以上提到的问题,本发明提供了一种能够获取测试者的反馈的插件和能够检测重复反馈的方法、装置以及系统,其中该反馈包括测试者对软件的评论和测试者在测试过程中所执行的各个动作的动作描述,即动作描述流。
根据本发明的一方面,提供了一种检测软件测试中的重复反馈的方法,包括:接收测试者的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列;计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及基于所计算的评论相似度和动作描述流相似度来计算所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
根据本发明的另一方面,提供了一种插件,所述插件被嵌入到要测试的软件中以获取测试者对所述软件的反馈,所述反馈包括所述测试者对所述软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时在所述软件的图形用户界面上所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列,所述插件包括:不可见的布局代理层,所述布局代理层被插入到所述软件的图形用户界面中,并且在不改变所述软件的源代码的情形下来获取所述动作描述流;以及反馈按钮层,所述反馈按钮层被插入到所述软件的图形用户界面中,并且收集所述评论。
根据本发明的又一方面,提供了一种检测软件测试中的重复反馈的装置,所述装置包括:反馈接收模块,用于接收所述测试者对所述软件的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述;评论相似度计算模块,用于计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;动作描述流相似度计算模块,用于计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及反馈相似度计算模块,用于基于所计算的评论相似度和动作描述流相似度来检测所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
根据本发明的再一方面,提供了一种检测软件测试中的重复反馈的系统,包括:插件,所述插件被嵌入到被测试的软件中并且获取对所述软件的反馈,其中所述反馈包括测试者对所述软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列;以及反馈服务器。所述反馈服务器包括:反馈接收模块,用于从插件接收所述测试者对所述软件的反馈;评论相似度计算模块,用于计算第一反馈的评论与第二反馈的评论之间的评论相似度;动作描述流相似度计算模块,用于计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及反馈相似度计算模块,用于基于所计算的评论相似度和动作描述流相似度来检测所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
根据本发明的再一方面,还提供了一种存储介质。所述存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行根据本发明的上述方法。
根据本发明的再一方面,还提供了一种程序。所述程序包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行根据本发明的上述方法。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。
附图说明
参照附图来阅读本发明的各实施方式,将更容易理解本发明的其它特征和优点,在此描述的附图只是为了对本发明的实施方式进行示意性说明的目的,而非全部可能的实施,并且不旨在限制本发明的范围。在附图中:
图1示出了实现本发明的原理的系统架构的示意图。
图2示出了根据本发明的实施方式的用于获取反馈的插件的结构框图。
图3示出了安装有根据本发明实施方式的插件的软件的图形用户界面的构成的示意图。
图4示出了根据本发明实施方式的插件所获取的动作流的示意图。
图5示出了根据本发明实施方式的用于检测软件测试中的重复反馈的方法的流程图。
图6示出了根据本发明实施方式的用于计算动作描述流相似度的方法的流程图。
图7示出了根据本发明实施方式的用于获取动作描述流的哈希签名的方法的流程图。
图8示出了获取动作描述流的哈希签名的示例性流程的示意图。
图9示出了根据本发明实施方式的用于检测重复反馈的装置的结构框图。
图10示出了根据本发明实施方式的用于获取哈希签名的哈希签名获取部的结构框图。
图11示出了根据本发明实施方式的用于检测软件测试中的重复反馈的系统的结构框图。
图12示出了用于实施根据本发明实施例的方法和系统的计算机的示意性框图。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
首先,参考图1对本发明的原理进行概述。如图1所示,本发明的系统架构涉及到软件开发者、反馈服务器和软件测试者。其中,软件开发者在开发完移动软件的原型后,将插件插入到该软件中,以便跟踪测试者在测试软件的过程中所执行的一系列动作的动作流。然后,开发者将嵌入了插件的软件提交到反馈服务器,以便获取测试者的反馈。图1中的反馈服务器在接收到开发者上传的软件后,将测试任务分发给测试者,并从测试者那里获得反馈。图1中的软件测试者在拿到测试任务之后,即对该软件进行测试。在测试过程中,测试者所执行的动作都将被软件中所嵌入的插件捕捉。由此,当测试者提交评论信息以进行反馈时,该评论信息以及与先前的动作流相关的信息被作为反馈同时提交到反馈服务器端。在反馈服务器端,该反馈被处理以检测该反馈与其他测试者提交的反馈是否相似。如果相似,则将这些反馈归为一组。最后,将归类后的、包括与动作流相关的信息的反馈发送给开发者,从而开发者能够利用这些反馈来重现并解决程序错误。
在了解了本发明的原理之后,下面结合附图详细介绍用于实现本发明的具体实施方式。
图2是示出根据本发明实施方式的用于获取反馈的插件的结构框图。如图2所示,插件包括不可见的布局代理层210和反馈按钮层220。在测试者运行安装有根据本发明的实施方式的插件的软件时,后台生成软件的图形用户界面,同时插件将布局代理层210和反馈按钮层220插入到所创建的图形用户界面中。
图3示出了安装有本发明插件的软件的图形用户界面的构成的示意图。如图3所示,图形用户界面包括4层,其中第1层和第3层由软件构建,第2层和第4层由插件插入。第1层是图形用户界面容器层,也是图形用户界面的最底层。第2层是透明的布局代理层,该层对用户不可见并且大小与图形用户界面容器层相同。第3层是显示空间的组合层,包含各种类型的控件元素,如文本框、图片、按钮、输入框等。第4层是悬浮的反馈按钮层,用于收集测试者的评论信息,并将评论信息记录到日志文件中。
通常,当测试者操作第3层中的控件元素时,这些控件元素的事件监听器会被传递到父亲层,然后再从父亲层获得相应的响应指示。在本发明中,软件集成了根据本发明实施方式的插件,第2层成为父亲层。该第2层,即布局代理层配置成:截取来自第3层的测试者的动作请求;根据动作请求来获取与动作相关的信息作为对动作的动作描述,并将其记录在日志文件中;将动作请求传递给图形用户界面容器层;以及将来自图形用户界面容器层的对动作请求的动作响应传递给第3层。因此,第2层能够在不改变所述软件的源代码的情形下来获取所述动作描述。
图4示出了根据本发明实施方式的插件所获取的动作流的示意图。在本发明中,对于每个动作,至少通过以下3个属性来描述:动作名称、事件名称及事件相关属性、与事件对应的控件元素ID。事件名称代表测试者执行的某种动作,例如,图4中的动作1的事件名称“onClick”表示点击按钮,动作2的事件名称“onTextChanged”表示输入文本,以及动作3的事件名称“onScroll”表示滑动屏幕。事件相关属性表示具体事件的一些特性,例如,如图4中的动作2所示,当用户输入文本时,事件相关属性记录了输入的文本信息为“character”;以及如动作3所示,当用户滑动屏幕时,事件相关属性记录了坐标位置从<120,52>变化到<250,52>。如图4所示,当用户执行点击反馈按钮的动作时,他的评论信息以及先前的动作(如动作1至动作3),将以日志文件的形式被发送到反馈服务器。
在反馈服务器端,针对特定的软件,可能会收集到来自各个测试者的大量反馈,并且大部分反馈可能是相同或相似的。如果对各条反馈逐一进行查看,不仅会花费大量的时间和精力,而且会付出很多重复劳动。因此,期望能够将相同或相似的反馈检测出来,并加于归类,以方便软件开发人员进行查看。现有技术中,已经存在一些计算反馈相似度的方法,诸如利用TFIDF计算相似度的方法等。但这些方法在计算反馈相似度时,仅考虑测试者提交的评论的相似度。
然而,通过本发明实施方式的插件所得到的反馈,不仅包括测试者的评论,而且还包括测试者在执行软件测试的过程中所执行的一系列动作。从而,在利用现有技术的方法检测重复反馈时,并不能提供满意的精度。鉴于此,本发明提供了一种在考虑到评论相似度和动作流的相似度的情形下来检测重复反馈的方法。
以下,参考图5对根据本发明实施方式的用于检测软件测试中的重复反馈的方法进行描述。在本发明中,反馈信息的相似度由两个方面来度量,一方面是测试者的评论的相似度,该评论包括标题和摘要等;另一方面是动作描述流的相似度,该动作描述流包括表示测试者在软件测试过程中所执行的各个动作的动作描述,并且该动作描述流中的各个动作描述按所述动作的执行顺序来排列。如同5所示,检测重复反馈的方法500包括步骤S510至步骤S540。在步骤S510中,接收测试者的反馈,该反馈包括测试者对软件的评论和动作描述流。在步骤S520中,计算任意两个反馈的评论之间的评论相似度。在步骤S530中,计算该任意两个反馈的动作描述流之间的动作描述流相似度。在步骤S540中,基于所计算的评论相似度和动作描述流相似度来计算该任意两个反馈的相似度,以检测该任意两个反馈的重复性。
步骤S520中关于评论相似度的计算可以采用现有技术中公知的计算方法。例如,可以采用TFIDF方法来计算第i条反馈的Commenti和第j条反馈的Commentj之间的评论相似度:
Sim(Commenti,Commentj)=TFIDF(titlei+summaryi,titlej+summaryj)(1)
其中,titlei和summaryi表示第i条反馈的标题和摘要,titlej和summayj表示第j条反馈的标题和摘要。
下面,结合图6来具体说明图5的步骤S530中关于计算动作描述流相似度的方法。如图6所示,动作描述流相似度的计算方法包括步骤S610和S620。首先,在步骤S610中,获取任意两条反馈中的一条反馈的动作描述流的哈希签名,和另一条反馈的动作描述流的哈希签名。然后,在步骤S620中,在所获取的任意两条反馈的哈希签名之间执行按位异或运算,从而得到该任意两条反馈的动作描述流之间的动作描述流相似度:
其中,Actionsi和HashAction i表示第i条反馈的动作描述流和哈希签名,Actionsj和HashAction j表示第j条反馈的动作描述流和哈希签名。
下面,结合图7来具体说明图6的步骤S610中关于获取动作描述流的哈希签名的方法。如图7所示,获取哈希签名的方法S610包括步骤S611至步骤S616。首先,在步骤S611中,遍历动作描述流,将连续相邻的两个动作描述组合成一个特征,由此得到多个特征。如图8中所示,动作1和动作2的动作描述被组合成一个特征,动作2和动作3的动作描述被组合成一个特征,以及动作3和动作4的动作描述被组合成一个特征。在本发明中,将两个连续相邻的动作描述组合为一个特征,而非将单个动作描述视为一个特征,目的是将动作描述的顺序(或动作的执行顺序)因素纳入哈希签名的计算中。
然后,在步骤S612中,使用哈希算法将各个特征计算为较短的固定长度的哈希值。根据本发明的一个实施方式,可以使用MD5方法来计算哈希值。
接着,在步骤S613中,基于在所获得的哈希值中每个哈希值出现的次数来获取相应哈希值的权重。
接着,在步骤S614中,基于每个哈希值中的各个位的值,将权重附加至哈希值中的各个位。根据本发明的一个实施方式,如果哈希值中的某个位为1,则将正的权重附加至该某个位;并且如果哈希值中的某个位为0,则将负的权重附加至该某个位。如图8所示,针对动作1和动作2的动作描述组合成的特征,将权重w1附加至哈希值“100110”之后,得到“w1,-w1,-w1,w1,w1,-w1”。
接着,在步骤S615中,对附加了权重之后的各个哈希值执行按位累加。
最后,在步骤S616中,根据各个位的累加结果,用1或0为各个位赋值,从而得到哈希签名,如图8所示。
在根据上述方法获取任意两条反馈的评论相似度和动作描述流相似度之后,在图5的步骤S540中,如等式(3)计算该任意两条反馈之间的相似度:
Sim(Fi,Fj)=α*Sim(Commenti,Commentj)+β*Sim(Actionsi,Actionsj)(3)其中,权重α和β可以根据实际需要来设定。在得到任意两条反馈之间的相似度之后,可以将所得到的任意两条反馈的相似度与预定阈值相比较,并基于比较结果来确定该两条反馈之间的重复性。如果确定出两条反馈为重复,则将他们归为一类。在此,本领域技术人员可以根据实际需要来设定该预定阈值。
以上结合附图对根据本发明实施方式的检测软件测试中的重复反馈的方法进行了详细描述。下面将结合附图详细描述根据本发明实施方式的用于检测重复反馈的装置(在文中也称为反馈服务器)的配置。
图9是示出根据本发明的实施方式的用于检测重复反馈的装置的结构框图。如图9所述,装置900配置成包括反馈接收模块910、评论相似度计算模块920、动作描述流相似度计算模块930和反馈相似度计算模块940。其中,反馈接收模块910接收用户的反馈,该反馈包括测试者对软件的评论和动作描述流,所述动作描述流包括表示测试者在测试软件时所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列。评论相似度计算模块920计算任意两个反馈的评论之间的评论相似度。动作描述流相似度计算模块930计算任意两个反馈的动作描述流之间的动作描述流相似度。反馈相似度计算模块940基于所计算的评论相似度和动作描述流相似度来计算该任意两个反馈的相似度,以检测该任意两个反馈的重复性。
此外,所述动作描述流相似度计算模块930包括哈希签名获取部931和运算部932。哈希签名获取部931配置成获取任意两条反馈的动作描述流的哈希签名。运算部932配置成在获取的任意两条反馈的哈希签名之间执行按位异或运算,从而得到该任意两条反馈的动作描述流之间的动作描述流相似度。
此外,如图10所示,图9中的哈希签名获取部931可以包括组合单元1010、计算单元1020、获取单元1030、附加单元1040、累加单元1050和赋值单元1060。其中,组合单元1010遍历动作描述流,将连续相邻的两个动作描述组合成一个特征,由此得到多个特征。计算单元1020使用哈希算法将各个特征计算为较短的固定长度的哈希值。获取单元1030基于在所获得的哈希值中每个哈希值出现的次数来获取相应哈希值的权重。附加单元1040基于每个哈希值中的各个位的值,将权重附加至哈希值中的各个位。累加单元1050对附加了权重之后的各个哈希值执行按位累加。赋值单元1060根据各个位的累加结果,用1或0为各个位赋值,从而得到哈希签名。
本发明还提供了一种用于检测软件测试中的重复反馈的系统。图11示出了该系统的结构框图。如图11所示,系统1100包括图2中所示的用于获取反馈的插件200和图9中所示的用于检测重复反馈的反馈服务器900。
另外,这里尚需指出的是,上述系统中各个组成部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图12所示的通用计算机1200)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图12示出了可用于实施根据本发明实施例的方法和系统的计算机的示意性框图。
在图12中,中央处理单元(CPU)1201根据只读存储器(ROM)1202中存储的程序或从存储部分1208加载到随机存取存储器(RAM)1203的程序执行各种处理。在RAM 1203中,还根据需要存储当CPU 1201执行各种处理等等时所需的数据。CPU 1201、ROM 1202和RAM 1203经由总线1204彼此连接。输入/输出接口1205也连接到总线1204。
下述部件连接到输入/输出接口1205:输入部分1206(包括键盘、鼠标等等)、输出部分1207(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1208(包括硬盘等)、通信部分1209(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1209经由网络比如因特网执行通信处理。根据需要,驱动器1210也可连接到输入/输出接口1205。可拆卸介质1211比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1210上,使得从中读出的计算机程序根据需要被安装到存储部分1208中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1211安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图12所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1211。可拆卸介质1211的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1202、存储部分1208中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的范围内。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
应当注意,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的次序顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行限制。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的发明构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
综上,在根据本发明的实施例中,本发明提供了如下技术方案。
方案1.一种检测软件测试中的重复反馈的方法,所述方法包括:
接收测试者的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列;
计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;
计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及
基于所计算的评论相似度和动作描述流相似度来计算所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
方案2.根据方案1所述的方法,其中,计算所述动作描述流相似度包括:
获取所述第一反馈的动作描述流的第一哈希签名和所述第二反馈的动作描述流的第二哈希签名;以及
对所述第一哈希签名和所述第二哈希签名执行按位异或运算,从而得到所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度。
方案3.根据方案2所述的方法,其中,获取所述哈希签名包括:
遍历所述动作描述流,将连续相邻的两个动作描述组合成一个特征,从而得到多个特征;
使用哈希算法将各个特征的值计算为较短的固定长度的哈希值;
基于所获得的哈希值中的每个哈希值出现的次数来获取相应哈希值的权重;
基于每个哈希值中的各个位的值,将权重附加至哈希值中的各个位;以及
对附加了所述权重之后的各个哈希值执行按位累加;
根据各个位的累加结果,用1或0为各个位赋值,从而得到所述哈希签名。
方案4.根据方案3所述的方法,其中,当将所述权重附加至所述哈希值中的各个位时,如果所述哈希值中的某个位为1,则将正的权重附加至所述某个位;并且如果所述哈希值中的某个位为0,则将负的权重附加至所述某个位。
方案5.根据方案3-4中任一项所述的方法,其中,所述哈希算法为MD5方法。
方案6.根据方案1-4中任一项所述的方法,其中,所述评论相似度通过TFIDF方法来计算。
方案7.根据方案1-4中任一项所述的方法,其中,所述动作描述包括动作名称、事件名称及事件相关属性、以及控制ID。
方案8.根据方案1-4中任一项所述的方法,其中,所述反馈通过嵌入到所述软件中的插件来获取。
方案9.根据方案8所述的方法,其中,所述动作在所述软件的图形用户界面上执行,并且所述插件包括不可见的布局代理层和反馈按钮层并且将所述布局代理层和所述反馈按钮层插入到所述软件的图形用户界面中,其中所述布局代理层在不改变所述软件的源代码的情形下来获取所述动作描述,所述反馈按钮层收集所述评论。
方案10.根据方案9所述的方法,其中,所述软件的图形用户界面包括组合层和图形用户界面容器层,所述布局代理层配置成:截取来自所述组合层的测试者的动作请求;基于所述动作请求来获取并记录所述动作描述;将动作请求传递给图形用户界面容器层;以及将来自所述图形用户界面容器层的对所述动作请求的动作响应传递给所述组合层。
方案11.一种插件,所述插件被嵌入到要测试的软件中以获取测试者对所述软件的反馈,所述反馈包括所述测试者对所述软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时在所述软件的图形用户界面上所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列,所述插件包括:
不可见的布局代理层,所述布局代理层被插入到所述软件的图形用户界面中,并且在不改变所述软件的源代码的情形下来获取所述动作描述流;以及
反馈按钮层,所述反馈按钮层被插入到所述软件的图形用户界面中,并且收集所述评论。
方案12.根据方案11所述的插件,其中,所述软件的图形用户界面包括组合层和图形用户界面容器层,并且所述布局代理层配置成:截取来自所述组合层的测试者的动作请求;基于所述动作请求来获取并记录所述动作描述;将动作请求传递给图形用户界面容器层;以及将来自所述图形用户界面容器层的对所述动作请求的动作响应传递给所述组合层。
方案13.一种检测软件测试中的重复反馈的装置,所述装置包括:
反馈接收模块,用于接收所述测试者对所述软件的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述;
评论相似度计算模块,用于计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;
动作描述流相似度计算模块,用于计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及
反馈相似度计算模块,用于基于所计算的评论相似度和动作描述流相似度来检测所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
方案14.根据方案13所述的装置,其中,所述动作描述流相似度计算模块包括:
哈希签名获取部,用于获取所述第一反馈的动作描述流的第一哈希签名和所述第二反馈的动作描述流的第二哈希签名;以及
运算部,用于对所述第一哈希签名和所述第二哈希签名执行按位异或运算,从而得到所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度。
方案15.根据方案14所述的装置,其中,所述哈希签名获取部包括:
组合单元,用于遍历所述动作描述流,将连续相邻的两个动作描述组合成一个特征,从而得到多个特征;
计算单元,用于使用哈希算法将各个特征的值计算为较短的固定长度的哈希值;
获取单元,用于基于所获得的哈希值中的每个哈希值出现的次数来获取相应哈希值的权重;
附加单元,用于基于每个哈希值中的各个位的值,将权重附加至哈希值中的各个位;以及
累加单元,用于对附加了所述权重之后的各个哈希值执行按位累加;以及
赋值单元,用于根据各个位的累加结果,用1或0为各个位赋值,从而得到所述哈希签名。
方案16.根据方案15所述的装置,其中,当将所述权重附加至所述哈希值中的各个位时,如果所述哈希值中的某个位为1,则将正的权重附加至所述某个位;并且如果所述哈希值中的某个位为0,则将负的权重附加至所述某个位。
方案17.根据方案15-16中任一项所述的装置,其中,所述哈希算法为MD5方法。
方案18.根据方案13-16中任一项所述的装置,其中,所述评论相似度通过TFIDF方法来计算。
方案19.根据方案13-16中任一项所述的装置,其中,所述动作描述包括动作名称、事件名称及事件相关属性、以及控制ID。
方案20.根据方案13-16中任一项所述的装置,其中,所述反馈通过嵌入到所述软件中的插件来获取。
Claims (10)
1.一种检测软件测试中的重复反馈的方法,包括:
接收测试者的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列;
计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;
计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及
基于所计算的评论相似度和动作描述流相似度来计算所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
2.根据权利要求1所述的方法,其中,计算所述动作描述流相似度包括:
获取所述第一反馈的动作描述流的第一哈希签名和所述第二反馈的动作描述流的第二哈希签名;以及
对所述第一哈希签名和所述第二哈希签名执行按位异或运算,从而得到所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度。
3.根据权利要求2所述的方法,其中,获取所述哈希签名包括:
遍历所述动作描述流,将连续相邻的两个动作描述组合成一个特征,从而得到多个特征;
使用哈希算法将各个特征的值计算为较短的固定长度的哈希值;
基于所获得的哈希值中的每个哈希值出现的次数来获取相应哈希值的权重;
基于每个哈希值中的各个位的值,将权重附加至哈希值中的各个位;
对附加了所述权重之后的各个哈希值执行按位累加;以及
根据各个位的累加结果,用1或0为各个位赋值,从而得到所述哈希签名。
4.根据权利要求3所述的方法,其中,当将所述权重附加至所述哈希值中的各个位时,如果所述哈希值中的某个位为1,则将正的权重附加至所述某个位;并且如果所述哈希值中的某个位为0,则将负的权重附加至所述某个位。
5.根据权利要求1-4中任一项所述的方法,其中,所述评论相似度通过TFIDF方法来计算。
6.根据权利要求1-4中任一项所述的方法,其中,所述动作描述包括动作名称、事件名称及事件相关属性、以及控制ID。
7.根据权利要求1-4中任一项所述的方法,其中,所述动作在所述软件的图形用户界面上执行,并且所述反馈通过嵌入到所述软件中的插件来获取,其中,所述插件包括不可见的布局代理层和反馈按钮层,所述布局代理层和所述反馈按钮层被插入到所述软件的图形用户界面中,其中所述布局代理层在不改变所述软件的源代码的情形下来获取所述动作描述,所述反馈按钮层收集所述评论。
8.一种插件,所述插件被嵌入到要测试的软件中以获取测试者对所述软件的反馈,所述反馈包括所述测试者对所述软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时在所述软件的图形用户界面上所执行的各个动作的动作描述,所述动作描述流中的各个动作描述按所述动作的执行顺序来排列,所述插件包括:
不可见的布局代理层,所述布局代理层被插入到所述软件的图形用户界面中并且在不改变所述软件的源代码的情形下来获取所述动作描述流;以及
反馈按钮层,所述反馈按钮层被插入到所述软件的图形用户界面中并且收集所述评论。
9.根据权利要求8所述的插件,其中,所述软件的图形用户界面包括组合层和图形用户界面容器层,并且所述布局代理层配置成:截取来自所述组合层的测试者的动作请求;基于所述动作请求来获取并记录所述动作描述;将动作请求传递给图形用户界面容器层;以及将来自所述图形用户界面容器层的对所述动作请求的动作响应传递给所述组合层。
10.一种检测软件测试中的重复反馈的装置,所述装置包括:
反馈接收模块,用于接收所述测试者对所述软件的反馈,所述反馈包括所述测试者对软件的评论和动作描述流,所述动作描述流包括表示所述测试者在测试所述软件时所执行的各个动作的动作描述;
评论相似度计算模块,用于计算所述反馈中的第一反馈的评论与所述反馈中的第二反馈的评论之间的评论相似度;
动作描述流相似度计算模块,用于计算所述第一反馈的动作描述流与所述第二反馈的动作描述流之间的动作描述流相似度;以及
反馈相似度计算模块,用于基于所计算的评论相似度和动作描述流相似度来检测所述第一反馈和所述第二反馈的相似度,以检测所述第一反馈和所述第二反馈的重复性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978408.5A CN108073498A (zh) | 2016-11-07 | 2016-11-07 | 软件测试中获取反馈的插件和检测重复反馈的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978408.5A CN108073498A (zh) | 2016-11-07 | 2016-11-07 | 软件测试中获取反馈的插件和检测重复反馈的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108073498A true CN108073498A (zh) | 2018-05-25 |
Family
ID=62153933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610978408.5A Pending CN108073498A (zh) | 2016-11-07 | 2016-11-07 | 软件测试中获取反馈的插件和检测重复反馈的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073498A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989326A (zh) * | 2018-08-06 | 2018-12-11 | 上海艾策通讯科技股份有限公司 | 一种对比网络传输ts流媒体一致性的方法 |
CN115174633A (zh) * | 2022-07-21 | 2022-10-11 | 天津飞羊信息技术有限公司 | 工业互联网业务数据处理方法、系统及云平台 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010002961A (ja) * | 2008-06-18 | 2010-01-07 | Hitachi Ltd | ソフトウェア提供装置、ソフトウェア提供プログラム、およびソフトウェア提供方法 |
CN103744786A (zh) * | 2014-01-16 | 2014-04-23 | 北京工业大学 | 基于软件功能层对软件异常行为溯源的方法 |
CN103838756A (zh) * | 2012-11-23 | 2014-06-04 | 阿里巴巴集团控股有限公司 | 一种确定推送信息的方法及装置 |
CN103885933A (zh) * | 2012-12-21 | 2014-06-25 | 富士通株式会社 | 用于评价文本的情感度的方法和设备 |
CN103970666A (zh) * | 2014-05-29 | 2014-08-06 | 重庆大学 | 一种软件重复缺陷报告检测的方法 |
-
2016
- 2016-11-07 CN CN201610978408.5A patent/CN108073498A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010002961A (ja) * | 2008-06-18 | 2010-01-07 | Hitachi Ltd | ソフトウェア提供装置、ソフトウェア提供プログラム、およびソフトウェア提供方法 |
CN103838756A (zh) * | 2012-11-23 | 2014-06-04 | 阿里巴巴集团控股有限公司 | 一种确定推送信息的方法及装置 |
CN103885933A (zh) * | 2012-12-21 | 2014-06-25 | 富士通株式会社 | 用于评价文本的情感度的方法和设备 |
CN103744786A (zh) * | 2014-01-16 | 2014-04-23 | 北京工业大学 | 基于软件功能层对软件异常行为溯源的方法 |
CN103970666A (zh) * | 2014-05-29 | 2014-08-06 | 重庆大学 | 一种软件重复缺陷报告检测的方法 |
Non-Patent Citations (1)
Title |
---|
蒋欣志: "基于LDA模型的重复缺陷报告检测的研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989326A (zh) * | 2018-08-06 | 2018-12-11 | 上海艾策通讯科技股份有限公司 | 一种对比网络传输ts流媒体一致性的方法 |
CN115174633A (zh) * | 2022-07-21 | 2022-10-11 | 天津飞羊信息技术有限公司 | 工业互联网业务数据处理方法、系统及云平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Levine et al. | Synthesis of diagnostic quality cancer pathology images by generative adversarial networks | |
US11954142B2 (en) | Method and system for producing story video | |
CN106776673A (zh) | 多媒体文档概括 | |
CN109815955A (zh) | 题目辅助方法及系统 | |
JP2009104003A (ja) | 教材選択システムの方法とプログラム | |
CN102930048B (zh) | 使用参考和视觉数据的语义自动发现的数据丰富 | |
CN111125574A (zh) | 用于生成信息的方法和装置 | |
CN107004371A (zh) | 对教育内容效果的量度 | |
Ashworth et al. | Exploring the IMF of star clusters: a joint SLUG and LEGUS effort | |
Hernández-Aguayo et al. | The MillenniumTNG Project: high-precision predictions for matter clustering and halo statistics | |
CN104346408B (zh) | 一种对网络用户进行标注的方法与设备 | |
CN108062377A (zh) | 标签图片集的建立、标签的确定方法、装置、设备及介质 | |
CN113688310B (zh) | 一种内容推荐方法、装置、设备及存储介质 | |
De Filippis et al. | The luminosity function of the NoSOCS galaxy cluster sample | |
CN109102324B (zh) | 模型训练方法、基于模型的红包物料铺设预测方法及装置 | |
WO2017000743A1 (zh) | 一种软件推荐的方法和装置 | |
Li et al. | A Bayesian hidden Potts mixture model for analyzing lung cancer pathology images | |
Klement et al. | Efficient equilibration of hard spheres with Newtonian event chains | |
CN109150700A (zh) | 一种数据采集的方法及装置 | |
CN112070310A (zh) | 基于人工智能的流失用户预测方法、装置及电子设备 | |
CN112131322A (zh) | 时间序列分类方法及装置 | |
CN108073498A (zh) | 软件测试中获取反馈的插件和检测重复反馈的方法及装置 | |
CN111931075B (zh) | 一种内容推荐方法、装置、计算机设备及存储介质 | |
Schildcrout et al. | On outcome-dependent sampling designs for longitudinal binary response data with time-varying covariates | |
Maj et al. | Cross-modal perception for customer service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180525 |