一种软硬件自动化测试方法和装置与流程

文档序号:30697001发布日期:2022-07-09 17:55阅读:468来源:国知局
一种软硬件自动化测试方法和装置与流程

1.本技术涉及自动化测试技术领域,更具体地,涉及一种软硬件自动化测试方法和装置。


背景技术:

2.随着通信网络技术的不断发展,网络安全问题日益突出,相应的网络审计监测系统应运而生;系统利用硬件的高速性和软件的灵活性相结合,业务及流程更加繁琐与复杂,采用传统手工测试的方式,将会极大的影响到系统的更新换代速度。自动化测试相比传统手工测试,节省时间成本,释放人力去进行更加重要的工作。
3.针对软硬件相结合系统的测试,既需要测试验证硬件的稳定性和准确性,也需要确保软件的正确性和可靠性。目前存在的自动化测试框架多为selenium、jmeter、waitr等,适用于web、app等自动化测试,性能和功能隔离,不能同时满足测试硬件和软件,也无法同时满足性能和功能的要求。现有框架本身维护量大,处理复杂,出现问题定位难度大,无法适应快速迭代的研发测试需求。
4.因此,如何实现同时进行软件和硬件场景的自动化测试,并提高测试效率,是目前有待解决的技术问题。


技术实现要素:

5.本发明公开了一种软硬件自动化测试方法,用以解决现有技术中无法同时进行软件和硬件场景的自动化测试的技术问题,该方法包括:根据输入的测试数据文件判断测试环境是否满足测试需求;若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型;若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告;若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告;其中,测试用例列表是根据各测试用例生成的。
6.在本技术一些实施例中,根据输入的测试数据文件判断测试环境是否满足测试需求,具体为:根据所述测试数据文件获取第一组测试需求数据;若测试环境具备所述第一组测试需求数据,根据所述测试数据文件获取第二组测试需求数据;若测试环境具备所述第二组测试需求数据,确定测试环境满足测试需求;
若测试环境不具备所述第一组测试需求数据或所述第二组测试需求数据,确定测试环境不满足测试需求;其中,所述第一组测试需求数据包括测试环境参数和测试用例列表,所述第二组测试需求数据包括测试用例前置条件、测试用例执行条件和测试用例预期结果。
7.在本技术一些实施例中,在根据输入的测试数据文件判断测试环境是否满足测试需求之前,所述方法还包括:判断是否存在配置文件;若存在所述配置文件且所述配置文件满足预设条件,获取所述测试数据文件;若不存在所述配置文件,或存在所述配置文件且所述配置文件不满足所述预设条件,退出测试主程序;其中,预设条件为:配置文件包含日志记录等级、测试用例执行次数、测试性质、测试类型、测试用例执行列表和测试报告推送账号。
8.在本技术一些实施例中,所述方法还包括:若不存在所述配置文件,提示用户检查配置文件。
9.在本技术一些实施例中,在判断是否存在配置文件之前,所述方法还包括:检查是否已安装第三方库;若已安装第三方库,确认完成自动化测试框架初始化;若未安装第三方库,进行安装第三方库;若安装成功,确认完成自动化测试框架初始化;若安装失败,退出测试主程序。
10.在本技术一些实施例中,在生成所述软件测试报告或所述软件+硬件测试报告之后,所述方法还包括:将所述软件测试报告或所述软件+硬件测试报告推送至测试报告推送账号,并退出测试主程序。
11.在本技术一些实施例中,所述方法还包括:在完成对测试用例的每一次测试后清理测试环境至最初状态。
12.在本技术一些实施例中,所述方法还包括:若测试环境不满足测试需求或登录测试软件失败,退出测试主程序。
13.在本技术一些实施例中,所述方法基于python语言,所述方法还包括:基于指定日志等级的日志记录软硬件自动化测试过程。
14.相应的,本发明还提供一种软硬件自动化测试装置,所述装置包括:环境检测模块,用于根据输入的测试数据文件判断测试环境是否满足测试需求;公共模块,用于若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型;软件测试模块,用于若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告;软件+硬件测试模块,用于若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的
软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告;其中,测试用例列表是根据各测试用例生成的。
15.通过应用以上技术方案,根据输入的测试数据文件判断测试环境是否满足测试需求;若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型;若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告;若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告,从而实现了可同时进行软件和硬件场景的自动化测试,并提高了测试效率。
附图说明
16.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1示出了本发明实施例提出的一种软硬件自动化测试方法的流程示意图;图2示出了本发明另一实施例提出的一种软硬件自动化测试方法的流程示意图;图3示出了本发明实施例中测试单个测试用例的流程示意图;图4示出了本发明实施例中软硬件自动化测试部署示意图;图5示出了本发明实施例提出的一种软硬件自动化测试装置的结构示意图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.本技术实施例提供一种软硬件自动化测试方法,软硬件测试、软件测试的灵活结合和拆分,可根据环境自由切换自动化测试,实现自动化测试的高复用。
20.如图1所示,该方法包括以下步骤:步骤s101,根据输入的测试数据文件判断测试环境是否满足测试需求。
21.本实施例中,测试数据文件可以是用户输入的,测试数据文件的形式包括excel表格、txt文本、xml格式。只有测试环境满足了测试需求才能执行相应的测试过程,根据测试数据文件可判断测试环境是否满足测试需求。
22.为了可靠的判断测试环境是否满足测试需求,在本技术一些实施例中,根据输入的测试数据文件判断测试环境是否满足测试需求,具体为:根据所述测试数据文件获取第一组测试需求数据;若测试环境具备所述第一组测试需求数据,根据所述测试数据文件获取第二组测
试需求数据;若测试环境具备所述第二组测试需求数据,确定测试环境满足测试需求;若测试环境不具备所述第一组测试需求数据或所述第二组测试需求数据,确定测试环境不满足测试需求;其中,所述第一组测试需求数据包括测试环境参数和测试用例列表,所述第二组测试需求数据包括测试用例前置条件、测试用例执行条件和测试用例预期结果。
23.本实施例中,先根据测试文件数据获取测试环境参数和测试用例列表,判断当前测试环境具备测试环境参数和测试用例列表,若具备,说明测试环境初步满足测试需求,此时根据测试数据文件获取测试用例前置条件、测试用例执行条件和测试用例预期结果,然后判断当前测试环境是否具备测试用例前置条件、测试用例执行条件和测试用例预期结果,若具备,说明测试环境满足测试需求。若测试环境不具备第一组测试需求数据或第二组测试需求数据,确定测试环境不满足测试需求。
24.需要说明的是,本领域技术人员可根据实际需要设置不同的第一组测试需求数据或第二组测试需求数据,这并不影响本技术的保护范围。
25.为了更加可靠的进行自动化测试,在本技术一些实施例中,在根据输入的测试数据文件判断测试环境是否满足测试需求之前,所述方法还包括:判断是否存在配置文件;若存在所述配置文件且所述配置文件满足预设条件,获取所述测试数据文件;若不存在所述配置文件,或存在所述配置文件且所述配置文件不满足所述预设条件,退出测试主程序;其中,预设条件为:配置文件包含日志记录等级、测试用例执行次数、测试性质、测试类型、测试用例执行列表和测试报告推送账号。
26.本实施例中,合格的配置文件包含日志记录等级、测试用例执行次数、测试性质、测试类型、测试用例执行列表和测试报告推送账号,先判断是否存在配置文件,若存在配置文件且配置文件满足预设条件,获取测试数据文件,以进行后续的测试环境判断。若不存在配置文件,或存在配置文件且配置文件不满足预设条件,说明当前无法继续进行测试,退出测试主程序。
27.在不存在配置文件时,为了使用户及时处理,在本技术一些实施例中,所述方法还包括:若不存在所述配置文件,提示用户检查配置文件。
28.为了更加可靠的进行自动化测试,在本技术一些实施例中,在判断是否存在配置文件之前,所述方法还包括:检查是否已安装第三方库;若已安装第三方库,确认完成自动化测试框架初始化;若未安装第三方库,进行安装第三方库;若安装成功,确认完成自动化测试框架初始化;若安装失败,退出测试主程序。
29.本实施例中,在进行测试之前需要安装第三方库,以完成对自动化测试框架的初始化,第三方库可包括windows和linux。
30.步骤s102,若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型。
31.本实施例中,在确定测试环境满足测试需求后提示用户登录测试软件,可通过图形化接口实现登录过程,若登录成功,根据测试命令确定当前测试类型。当前测试类型可包括软件测试和软件+硬件测试。
32.为了保证测试的可靠性,在本技术一些实施例中,所述方法还包括:若测试环境不满足测试需求或登录测试软件失败,退出测试主程序。
33.步骤s103,若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告。
34.本实施例中,测试用例列表是根据各测试用例生成的,每个测试用例配置了执行次数,若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,通过遍历测试用例列表,完成对测试用例列表中所有测试用例的测试,最后根据各软件测试结果生成软件测试报告,各软件测试结果是将测试出的实际结果与各测试用例预期结果进行核对后生成的。
35.步骤s104,若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告。
36.本实施例中,为了更好的评估软件+硬件测试的测试效果,在当前测试类型为软件+硬件测试时还需要连接采集回放设备进行回放,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,通过遍历测试用例列表,完成对测试用例列表中所有测试用例的测试,最后根据各软件+硬件测试结果生成软件+硬件测试报告。各软件+硬件测试结果是将测试出的实际结果与各测试用例预期结果进行核对后生成的。
37.为了使用户了解自动化测试结果,在本技术一些实施例中,在生成所述软件测试报告或所述软件+硬件测试报告之后,所述方法还包括:将所述软件测试报告或所述软件+硬件测试报告推送至测试报告推送账号,并退出测试主程序。
38.可选的,测试报告推送账号可以为邮件账号或其他即时通讯软件的账号。
39.为了更加可靠的进行自动化测试,在本技术一些实施例中,所述方法还包括:在完成对测试用例的每一次测试后清理测试环境至最初状态。
40.为了提高测试的灵活性和效率,以及更加全面的对测试过程进行监测,在本技术一些实施例中,所述方法基于python语言,所述方法还包括:基于指定日志等级的日志记录软硬件自动化测试过程。
41.本实施例中,利用python语言的易上手和高扩展性,实现对测试过程和测试配置的灵活控制,配置灵活易懂,方便易用,提高了测试效率,适应快速迭代的研发测试需求。日志等级(从低到高)可包括:emergency(紧急情况,突发事件)、alert(弹出警告)、critical(危险的)、error(错误)、warning(警告)、notice(通知、注意)、info(信息)和 debug(调
试)。
42.通过应用以上技术方案,根据输入的测试数据文件判断测试环境是否满足测试需求;若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型;若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告;若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告,从而实现了可同时进行软件和硬件场景的自动化测试,并提高了测试效率。
43.为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
44.本技术实施例提出一种软硬件自动化测试框架,包括:安装部署模块m100:框架所需配置文件,第三方库安装部署;支持windows和linux安装一键安装。
45.公共模块m200:公共函数、方法以及通用操作管理。
46.输入模块m300:支持excel表格、txt文本、xml格式等多种输入方式。
47.输出模块m400:测试报告生成和管理,邮件、wechat、qq通知。
48.日志模块m500:内置7个日志等级(emergency、alert、critical、error、warning、notice、informational、debug),针对不同情况,用户可灵活配置输出日志等级。
49.环境检测模块m600:检测测试环境是否满足测试需求。
50.结果判定模块m700:实际结果和预期结果核对,判断测试结果。
51.测试组件模块m800:测试所需插件,若pcap比较工具等。
52.如图2和图3所示,具体测试过程如下:s100:初始化自动化测试框架,调用安装部署模块m100检查第三方库安装部署情况,若未安装,则进行安装部署,若安装成功,进入下一步s110,若安装失败,调用日志模块m500写入失败信息到运行日志文件,退出主程序。若已安装,进入下一步s110。
53.s110:检查自动化测试框架所需配置文件,配置文件含日志记录等级、测试用例执行次数、测试性质(功能或性能)、测试类型(软件或软件+硬件)、测试用例执行列表、测试报告推送账号等。判断配置文件是否存在,若不存在,调用日志模块m500写入错误信息到运行日志文件,并提示用户检查配置文件,退出主程序。若存在,则检查文件内容是否满足条件,若满足,进入下一步s200,若不满足,调用日志模块m500写明原因到运行日志文件,退出主程序。
54.s200:测试环境检测,调用输入模块m300解析excel表格,获取测试环境参数、测试用例列表等,调用环境检测模块m600判断测试环境是否具备,若具备,则进入下一步s300,若不具备,调用日志模块m500写入错误信息到运行日志文件,退出主程序。
55.s300:测试执行,调用输入模块m300解析excel表格,获取测试用例前置条件、测试用例执行条件、测试用例预期结果等,调用环境检测模块m600判断测试环境是否具备,若具备,则进入下一步s310,若不具备,调用日志模块m500写入错误信息到运行日志文件,退出主程序。
56.s310:调用公共模块m200登陆软件,调用日志模块m500写入测试命令到运行日志文件,若登陆失败,则进入下一步s300。若登陆成功,判断测试类型,若为软件,执行测试命令,调用日志模块m500写入测试命令到操作日志文件,调用结果判断模块m700获取测试结果,清理测试环境至最初状态,调用输出模块m400写入测试结果至测试报告。测试用例列表遍历完成后,则进入下一步s500。若测试类型为软件+硬件,则进入下一步s400。
57.s400:调用公共模块m200登陆采集回放设备,回放指定pcap报文,采集pcap报文,调用日志模块m500写入采集回放结果到操作日志文件,调用结果判断模块m700获取测试结果,清理测试环境至最初状态,调用输出模块m400写入测试结果至测试报告。测试用例列表遍历完成后,则进入下一步s500。
58.s500:执行完成后,调用输出模块m400,推送测试报告至指定测试报告推送账号,退出主程序。根据测试用例执行次数,循环s300和s400过程。
59.通过应用以上技术方案,实现了:(1)可单独进行软件测试,也可软件+硬件测试;(2)新增或删除测试用例,测试人员只需维护excel表格和配置文件即可,无需更改代码,即可执行;(3)通过配置文件,可灵活选择测试用例执行列表、测试用例执行次数和测试类型。
60.本技术实施例还提出了一种软硬件自动化测试装置,如图5所示,所述装置包括:环境检测模块501,用于根据输入的测试数据文件判断测试环境是否满足测试需求;公共模块502,用于若测试环境满足测试需求且登录测试软件成功,根据测试命令确定当前测试类型;软件测试模块503,用于若当前测试类型为软件测试,按各测试用例的执行次数执行测试命令并获取各测试用例的软件测试结果,并在完成对测试用例列表的遍历后根据各软件测试结果生成软件测试报告;软件+硬件测试模块504,用于若当前测试类型为软件+硬件测试,按各测试用例的执行次数执行测试命令,并基于采集回放设备回放并采集指定pcap报文后获取各测试用例的软件+硬件测试结果,并在完成对测试用例列表的遍历后根据各软件+硬件测试结果生成软件+硬件测试报告;其中,测试用例列表是根据各测试用例生成的。
61.如图4所示为本发明实施例中软硬件自动化测试部署示意图,包括自动化测试服务器、采集回放设备、待测设备控制单元和待测设备处理单元。本实施例中的软硬件自动化测试装置可设置在自动化测试服务器中,自动化测试服务器通过ssh/telenet通信方式与采集回放设备和待测设备控制单元通信,采集回放设备与待测设备处理单元之间通过数据通道进行数据传送,待测设备控制单元和待测设备处理单元之间通过控制通道连接。
62.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和
范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1