一种生成测试脚本的系统和方法与流程

文档序号:24422905发布日期:2021-03-26 22:26阅读:95来源:国知局
一种生成测试脚本的系统和方法与流程

1.本发明涉及linux系统测试领域,尤其涉及一种生成测试脚本的系统和方法。


背景技术:

2.目前市面上大多linux测试工具是录制命令运行过程,保存为视频,进行回放观看,如:asciinema工具。
3.asciinema工具是一款开源免费的终端录制工具,它可以将命令行输入输出的任何内容加上时间保存在文件中,提供方法在终端或者web浏览器中进行回放。在播放过程中随时可以暂停,然后对播放器中的文本进行复制或者其它操作,当asciinema rec在终端中运行时,记录开始,捕获发出shell命令时正在打印到终端的所有输出。录制完成时(通过敲击ctrl

d或键入exit),然后将捕获的输出上传到asciinema.org网站或者通过asciinema命令播放。相比gif和视频文件体积非常之小,无需缓冲播放。
4.linux系统测试,无可避免的需要经常使用命令执行部分测试用例集,linux操作系统测试,很多命令重复使用率很高,频繁敲击命令造成人力和时间的浪费,若写成脚本,也需要工作人员在终端下直接编辑文件,保存为脚本,不可避免的出现归档不及时、注释不明确等问题。


技术实现要素:

5.本发明提供一种生成测试脚本的系统和方法,旨在解决现有技术中测试用例集不集中无法重复执行等技术问题。
6.一种生成测试脚本的系统,应用于linux操作系统;
7.操作模块,提供一交互界面供测试人员输入操作命令;
8.录制模块,连接操作模块,用于录制测试人员输入的操作命令,以作为历史记录保存在一第一数据库中;
9.筛选模块,连接第一数据库,用于从第一数据库中的历史记录中筛选得到待生成记录并输出;
10.生成模块,连接筛选模块,用于根据待生成记录形成对应的测试用例集,并根据测试用例集生成对应的测试脚本。
11.进一步的,录制模块包括:
12.获取单元,获取操作命令并保存在一第二数据库中;
13.过滤单元,连接第二数据库,用于对操作命令进行过滤,以获得有效的操作命令;
14.保存单元,连接过滤单元,用于将有效的操作命令作为历史记录保存在第一数据库中。
15.进一步的,生成模块包括:
16.生成单元,用于根据待生成记录生成对应的测试用例,并将多个测试用例编辑成测试用例集以保存于一用例库中;
17.第一创建单元,连接用例库,根据测试用例集创建测试脚本。
18.进一步的,生成模块还包括:
19.编辑单元,连接生成单元,用于对测试用例中的各个待生成记录编辑对应的操作说明,将操作说明与测试用例集关联保存于用例库中;
20.第二创建单元,连接用例库,用于根据用例库中的测试用例集所对应的所有操作说明生成相应的测试说明文档,并与测试脚本相关联。
21.一种生成测试脚本的方法,应用于linux操作系统,包括如下步骤:
22.步骤s1,提供一交互界面供测试人员输入操作命令;
23.步骤s2,连接操作模块,用于录制测试人员输入的操作命令,以作为历史记录保存在一第一数据库中;
24.步骤s3,从第一数据库中的历史记录中筛选得到待生成记录并输出;
25.步骤s4,根据待生成记录形成对应的测试用例集,并根据测试用例集生成对应的测试脚本。
26.进一步的,步骤s2包括:
27.步骤s21,获取操作命令并保存在一第二数据库中;
28.步骤s22,对操作命令进行过滤,以获得有效的操作命令;
29.步骤s23,将有效的操作命令作为历史记录保存在第一数据库中。
30.进一步的,步骤s4包括:
31.步骤s41,根据待生成记录生成对应的测试用例,并将多个测试用例编辑成测试用例集以保存于一用例库中;
32.步骤s42,根据测试用例集创建测试脚本。
33.进一步的,步骤s4还包括:
34.步骤s43,对测试用例中的各个待生成记录编辑对应的操作说明,将操作说明与测试用例集关联保存于用例库中;
35.步骤s44,根据用例库中的测试用例集所对应的所有操作说明生成相应的测试说明文档,并与测试脚本相关联。
36.本发明的有益技术效果是:对重复性工作较高的执行命令形成测试用例集,形成测试脚本,有效并高效的执行测试用例,并且可以查看操作历史记录,便于对操作进行整理和保存。
附图说明
37.图1为一种生成测试脚本的系统的总模块示意图;
38.图2为一种生成测试脚本的系统的历史模块示意图;
39.图3为一种生成测试脚本的系统的生成模块示意图;
40.图4为一种生成测试脚本的方法的流程图;
41.图5为一种生成测试脚本的方法的历史记录流程图;
42.图6为一种生成测试脚本的方法的脚本生成流程图;
43.图7为一种生成测试脚本的方法的说明文档生成流程图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
46.下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
47.参见图1,本发明提供一种生成测试脚本的系统,应用于linux系统,包括操作模块(1),提供一交互界面供测试人员输入操作命令;
48.录制模块(2),连接操作模块(1),用于录制测试人员输入的操作命令,以作为历史记录保存在一第一数据库(3)中;
49.筛选模块(4),连接第一数据库(3),用于从第一数据库(3)中的历史记录中筛选得到待生成记录并输出;
50.生成模块(5),连接筛选模块(3),用于根据待生成记录形成对应的测试用例集,并根据测试用例集生成对应的测试脚本。
51.具体的,本发明还包括界面开发模块,用于开发一种交互界面;开发明的界面可以用于之后的使用。
52.具体的,操作模块(1)用于在交互界面进行执行命令输入操作并展示执行结果;
53.进一步的,录制模块(2)包括:
54.获取单元(21),获取操作命令并保存在一第二数据库(22)中;
55.过滤单元(23),连接第二数据库(22),用于对操作命令进行过滤,以获得有效的操作命令;
56.保存单元(24),连接过滤单元(23),用于将有效的操作命令作为历史记录保存在第一数据库中。
57.生成模块(5)包括:
58.生成单元(51),用于根据待生成记录生成对应的测试用例,并将多个测试用例编辑成测试用例集以保存于一用例库(52)中;
59.第一创建单元(53),连接用例库(52),根据测试用例集创建测试脚本。
60.具体的,例如过滤单元(23)对执行失败的执行命令进行过滤,不保存执行结果为失败的执行命令。
61.生成模块(5)还包括:
62.编辑单元(54),连接生成单元(51),用于对测试用例中的各个待生成记录编辑对应的操作说明,将操作说明与测试用例集关联保存于用例库(52)中;
63.第二创建单元(55),连接用例库(52),用于根据用例库(52)中的测试用例集所对应的所有操作说明生成相应的测试说明文档,并与测试脚本相关联。
64.具体的,对历史记录的操作进行二次筛选,本次筛选可以是手动筛选,手动添加到用例库。
65.具体的,界面开发模块包括:
66.设计单元,利用应用程序开发框架的设计器进行交互界面的设计;
67.转换单元,连接设计单元,将完成交互界面设计的第一类型文件进行解析并转换为第二类型文件;
68.进一步的,本系统还包括调用模块,分别连接界面开发模块和操作模块,用于调用测试系统的命令解析器并展示在交互界面。具体的,还用于调用第二类型文件的界面代码并在终端展示交互界面。
69.具体的,测试系统是linux,生成的测试脚本适用于测试linux系统。
70.具体的,用户可以通过交互界面和系统进行交互,用户在操作过程中对用户进行的执行命令操作进行保存,形成历史记录,用户可以查看历史记录,不仅如此,用户还可以手动编辑历史记录,对历史记录进行筛选,将部分历史记录添加用例库,并且可以在用例库对操作进行添加说明文案即操作说明,最后一键点击生成测试脚本和文档说明。
71.具体的,本发明采用qt界面实现终端和用户之间的交互,1.使用qt desiginer设计用户使用界面,然后使用goqtuic解析xml即第一类型文件转化为.go文件即第二类型文件,便于golang语言使用therecipe/qt调用创建的的qt界面代码。由golang语言完成系统命令操作,exec.command调用系统shell,在界面进行命令行输入操作,golang捕获命令行输入进行操作结果输出,展示在qt界面,同时记录和保存命令输入操作以及根据命令的执行结果。最后,采用golang语言调用os模块,创建.py文件,在该文件中将测试用例集自动编写成python测试脚本。优选的,测试脚本中使用unittest测试框架、使用开源工具httptestrunner输入测试报告、报错为html静态页面。具体的,使用unioffice编写说明文档。
72.具体的,生成的测试脚本可以用于执行linux系统测试并生成html类型的测试报告。
73.采用本发明的生成测试脚本的系统,对重复性工作较高的必测用例集,将其录制成测试脚本,使用该测试脚本可以重复执行测试用例,进行有效并高效的执行,能节约很多人力和时间成本。而且,linux终端可以查看操作历史记录,便于整理和保存。
74.本发明还提供一种生成测试脚本的方法,包括如下步骤:
75.步骤s1,提供一交互界面供测试人员输入操作命令;;
76.步骤s2,连接操作模块,用于录制测试人员输入的操作命令,以作为历史记录保存在一第一数据库中;;
77.步骤s3,从第一数据库中的历史记录中筛选得到待生成记录并输出;
78.步骤s4,根据待生成记录形成对应的测试用例集,并根据测试用例集生成对应的测试脚本。
79.具体的,本发明还包括步骤s0,开发一种交互界面,开发明的界面可以用于之后的使用。
80.步骤s2包括:
81.步骤s21,获取操作命令并保存在一第二数据库中;
82.步骤s22,对操作命令进行过滤,以获得有效的操作命令;
83.步骤s23,将有效的操作命令作为历史记录保存在第一数据库中。
84.具体的,例如过滤单元对执行失败的执行命令进行过滤,不保存执行结果为失败
的执行命令。
85.步骤s4包括:
86.步骤s41,根据待生成记录生成对应的测试用例,并将多个测试用例编辑成测试用例集以保存于一用例库中;
87.步骤s42,根据测试用例集创建测试脚本。
88.步骤s4还包括:
89.步骤s43,对测试用例中的各个待生成记录编辑对应的操作说明,将操作说明与测试用例集关联保存于用例库中;
90.步骤s44,根据用例库中的测试用例集所对应的所有操作说明生成相应的测试说明文档,并与测试脚本相关联。
91.具体的,对历史记录的操作进行二次筛选,本次筛选可以是手动筛选,手动添加到用例库。
92.具体的,步骤1之前还包括利用应用程序开发框架的设计器进行交互界面的设计的步骤,以及将完成交互界面设计的第一类型文件进行解析并转换为第二类型文件的步骤。交互界面可以用于后续的使用。
93.具体的,步骤s1之前还调用第二类型文件的界面代码并在终端展示交互界面。
94.具体的,测试系统是linux,生成的测试脚本适用于测试linux系统。
95.具体的,用户可以通过交互界面和系统进行交互,用户在操作过程中对用户进行的执行命令操作进行保存,形成历史记录,用户可以查看历史记录,不仅如此,用户还可以手动编辑历史记录,对历史记录进行筛选,将部分历史记录添加用例库,并且可以在用例库对操作进行添加说明文案即操作说明,最后一键点击生成测试脚本和文档说明。
96.具体的,本发明采用qt界面实现终端和用户之间的交互,使用qt desiginer设计用户使用界面,然后使用goqtuic解析xml即第一类型文件转化为.go文件即第二类型文件,便于golang语言使用therecipe/qt调用创建的的qt界面代码。由golang语言完成系统命令操作,exec.command调用系统shell,在界面进行命令行输入操作,golang捕获命令行输入进行操作结果输出,展示在qt界面,同时记录和保存命令输入操作以及根据命令的执行结果。最后,采用golang语言调用os模块,创建.py文件,在该文件中将测试用例集自动编写成python测试脚本。优选的,测试脚本中使用unittest测试框架、使用开源工具httptestrunner输入测试报告、报错为html静态页面。具体的,使用unioffice编写说明文档。
97.具体的,生成的测试脚本可以用于执行linux系统测试并生成html类型的测试报告。
98.采用本发明的生成测试脚本的方法,对重复性工作较高的必测用例集,将其录制成测试脚本,使用该测试脚本可以重复执行测试用例,进行有效并高效的执行,能节约很多人力和时间成本。而且,linux终端可以查看操作历史记录,便于整理和保存。
99.以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1