CN111581090B - 一种基于nlp和rf框架的自动化测试用例生成方法及系统 - Google Patents

一种基于nlp和rf框架的自动化测试用例生成方法及系统 Download PDF

Info

Publication number
CN111581090B
CN111581090B CN202010366069.1A CN202010366069A CN111581090B CN 111581090 B CN111581090 B CN 111581090B CN 202010366069 A CN202010366069 A CN 202010366069A CN 111581090 B CN111581090 B CN 111581090B
Authority
CN
China
Prior art keywords
test
user
information
nlp
sequence
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
CN202010366069.1A
Other languages
English (en)
Other versions
CN111581090A (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.)
Chongqing Fumin Bank Co Ltd
Original Assignee
Chongqing Fumin Bank 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 Chongqing Fumin Bank Co Ltd filed Critical Chongqing Fumin Bank Co Ltd
Priority to CN202010366069.1A priority Critical patent/CN111581090B/zh
Publication of CN111581090A publication Critical patent/CN111581090A/zh
Application granted granted Critical
Publication of CN111581090B publication Critical patent/CN111581090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及自动化测试的技术领域,具体公开了一种基于NLP和RF框架的自动化测试用例生成方法,包括:通过RF框架调用实现指定功能的脚本文件,并将调用的脚本文件封装形成以用户关键字表示的功能库;描述信息和验证信息通过NLP技术进行分词处理和语义分析分别得到用户关键字序列和测试点序列;通过RF框架逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;将得到的测试结果与测试点序列进行对比分析,当任一组测试结果对比分析成功时,将测试结果和测试用例形成执行结果报告并保存。采用本发明的技术方案降低对用例编写人员自动化脚本编写能力的要求。

Description

一种基于NLP和RF框架的自动化测试用例生成方法及系统
技术领域
本发明涉及自动化测试技术领域,特别涉及一种基于NLP和RF框架的自动化测试用例生成方法及系统。
背景技术
测试用例是指一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,其内容由测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等形成的文档。
自动化测试用例的编写主要有两种方法,一种是手工对脚本文件运行一次测试,同时使用自动化测试工具的录制功能,记录运行过程中的操作,形成测试脚本。这种方法生成的脚本回放成功率比较低,且后期维护困难。另一种方法是编写测试框架,对测试需要的基础操作提供可调用的接口,用例编写人员根据用例操作需求,手工编写调用接口的自动化测试脚本,这种方法对用例编写人员的代码水平的要求比较高,不仅需要有一定的脚本编写基础,而且用例编写人员还需要熟悉相关的自动化框架和业务知识。
综上,当前的自动化测试用例的编写方法存在测试脚本再重新运行测试时成功率低、后期维护困难,对用例编写人员代码水平要求高的问题,不利于自动化测试的推广和自动化用例覆盖的提升。
发明内容
为解决自动化脚本文件的编写对用例编写人员编写能力要求高的技术问题,本发明提供一种基于NLP和RF框架的自动化测试用例生成方法及系统。
本发明基础方案如下:
一种基于NLP和RF框架的自动化测试用例生成方法,包括初始化步骤和测试用例编写步骤:
初始化步骤、通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库;根据设置的用户关键字创建匹配列表;
测试用例编写步骤依次包括以下步骤:
信息获取步骤、获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息;
信息处理步骤、将描述信息通过NLP技术进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;验证信息通过NLP技术进行分词处理和语义分析得到测试点序列;
功能库调用步骤、通过RF框架逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;
结果执行步骤、根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,执行结果保存步骤;
结果保存步骤、将测试结果和测试用例形成执行结果报告,然后进行保存。
本方案的原理及优点在于:NLP技术是指自然语言处理技术。指定功能是指一系列脚本文件所能实现的基础功能。初始化:通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库;将设置的用户关键字创建匹配列表,从而方便后续调用功能库。测试用例编写:获取描述待测业务流程的描述信息和预期测试输出结果的验证信息;通过NLP技术对描述信息进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取词汇逻辑序列中的用户关键字,形成用户关键字序列;验证信息通过NLP技术进行分词处理和语义分析得到测试点序列;之后通过RF框架逐个读取用户关键字序列中的用户关键字,并调用用户关键字关联的功能库;根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,即该功能库的测试结果不符合预测的测试结果,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,重新获取描述信息和验证信息,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,即认为该功能库的测试结果符合预测的测试结果,最后将测试结果和测试用例形成执行结果报告并保存。
本方案,通过RF框架调用实现指定功能的一系列脚本文件,将然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库,从而通过RF框架可以读取用户关键字,调用用户关键字表示的若干组功能库,功能库的调用更加便捷;通过NLP技术对描述待测业务流程的描述信息和预期测试输出结果的验证信息进行分词处理和语义分析,NLP技术能够有效地自然语言的识别准确率;根据用户关键字创建的对比列表抽取描述信息中的用户关键字,方便用户关键字的抽取。通过RF框架读取用户关键字序列中的用户关键字,从而调用用户关键字关联的若干组功能库,即不需要用例编写人员人工编写脚本文件,从而降低对用例编写人员的编写能力的要求。然后根据预设的测试用例执行调用的功能库中的脚本文件,得到测试结果,将测试结果与测试点序列(用例编写人员预测的测试输出结果)进行对比分析,对比分析成功时,即认为该功能库的测试结果符合预测的测试结果,最后将测试结果和测试用例形成执行结果报告并保存;当对比分析不成功时,即认为该功能库的测试结果不符合预测的测试结果,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,重新获取描述信息和验证信息。
综上,本方案中,用例编写人员当需要编写实现某个功能的测试用例时,只需提供较为准确的提供描述待测业务流程的描述信息和预期测试输出结果的验证信息,即可得到实现该待测业务路程功能的功能库,即一系列脚本文件,相对于现有的自动化测试用例需要根据业务功能人工编写的方式,本方案极大地降低了对用例编写人员自动化脚本编写能力的要求,有利于自动化用例的快速推广。
进一步,信息处理步骤中分词处理和语义分析包括:
步骤S1、对描述信息进行预处理得到文本信息;
步骤S2、按照文本信息中的标点符号分出单句,并按照词性和语义对单句进行分词,得到词汇逻辑序列。
有益效果:通过NLP技术对用例编写人员输入的描述信息和验证信息进行分词和语义分析,能够较为准确的提取出描述信息和验证信息所包含的词汇逻辑序列。
进一步,结果执行步骤中,预设具有若干测试用例的测试集,结果执行步骤依次包括以下子步骤:
步骤S3、根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,当测试集中的测试用例均被使用,执行结果保存步骤;
步骤S4、将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,跳转到信息获取步骤,当对比分析成功时,执行S3。
有益效果:通过多个测试用例,能更加全面的对调用的功能库的进行功能测试,从而更加准确的调用到用例编写人员所需要功能的功能库。
进一步,初始步骤中的用户关键字根据其关联功能库的功能设置。
有益效果:从而使RF框架根据采用NLP技术对描述信息处理得到的用户关键字能够更加准确的调用到相应功能的功能库。
进一步,信息处理步骤中还包括将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
有益效果:通过列表的方式,数据体现更加直观,便于用例编写人员查看。
一种基于NLP和RF框架的自动化测试用例生成系统,包括服务器和用户端,服务器包括RF封装模块、数据库、信息处理模块、RF调用模块和执行模块,其中:
RF封装模块用于通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库,还用于根据设置的用户关键字创建匹配列表,并将封装形成的功能库和匹配列表存储至数据库;
数据库用于存储功能库和匹配列表;
用户端用于获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息,还用于获取到执行模块发送的重新获取信息时,重新获取描述信息和验证信息;
信息处理模块用于通过NLP技术对描述信息进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;还用于通过NLP技术对验证信息进行分词处理和语义分析得到测试点序列;
RF调用模块用于通过RF框逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;
执行模块用于根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,将测试结果和测试用例形成执行结果报告,然后进行保存。
有益效果:信息处理模块通过NLP技术对获取到的描述信息和验证信息进行处理,能够得到准确率比较高的用户关键词序列和测试点序列,从而提高RF调用模块通过RF框架调用得到的功能库的准确率。执行模块根据预设测试用例执行被调用功能库中封装的脚本文件,再通过利用将执行得到的测试结果与测试点序列进行对比分析,将对比分析成功的测试结果和对应的测试用例形成执行结果报告。
因此,本方案能根据描述待测业务流程的描述信息和预期测试输出结果的验证信息较为准确的得到实现该功能(业务流程)的功能库,自动形成执行测试用例的执行结果报告,即只需要能清晰的描述业务路程和测试结果验证点即可完成自动化用例(测试结果、测试用例和脚本文件)的编写,从而降低对用例编写人员编写的要求。
进一步,信息处理模块包括描述信息处理单元和验证信息处理单元,
描述信息处理单元用于通过NLP技术对描述信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;
验证信息处理单元用于通过NLP技术对验证信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,该词汇逻辑序列为测试点序列。
有益效果:采用NLP技术对验证信息和描述信息按照词性和语义进行分词处理和语义分析,从而更为准确地从自然语言(验证信息和描述信息)中提取到的词汇。
进一步,执行模块预设具有若干测试用例的测试集,执行模块根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,向用户端发送重新获取信息;当对比分析成功时,继续根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,直到测试集中的测试用例均被使用,将得到的测试结果与测试用例形成执行结果报告,然后进行保存。
有益效果:采用多个测试用例测试被调用功能库,使得功能测试更全面,从而进一步提高被调用功能库的准确性。另外,通过依次使用测试集中的测试用例对功能库进行测试,从而在任一方面的功能测试不符合要求时,中断测试过程,提高系统效率。
进一步,RF封装模块中的用户关键字根据其表示的功能库的功能设置。
有益效果:采用NLP技术对描述信息处理得到的用户关键字通常表示所需功能库的功能,因此,将RF封装模块中的用户关键字根据其表示的功能库的功能设置时,RF调用模块通过RF框架读取采用NLP技术对描述信息处理得到的用户关键字时,能够更加准确地调用出符合有描述信息处理得到的用户关键字所描述的功能库。
进一步,信息处理模块还用于将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
有益效果:通过列表的方式,数据更加直观,便于用例编写人员查看。
附图说明
图1为一种基于NLP和RF框架的自动化测试用例生成方法实施例一的流程图;
图2为一种基于NLP和RF框架的自动化测试用例生成系统实施例一的结构框图;
图3为一种基于NLP和RF框架的自动化测试用例生成方法实施例二的流程图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
一种基于NLP和RF框架的自动化测试用例生成方法,如图1所示,包括初始化步骤和测试用例编写步骤:
初始化步骤、通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库,其中用户关键字根据其关联功能库的功能设置;根据设置的用户关键字创建匹配列表;
测试用例编写步骤依次包括以下步骤:
信息获取步骤、获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息;
信息处理步骤、将描述信息通过NLP技术进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;验证信息通过NLP技术进行分词处理和语义分析得到测试点序列;其中分词处理和语义分析包括:步骤S1、对描述信息进行预处理得到文本信息;步骤S2、按照文本信息中的标点符号分出单句,并按照词性和语义对单句进行分词,得到词汇逻辑序列。本实施例中,为了让数据体现更加直观,便于用例编写人员查看,将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
功能库调用步骤、通过RF框架逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;
结果执行步骤、根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,执行结果保存步骤;
结果保存步骤、将测试结果和测试用例形成执行结果报告,然后进行保存。
一种基于NLP和RF框架的自动化测试用例生成系统,如图2所示,包括服务器和用户端,服务器包括RF封装模块、数据库、信息处理模块、RF调用模块和执行模块,其中:
RF封装模块用于通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库,还用于根据设置的用户关键字创建匹配列表,并将封装形成的功能库和匹配列表存储至数据库,功能库以RF资源文件格式的形式保存;本实施例中,考虑到能够根据用户关键字更加准确调用出符合由描述信息处理得到的用户关键字所描述的功能库,RF封装模块中的用户关键字根据其表示的功能库的功能设置。并且本实施例中实现指定功能的一系列脚本文件,是从现有的系统进行功能拆分产生的,形成实现基础功能的一系列脚本文件。
数据库用于存储功能库和匹配列表;
用户端用于获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息,还用于获取到执行模块发送的重新获取信息时,重新获取描述信息和验证信息,本实施例中的用户端,为可以登录服务器的电脑、iPad和智能手机;
信息处理模块用于通过NLP技术对描述信息进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;还用于通过NLP技术对验证信息进行分词处理和语义分析得到词汇逻辑序列,该词汇逻辑序列为测试点序列。本实施例中,为了让数据体现更加直观,便于用例编写人员查看的,本实施例中,信息处理模块还将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
具体地,信息处理模块包括描述信息处理单元和验证信息处理单元,
描述信息处理单元用于通过NLP技术对描述信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;
验证信息处理单元用于通过NLP技术对验证信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,该词汇逻辑序列为测试点序列。
RF调用模块用于通过RF框逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库,本实施例中RF框架调用的方法为“Run Keyword”方法调用;
执行模块,用于根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,将测试结果和测试用例形成执行结果报告,然后进行保存,本实施例中执行结果报告以HTML的格式进行保存。
具体实施过程:预设的测试用例为“点击存款按钮,放入有效的存款金额并点击窗口的确认”
用例编写人员视角:用例编写人员在用户端输入“存款”的描述信息和“点击存款按钮,放入有效的存款金额并点击窗口的确认——存款成功;点击存款按钮,不放入钞票,并点击窗口的确认——存款失败,并弹出“请放入钞票”;点击存款按钮,放入面值小于100的钞票,并点击窗口的确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,放入面值不全为100的钞票,并点击窗口的确认——存款失败,并弹出“请放入面值为100的钞票”的窗口”的窗口的验证信息。然后,用户端界面显示用户行为列表和用户断言列表,用户行为列表中为“存款”,用户断言列表为“点击存款按钮,钞票面值少于100,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,无钞票,点击确认——存款失败,并弹出“请放入钞票”;点击存款按钮,钞票面值少于100的,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,钞票面值不全为100,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口”。当服务器调用的功能库执行后的测试结果与测试点序列对比分析不成功时,用户端恢复输入界面;当服务器调用的功能库执行后的测试结果与测试点序列对比分析成功时,用例编写人员得到执行结果报告:测试用例:“点击存款按钮,放入有效的存款金额并点击窗口的确认”,测试结果“存款成功”。
实施例二
与实施例一的区别之处在于:如图3所示,结果执行步骤中,预设具有若干测试用例的测试集,结果执行步骤依次包括以下子步骤:
步骤S3、根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,当测试集中的测试用例均被使用,执行结果保存步骤;
步骤S4、将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,跳转到信息获取步骤,当对比分析成功时,执行S3。
执行模块预设具有若干测试用例的测试集,执行模块根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,向用户端发送重新获取信息;当对比分析成功时,继续根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,直到测试集中的测试用例均被使用,将得到的测试结果与测试用例形成执行结果报告,然后进行保存。
具体实施过程:预设测试集包括测试用例1:“点击存款按钮,放入有效的存款金额并点击窗口的确认”,测试用例2:“点击存款按钮,不放入钞票,并点击窗口的确认”,测试用例3:“点击存款按钮,放入面值少于100的钞票,并点击窗口的确认”,测试用例4:“点击存款按钮,放入面值不全为100的钞票,并点击窗口的确认”。
用例编写人员视角:用例编写人员在用户端输入“存款”的描述信息和“点击存款按钮,放入有效的存款金额并点击窗口的确认——存款成功;点击存款按钮,不放入钞票,并点击窗口的确认——存款失败,并弹出“请放入钞票”;点击存款按钮,放入面值少于100的钞票,并点击窗口的确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,放入面值不全为100的钞票,并点击窗口的确认——存款失败,并弹出“请放入面值为100的钞票”的窗口”的窗口的验证信息。然后,用户端界面显示用户行为列表和用户断言列表,用户行为列表中为“存款”,用户断言列表为“点击存款按钮,钞票面值少于100,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,无钞票,点击确认——存款失败,并弹出“请放入钞票”;点击存款按钮,钞票面值少于100的,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口;点击存款按钮,钞票面值不全为100,点击确认——存款失败,并弹出“请放入面值为100的钞票”的窗口”。当服务器调用的功能库执行后的测试结果与测试点序列对比分析不成功时,用户端恢复输入界面;当服务器调用的功能库执行后的测试结果与测试点序列对比分析成功时,用例编写人员得到执行结果报告:测试用例1:“点击存款按钮,放入有效的存款金额并点击窗口的确认”,测试结果1:“存款成功”;测试用例2:“点击存款按钮,不放入钞票,并点击窗口的确认”,测试结果2:“存款失败,并弹出“请放入钞票”的窗口”;测试用例3:“点击存款按钮,放入面值少于100的钞票,并点击窗口的确认”,测试结果3:“存款失败,并弹出“请放入面值为100的钞票”的窗口”;测试用例4:“点击存款按钮,放入面值不全为100的钞票,并点击窗口的确认”,测试结果4:“存款失败,并弹出“请放入面值为100的钞票”的窗口”。
实施例三
与实施例一的区别之处在于:为了能够避免由于描述信息经NLP技术处理得到的用户关键字序列中的用户关键字存在缺失,导致将所有调用的脚本文件均认为调用错误的问题,结果执行步骤的对比分析方式包括以下步骤:
步骤S5、根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;
步骤S6、将测试结果与测试点序列对比,得到与测试点序列重合的测试结果A和与测试点序列不重合的测试结果B,根据测试结果A,计算测试结果相较于测试点序列的重合率,当重合率低于重合率阈值时,执行步骤S7,当重合率达到重合率阈值时,执行结果保存步骤,本实施例中的重合率阈值为85%;
步骤S7、根据测试结果B获取对应的使用的测试用例,调整测试用例使用的顺序,重新根据调整后测试用例的顺序测试被调用功能库中封装的脚本文件,得到第二测试结果,将第二测试结果与测试点序列对比,得到与测试点序列重合的第二测试点结果A和与测试点序列不重合的第二测试结果B,根据测试结果A,计算第二测试结果相较于测试点序列的第二重合率,当第二重合率小于第一重合率,执行信息获取步骤;当第二重合率大于第一重合率,且小于重合率阈值时时,执行步骤S7;当第二重合率达到重合率阈值时,执行结果保存步骤。
通过这种方式,能够避免由于描述信息经NLP技术处理得到的用户关键字序列中的用户关键字存在缺失,引起对测试结果与测试点序列对比分析时出现错误的假象。
通过这种方式,在测试结果与测试点序列的重合率低时,先通过调整测试用例的使用顺序,检测重合率是否有提升,以此判断是否为用户关键字序列的缺失,从而使得系统更加智能。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

Claims (10)

1.一种基于NLP和RF框架的自动化测试用例生成方法,其特征在于,包括初始化步骤和测试用例编写步骤:
初始化步骤、通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库;根据设置的用户关键字创建匹配列表;
测试用例编写步骤依次包括以下步骤:
信息获取步骤、获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息;
信息处理步骤、将描述信息通过NLP技术进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;验证信息通过NLP技术进行分词处理和语义分析得到词汇逻辑序列,该词汇逻辑序列为测试点序列;
功能库调用步骤、通过RF框架逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;
结果执行步骤、根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果;将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果当对比分析成功时,执行结果保存步骤;
结果保存步骤、将测试结果和测试用例形成执行结果报告,然后进行保存。
2.根据权利要求1所述的基于NLP和RF框架的自动化测试用例生成方法,其特征在于:信息处理步骤中分词处理和语义分析包括:
步骤S1、对描述信息进行预处理得到文本信息;
步骤S2、按照文本信息中的标点符号分出单句,并按照词性和语义对单句进行分词,得到词汇逻辑序列。
3.根据权利要求1所述的基于NLP和RF框架的自动化测试用例生成方法,其特征在于:结果执行步骤中,预设具有若干测试用例的测试集,结果执行步骤依次包括以下子步骤:
步骤S3、根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,当测试集中的测试用例均被使用,执行结果保存步骤;
步骤S4、将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,跳转到信息获取步骤,当对比分析成功时,执行S3。
4.根据权利要求1所述的基于NLP和RF框架的自动化测试用例生成方法,其特征在于:初始步骤中的用户关键字根据其关联功能库的功能设置。
5.根据权利要求1所述的基于NLP和RF框架的自动化测试用例生成方法,其特征在于:信息处理步骤中还包括将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
6.一种基于NLP和RF框架的自动化测试用例生成系统,其特征在于:包括服务器和用户端,服务器包括RF封装模块、数据库、信息处理模块、RF调用模块和执行模块,其中:
RF封装模块用于通过RF框架调用实现指定功能的一系列脚本文件,然后为调用的脚本文件设置用户关键字,并将调用的脚本文件封装形成以用户关键字表示的功能库,还用于根据设置的用户关键字创建匹配列表,并将封装形成的功能库和匹配列表存储至数据库;
数据库用于存储功能库和匹配列表;
用户端用于获取描述信息和验证信息,描述信息为描述待测业务流程的信息,验证信息为预期测试输出结果的信息,还用于获取到执行模块发送的重新获取信息时,重新获取描述信息和验证信息;
信息处理模块用于通过NLP技术对描述信息进行分词处理和语义分析得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;还用于通过NLP技术对验证信息进行分词处理和语义分析得到词汇逻辑序列,该词汇逻辑序列为测试点序列;
RF调用模块用于通过RF框逐个读取用户关键字序列中的用户关键字,调用用户关键字表示的若干组功能库;
执行模块用于根据预设测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,执行下一组被调用功能库,直到所有被调用功能库中封装的脚本文件执行后的测试结果均对比分析不成功时,转到信息获取步骤,当任一被调用功能库中封装的脚本文件被执行后的测试结果对比分析成功时,将测试结果和测试用例形成执行结果报告,然后进行保存。
7.根据权利要求6所述的基于NLP和RF框架的自动化测试用例生成系统,其特征在于,信息处理模块包括描述信息处理单元和验证信息处理单元,
描述信息处理单元用于通过NLP技术对描述信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,然后根据匹配列表抽取若干用户关键字,形成用户关键字序列;
验证信息处理单元用于通过NLP技术对验证信息进行预处理得到文本信息,然后按照文本信息中的标点符号分出单句,再按照词性和语义对单句进行分词,得到词汇逻辑序列,该词汇逻辑序列为测试点序列。
8.根据权利要求6所述的基于NLP和RF框架的自动化测试用例生成系统,其特征在于:执行模块预设具有若干测试用例的测试集,执行模块根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,得到测试结果,将得到的测试结果与测试点序列进行对比分析,当对比分析不成功时,向用户端发送重新获取信息;当对比分析成功时,继续根据测试集中未使用的测试用例执行被调用功能库中封装的脚本文件,直到测试集中的测试用例均被使用,将得到的测试结果与测试用例形成执行结果报告,然后进行保存。
9.根据权利要求6所述的基于NLP和RF框架的自动化测试用例生成系统,其特征在于:RF封装模块中的用户关键字根据其表示的功能库的功能设置。
10.根据权利要求6所述的基于NLP和RF框架的自动化测试用例生成系统,其特征在于:信息处理模块还用于将通过NLP技术处理分析得到用户关键字形成用户行为列表,将测试点序列形成用户断言列表。
CN202010366069.1A 2020-04-30 2020-04-30 一种基于nlp和rf框架的自动化测试用例生成方法及系统 Active CN111581090B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010366069.1A CN111581090B (zh) 2020-04-30 2020-04-30 一种基于nlp和rf框架的自动化测试用例生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010366069.1A CN111581090B (zh) 2020-04-30 2020-04-30 一种基于nlp和rf框架的自动化测试用例生成方法及系统

Publications (2)

Publication Number Publication Date
CN111581090A CN111581090A (zh) 2020-08-25
CN111581090B true CN111581090B (zh) 2023-02-24

Family

ID=72112035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010366069.1A Active CN111581090B (zh) 2020-04-30 2020-04-30 一种基于nlp和rf框架的自动化测试用例生成方法及系统

Country Status (1)

Country Link
CN (1) CN111581090B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256555A (zh) * 2020-09-11 2021-01-22 上海汇付数据服务有限公司 自动化测试用例管理系统及测试用例执行状态转换方法
CN112181849B (zh) * 2020-10-23 2023-07-25 网易(杭州)网络有限公司 测试用例识别方法、装置、设备及存储介质
CN112579474A (zh) * 2020-12-30 2021-03-30 中国科学院长春光学精密机械与物理研究所 软件测试需求提取系统及其测试需求提取方法
CN113590407B (zh) * 2021-09-29 2021-11-30 云账户技术(天津)有限公司 一种接口测试方法及装置
CN114238070B (zh) * 2021-11-09 2023-08-18 中国电力科学研究院有限公司 一种基于语义识别的测试脚本生成方法及系统
CN117234948B (zh) * 2023-11-10 2024-01-23 成都市楠菲微电子有限公司 一种基于手工用例生成自动化用例的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646095A (zh) * 2011-02-18 2012-08-22 株式会社理光 一种基于网页分类信息的对象分类方法和系统
CN107608902A (zh) * 2017-10-23 2018-01-19 中国联合网络通信集团有限公司 程序接口测试方法及装置
CN109542780A (zh) * 2018-11-13 2019-03-29 东软集团股份有限公司 自然语言处理应用的测试方法、测试设备及存储介质
CN110162468A (zh) * 2019-04-26 2019-08-23 腾讯科技(深圳)有限公司 一种测试方法、装置以及计算机可读存储介质
CN110728117A (zh) * 2019-08-27 2020-01-24 达而观信息科技(上海)有限公司 基于机器学习和自然语言处理的段落自动识别方法及系统
CN110781673A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 文档验收方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753842B2 (en) * 2014-05-09 2017-09-05 Wipro Limited System and method for creating universal test script for testing variants of software application

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646095A (zh) * 2011-02-18 2012-08-22 株式会社理光 一种基于网页分类信息的对象分类方法和系统
CN107608902A (zh) * 2017-10-23 2018-01-19 中国联合网络通信集团有限公司 程序接口测试方法及装置
CN109542780A (zh) * 2018-11-13 2019-03-29 东软集团股份有限公司 自然语言处理应用的测试方法、测试设备及存储介质
CN110162468A (zh) * 2019-04-26 2019-08-23 腾讯科技(深圳)有限公司 一种测试方法、装置以及计算机可读存储介质
CN110728117A (zh) * 2019-08-27 2020-01-24 达而观信息科技(上海)有限公司 基于机器学习和自然语言处理的段落自动识别方法及系统
CN110781673A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 文档验收方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Mechanism for on demand Tag-Based software testing in virtualized environments";Bhanu Prakash Gopularam 等;《2012 Fourth International Conference on Advanced Computing》;20130124;1-5 *
"基于关键字驱动的Web功能自动化测试方法与实现方式";陈诚;《信息与电脑(理论版)》;20191110;第31卷(第21期);76-77、80 *

Also Published As

Publication number Publication date
CN111581090A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN111581090B (zh) 一种基于nlp和rf框架的自动化测试用例生成方法及系统
CN109697162B (zh) 一种基于开源代码库的软件缺陷自动检测方法
CN110704633A (zh) 命名实体识别方法、装置、计算机设备及存储介质
CN109753801B (zh) 基于系统调用的智能终端恶意软件动态检测方法
CN110457302B (zh) 一种结构化数据智能清洗方法
CN107330471B (zh) 反馈内容的问题定位方法和装置、计算机设备、存储介质
CN110427487B (zh) 一种数据标注方法、装置及存储介质
CN111176996A (zh) 测试用例生成方法、装置、计算机设备及存储介质
US10845939B2 (en) Method and system for determining user interface usage
US11042464B2 (en) Log record analysis based on reverse engineering of log record formats
CN110580308A (zh) 信息审核方法及装置、电子设备、存储介质
CN113961768B (zh) 敏感词检测方法、装置、计算机设备和存储介质
CN114818643A (zh) 一种保留特定业务信息的日志模板提取方法
CN110825840B (zh) 词库扩充方法、装置、设备及存储介质
CN111354354B (zh) 一种基于语义识别的训练方法、训练装置及终端设备
CN114548107A (zh) 基于albert模型的敏感信息识别方法、装置、设备和介质
CN111240971B (zh) 风控规则测试用例的生成方法、装置、服务器和存储介质
US11947530B2 (en) Methods and systems to automatically generate search queries from software documents to validate software component search engines
CN116150376A (zh) 一种样本数据分布优化方法、装置和存储介质
CN115294593A (zh) 一种图像信息抽取方法、装置、计算机设备及存储介质
CN115269288A (zh) 故障确定方法、装置、设备和存储介质
CN114065762A (zh) 一种文本信息的处理方法、装置、介质及设备
CN116029280A (zh) 一种文档关键信息抽取方法、装置、计算设备和存储介质
CN113918165A (zh) 文字描述式流程说明编译为应用自动操作脚本方法及系统
CN113515588A (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