CN109918296B - 软件自动化测试方法及装置 - Google Patents

软件自动化测试方法及装置 Download PDF

Info

Publication number
CN109918296B
CN109918296B CN201910114568.9A CN201910114568A CN109918296B CN 109918296 B CN109918296 B CN 109918296B CN 201910114568 A CN201910114568 A CN 201910114568A CN 109918296 B CN109918296 B CN 109918296B
Authority
CN
China
Prior art keywords
test
words
node
word
software
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.)
Active
Application number
CN201910114568.9A
Other languages
English (en)
Other versions
CN109918296A (zh
Inventor
郭志强
陈美娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910114568.9A priority Critical patent/CN109918296B/zh
Publication of CN109918296A publication Critical patent/CN109918296A/zh
Application granted granted Critical
Publication of CN109918296B publication Critical patent/CN109918296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种软件自动化测试方法及装置,属于软件测试领域。所述软件自动化测试方法包括:获取针对待测试软件的思维导图;分解思维导图所对应的多个测试流程,并解析多个测试流程中每一测试节点所对应的节点内容;对多个测试流程中每一测试节点的节点内容进行自然语言处理分析,以确定多个测试流程所分别对应的多组目标动作词语集;确定与多组目标动作词语集相匹配的多个目标执行函数集,并根据多个目标执行函数集生成针对待测试软件的自动化测试脚本。由此,只需要输入针对待测试软件的思维导图就能够生成该待测试软件的自动化测试脚本,不需要人工制作测试用例和测试脚本,极大降低了测试人工成本和软件测试上线时间。

Description

软件自动化测试方法及装置
技术领域
本发明涉及软件测试技术领域,具体地涉及一种软件自动化测试方法及装置。
背景技术
在软件正式上线之前,一般都需要对软件的功能进行测试,以验证软件各部分的功能是否能够正常运行。
为了能够保障对软件测试功能性的全面覆盖,目前相关技术中提出了可以运行自动化测试脚本来实现对软件所有功能的全面测试,但是,本申请发明人在实现本发明的过程中发现,目前相关技术的上述方案至少存在如下缺陷:自动化测试脚本的编写过程一般是由测试开发工程师先设计测试用例,后基于测试用例编写自动化测试脚本来实现的,导致自动化测试维护的人工成本很高,并还使得自动化测试实施时间拖后,容易遗漏测试项,延缓了软件的测试上线时间。
发明内容
本发明实施例的目的是提供一种软件自动化测试方法及装置,用以至少解决目前相关技术中因测试工程师人工制作测试用例并编写脚本所导致的测试成本、测试时间过大且易遗漏测试项的问题
为了实现上述目的,本发明实施例提供一种软件自动化测试方法,包括:获取针对待测试软件的思维导图;分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本。
可选的,所述对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集包括:对所述节点内容中的各个词语进行词性分析;根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
可选的,在根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语之后,该方法还包括:对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
可选的,所述根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集包括:对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
可选的,所述确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本包括:基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;整合所述多个目标执行函数集,以生成自动化测试脚本。
可选的,所述分解所述思维导图所对应的多个测试流程包括:遍历所述思维导图,以确定所述思维导图中的根节点和叶子节点;基于自所述根节点至所述叶子节点所经过的测试节点,生成测试流程。
另一方面,本发明实施例提供一种软件自动化测试装置,包括:获取单元,用于获取针对待测试软件的思维导图;流程解析单元,用于分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;自然语言处理单元,用于对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;脚本生成单元,用于确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本。
可选的,所述自然语言处理单元包括:词性分析模块,用于对所述节点内容中的各个词语进行词性分析;去噪模块,用于根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
可选的,所述自然语言处理单元还包括:分词处理模块,用于对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;词语集生成模块,用于根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
可选的,所述自然语言处理单元还包括:邻近词处理模块,用于对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;其中,所述词语集生成模块还用于根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
可选的,所述脚本生成单元包括:询库模块,用于基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;整合模块,用于整合所述多个目标执行函数集,以生成自动化测试脚本。
另一方面,本发明提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行本申请上述任一项软件自动化测试方法的方法。
通过上述技术方案,通过分解思维导图以自动化生成对应的测试用例,避免了遗漏测试项,并通过NLP分析所得到的动作词语匹配来调用与动作词语相匹配的执行函数进而生成自动化测试脚本,实现了测试工程师只需要输入针对待测试软件的思维导图,就能够生成该待测试软件的自动化测试脚本,不需要人工制作测试用例和人工编写测试脚本,极大降低了测试人工成本和缩减了软件测试上线时间。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例的软件自动化测试方法的流程图;
图2是本发明一实施例的软件自动化测试方法中的NLP分析流程示意图;
图3A是本发明一实施例的软件自动化测试方法的执行流程原理图;
图3B是本发明一实施例的软件自动化测试方法中所涉及的NLP分析过程的原理流程图;
图4是本发明一实施例的软件自动化测试装置的结构框图。
附图标记说明
40 软件自动化测试装置 401 获取单元
402 流程解析单元 403 自然语言处理单元
404 脚本生成单元
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
如图1所示,本发明一实施例的软件自动化测试方法,包括:
S11、获取针对待测试软件的思维导图。
关于本发明实施例方法的执行主体,其可以是配置于各种终端(例如手机、电脑)或服务器的控制器或处理器,并用于根据思维导图自动生成针对待测试软件的自动化测试脚本,从而实现对待测试软件的自动化测试。
可以理解的是,思维导图(mind map)又称脑图、心智地图、脑力激荡图、灵感触发图、概念地图、树状图、树枝图或思维地图,其运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。在针对互联网应用软件进行测试时,往往需要测试工程师预先制定用于测试软件的思维导图。
需说明的是,关于思维导图的获取方式,其可以是只接收具有思维导图内容的数据文件,其也可以是从脑图文件中对XML和JSON数据格式的文件通过文件名称匹配从而找到相对应的具有思维导图内容的数据文件。
S12、分解思维导图所对应的多个测试流程,并解析多个测试流程中每一测试节点所对应的节点内容。
具体的,可以是遍历思维导图,以确定思维导图中的根节点和叶子节点,然后基于自根节点至叶子节点所经过的测试节点,生成测试流程。其中针对思维导图中根节点和叶子节点的识别过程,可以是统计第一测试节点在测试流程中的前后节点的数量,例如在测试流程下的第一测试节点之前不存在测试节点时(即上行节点统计数N=0)时将该第一测试节点称为根节点,以及在测试流程下的第二测试节点之后不存在测试节点(即后继节点统计数M=0)时将该第二测试节点称为叶子节点。其中,一个测试流程可以被视作是在软件测试中的一个测试用例。
可以理解的是,每个测试节点中都应当记载着相应的节点内容,作为示例,节点内容可以是测试操作内容“点击登录控件”、“下拉滚动条”等。
S13、对多个测试流程中每一测试节点的节点内容进行NLP(Natural LanguageProcessing,自然语言处理)分析,以确定多个测试流程所分别对应的多组目标动作词语集。
其中,由于在一个测试流程中可以是具备多个测试节点或多个测试动作,因此在本实施例中通过自然语言处理技术解析出各个测试流程中的动作词语所组成的动作词语集,其中所包括的动作词语集可以是“点击”或“下拉”等的组合。
S14、确定与多组目标动作词语集相匹配的多个目标执行函数集,并根据多个目标执行函数集生成针对待测试软件的自动化测试脚本,以用于自动化测试。
其中,在自动化测试脚本生成后,还可以是自动执行该自动化测试脚本以完成对软件的自动化测试过程。
在一些实施方式中,其可以是通过以下方式来自动确定与动作词语相匹配的执行函数:首先,基于目标动作词语集从自动化测试基础操作库中确定相对应的目标执行函数集,其中该自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;然后,整合多个测试流程所分别对应的多个目标执行函数集,以生成自动化测试脚本。作为示例,在自动化测试基础操作库中预先存储了与“上拉”、“下滑”…“点击”和“双击”相对应的执行函数,当测试流程的目标动作词语集为“上拉-下滑-点击”时,可以相应地从自动化测试基础操作库(或测试执行函数库)中调用对应的函数“上拉函数-下滑函数-点击函数”作为目标执行函数集;之后,再通过对思维导图下所有的测试流程所分别对应的目标执行函数集进行汇总及整合,从而生成最终的自动化测试脚本,其中在整合的过程中可以是将动作对象(或宾语词语)自动添加至目标执行函数中以完善目标执行函数。
在本实施例中,通过对思维导图分解为多个测试流程,并对测试流程中所涉及节点的节点内容进行NLP分析,找到测试流程中各节点下动作词语所组成的目标动作词语集,通过匹配查询找到对应于该目标动作词语集的目标执行函数集,进而依据多个目标执行函数集来生成最终用于对待测试软件进行自动化测试的自动化测试脚本。由此,通过分解思维导图以自动化生成对应的测试用例,避免了遗漏测试项,并通过NLP分析得到动作词语匹配来调用与动作词语相匹配的执行函数进而生成自动化测试脚本,实现了测试工程师只需要输入针对待测试软件的思维导图,就能够生成该待测试软件的自动化测试脚本,不需要人工制作测试用例和人工编写测试脚本,极大降低了测试人工成本和缩减了软件测试上线时间。
如图2所示,本发明实施例的软件自动化测试方法中NLP分析流程,其中在NLP分析流程中包括去噪处理、分词处理和邻近词处理。可以理解的是,虽然图2中的NLP流程同时包括去噪处理、分词处理和邻近词处理三个流程,但NLP流程也可以是仅包括噪处理、分词处理和邻近词处理中的一者或两者。
其中,在去噪处理的过程中,可以是首先对节点内容中的各个词语进行词性分析,词性分析的具体细节可以是参照目前相关技术中的描述;然后,根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。在本实施例中,通过词性分析将节点内容中所涉及的诸如语气词、介词、形容词和副词的噪音词语“啊”、“哈”、“快乐的”、“快速地”这些词中的部分或所有(可预先设置)滤除掉,以降低后续NLP流程中提取动作词语集的工作量并提升了NLP效率。优选地,还可以是预先设置标定噪音词语,然后通过将节点内容中的词语与标定噪音词语进行匹配,从而识别并滤除节点内容中的噪音词语。
在一些实施方式中,在完成了去噪处理之后还可以是对经去噪处理的节点内容进行分词处理,以筛选出节点内容中所包含的谓语词语和宾语词语,其中分词分析的具体细节也可以是参照目前相关技术中的描述;然后,根据测试流程中各测试节点的执行顺序和各测试节点中的谓语词语,确定相对应的目标动作词语集。作为示例,测试流程可以是“点击登录控件-上拉滚动条-下拉滚动条”,其所对应目标动作词语集可以是“点击-上拉-下拉”。
在一些实施方式中,在完成了分词处理之后NLP流程还可以是包括邻近词处理。需说明的是,并不是所有的节点内容中的动词或谓语词语都能够被识别并进行针对执行函数的匹配操作,例如自动化测试基础操作库中所能够识别的动作词语可能是与“单击”相匹配而并不与“点击”相匹配的,若直接就利用“点击”去匹配,可能并不会得到反馈的目标函数,因此推荐在NLP流程中包括邻近词处理。具体的,其可以是首先,对谓语词语进行邻近词处理,以确定与谓语词语相匹配的邻近词语,其中该邻近词语能够被识别以进行针对执行函数的匹配操作,例如确定对应于“点击”的邻近词语为“单击”;然后,根据测试流程中的执行顺序和邻近词,确定相对应的目标动作词语集。
进而,可以是确定与目标动作词语集相对应的目标执行函数集,再将各节点中的宾语或动作对象完善至目标执行函数中,最后对多个测试流程所分别对应的目标执行函数集进行整合,从而生成自动化测试脚本。
如图3A所示,本发明一实施例的软件自动化测试方法的执行流程原理图,其描述了基于NLP的将脑图类文件生成自动化测试脚本的过程,主要是将脑图类的文件通过数据处理、自然语言处理等过程,结合自动化测试基础操作库,从而实现将测试用例自动生成自动化测试脚本。具体流程包括:
1)获取所获取的脑图文件;
2)思维导图数据提取;作为示例,软件测试工程师所设计的脑图文件是Xmind格式的压缩包文件,在提取思维导图数据的过程中,通过解压该Xmind格式的压缩包文件,从而得到对应于XML格式数据和JSON格式数据,其中存有数据的文件名称可以是固定的,因此可以是通过文件名称去找存有数据内容的数据文件。
3)将提取到的通过降噪处理、分词处理和邻近词处理等NLP分析,以得到各个测试用例(对应于各个测试流程)的节点中所存在的动作词语。
其中,在NLP处理流程中包括降噪处理、分词处理和邻近词处理。
4)根据测试用例节点动作词语从自动化测试基础操作库中调用相匹配的执行函数进行整合,由此自动生成自动化测试脚本。
其中,在自动化测试基础操作库中预存储有与多个词语相匹配的执行函数,然后将经NLP所得到的目标词语在自动化测试基础操作库中进行匹配,从而在自动化测试基础操作库中找到与该目标词语相对应的执行函数;另外,在自动化测试脚本自动生成的过程中每一个环节所产生的数据都将会在日志库中存档和备份。
如图3B,其示出了NLP分析原理流程,其中,将思维导图分解为包括测试用例1、测试用例2和测试用例3等多个测试用例(即测试流程),然后分割测试用例中所具有的测试节点,例如在测试用例1下面的各个节点,之后对节点1中的节点内容进行NLP分析,得出节点1下面的多个动作组合,例如动作词语1+动作对象1、动作词语2+动作对象2等;之后,根据动作词语在自动化测试基础操作库中进行查询,就能够找到对应于动作词语的执行函数,之后根据不同的执行函数和动作对象生成自动化测试脚本。
举例来说,从思维导图所分解出的一个测试流程(或一个测试用例)可以是“快速地双击登录控件-有效地单击搜索框-恭喜啦,输入附近美食-点击搜索控件”;相应地,此测试流程中的多个测试节点可以是“快速双击登录控件”、“有效地单击搜索框”、“输入附近美食”和“点击搜索控件”;进而,通过降噪去掉非关注词语,例如将“有效地”、“快速地”、“恭喜啦”这些语气词、形容词或副词(其中涉及到词性检测)其中的一者或多者删除;然后,执行分词处理,在分词处理的过程中将经去噪的数据进行分类,具体是按照名词和动词进行分类,以得到所存在的动词;进而,对动词进行邻近词处理,以找到与该动词相关联的邻近词(其中,这些邻近词可以是与自动化测试基础操作库中的词语相关联);之后,将经邻近词处理所得到的邻近词在自动化测试基础操作库中进行查询,从而得到与该动词相匹配的执行函数(例如动作“双击”所对应的执行函数),并利用对应的宾语名词来完善该执行函数。最后,按照测试流程中各个节点的顺序,将执行函数进行组合,从而得到了最后的自动化测试脚本。
通过本发明实施例,只需要软件测试工程师设计思维导图或导入测试用脑图文件,就能够一键自动生成自动化测试脚本,能够应对快速产品新功能的快速迭代的需要;另外,自动化脚本生成和测试过程都不要专人维护测试脚本,节约软件测试人力成本;并且,本技术方案具有较强的泛化能力,能够适用于对多款不同软件进行测试。
如图4所示,本发明一实施例的软件自动化测试装置40,包括:
获取单元401,用于获取针对待测试软件的思维导图;
流程解析单元402,用于分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;
自然语言处理单元403,用于对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;
脚本生成单元404,用于确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本。
在一些实施方式中,所述自然语言处理单元403包括:词性分析模块(未示出),用于对所述节点内容中的各个词语进行词性分析;去噪模块(未示出),用于根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
在一些实施方式中,所述自然语言处理单元403还包括:分词处理模块(未示出),用于对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;词语集生成模块(未示出),用于根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
在一些实施方式中,所述自然语言处理单元403还包括:邻近词处理模块(未示出),用于对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;其中,所述词语集生成模块还用于根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
在一些实施方式中,所述脚本生成单元404包括:询库模块(未示出),用于基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;整合模块(未示出),用于整合所述多个目标执行函数集,以生成自动化测试脚本。
关于本发明实施例的软件自动化测试装置实施例更多的细节可以参照上文关于软件自动化测试方法实施例的描述,并取得与上文软件自动化测试方法相同或相应的技术效果,故在此便不再赘述。
所述软件自动化测试装置包括处理器和存储器,上述获取单元、流程解析单元、自然语言处理单元和脚本生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现根据思维导图自动生成自动化测试脚本。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现所述软件自动化测试方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述软件自动化测试方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
一种软件自动化测试方法,包括:获取针对待测试软件的思维导图;分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本。
在一些实施方式中,所述对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集包括:对所述节点内容中的各个词语进行词性分析;根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
在一些实施方式中,在根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语之后,该方法还包括:对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
在一些实施方式中,所述根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集包括:对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
在一些实施方式中,所述确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本包括:基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;整合所述多个目标执行函数集,以生成自动化测试脚本。
在一些实施方式中,所述分解所述思维导图所对应的多个测试流程包括:遍历所述思维导图,以确定所述思维导图中的根节点和叶子节点;基于自所述根节点至所述叶子节点所经过的测试节点,生成测试流程。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
一种软件自动化测试方法,包括:获取针对待测试软件的思维导图;分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本。
在一些实施方式中,所述对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集包括:对所述节点内容中的各个词语进行词性分析;根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
在一些实施方式中,在根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语之后,该方法还包括:对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
在一些实施方式中,所述根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集包括:对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
在一些实施方式中,所述确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本包括:基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;整合所述多个目标执行函数集,以生成自动化测试脚本。
在一些实施方式中,所述分解所述思维导图所对应的多个测试流程包括:遍历所述思维导图,以确定所述思维导图中的根节点和叶子节点;基于自所述根节点至所述叶子节点所经过的测试节点,生成测试流程。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种软件自动化测试方法,包括:
获取针对待测试软件的思维导图;
分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;
对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;
确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本,
其中,所述对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集包括:
对所述节点内容中的各个词语进行词性分析;
根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
2.根据权利要求1所述的方法,其特征在于,在根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语之后,该方法还包括:
对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;
根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
3.根据权利要求2所述的方法,其特征在于,所述根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集包括:
对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;
根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
4.根据权利要求1所述的方法,其特征在于,所述确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本包括:
基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;
整合所述多个目标执行函数集,以生成自动化测试脚本。
5.根据权利要求1所述的方法,其特征在于,所述分解所述思维导图所对应的多个测试流程包括:
遍历所述思维导图,以确定所述思维导图中的根节点和叶子节点;
基于自所述根节点至所述叶子节点所经过的测试节点,生成测试流程。
6.一种软件自动化测试装置,包括:
获取单元,用于获取针对待测试软件的思维导图;
流程解析单元,用于分解所述思维导图所对应的多个测试流程,并解析所述多个测试流程中每一测试节点所对应的节点内容;
自然语言处理单元,用于对所述多个测试流程中所述每一测试节点的所述节点内容进行自然语言处理分析,以确定所述多个测试流程所分别对应的多组目标动作词语集;
脚本生成单元,用于确定与所述多组目标动作词语集相匹配的多个目标执行函数集,并根据所述多个目标执行函数集生成针对所述待测试软件的自动化测试脚本,
其中,所述自然语言处理单元包括:
词性分析模块,用于对所述节点内容中的各个词语进行词性分析;
去噪模块,用于根据词性分析的结果对所述节点内容进行去噪处理,以滤除所述节点内容中的噪音词语,其中所述噪音词语包括以下中的一者或多者:语气词、介词、形容词以及副词。
7.根据权利要求6所述的装置,其特征在于,所述自然语言处理单元还包括:
分词处理模块,用于对经去噪处理的节点内容进行分词处理,以筛选出所述节点内容中所包含的谓语词语和宾语词语;
词语集生成模块,用于根据测试流程中各测试节点的执行顺序和所述各测试节点中的谓语词语,确定相对应的所述目标动作词语集。
8.根据权利要求7所述的装置,其特征在于,所述自然语言处理单元还包括:
邻近词处理模块,用于对所述谓语词语进行邻近词处理,以确定与所述谓语词语相匹配的邻近词语,其中所述邻近词语能够被识别以进行针对执行函数的匹配操作;
其中,所述词语集生成模块还用于根据所述测试流程中的所述执行顺序和所述邻近词,确定相对应的所述目标动作词语集。
9.根据权利要求6所述的装置,其特征在于,所述脚本生成单元包括:
询库模块,用于基于自动化测试基础操作库,确定与所述多组目标动作词语集相匹配的多个目标执行函数集,其中所述自动化测试基础操作库中预存储了与不同动作词语相匹配的执行函数;
整合模块,用于整合所述多个目标执行函数集,以生成自动化测试脚本。
10.一种机器可读存储介质,其特征在于,在该机器可读存储介质上存储有指令,该指令用于使得机器执行如权利要求1-5中任一项所述的软件自动化测试方法。
CN201910114568.9A 2019-02-14 2019-02-14 软件自动化测试方法及装置 Active CN109918296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910114568.9A CN109918296B (zh) 2019-02-14 2019-02-14 软件自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910114568.9A CN109918296B (zh) 2019-02-14 2019-02-14 软件自动化测试方法及装置

Publications (2)

Publication Number Publication Date
CN109918296A CN109918296A (zh) 2019-06-21
CN109918296B true CN109918296B (zh) 2022-12-06

Family

ID=66961550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910114568.9A Active CN109918296B (zh) 2019-02-14 2019-02-14 软件自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN109918296B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502643A (zh) * 2019-08-28 2019-11-26 南京璇玑信息技术有限公司 一种基于bert模型的预测下一句模型自动构建技术
CN110825628A (zh) * 2019-10-30 2020-02-21 中国人民财产保险股份有限公司 一种基于流程图生成测试脚本的方法及装置
CN111104317A (zh) * 2019-12-09 2020-05-05 紫光云(南京)数字技术有限公司 一种实现测试用例高效编辑和执行管理的方法
CN111090591B (zh) * 2019-12-23 2023-05-05 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN111027287B (zh) * 2019-12-24 2023-08-29 深圳集智数字科技有限公司 一种计算机可执行脚本的转换方法及相关装置
CN112905467A (zh) * 2021-02-19 2021-06-04 浙江诺诺网络科技有限公司 一种测试用例执行管理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047414B1 (en) * 2011-03-15 2015-06-02 Symantec Corporation Method and apparatus for generating automated test case scripts from natural language test cases
CN107832229A (zh) * 2017-12-03 2018-03-23 中国直升机设计研究所 一种基于nlp的系统测试用例自动生成方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176896B (zh) * 2011-12-23 2015-08-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
US8949670B1 (en) * 2012-09-26 2015-02-03 Emc Corporation Method and system for translating mind maps to test management utility test cases
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核系统工程有限公司 一种自动生成测试脚本的方法
CN106959919B (zh) * 2016-01-08 2022-01-28 阿里巴巴(中国)有限公司 基于测试路径图的软件测试方法及装置
CN106649100B (zh) * 2016-11-16 2020-08-25 福建天晴数码有限公司 一种自动化测试方法及系统
US10114738B2 (en) * 2017-03-16 2018-10-30 Wipro Limited Method and system for automatic generation of test script
CN107038229B (zh) * 2017-04-07 2020-07-17 云南大学 一种基于自然语义分析的用例提取方法
CA3064771A1 (en) * 2017-06-01 2018-12-06 Royal Bank Of Canada System and method for test generation
CN108415838B (zh) * 2018-03-01 2021-07-27 吉旗(成都)科技有限公司 一种基于自然语言处理技术的自动化测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047414B1 (en) * 2011-03-15 2015-06-02 Symantec Corporation Method and apparatus for generating automated test case scripts from natural language test cases
CN107832229A (zh) * 2017-12-03 2018-03-23 中国直升机设计研究所 一种基于nlp的系统测试用例自动生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Athia Saelan ; Ayu Purwarianti.Generating Mind Map from Indonesian Text Using Natural Language Processing Tools.《Procedia Technology》.2013,第11卷PP 1163-1169. *

Also Published As

Publication number Publication date
CN109918296A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109918296B (zh) 软件自动化测试方法及装置
CN107273269B (zh) 日志解析方法及装置
CN109829096B (zh) 一种数据采集方法、装置、电子设备及存储介质
CN107678973B (zh) 一种测试脚本的自动生成方法及系统
CN108984155B (zh) 数据处理流程设定方法和装置
US20130125098A1 (en) Transformation of Computer Programs
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
US11237943B2 (en) Generating inputs for computer-program testing
CN114968807A (zh) 代码检测方法、装置、电子设备及可读存储介质
CN110019067A (zh) 一种日志分析方法及系统
CN110888756A (zh) 一种诊断日志生成方法及装置
CN113946366A (zh) 代码分析的方法、系统及计算设备
CN107015986B (zh) 一种爬虫爬取网页的方法及装置
CN106407246B (zh) Sql执行计划管理的方法及装置
CN108255891B (zh) 一种判别网页类型的方法及装置
CN110716866A (zh) 代码质量扫描方法、装置、计算机设备及存储介质
CN112417239A (zh) 网页数据的爬取方法及装置
CN115757174A (zh) 一种数据库的差异检测方法及装置
CN110968500A (zh) 一种测试用例的执行方法及装置
US20190392027A1 (en) Event detection based on text streams
CN110968779A (zh) 网页信息爬取的处理方法和装置
CN113051262B (zh) 一种数据质检方法、装置、设备及存储介质
CA3148074A1 (en) Text information extracting method, device, computer equipment and storage medium
CN114490413A (zh) 测试数据的准备方法及装置、存储介质和电子设备
CN114896269A (zh) 结构化查询语句检测方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant