[发明专利]一种基于NLP的系统测试用例自动生成方法有效
申请号: | 201711256576.4 | 申请日: | 2017-12-03 |
公开(公告)号: | CN107832229B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 孟浩 | 申请(专利权)人: | 中国直升机设计研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F40/30;G06F40/289 |
代理公司: | 北京航信高科知识产权代理事务所(普通合伙) 11526 | 代理人: | 高原 |
地址: | 333001 *** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nlp 系统 测试 自动 生成 方法 | ||
1.一种基于NLP的系统测试用例自动生成方法,其特征在于,包括如下步骤:
1)文本预处理:
对软件需求文档进行预处理,是将文档转换为纯文本,保留章节标题和段落信息,并提取特定章节;软件需求文档都是根据特定模板进行编制,每个章节都是对特定内容的描述;系统测试用例设计集中在软件功能描述,提取出来的章节内容是下一步处理的重点;
2)分词与语义分析:
分词与语义分析环节是利用NLP技术,得到对软件功能描述的关键;分词算法使用基于字符匹配的分词方法,利用软件开发项目涉及的特定领域知识得到词汇库,再利用搜索算法进行扫描匹配分词;语义分析算法采用句子级的浅层语义分析,标注出语句的成分类型,其中,成分类型包括主语、谓语、宾语成分,从而得到逻辑关系;
其中,分词与语义分析包括如下步骤:
S1、对经过预处理后的文本,以段落为基本模块提取文字序列;
S2、对单句话进行分词,得到词组序列;
S3、对词组序列进行浅层语义分析,标注语义角色,得到关键词逻辑序列;
3)关键词模板匹配:
针对软件项目的特定工程领域,基于项目工程经验,针对软件需求有针对性的需求分析和测试用例设计方法;根据积累下来的软件测试设计经验,形成包含特定关键词的测试用例模板,并通过关键词进行查找匹配;
关键词模板匹配方法包括如下步骤:
S1、提取词组逻辑序列中的主语词组;
S2、在项目测试用例模板库中进行主语关键词匹配;
S3、若找到匹配的测试用例模板,则根据词组逻辑序列,自动生成系统测试用例;若没有找到匹配的关键词,则该语句处理结束;
4)测试用例自动生成:
根据匹配得到的关键字逻辑序列和测试用例模板,通过关键词替换,自动生成系统测试用例;
其中,基于NLP的系统测试用例自动生成方法包括以下步骤:
软件需求为word形式的文档,经过预处理提取文本后,得到如下章节的内容描述:
功能描述;
主页面显示;
在主页面下按压“地图”键,进入数字地图导航页面;
在数字地图导航页面,航向显示范围为-180.0到179.9;
经过NLP的分词处理后,自动得到两句话的相应词组序列:
在/主页面下/按压/“地图”键/进入/数字地图导航页面;
在/数字地图导航页面/航向/显示范围/为/-180.0/到/179.9;
并得到相应的成分:
名词:主页面、“地图”键、数字地图导航页面;
动词:按压、进入;
状态语:在;
名词:数字地图导航页面、航向、显示范围;
动词:为;
状态语:在、到;
数词:-180,179;
经过语义分析,自动得到相应的关键词逻辑序列:
主页面、按压、“地图”键、进入、数字地图导航页面;
数字地图导航页面、航向、显示范围、-180、179;
在过往的软件项目测试实践中,已经积累了一定量的软件测试用例模板:
模板1在{{X1}}页面,按压{{X2}}键,观察是否进入{{X3}}页面;
关键词:页面、按压、键、进入;
模板2在{{X1}}页面,通过设置不同的外部输入,观察{{X2}}在显示范围为下边界{{X3}}外或上或内,上边界{{X4}}上、外是否显示正常;
关键词:页面、显示范围;
对上述得到的语句进行模板匹配,得到的结果为第一句话匹配模板1,第二句话匹配模板2,再将每句话的关键词替换模板中的可替换部分,自动生成测试用例;
在主页面,按压“地图”键,观察是否进入数字地图导航页面;
在数字地图导航页面,通过设置不同的外部输入,观察航向在显示范围为下边界-180.0外或上或内,上边界179上或外是否显示正常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国直升机设计研究所,未经中国直升机设计研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711256576.4/1.html,转载请声明来源钻瓜专利网。