一种自动化软件测试机器人及其实现方法技术

技术编号:19933952 阅读:20 留言:0更新日期:2018-12-29 04:27
本发明专利技术公开了一种自动化软件测试机器人及其实现方法,包括人工智能交互模块、先验数据获取模块、语义分析模块、分类模块、测试用例生成模块和测试模块;实现方法包括向机器人终端发送软件测试命令;获取待测试软件对应的编程人员的先验数据;对获取的先验数据进行语义分析;对待测试软件进行分类,得到软件类别;根据语义分析的结果和软件类别,生成测试用例;根据测试用例,测试待测试软件,并生成测试结果。本发明专利技术能够通过机器人完成自动化的软件测试工作,无需人工参与测试过程,大大提高了测试效率;另外,本发明专利技术测试覆盖全面且测试准确度高,可广泛应用于计算机技术领域。

【技术实现步骤摘要】
一种自动化软件测试机器人及其实现方法
本专利技术涉及计算机
,尤其是一种自动化软件测试机器人及其实现方法。
技术介绍
软件测试是伴随着软件的产生而产生的。随着软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要,软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。现有的软件测试手段几乎完全都是手工测试,测试的效率非常低,并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序(比如测试脚本)来辅助测试,但是这还是不能满足大多数软件项目的统一需要,并且这种测试方式要求测试人员熟悉编程方法,对测试人员要求较高,进而提高了测试成本。为解决上述问题,市场上出现了一种自动化软件测试方法,这种方法将测试脚本提前存储在计算机上,通过人工将待测试的程序代码输入测试脚本,测试脚本根据存储好的测试用例进行软件测试,最终输出测试结果。这种测试方法的测试用例数量有限,导致测试覆盖不够全面,且测试脚本中预存的测试方法取决于脚本编辑人员的个人习惯以及经验,测试准确度较低。
技术实现思路
为解决上述技术问题,本专利技术的目的在于:提供一种效率高、测试覆盖全面且测试准确度高的,自动化软件测试机器人及其实现方法。本专利技术所采取的第一技术方案是:一种自动化软件测试机器人,包括:人工智能交互模块,用于控制机器人终端的软件测试行为;先验数据获取模块,用于根据人工智能交互模块的控制信号,获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;语义分析模块,用于对获取的先验数据进行语义分析;分类模块,用于对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;测试用例生成模块,用于根据语义分析的结果和软件类别,生成测试用例;测试模块,用于根据测试用例,测试待测试软件,并生成测试结果。进一步,还包括:打印模块,用于根据人工智能交互模块的控制信号,打印测试结果;存储模块,用于存储测试用例和测试结果。进一步,还包括:语音模块,用于根据人工智能交互模块的控制信号,对测试结果进行语音播报。进一步,还包括运动控制模块,所述运动控制模块包括摄像头、自动避障模块、充电模块、定位模块和身份识别模块。进一步,所述机器人终端上设有IDE接口、红外接口、DB接口、PCI接口、RS232接口、USB接口、RJ45接口、VGA接口、MIDI接口和TF卡接口。本专利技术所采取的第二技术方案是:一种自动化软件测试机器人的实现方法,包括以下步骤:向机器人终端发送软件测试命令;获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;对获取的先验数据进行语义分析;对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;根据语义分析的结果和软件类别,生成测试用例;根据测试用例,测试待测试软件,并生成测试结果。进一步,所述对获取的先验数据进行语义分析这一步骤,包括以下步骤:对已完成测试的软件进行第一分析处理,生成第一数据集,所述第一分析处理包括获取已完成测试的软件中测试得到的错误信息;对编程人员的编程习惯进行第二分析处理,生成第二数据集,所述第二分析处理包括获取编程人员的编程习惯中具有高出错率的代码段;对编程人员的代码编写风格进行第三分析处理,生成第三数据集,所述第三分析处理包括获取编程人员的代码编写风格中具有高出错率的代码段;对第一数据集、第二数据集和第三数据集进行数据汇集。进一步,所述根据语义分析的结果和软件类别,生成测试用例这一步骤,包括以下步骤:根据数据汇集的结果,生成待测试软件的应用场景;判断待测试软件是否为系统软件,若是,则结合待测试软件的应用场景,生成第一测试用例;反之,则结合待测试软件的应用场景,生成第二测试用例。进一步,还包括以下步骤:通过远程控制信号将机器人终端移动到指定位置;通过无线通讯的方式将待测试软件接收至机器人终端,其中,所述无线通讯的方式包括蓝牙通讯方式、wifi通讯方式和NFC通讯方式。本专利技术所采取的第三技术方案是:一种自动化软件测试机器人,包括:存储器,用于存储程序;处理器,用于加载程序,以执行如第二技术方案所述的一种自动化软件测试机器人的实现方法。本专利技术的有益效果是:本专利技术能够通过机器人完成自动化的软件测试工作,无需人工参与测试过程,大大提高了测试效率;另外,本专利技术能够对待测试软件的先验数据进行语义分析,还能对待测试软件进行分类,最终根据语义分析结果和分类结果来生成大量测试用例,测试覆盖全面且大大提高了测试结果的准确度。附图说明图1为本专利技术一种自动化软件测试机器人的实现方法的步骤流程图。具体实施方式下面结合说明书附图和具体实施例对本专利技术作进一步解释和说明。对于本专利技术实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。本专利技术一种自动化软件测试机器人,包括:人工智能交互模块,用于控制机器人终端的软件测试行为;先验数据获取模块,用于根据人工智能交互模块的控制信号,获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;语义分析模块,用于对获取的先验数据进行语义分析;分类模块,用于对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;测试用例生成模块,用于根据语义分析的结果和软件类别,生成测试用例;测试模块,用于根据测试用例,测试待测试软件,并生成测试结果。进一步作为优选的实施方式,还包括:打印模块,用于根据人工智能交互模块的控制信号,打印测试结果;存储模块,用于存储测试用例和测试结果。进一步作为优选的实施方式,还包括:语音模块,用于根据人工智能交互模块的控制信号,对测试结果进行语音播报。进一步作为优选的实施方式,还包括运动控制模块,所述运动控制模块包括摄像头、自动避障模块、充电模块、定位模块和身份识别模块。其中,机器人终端能够根据摄像头监控周边环境状况,在闲置状态下能够实现监控功能;自动避障模块和定位模块,用于提高机器人终端的智能性,避免碰撞其他物体,以延长机器人终端的使用寿命;充电模块,用于为机器人终端提供电力信号;身份识别模块,用于获取用户的身份信息,根据身份对应的权限来控制机器人终端。进一步作为优选的实施方式,所述机器人终端上设有IDE接口、红外接口、DB接口、PCI接口、RS232接口、USB接口、RJ45接口、VGA接口、MIDI接口和TF卡接口。参照图1,本专利技术一种自动化软件测试机器人的实现方法,包括以下步骤:向机器人终端发送软件测试命令;获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;对获取的先验数据进行语义分析;对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;根据语义分析的结果和软件类别,生成测试用例;根据测试用例,测试待测试软件,并生成测试结果。进一步作为优选的实施方式,所述本文档来自技高网...

【技术保护点】
1.一种自动化软件测试机器人,其特征在于:包括:人工智能交互模块,用于控制机器人终端的软件测试行为;先验数据获取模块,用于根据人工智能交互模块的控制信号,获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;语义分析模块,用于对获取的先验数据进行语义分析;分类模块,用于对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;测试用例生成模块,用于根据语义分析的结果和软件类别,生成测试用例;测试模块,用于根据测试用例,测试待测试软件,并生成测试结果。

【技术特征摘要】
1.一种自动化软件测试机器人,其特征在于:包括:人工智能交互模块,用于控制机器人终端的软件测试行为;先验数据获取模块,用于根据人工智能交互模块的控制信号,获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;语义分析模块,用于对获取的先验数据进行语义分析;分类模块,用于对待测试软件进行分类,得到软件类别,所述程序类别包括系统软件程序和应用软件程序;测试用例生成模块,用于根据语义分析的结果和软件类别,生成测试用例;测试模块,用于根据测试用例,测试待测试软件,并生成测试结果。2.根据权利要求1所述的一种自动化软件测试机器人,其特征在于:还包括:打印模块,用于根据人工智能交互模块的控制信号,打印测试结果;存储模块,用于存储测试用例和测试结果。3.根据权利要求1所述的一种自动化软件测试机器人,其特征在于:还包括:语音模块,用于根据人工智能交互模块的控制信号,对测试结果进行语音播报。4.根据权利要求1所述的一种自动化软件测试机器人,其特征在于:还包括运动控制模块,所述运动控制模块包括摄像头、自动避障模块、充电模块、定位模块和身份识别模块。5.根据权利要求1所述的一种自动化软件测试机器人,其特征在于:所述机器人终端上设有IDE接口、红外接口、DB接口、PCI接口、RS232接口、USB接口、RJ45接口、VGA接口、MIDI接口和TF卡接口。6.一种自动化软件测试机器人的实现方法,其特征在于:包括以下步骤:向机器人终端发送软件测试命令;获取待测试软件对应的编程人员的先验数据,所述先验数据包括已完成测试的软件、编程习惯和代码编写风格;对获取的先验数据进行语义分析;对待测试软件进行分...

【专利技术属性】
技术研发人员:杨烨玲
申请(专利权)人:无锡天脉聚源传媒科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1