CN108415838B - 一种基于自然语言处理技术的自动化测试方法 - Google Patents
一种基于自然语言处理技术的自动化测试方法 Download PDFInfo
- Publication number
- CN108415838B CN108415838B CN201810171051.9A CN201810171051A CN108415838B CN 108415838 B CN108415838 B CN 108415838B CN 201810171051 A CN201810171051 A CN 201810171051A CN 108415838 B CN108415838 B CN 108415838B
- Authority
- CN
- China
- Prior art keywords
- test
- natural language
- language processing
- test case
- service
- 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
Links
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
-
- 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/3684—Test management for test design, e.g. generating new test cases
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
本发明公开了一种基于自然语言处理技术的自动化测试方法,包括如下步骤:A、准备测试用例集和梳理被测业务;B、构建并训练测试用例解析的自然语言处理模型;C、开发自动化测试代码模板;D、利用自动化测试框架控制用例解析、代码适配、测试执行并生成测试报告,本发明提供一种有效的测试方法,通过对传统文本编写的测试用例运用自然语言处理技术和人工智能技术进行训练,生成自动化测试代码并执行输出测试结果报告。以实现高效测试、降低研发成本目的。
Description
技术领域
本发明涉及测试技术领域,具体为一种基于自然语言处理技术的自动化测试方法。
背景技术
软件自动化测试领域经过数十年发展,目前国内外涌现出许多优秀的自动化测试框架和工具,极具代表性的几款如下:
1.用于人机交互界面自动化测试工具Selenium。
2.抛开交互界面直接采用抓取POST/GET接口和其他自定义接口,模拟浏览器请求进行自动化测试的工具Postman。
3.基于关键字驱动,集成人机交互界面自动化测试和模拟浏览器发送请求自动化测试的框架Robotframework。
4.用于集成和管理执行自动化测试用例的测试框架TestNG。
以上四款较为出色的测试框架和工具基本上涵盖和代表了测试业界自动化测试框架工具的设计哲学及思路。为保障软件工程质量,提升测试工作效率,降低软件工程成本提供了长效卓著的支持。
但值得一提的是,当前自动化测试框架和工具在业界实际测试工作中所能提供的功能及应用方法仍有一些缺陷及不足:自动化测试时机要求苛刻:自动化测试对接入时机和工程类型都有苛刻的准入要求。不能做到任意项目或产品,任何时期都能开展自动化测试。首先,项目工程周期相对较短与自动化测试需要较长开发时间矛盾。因此,不适合应用于项目;其次,非稳定版本产品因为迭代和缺陷修复频繁,而自动化测试工程的开发高度依赖于产品代码本身提供的配置字段和功能逻辑,因此,非稳定版本产品也不适合开展自动化测试;自动化测试开发周期较长:自动化测试的长周期特性不可避免的会导致软件工程整体交付时间较长;自动化测试开展成本较高:需要企业拥有较多的自动化测试的人力资源并且长期投入到测试开发工作中。因此不可避免抬升研发成本和相应支撑工作的IT运维成本;自动化测试维护成本较高:当产品或项目有重构需求时,自动化测试工程也必须随之重构甚至推翻重新开发,导致维护成本陡增。
综上,现行的自动化测试框架和工具所能提供的自动化测试方法,难以克服“时机要求苛刻”,“应用面窄”,“成本高”,“耗时长”,“可维护性差”等缺陷。而究其根本,是因为:目前自动化测试方法的工具和技术普适性差,不能智能灵活适配;目前自动化测试方法主要依靠测试开发人员理解测试用例文档后再进行人工定制开发,流程较长,效率不高,且长期集结人力成本于此。
本发明专利的申请人通过调研,暂未发现国内外测试行业有针对以上缺陷的解决方案。遂提请本发明“一种基于自然语言处理技术的自动化测试方法”旨在解决目前业内主流自动化测试方法及相关框架工具无法完美解决的缺陷和问题。
发明内容
本发明的目的在于提供一种基于自然语言处理技术的自动化测试方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于自然语言处理技术的自动化测试方法,包括如下步骤:
A、准备测试用例集和梳理被测业务;
B、构建并训练测试用例解析的自然语言处理模型;
C、开发自动化测试代码模板;
D、利用自动化测试框架控制用例解析、代码适配、测试执行并生成测试报告;
所述步骤B具体流程如下:
a、首先采用基于词感知机算法对测试用例集进行分词;
b、根据整理出来的测试类型、业务内容、业务场景维度,采用隐马尔科夫模型和条件随机场方法等两种有监督的学习方式对测试用例集抽取识别出命名实体;
c、采用条件随机场方法和神经网络算法对测试用例做分类标注、实体标注、词性标注,进一步实现分离并抽取出测试用例语料的词槽和特征约束范围;
d、采用浅层句法分析中的基于SVM的base NP识别方法对测试用例进行句法分析,实现对测试用例语义降维归类;
e、训练过程中采用基于贝叶斯分类器消歧法和基于词典语义消歧法,对可能出现歧义的测试用例消歧;
f、验证训练后的模型正确性和效率,其中以上测试用例集70%的内容用于训练,30%的内容用于验证,最终模型输出JSON格式解析内容;
所述步骤C具体流程如下:
a、模板类型分类;
b、功能模板分类;
c、数据交互方式模板分类;
d、根据步骤a-c分类,模板代码定义出接收词槽参数的接口,用以接收测试对象实体命名和测试数据;
e、模板代码按类型分类进行标签标注,标注后的模板代码可以与自然语言处理模型的结果适配做到一一对应。
优选的,所述步骤A具体流程如下:
a、准备大量测试用例文本材料作为拟整理的资源;
b、人工对业务类型进行整理,列出被测***类型;
c、人工对业务内容进行整理,列出被测***业务内容;
d、人工对业务场景进行整理,列出被测***业务场景。
优选的,所述步骤D具体流程如下:
a、导入文本类型的测试用例;
b、调用自然语言处理模型处理,并返回处理后的JSON格式结果;
c、根据返回结果,调用预置测试代码模板,并组装成自动化测试用例;
d、按测试场景集成自动化测试用例并执行测试;
e、测试完成后,生成测试报告并发布。
与现有技术相比,本发明的有益效果是:本发明提供一种有效的测试方法,通过对传统文本编写的测试用例运用自然语言处理技术和人工智能技术进行训练,生成自动化测试代码并执行输出测试结果报告。以实现高效测试、降低研发成本目的;本发明可以做到测试用例文本编写完成,即实现自动化测试工作基本完成。因此,短时间的项目、非稳定版本的产品都可以采用自动化测试的方式,降低手工测试阶段和回归测试阶段的人力资源成本;而且,免除每个产品都需要独一无二的自动化测试开发调试部署环节。具备高度的兼容性和适用性,减少自动化测试开发和维护阶段的人力资源成本;此外,产品频繁迭代变更,只需要更新文本测试用例词槽的相应数据,可维护性强,大大降低了自动化测试维护的时间耗费。
附图说明
图1为本发明测试流程图;
图2为本发明可复用自动化测试流程图;
图3为本发明模型构建和训练流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种基于自然语言处理技术的自动化测试方法,包括如下步骤:
A、准备测试用例集和梳理被测业务;
B、构建并训练测试用例解析的自然语言处理模型;
C、开发自动化测试代码模板;
D、利用自动化测试框架控制用例解析、代码适配、测试执行并生成测试报告。
本发明中,步骤A具体流程如下:
a、准备大量测试用例文本材料作为拟整理的资源;
b、人工对业务类型进行整理,列出被测***类型;如:桌面B/S客户端类型测试、移动设备B/S客户端类型测试、桌面C/S客户端类型测试、移动设备C/S客户端类型测试、服务端业务类型测试、服务端中间件类型测试、服务端数据库类型测试等;
c、人工对业务内容进行整理,列出被测***业务内容;如:注册功能、登录功能、数据查询功能、数据提交功能、数据修改功能、数据删除功能等;
d、人工对业务场景进行整理,列出被测***业务场景;如:交易场景、支付场景、购物车场景等。
本发明中,步骤B具体流程如下:
a、首先采用基于词感知机算法对测试用例集进行分词;
b、根据整理出来的测试类型、业务内容、业务场景维度,采用隐马尔科夫模型和条件随机场方法等两种有监督的学习方式对测试用例集抽取识别出命名实体;
c、采用条件随机场方法和神经网络算法对测试用例做分类标注、实体标注、词性标注,进一步实现分离并抽取出测试用例语料的词槽和特征约束范围;
d、采用浅层句法分析中的基于SVM的base NP识别方法对测试用例进行句法分析,实现对测试用例语义降维归类;方便后续按归纳的类型映射代码模板;
e、训练过程中采用基于贝叶斯分类器消歧法和基于词典语义消歧法,对可能出现歧义的测试用例消歧;
f、验证训练后的模型正确性和效率,其中以上测试用例集70%的内容用于训练,30%的内容用于验证,最终模型输出JSON格式解析内容。
本发明中,步骤C具体流程如下:
a、模板类型分类;如:桌面B/S客户端类型测试、移动设备B/S客户端类型测试、桌面C/S客户端类型测试、移动设备C/S客户端类型测试、服务端业务类型测试、服务端中间件类型测试、服务端数据库类型测试等;
b、功能模板分类;如:登录类模板、注册类模板、数据查询类模板、数据提交类模板、数据修改类模板、数据删除类模板等;
c、数据交互方式模板分类;HTTP:POST请求/返回类模板、HTTP:GET请求/返回类模板、TCP:命令下发/状态回传类模板、其他协议:数据通信收发类模板等;
d、根据步骤a-c分类,模板代码定义出接收词槽参数的接口,用以接收测试对象实体命名和测试数据;
e、模板代码按类型分类进行标签标注,标注后的模板代码可以与自然语言处理模型的结果适配做到一一对应。
此外,本发明中,步骤D具体流程如下:
a、导入文本类型的测试用例;
b、调用自然语言处理模型处理,并返回处理后的JSON格式结果;
c、根据返回结果,调用预置测试代码模板,并组装成自动化测试用例;
d、按测试场景集成自动化测试用例并执行测试;
e、测试完成后,生成测试报告并发布。
本发明提供一种有效的测试方法,通过对传统文本编写的测试用例运用自然语言处理技术和人工智能技术进行训练,生成自动化测试代码并执行输出测试结果报告。以实现高效测试、降低研发成本目的;本发明可以做到测试用例文本编写完成,即实现自动化测试工作基本完成。因此,短时间的项目、非稳定版本的产品都可以采用自动化测试的方式,降低手工测试阶段和回归测试阶段的人力资源成本;而且,免除每个产品都需要独一无二的自动化测试开发调试部署环节。具备高度的兼容性和适用性,减少自动化测试开发和维护阶段的人力资源成本;此外,产品频繁迭代变更,只需要更新文本测试用例词槽的相应数据,可维护性强,大大降低了自动化测试维护的时间耗费。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种基于自然语言处理技术的自动化测试方法,其特征在于:包括如下步骤:
A、准备测试用例集和梳理被测业务;
B、构建并训练测试用例解析的自然语言处理模型;
C、开发自动化测试代码模板;
D、利用自动化测试框架控制用例解析、代码适配、测试执行并生成测试报告;
所述步骤B具体流程如下:
a、首先采用基于词感知机算法对测试用例集进行分词;
b、根据整理出来的测试类型、业务内容、业务场景维度,采用隐马尔科夫模型和条件随机场方法等两种有监督的学习方式对测试用例集抽取识别出命名实体;
c、采用条件随机场方法和神经网络算法对测试用例做分类标注、实体标注、词性标注,进一步实现分离并抽取出测试用例语料的词槽和特征约束范围;
d、采用浅层句法分析中的基于SVM的base NP识别方法对测试用例进行句法分析,实现对测试用例语义降维归类;
e、训练过程中采用基于贝叶斯分类器消歧法和基于词典语义消歧法,对可能出现歧义的测试用例消歧;
f、验证训练后的模型正确性和效率,其中以上测试用例集70%的内容用于训练,30%的内容用于验证,最终模型输出JSON格式解析内容;
所述步骤C具体流程如下:
a、模板类型分类;
b、功能模板分类;
c、数据交互方式模板分类;
d、根据步骤a-c分类,模板代码定义出接收词槽参数的接口,用以接收测试对象实体命名和测试数据;
e、模板代码按类型分类进行标签标注,标注后的模板代码可以与自然语言处理模型的结果适配做到一一对应。
2.根据权利要求1所述的一种基于自然语言处理技术的自动化测试方法,其特征在于:所述步骤A具体流程如下:
a、准备大量测试用例文本材料作为拟整理的资源;
b、人工对业务类型进行整理,列出被测***类型;
c、人工对业务内容进行整理,列出被测***业务内容;
d、人工对业务场景进行整理,列出被测***业务场景。
3.根据权利要求1所述的一种基于自然语言处理技术的自动化测试方法,其特征在于:所述步骤D具体流程如下:
a、导入文本类型的测试用例;
b、调用自然语言处理模型处理,并返回处理后的JSON格式结果;
c、根据返回结果,调用预置测试代码模板,并组装成自动化测试用例;
d、按测试场景集成自动化测试用例并执行测试;
e、测试完成后,生成测试报告并发布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810171051.9A CN108415838B (zh) | 2018-03-01 | 2018-03-01 | 一种基于自然语言处理技术的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810171051.9A CN108415838B (zh) | 2018-03-01 | 2018-03-01 | 一种基于自然语言处理技术的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415838A CN108415838A (zh) | 2018-08-17 |
CN108415838B true CN108415838B (zh) | 2021-07-27 |
Family
ID=63129712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810171051.9A Active CN108415838B (zh) | 2018-03-01 | 2018-03-01 | 一种基于自然语言处理技术的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108415838B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508441B (zh) * | 2018-08-21 | 2023-12-08 | 江苏赛睿信息科技股份有限公司 | 通过自然语言实现数据统计分析的方法、装置及电子设备 |
CN109299785B (zh) * | 2018-09-17 | 2022-04-26 | 浪潮软件股份有限公司 | 一种机器学习模型的实现方法及装置 |
CN109861987A (zh) * | 2019-01-02 | 2019-06-07 | 广州大学 | 自动化渗透测试***、方法及机器人 |
CN109871326B (zh) * | 2019-02-13 | 2022-03-15 | 北京云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN109918296B (zh) * | 2019-02-14 | 2022-12-06 | 百度在线网络技术(北京)有限公司 | 软件自动化测试方法及装置 |
CN109818833B (zh) * | 2019-03-14 | 2021-08-17 | 北京信而泰科技股份有限公司 | 一种以太网测试***和以太网测试方法 |
CN109947650B (zh) * | 2019-03-20 | 2022-04-29 | 北京云测信息技术有限公司 | 脚本步骤处理方法、装置和*** |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN110134108B (zh) * | 2019-05-14 | 2021-10-22 | 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 | 一种代码缺陷测试方法和装置 |
CN110221978B (zh) * | 2019-06-03 | 2023-03-14 | 北京丁牛科技有限公司 | 测试用例生成方法及装置 |
CN110727593B (zh) * | 2019-10-12 | 2023-07-25 | 四川新网银行股份有限公司 | 基于历史需求数据挖掘的测试用例智能生成方法及介质 |
CN111181805B (zh) * | 2019-12-25 | 2022-04-29 | 航天信息股份有限公司 | 一种基于测试用例的微服务测试挡板生成方法及*** |
CN111930608A (zh) * | 2020-06-30 | 2020-11-13 | 成都九洲电子信息***股份有限公司 | 一种基于流程控制的自动化测试装置及方法 |
CN111797022A (zh) * | 2020-07-06 | 2020-10-20 | 北京嘀嘀无限科技发展有限公司 | 分单业务的测试用例生成方法、装置、电子设备及介质 |
CN111949525A (zh) * | 2020-08-04 | 2020-11-17 | 上海金仕达软件科技有限公司 | 基于ai的健壮性智能测试***及其测试方法 |
CN113206854B (zh) * | 2021-05-08 | 2022-12-13 | 首约科技(北京)有限公司 | 一种快速开发国标终端协议的方法及装置 |
CN114168488A (zh) * | 2021-12-29 | 2022-03-11 | 中国邮政储蓄银行股份有限公司 | 自动化测试的方法、装置、计算机可读存储介质和处理器 |
WO2023236114A1 (zh) * | 2022-06-08 | 2023-12-14 | 西门子股份公司 | 工业测试脚本生成方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
CN106294186A (zh) * | 2016-08-30 | 2017-01-04 | 深圳市悲画软件自动化技术有限公司 | 智能软件自动化测试方法 |
EP3249547A1 (en) * | 2016-05-27 | 2017-11-29 | Accenture Global Solutions Limited | Generating test data from samples using natural language processing and structure-based pattern determination |
CN107451068A (zh) * | 2017-09-20 | 2017-12-08 | 广州阿里巴巴文学信息技术有限公司 | 用例运行方法、装置、计算设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007594B2 (en) * | 2015-07-21 | 2018-06-26 | International Business Machines Corporation | Proactive cognitive analysis for inferring test case dependencies |
-
2018
- 2018-03-01 CN CN201810171051.9A patent/CN108415838B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
EP3249547A1 (en) * | 2016-05-27 | 2017-11-29 | Accenture Global Solutions Limited | Generating test data from samples using natural language processing and structure-based pattern determination |
CN106294186A (zh) * | 2016-08-30 | 2017-01-04 | 深圳市悲画软件自动化技术有限公司 | 智能软件自动化测试方法 |
CN107451068A (zh) * | 2017-09-20 | 2017-12-08 | 广州阿里巴巴文学信息技术有限公司 | 用例运行方法、装置、计算设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
A comprehensive investigation of natural language processing techniques and tools to generate automated test cases;Imran Ahsan;Wasi Haider Butt;Mudassar Adeel Ahmed;Muhammad Wasee;《Internet of things, Data and Cloud Computing》;20170322;1-10页 * |
基于机器学习的***软件自动化测试研究;程文华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140930;I140-35页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108415838A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415838B (zh) | 一种基于自然语言处理技术的自动化测试方法 | |
CN111026842B (zh) | 自然语言处理方法、自然语言处理装置及智能问答*** | |
CN115658041B (zh) | 基于在线业务流程编排的低代码增强业务实现方法 | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
CN112163420A (zh) | 一种基于nlp技术的rpa流程自动生成方法 | |
CN109753658B (zh) | 交互方法和装置 | |
CN105653620B (zh) | 智能问答***的日志分析方法及装置 | |
CN106598615A (zh) | 一种食谱程序代码生成方法及食谱编译云平台*** | |
CN110442514B (zh) | 基于学习算法实现缺陷修复推荐的方法 | |
CN114895876B (zh) | 一种基于模型驱动可视化开发工业*** | |
CN111930912A (zh) | 对话管理方法及***、设备和存储介质 | |
CN112396437A (zh) | 一种基于知识图谱的贸易合同验证方法及装置 | |
CN114489629A (zh) | 一种基于接口文档的快速开发和测试方法 | |
CN115455148A (zh) | 一种合同的智能审查方法及装置 | |
CN110400101A (zh) | 行业报告分析***及方法 | |
CN108804685B (zh) | 一种资产托管监督任务的处理方法及装置 | |
Braun et al. | A methodology for the detection of functional relations of mechatronic components and assemblies in brownfield systems | |
CN117369772A (zh) | 基于大语言推理模型的软件工程智能化构建引擎*** | |
CN113064811A (zh) | 基于工作流的自动化测试方法、装置以及电子设备 | |
CN117111916A (zh) | 基于ai和模块化框架的接口代码自动生成方法及*** | |
CN112417852A (zh) | 一种代码片段重要性的判断方法和装置 | |
CN113239698A (zh) | 基于rpa及ai的信息提取方法、装置、设备及介质 | |
CN109684395B (zh) | 一种基于自然语言处理的可视化数据接口通用解析方法 | |
Dabhade et al. | A systematic review of software reuse using domain engineering paradigms | |
Rohaime et al. | Integrated Invoicing Solution: A Robotic Process Automation with AI and OCR Approach |
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 |