首页 / 专利库 / 软件 / 用户界面 / 一种自动化测试方法和装置

一种自动化测试方法和装置

阅读:339发布:2024-02-19

专利汇可以提供一种自动化测试方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种自动化测试方法和装置。该方法包括:启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;将消息数组中的消息依次执行;若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了 嵌入式系统 软件 测试中所需要的其他设备,省略了专 门 设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。,下面是一种自动化测试方法和装置专利的具体信息内容。

1.一种自动化测试方法,其特征在于,包括:
启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
将消息数组中的消息依次执行;
若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试,所述动作在图形用户界面上操作实现,每个在图形用户界面上的动作都会产生一个动作消息。
2.根据权利要求1所述的一种自动化测试方法,其特征在于,所述测试文件的预录过程具体为:
将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
3.根据权利要求2所述的一种自动化测试方法,其特征在于,若预录多个测试文件,则在将消息数组中的消息写入到测试文件之后,还包括:
清空消息数组,将录测任务挂起,重新开始所述测试文件的预录过程。
4.根据权利要求1所述的一种自动化测试方法,其特征在于,所述将消息数组中的消息依次执行,具体为:
依次确认消息类型,若不是间隔消息,将消息发送到GUI消息队列执行;若是间隔消息,则根据间隔消息中的时间间隔计时,计时结束即间隔消息执行结束。
5.根据权利要求1所述的一种自动化测试方法,其特征在于,所述消息数组中的一条消息包括消息类型和消息值。
6.一种自动化测试装置,其特征在于,包括:
测试加载单元,用于启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
测试执行单元,用于将消息数组中的消息依次执行;
测试跳转单元,用于若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试,所述动作在图形用户界面上操作实现,每个在图形用户界面上的动作都会产生一个动作消息。
7.根据权利要求6所述的一种自动化测试装置,其特征在于,还包括文件预录单元,所述文件预录单元包括:
消息记录模,用于将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
文件写入模块,用于确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
8.根据权利要求7所述的一种自动化测试装置,其特征在于,所述文件预录单元还包括数组清空模块,用于若预录多个测试文件,则在将消息数组中的消息写入到测试文件之后,清空消息数组,将录测任务挂起,重新开始所述测试文件的预录过程。
9.根据权利要求6所述的一种自动化测试装置,其特征在于,所述测试执行单元,具体用于:
依次确认消息类型,若不是间隔消息,将消息发送到GUI消息队列执行;若是间隔消息,则根据间隔消息中的时间间隔计时,计时结束即间隔消息执行结束。
10.根据权利要求6所述的一种自动化测试装置,其特征在于,所述消息数组中的一条消息包括消息类型和消息值。

说明书全文

一种自动化测试方法和装置

技术领域

[0001] 本发明涉及软件测试领域,尤其涉及一种自动化测试方法和装置。

背景技术

[0002] 目前嵌入式系统软件的自动化测试多是基于脚本编程语言,通过pc与目标机链接,将脚本解析成动作发给目标机执行;
[0003] 或者自动化测试设备根据用户操作生成操作序列;所述自动化测试设备向用户提供所述操作序列,并根据所述用户对所述操作序列的编辑操作生成用例文件;所述自动化测试设备将所述用例文件转换成测试脚本;所述自动化测试设备用于根据所述测试脚本调用相应的应用程序接口API函数,执行自动化测试。
[0004] 以上的做法各自存在缺点:
[0005] 1、必须要有自动化测试设备对要进行测试的机器进行控制;
[0006] 2、必须写脚本或者转换成脚本,对测试人员的技能要求较高。

发明内容

[0007] 本发明提出了一种免除了嵌入式系统软件测试中所需要的其他设备,无需专设计测试脚本的自动化测试方法和装置。
[0008] 为实现上述设计,本发明采用以下技术方案:
[0009] 一方面采用一种自动化测试方法,包括:
[0010] 启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
[0011] 将消息数组中的消息依次执行;
[0012] 若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0013] 其中,所述测试文件的预录过程具体为:
[0014] 将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
[0015] 确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0016] 其中,若预录多个测试文件,则在将消息数组中的消息写入到测试文件之后,还包括:
[0017] 清空消息数组,将录测任务挂起,重新开始所述测试文件的预录过程。
[0018] 其中,所述将消息数组中的消息依次执行,具体为:
[0019] 依次确认消息类型,若不是间隔消息,将消息发送到GUI消息队列执行;若是间隔消息,则根据间隔消息中的时间间隔计时,计时结束即间隔消息执行结束。
[0020] 其中,所述消息数组中的一条消息包括消息类型和消息值。
[0021] 另一方面采用一种自动化测试装置,包括:
[0022] 测试加载单元,用于启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
[0023] 测试执行单元,用于将消息数组中的消息依次执行;
[0024] 测试跳转单元,用于若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0025] 其中,还包括文件预录单元,所述文件预录单元包括:
[0026] 消息记录模,用于将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
[0027] 文件写入模块,用于确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0028] 其中,所述文件预录单元还包括数组清空模块,用于若预录多个测试文件,则在将消息数组中的消息写入到测试文件之后,
[0029] 清空消息数组,将录测任务挂起,重新开始所述测试文件的预录过程。
[0030] 其中,所述测试执行单元,具体用于:
[0031] 依次确认消息类型,若不是间隔消息,将消息发送到GUI消息队列执行;若是间隔消息,则根据间隔消息中的时间间隔计时,计时结束即间隔消息执行结束。
[0032] 其中,所述消息数组中的一条消息包括消息类型和消息值。
[0033] 本发明的有益效果在于:通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。附图说明
[0034] 为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
[0035] 图1是本发明实施例提供的一种自动化测试方法的第一个实施例方法流程图
[0036] 图2是本发明实施例提供的一种自动化测试方法的第二个实施例方法流程图。
[0037] 图3是本发明实施例提供的一种自动化测试方法的第三个实施例方法流程图。
[0038] 图4是本发明实施例提供的一种自动化测试装置的第一个实施例的结构方框图
[0039] 图5是本发明实施例提供的一种自动化测试装置的第二个实施例的结构方框图。
[0040] 图6是本发明实施例提供的一种自动化测试装置的第三个实施例的结构方框图。

具体实施方式

[0041] 为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042] 请参考图1,其是本发明实施例提供的一种自动化测试方法的第一个实施例的方法流程图。本实施例的自动化测试方法主要应用于嵌入式多任务操作系统。嵌入式系统是指操作系统和同能软件集成于计算机硬件系统中。简单的说就是系统的应用软件与系统的硬件一体化,类似于BIOS的工作方式,具有软件代码小,高度自动化,响应速度快等特点。它与传统的普通单片机灯处理器最大的不同就在于它特别适合与要求实时的和多任务的体系。特别适用于控制或者监视机器、装置、工厂等大规模系统的设备。
[0043] 如图1所示,该自动化测试方法,包括:
[0044] 步骤S101:启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起。
[0045] 在现有的测试方案中,需要一个实际存在的用户在执行测试过程,可能对于某个单项的测试而言可以自动执行测试用例,但是在多个测试的过程中,需要手动进行控制或者是需要自动化的测试设备对要进行测试的机器进行控制,整个测试过程的测试成本升高。在该步骤中,设计一个具备最高优先级的录测任务,录测任务除了在测试过程中会用到,在测试文件的预录过程中也会用到。录测任务相当于测试过程中一个用户,该用户在测试中的动作就是将测试文件进行解析和加载,一个测试文件执行完毕之后,将下一个测试文件进行解析和加载,测试人员所需要做的就是将需要测试的测试文件一次性准备好。
[0046] 步骤S102:将消息数组中的消息依次执行。
[0047] 在一个测试文件中,实际上就是多个消息的集合,每一个消息就是一个动作,将动作依次执行,进行测试。
[0048] 步骤S103:若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0049] 此处的判断依据是预先准备的测试文件是否均已测试完毕,如果没有则重启录测任务,相当于返回步骤S101;如果测试文件均已测试完毕则结束测试。具体的测试过程及测试数据的统计在现有技术中多有说明,此处不再赘述。
[0050] 综上所述,本发明实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0051] 请参考图2,其是本发明实施例提供的一种自动化测试方法的第二个实施例的方法流程图。本实施例与方法第一个实施例的主要区别在于,进一步说明了测试文件的预录过程。
[0052] 如图2所示,该自动化测试方法,包括:
[0053] 步骤S201:将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息。
[0054] 在嵌入式多任务操作系统中,系统中的各个动作在图形用户界面上操作实现,每个在图形用户界面上的动作都会产生一个动作消息,将动作消息传输到GUI(Graphical User Interface,图形用户界面)消息队列,以备执行。本发明中的预录测试文件的过程,实际是在对系统进行操作时记录动作消息的过程,免除编写测试用例。在对图形用户界面的操作过程中,每当GUI消息队列获取到消息,就将消息对应的记录的消息数组,因为在实际的操作过程中,相邻的两条操作消息之间有间隔,而这个间隔在GUI消息队列中是不会生成的,为了使实际的测试过程与人为操作尽可能相似,在将消息记录到消息数组之前,先生成一条间隔消息,以间隔消息在测试中实现人为操作时相邻两个动作之间的停顿,使得测试更加符合实际使用情况。
[0055] 步骤S202:确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0056] 前一实施例中所述的录测任务在预录测试文件的过程中依然可用,因为预录测试文件的过程与实际的测试过程不可能同时进行,故而可以将同一个录测任务用于不同的场合。每一个不同的测试内容,都是由多个不同的动作消息组合,每一个动作消息组合写入到一个测试文件,对应一个测试内容。每个测试内容对应的动作消息录制完毕之后,启动录测任务,写入文件。
[0057] 步骤S203:启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起。
[0058] 步骤S204:将消息数组中的消息依次执行。
[0059] 步骤S205:若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0060] 综上所述,本发明实施例进一步说明了测试文件的录测过程,通过创新设计的录测方式,撷取操作过程中的动作消息,直接对图形用户界面操作即可完成测试文件的录制,在此详细说明了如何省略设计测试脚本的过程。本实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0061] 请参考图3,其是本发明实施例提供的一种自动化测试方法的第三个实施例的方法流程图。本实施例与方法第二个实施例的主要区别在于,进一步设置了多个测试文件的预录过程,以及消息数组中的消息执行的具体步骤。
[0062] 如图3所示,该自动化测试方法,包括:
[0063] 步骤S301:将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息。
[0064] 步骤S302:确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0065] 步骤S303:判断多个测试文件是否预录完毕,是则继续步骤S304,否则返回步骤S301。
[0066] 步骤S304:启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起。
[0067] 在每一个测试文件中,在其预录过程中,在最后生成一个结束消息,在解析的过程中将结束消息也加载到消息数组,当执行到消息数组的时候也就是单个测试文件执行完毕的时候。
[0068] 步骤S305:确认消息数组中的当前消息是否是是间隔消息,是则根据间隔消息中的时间间隔计时,计时结束即间隔当前消息执行结束;计时结束后将后一条消息设置为当前消息。
[0069] 步骤S306:若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0070] 对于更具体的测试结果的呈现和分析,在现有技术中多有说明,此处不再赘述。
[0071] 为了进一步说明测试的实际过程,在本实施例中对实际的消息、数组和测试文件的变化过程进行详细说明。
[0072] 首先,录制一个动作消息,其对应的消息的基本结构,仅仅需要8个字节,结构如下:
[0073] typedef struct
[0074] {
[0075] unsigned int msg;
[0076] unsigned int type;
[0077] }StructMsg;
[0078] 其中type表示消息类型,如PEN_UP,PEN_DOWN,SLEEP,KEY_DOWN,KEY_UP等。Msg代表的是具体的消息值,例如按键代号或者坐标或者时钟周期,视type而定。比如一个点屏消息,那么type=PEN_DOWN,msg=坐标值(高2位横坐标,低2位纵坐标)。比如一个休眠消息那么type=SLEEP,msg=时长(多少个系统时钟周期)比如结束消息那么type=OVER,msg=0(无意义)。因为嵌入式系统都会有消息的定义,可能略有差异,我们只关心这两字段,其他的我们不用关心。因为操作的时候,实际的操作消息与消息之间有间隔,所以中间要增加一条SLEEP消息,也就是前文所述的间隔消息,其中间隔消息并不是手动直接生成的,而是根据两次操作的时间差而得到具体的消息值。
[0079] 其次,在预录测试文件的过程中,每一个动作会生成一个消息,这个消息将会发送到GUI消息队列预备执行,在本方案中,将消息执行的同时,还会将这个消息记录到消息数组,更微观的度来讲,在堆上申请一个消息数组,这个消息数组相当于一个临时的存储仓库,每次从GUI消息队列中撷取到的消息放置到这个临时的存储仓库中,当然也包括间隔消息,消息数组的设计以免多次写入测试文件。
[0080] 最后,当一个测试内容对应的消息撷取完毕后,将消息数组中的多个消息写入到测试文件,同时将消息数组清空,以备下一个测试内容的测试文件的录制。
[0081] 在测试过程中,将上述三步倒序一次执行即可,唯一需要注意的是,间隔消息的处理方式,仅仅是计时而已,在GUI消息队列中是不会有具体的动作执行的。
[0082] 综上所述,本发明实施例进一步确定了消息的结构方式,详细阐述了测试过程中消息的执行过程。整体而言,本实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0083] 以下为本发明实施例提供的一种自动化测试装置的实施例。自动化测试装置的实施例与上述的自动化测试方法实施例属于同一构思,自动化测试装置的实施例中未详尽描述的细节内容,可以参考上述自动化测试方法实施例。
[0084] 请参考图4,其是本发明实施例提供的自动化测试装置的第一个实施例的结构方框图。该自动化测试装置,包括如下内容:
[0085] 测试加载单元410,用于启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
[0086] 测试执行单元420,用于将消息数组中的消息依次执行;
[0087] 测试跳转单元430,用于若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0088] 本发明实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0089] 请参考图5,其是本发明实施例提供的自动化测试装置的第二个实施例的结构方框图,与自动化测试装置的第一个实施例相比,本实施例进一步说明了测试文件的预录过程。该自动化测试装置,包括如下内容:
[0090] 测试加载单元410,用于启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
[0091] 测试执行单元420,用于将消息数组中的消息依次执行;
[0092] 这里的测试执行单元420,其运转指令就是系统时钟的tick,每来一次tick,如果到了时间间隔,则将下一条消息发送到系统GUI消息队列,系统就开始执行了。
[0093] 测试跳转单元430,用于若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0094] 其中,还包括文件预录单元440,所述文件预录单元440包括:
[0095] 消息记录模块441,用于将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
[0096] 文件写入模块442,用于确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0097] 本发明实施例进一步说明了测试文件的录测过程,通过创新设计的录测方式,撷取操作过程中的动作消息,直接对图形用户界面操作即可完成测试文件的录制,在此详细说明了如何省略设计测试脚本的过程。本实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0098] 请参考图6,其是本发明实施例提供的自动化测试装置的第三个实施例的结构方框图,与自动化测试装置的第二个实施例相比,本实施例进一步设置了多个测试文件的预录过程,以及消息数组中的消息执行的具体步骤。该自动化测试装置,包括如下内容:
[0099] 测试加载单元410,用于启动预设的具备最高优先级的录测任务,所述录测任务将一个测试文件中记录的动作解析成消息加载到消息数组,然后将录测任务自身挂起;
[0100] 测试执行单元420,用于将消息数组中的消息依次执行;
[0101] 测试跳转单元430,用于若测试尚未结束,重新启动预设的具备最高优先级的录测任务,否则结束测试。
[0102] 其中,还包括文件预录单元440,所述文件预录单元440包括:
[0103] 消息记录模块441,用于将GUI消息队列中请求到的消息记录到消息数组,其中第一条之后的消息在记录之前根据前一条消息与本条消息之间的时间间隔生成一条间隔消息;
[0104] 文件写入模块442,用于确认消息记录结束,启动预设的具备最高优先级的录测任务,将消息数组中的消息写入到测试文件。
[0105] 进一步地,所述文件预录单元440还包括数组清空模块443,用于若预录多个测试文件,则在将消息数组中的消息写入到测试文件之后,
[0106] 清空消息数组,将录测任务挂起,重新开始所述测试文件的预录过程。
[0107] 其中,所述测试执行单元,具体用于:
[0108] 依次确认消息类型,若不是间隔消息,将消息发送到GUI消息队列执行;若是间隔消息,则根据间隔消息中的时间间隔计时,计时结束即间隔消息执行结束。
[0109] 其中,所述消息数组中的一条消息包括消息类型和消息值。
[0110] 综上所述,本发明实施例进一步确定了消息的结构方式,详细阐述了测试过程中消息的执行过程。整体而言,本实施例通过设计测试任务的设计,直接将预录的测试文件加载后进行测试,免除了嵌入式系统软件测试中所需要的其他设备,省略了专门设计测试脚本的过程,以高优先级的任务充当用户的这种策略,选择测试文件即可进行测试,简化了测试难度。
[0111] 以上内容仅为本发明的较佳实施例,对于本领域的普通技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈