一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自动化测试的软件实现方法、装置、介质及设备与流程

2022-04-09 10:51:15 来源:中国专利 TAG:


1.本技术涉及软件开发领域,特别涉及一种用于自动化测试的软件实现方法、装置、介质及设备。


背景技术:

2.自动化测试软件指可以在个人电脑pc上自动化的实现对某一目标的测试。当某一流水线要对某个芯片或某个模块的功能进行测试,需要从外部给被测试对象输入激励信号,并检查被测试对象的反馈,以推算该芯片或者模块的功能是否正常。当测试越来越细化、功能越来越多以后,就能够产生各种各样的测试需求。
3.在测试某芯片中各模块是否可以正常工作的场景下,首先会给该芯片提供电源,检测芯片的电流电压及相关电源环境的参数,并确认参数正常,然后再给该芯片加载程序,程序的内容是当被测芯片的uart端口收到数据后,将数据原封不动的发送出来,以检测该芯片的uart通讯口工作正常。为了实现测试功能,pc端自动化测试软件(以下称为pc)的一般流程是:首先给被测芯片加载程序,并检查程序加载完成,被测芯片已经正常启动,然后pc开始给被测芯片的uart端口发送数据,并等待接收被测芯片的uart数据,然后检验该数据是否为发送出去的数据,最后判断该测试项通过还是失败。
4.这一次将pc端测试uart的测试程序写好后,倘若下一次要测试的不是uart端口,而是spi端口或者其它测试内容,比如发送另一串数据进行测试、发另一个长度的数据进行测试、加载的程序文件名发生变化,不再是原来的文件、或者加载程序的方式发生变化等等。下一次换一个被测试对象,有类似的测试需要但是又不完全一致。现有技术中通过新增代码,每次新增一个功能就重新去更新一次软件,这显然效率不高且维护工作量很大。
5.现有的大部分实现方式是通过各种复选框,或者设置项,去满足部分测试需求的变动情况,但是这种方式非常的局限性,不灵活,大部分需求还是得去更新代码才行。而且为了支持这些设置项,也需要添加额外的代码,最后可能设置项非常多,显得软件都非常难用。


技术实现要素:

6.针对现有技术存在的被测试对象繁多时,测试效率不高,测试需求需要人工维护,维护成本高,维护工作量大,测试的应用场景单一的问题,本技术主要提供一种用于自动化测试的软件实现方法、装置、介质及设备。
7.为了解决上述问题,本技术采用的一个技术方案是:提供一种用于自动化测试的软件实现方法,其包括:
8.通过终端测试工具加载预建立的测试描述文件,其中测试描述文件包含被测试对象的类型及测试需求;
9.通过终端测试工具对被测试对象进行自动识别,得到被测试对象的对象信息,其中对象信息包括被测试对象的名称;
10.根据对象信息在测试描述文件中查找与被测试对象对应的描述单元;
11.通过终端测试工具对描述单元进行解析,获取被测试对象的测试内容信息;
12.根据测试内容信息对被测试对象进行测试。
13.本技术采用的另一个技术方案是:提供一种用于自动化测试的软件实现装置,其包括:
14.用于通过终端测试工具加载预建立的测试描述文件的模块,其中测试描述文件包含被测试对象的类型及测试需求;
15.用于通过终端测试工具对被测试对象进行自动识别,得到被测试对象的对象信息的模块,其中对象信息包括被测试对象的名称;
16.用于根据对象信息在测试描述文件中查找与被测试对象对应的描述单元的模块;
17.用于通过终端测试工具对描述单元进行解析,获取被测试对象的测试内容信息的模块;
18.用于根据测试内容信息对被测试对象进行测试的模块。
19.本技术采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被操作以执行方案一中的用于自动化测试的软件实现方法。
20.本技术采用的另一个技术方案是:提供一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,该计算机指令被操作以执行方案一中的用于自动化测试的软件实现方法。
21.本技术的技术方案可以达到的有益效果是:本技术设计了一种用于自动化测试的软件实现方法、装置、介质及设备。该方法将所有的实际测试移植到描述文件中,对描述文件进行功能解释,通过实现一个功能框架,使其在具备非常大的灵活性的同时,无需反复的更新代码甚至不需要再更新代码,就足以实现对各种新场景新需求的测试支持,从而实现一套多用,同时可以使得测试简单高效,降低开发工作量,维护起来也轻松。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1是本技术一种用于自动化测试的软件实现方法的一个具体实施方式的示意图;
24.图2是本技术一种用于自动化测试的软件实现方法的一个具体实施方式的示意图。
25.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
26.下面结合附图对本技术的较佳实施例进行详细阐述,以使本技术的优点和特征能
更易于被本领域技术人员理解,从而对本技术的保护范围做出更为清楚明确的界定。
27.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
28.自动化测试软件指的是可以在个人电脑pc上自动化的实现对某一目标的测试。现有的测试实现方式会显得测试软件非常臃肿,随着时间的推移,兼容的测试对象越多,测试内容越多,设置项也就越多,且绝大部分都需要技术人员人工维护,维护成本高,维护工作量大,效率低。针对当前场景做出来的测试软件,无法很好的移植或者适配另一个应用场景,很单一。
29.本技术意在对自动化测试软件实现一个功能框架,使其在具备非常大的灵活性的同时,无需反复的更新代码甚至不需要再更新代码,就足以实现对各种新场景新需求的测试支持,从而实现一套多用。同时可以使得pc测试软件简单高效,降低开发工作量,维护起来也轻松。
30.本技术的关键点在于将pc端的自动化测试软件抽象为一个解释器,而将所有的实际测试实现移植到了某一描述文件中,通过两者的结合,从而实现软件的开发简单、高灵活性、便于维护、高效等特性。本方法主要解决在设计自动化测试软件时,当每次新增测试对象、新增测试功能、测试对象存在于原设定对象存在差异时,都需要人工的去手动修改软件代码并测试,才能够实现对新需求的支持。使用本方法,可以实现无需修改代码或者少量修改代码,即可实现对新的测试需求的支持,甚至都不需要专业的技术人员,也能实现相应的支持;有效的降低软件的维护工作量和维护成本。
31.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
32.图1示出了本技术一种用于自动化测试的软件实现方法的一个具体实施方式。
33.在图1所示的具体实施方式中,一种用于自动化测试的软件实现方法主要包括:
34.步骤s101,通过终端测试工具加载预建立的测试描述文件,其中测试描述文件包含被测试对象的类型及测试需求。
35.本实施方式中,终端测试工具不涉及任何具体的测试内容,只是对测试描述文件进行功能解释,以此来满足一套测试工具能够在各种使用场景下应用;该测试描述文件中保存着各种类型的被测试对象的可以进行的测试需求。在测试描述文件中的描述单元中,所有的测试行为都按照既定的格式对其进行描述,由个人电脑端的测试软件对描述单元中的描述内容进行解释和执行。通过建立描述文件使得本方案对测试的维护更加轻松。
36.在本技术的一个可选实施例中,测试描述文件的预建立过程包括:获取各种类型被测试对象的测试需求;分别对各个被测试对象建立对应的描述单元,描述单元记载其对应的测试需求;对各个描述单元进行整合,得到测试描述文件。
37.本实施例中,通过获取多种类型的历史被测试对象,并对每一历史被测试对象的测试项进行记录,得到对应的描述单元,并且多种历史被测试对象对应的描述单元组成一个测试描述文件。
38.在本技术的一个具体实例中,为了适配各种各样的新测试需求,同时又无需的去更新个人电脑pc端的测试软件的代码。在设计终端测试工具时,将其设计为一个抽象的功能解释器,而不做具体测试功能的测试软件,并为其搭配一个人工提前写好的测试描述文件,如excel工作簿,该工作簿中保存着各类型测试对象可以进行的测试需求。所有的测试行为,在excel表格中都有按照既定的格式对其进行描述,由终端测试工具对内容进行解释和执行。工作簿中可以存在多个工作表(sheet),根据不同的被测试对象,工作簿中都有一个与其相对应的工作表,该工作表中保存着可以对该被测试对象进行的所有测试项,以及每个测试项的实现方式和需要进行哪些操作等等的具体行为。
39.在本实例中,测试描述文件包括但不限于excel工作薄,描述单元包括但不限于工作表(sheet)。
40.在本技术的一个可选实施例中,当对被测试对象需要进行的测试项进行增加或修改时,对测试描述文件进行更新,在当前被测试对象对应的描述单元中添加或修改对应的测试项。
41.本实施例中,当前的被测试对象有新的测试项需要增加,或者需要修改测试项时,直接在对应的描述单元中进行相关的添加或修改操作即可,维护方便,可满足各种新场景新需求的测试支持,使得测试简单高效。
42.在本技术的一个具体实例中,当需要新增测试项或者修改测试项时,只需要在测试描述文件,如excel表格,修改相应的测试项或者新增相关的测试项并保存,重启终端测试工具即可实现对新的测试内容的支持,只要终端测试工具中已经支持的操作命令,即可在excel表格中自由组合这些命令,从而实现对新测试项的支持,具有高度的灵活性。只有当终端测试工具无法解释表格中的命令或没有需要的命令时,才需要对终端测试工具进行维护和修改,其余时候均不需要,以此来大大降低软件的开发量和维护量。
43.在图1所示的具体实施方式中,一种用于自动化测试的软件实现方法,还包括:
44.步骤s102,通过终端测试工具对被测试对象进行自动识别,得到被测试对象的对象信息,其中对象信息包括被测试对象的名称。
45.本实施方式中,当前被测试对象的测试环境搭建好后,在电脑的测试执行端启动终端测试工具,加载测试描述文件到终端测试工具中,识别当前的被测试对象的种类,不同种类的被测试对象对应的描述单元不同。对于识别被测试对象的种类,终端测试工具可以自动识别,若出现无法自动识别的情况,则通过复选框选择当前的被测试对象即可识别,具有高灵活性,并且识别效率高。
46.在本技术的一个具体实例中,终端测试工具获取当前的被测试对象的对象信息,包括被测试对象的文件名称、加载方式、文件编号、种类以及其支持的测试项,可以根据这些对象信息对当前的被测试对象进行自动分类查找,节省时间,降低工作量。
47.在本技术的一个可选实施例中,通过终端测试工具对被测试对象进行自动识别,还包括:若无法对被测试对象进行自动识别,则通过新增加的复选框,对被测试对象的对象信息进行手动选择。
48.本实施例中,自动识别出当前的被测试对象的种类,可以提高测试效率;应对无法自动识别的情况,通过增加复选框对当前的被测试对象进行选择,即可完成对种类的识别,灵活性高。
49.在本技术的一个具体实例中,当终端测试工具启动时,会自动加载excel工作簿,然后自动识别当前的被测试对象,对于无法实现自动识别的情况,可以新增一个复选框,在复选框中选择当前的被测试对象即可,无需添加多余的测试选项,根据当前的被测试对象的对象信息,查找工作簿中与当前的被测试对象相关的工作表,测试工具加载当前的被测试对象的工作表,并对工作表的内容开始进行解析、解释。
50.在图1所示的具体实施方式中,一种用于自动化测试的软件实现方法,还包括:
51.步骤s103,根据对象信息在测试描述文件中查找与被测试对象对应的描述单元。
52.本实施方式中,终端测试工具通过加载的测试描述文件,根据当前的被测试对象的对象信息的种类、文件名称和文件编号,可以在测试描述文件中查找与之对应的描述单元,可以大大提高测试的效率。
53.在图1所示的具体实施方式中,一种用于自动化测试的软件实现方法,还包括:
54.步骤s104,通过终端测试工具对描述单元进行解析,获取被测试对象的测试内容信息。
55.本实施方式中,根据当前的被测试对象在测试描述文件中对应的描述单元,对描述单元中记录的测试项中的至少一者进行功能解析,得到被测试对象的测试内容信息,高效便捷。
56.在本技术的一个具体实例中,在对应的描述单元中,获取每个测试项的具体描述,具体描述包括执行命令和命令结果。当前的被测试对象的测试需求不一定是将记载在描述单元中的测试项全部进行测试,可以选择其中一者或全部进行测试。
57.在本技术的一个可选实施例中,通过终端测试工具对描述单元进行解析,获取被测试对象的测试内容信息,包括:通过终端测试工具对描述单元进行解析,获得各个被测试对象的全部测试内容项;根据被测试对象的测试要求,在全部测试内容项中选择当前测试内容项,并作为被测试对象的测试内容信息。
58.本实施例中,终端测试工具通过对描述单元的解析,显示出当前的被测试对象所支持的全部的测试内容项,可以根据客户的定制要求,选择需要测试的内容项,根据用户手动选择被测试对象需要进行的测试项,在被测试对象对应的描述单元中查找与之对应的测试项,灵活可靠,测试效率高。
59.在本技术的一个具体实例中,将该当前被测试对象支持的所有测试项在终端测试工具上显示出来,用户可以选择需要进行的测试项;当开始测试时,终端测试工具会在描述单元中查找当前选择的测试项。用户根据实际测试要求对当前的被测试对象进行测试项选择,使得测试具有很高的灵活性。终端测试工具在对应的描述单元中自动查找用户选择的测试项,使得测试效率高。
60.在图1所示的具体实施方式中,一种用于自动化测试的软件实现方法,还包括:
61.步骤s105,根据测试内容信息对被测试对象进行测试。
62.本实施方式中,测试描述文件中的描述单元具体记载着被测试对象的测试内容信息,通过测试内容信息的指导对被测试对象进行测试,并根据描述单元的记载对测试结果
进行检查,完成对被测试对象的测试,测试效率高。
63.在本技术的一个可选实施例中,根据测试内容信息对被测试对象进行测试,包括:解析测试内容信息中的具体测试指令和预估测试结果;根据测试指令对被测试对象进行测试,得到当前测试结果;根据预估测试结果对当前测试结果进行检查,并对检查结果进行反馈。
64.本实施例中,根据测试内容信息中的具体测试指令对被测试对象进行测试,得到一个实际测试结果,将实际测试结果与描述单元中记载的预估测试结果进行比对检查,最后反馈检查结果,完成测试。
65.在本技术的一个可选实施例中,根据预估测试结果对当前测试结果进行检查,并对检查结果进行反馈,包括:将执行结果与对应的工作表中相应测试项的命令结果进行对比,若对比结果两者一致,则完成对当前被测试对象的测试,否则对当前被测试对象检索信息列,查找失败原因。
66.本实施例中,对当前被测试对象的测试项的具体描述中的执行命令进行执行得到执行结果,将得到执行结果与描述单元中记录的命令结果进行对比,判断当前的被测试对象的测试是否正确。
67.在本技术的一个具体实例中,获取每个测试项在描述单元中的具体描述(以下将其抽象为命令),然后对这些具体描述进行逐一的解释、执行和结果检查等。以此类推,循环往复的执行完所有的测试项,测试即完成。
68.在本技术的一个具体实例中,如下表1所示,终端测试工具可以获取到被测试对象的对象信息包括加载的程序文件名称、该程序文件的加载方式、为其配备了文件编号、使用该程序文件可以支持的测试项等等,如表1中的测试项0、测试项1、
……
;每个测试项需要执行的命令以及命令结果,如表1中的命令0和反馈结果0,命令1和反馈结果1,
……
;通过逐一的执行命令并与表格中正确的反馈结果进行比对等操作,实现对当前的被测试对象的测试操作与结果判断,判断失败时还可以检索信息列,以示例可能引起失败的原因等。当前的被测试对象的所有信息都可在表格中进行描述,上述表格只是简单的示例,实际在实现过程中还可以添加任意的各种参数,只有终端测试工具可以解析即可。
69.需要说明的是,表格不仅限于excel表格,其余任何样式的描述文件都可以,只要终端测试工具可以解释即可。
70.表1、当前的被测试对象的描述单元的示意图:
[0071][0072]
在本技术的一个具体实例中,终端测试工具可以表现为一个操作解释器,负责解释excel表格中的各种描述并实现相关的操作,最终维护时只需要维护excel表格即可,只有需要新增解释内容时,才需要对终端测试工具进行修改。从而大大的降低了终端测试工具的维护量,同时也简化对终端测试工具的开发。且对于excel表格的修改,不需要专业的开发人员即可修改,只需要终端测试工具能够解释那些操作即可。
[0073]
本技术开发简单,只需要实现对表格内容的解释即可;便于维护,大部分情况下只需要维护描述文件;高灵活性,可对各种操作进行自由组合从而实现更多更复杂的操作;复用性强,容易套用,当设计出这样的一个框架以后,便可以很容易的将其移植到其余的需求场景中。同时运用此方法设计出的软件,即使需求再多再复杂,其操作界面也可以很简洁,也不需要太多的设置选项,也不需要对软件新增太多内容。
[0074]
图2示出了本技术一种用于自动化测试的软件实现装置的具体实施方式。
[0075]
在该具体实施方式中,用于自动化测试的软件实现装置主要包括:
[0076]
模块201,用于通过终端测试工具加载预建立的测试描述文件的模块,其中测试描述文件包含被测试对象的类型及测试需求;
[0077]
模块202,用于通过终端测试工具对被测试对象进行自动识别,得到被测试对象的对象信息的模块,其中对象信息包括被测试对象的名称;
[0078]
模块203,用于根据对象信息在测试描述文件中查找与被测试对象对应的描述单元的模块;
[0079]
模块204,用于通过终端测试工具对描述单元进行解析,获取被测试对象的测试内容信息的模块;
[0080]
模块205,用于根据测试内容信息对被测试对象进行测试的模块。
[0081]
本实施方式中,首先通过对有过测试记录的被测试对象进行总结记录,将多个被测试对象的相关信息记载在一个工作簿中,将工作簿加载到电脑端测试软件上,在电脑端测试软件对当前被测试对象在工作表中的测试项的内容进行功能解释,以此达到对当前被测试对象的测试。本测试方案开发简单,降低开发工作量,便于维护,测试具有高灵活性,并且复用性强,容易针对多个被测试对象,多个测试项进行套用,节省维护成本,可以实现对各种新场景新需求的测试支持。
[0082]
本技术提供的用于自动化测试的软件实现装置,可用于执行上述任一实施例描述的用于自动化测试的软件实现方法,其实现原理和技术效果类似,在此不再赘述。
[0083]
在本技术的一个具体实施例中,本技术一种用于自动化测试的软件实现方法中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
[0084]
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0085]
处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
[0086]
在本技术的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行任一实施例中的用于自动化测试的软件实现方法。
[0087]
在本技术的另一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,该计算机指令被操作以执行任一实施例中的用于自动化测试的软件实现方法。
[0088]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0089]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0090]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献