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

一种电能表软件测试的方法及系统与流程

2022-02-20 05:13:17 来源:中国专利 TAG:


1.本技术涉及智能电能表软件技术领域,特别是涉及一种电能表软件测试的方法及系统。


背景技术:

2.随着智能电能表技术发展和业务需求的深化应用,电能表软件功能越来越复杂,逐渐形成了平台与应用分离的软件技术架构,软件app与平台的分离,支撑了独立开发,各发挥优势,同时也容易发生匹配和兼容性问题,因此需要以第三方形式对电能表软件app进行接口标准化测试,以界定问题根因和归属。


技术实现要素:

3.本公开的实施例提供了一种电能表软件测试的方法及系统,以至少解决现有技术中存在的需要以第三方形式对电能表软件app进行接口标准化测试,以界定问题根因和归属的技术问题。
4.根据本公开实施例的一个方面,提供了一种电能表软件测试的方法,包括:根据电能表软件编程标准以及电能表系统接口标准,在windows环境下,实现电能表软件app各接口,生成电能表软件虚拟运行可执行程序;
5.在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准;
6.当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;当所述电能表软件虚拟运行可执行程序正常运行时,通过系统内核提供的时钟片段测量所述电能表软件虚拟运行可执行程序占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数并记录。
7.根据本公开实施例的另一方面,还提供了一种电能表软件测试的系统,包括:生成程序模块,用于根据电能表软件编程标准以及电能表系统接口标准,在windows环境下,实现电能表软件app各接口,生成电能表软件虚拟运行可执行程序;
8.校验数据模块,用于在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准;
9.监控记录模块,用于当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;当所述电能表软件虚拟运行可执行程序正常运行时,通过系统内核提供的时钟片段测量所述电能表软件虚拟运行可执行程序占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数并记录。
10.在本发明中,通过应用于设计开发的app测试工具,辅助实现了物联网表app的第三方与互换性测试。对app开发过程中遗留的隐藏bug或者不符合接口规范的缺陷进行有效识别和验证。
附图说明
11.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
12.图1是根据本公开实施例所述的一种电能表软件测试的方法的流程示意图;
13.图2是根据本公开实施例所述的一种电能表软件测试的系统的示意图。
具体实施方式
14.现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
15.除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
16.根据本技术的第一个方面,提供了一种电能表软件测试的方法100。参考图1所示,该方法100包括:
17.s102:根据电能表软件编程标准以及电能表系统接口标准,在windows环境下,实现电能表软件app各接口,生成电能表软件虚拟运行可执行程序;
18.s104:在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准;
19.s106:当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;当所述电能表软件虚拟运行可执行程序正常运行时,通过系统内核提供的时钟片段测量所述电能表软件虚拟运行可执行程序占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数并记录。
20.具体地,通过windos应用编程模拟电能表软件app运行所需的设备和服务,实现电能表软件app运行环境虚拟化,以第三方形式运行测试环境。在模拟运行环境中嵌入接口测试函数,记录和分析软件app调用系统接口时的数据,追踪电能表软件app运行异常时的现场数据,监测app对系统资源的消耗,测试app性能指标,并以适当的形式输出测试数据:
21.步骤1:
22.依据电能表软件app编程标准,系统接口标准等,在windos下编程,已windos资源实现电能表软件app各接口,生成电能表app软件虚拟运行可执行程序。
23.步骤2:
24.在虚拟运行环境下设计开发app接口程序调用钩子函数,对接口函数调用时的现场进行记录,钩子函数具体记录当前函数入口时的上下文寄存器组,工作寄存器组数据值;判断app接口入参和调用的业务符合和技术符合性,当不符合时记录入参数据值,并向系统显示抛出调用错误,提示具体错误类型和原因。
25.步骤3:
26.设计app初始化与运行的监控函数,app初始化时,监控和记录app申请的内存空间
大小,并判断申请内存大小是否超过系统设定值,若超出设定值则纪录和提示错误。app正常运行期间,通过系统内核提供的时钟片段测量标定app占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数,并记录。通过设计内存越界监控程序,记录内存异常信息,当发生访问堆上已经被释放的内存、堆上缓冲区访问溢出、栈上缓冲区访问溢出、全局缓冲区访问溢出、访问栈上已被释放的内存、栈对象使用超过定义范围、内存泄漏等内存异常时,则立即停止运行,并记录内存地址信息,纪录当前上下文工作寄存器组和工作寄存器组。
27.从而,通过应用于设计开发的app测试工具,辅助实现了物联网表app的第三方与互换性测试。对app开发过程中遗留的隐藏bug或者不符合接口规范的缺陷进行有效识别和验证。
28.可选地,在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准,包括:
29.在虚拟运行环境下,通过电能表软件虚拟运行可执行程序调用钩子函数,根据所述钩子函数调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准。
30.可选地,在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准,还包括:
31.当所述电能表软件app各接口入参和调用的业务数据和技术手段不符合标准,记录所述电能表软件app各接口的入参数据值,并显示调用错误以及所述错误的类型和原因;
32.所述电能表数据包括上下文寄存器组数据值以及工作寄存器组数据值。
33.当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小,包括:
34.当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;
35.判断所述申请内存大小是否超过系统设定值,若所述申请内存大小超过系统设定值,则记录和提示错误。
36.可选地,当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;当所述电能表软件虚拟运行可执行程序正常运行时,通过系统内核提供的时钟片段测量所述电能表软件虚拟运行可执行程序占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数并记录,还包括:
37.通过设计内存越界监控程序,记录内存异常信息,当发生内存异常时,停止运行,并记录内存地址信息,记录当前上下文工作寄存器组和工作寄存器组。
38.可选地,所述内存异常包括以下至少一种:
39.访问堆上已经被释放的内存、堆上缓冲区访问溢出、栈上缓冲区访问溢出、全局缓冲区访问溢出、访问栈上已被释放的内存、栈对象使用超过定义范围以及内存泄漏。
40.从而,通过应用于设计开发的app测试工具,辅助实现了物联网表app的第三方与互换性测试。对app开发过程中遗留的隐藏bug或者不符合接口规范的缺陷进行有效识别和验证。
41.根据本技术的第二个方面,还提供了一种电能表软件测试的系统200。该系统200
包括:
42.生成程序模块210,用于根据电能表软件编程标准以及电能表系统接口标准,在windows环境下,实现电能表软件app各接口,生成电能表软件虚拟运行可执行程序;
43.校验数据模块220,用于在虚拟运行环境下,调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准;
44.监控记录模块230,用于当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;当所述电能表软件虚拟运行可执行程序正常运行时,通过系统内核提供的时钟片段测量所述电能表软件虚拟运行可执行程序占用一次cpu资源的时间长短,统计一秒时间内app调用系统的次数并记录。
45.可选地,校验数据模块220,包括:
46.校验子模块,用于在虚拟运行环境下,通过电能表软件虚拟运行可执行程序调用钩子函数,根据所述钩子函数调用接口函数记录电能表数据,根据所述电能表数据检验电能表软件app各接口入参和调用的业务数据和技术手段是否符合标准。
47.可选地,校验数据模块220,还包括:
48.显示错误子模块,用于当所述电能表软件app各接口入参和调用的业务数据和技术手段不符合标准,记录所述电能表软件app各接口的入参数据值,并显示调用错误以及所述错误的类型和原因;
49.所述电能表数据包括上下文寄存器组数据值以及工作寄存器组数据值。
50.可选地,监控记录模块230,包括:
51.监控记录内存子模块,用于当所述电能表软件虚拟运行可执行程序初始化时,监控和记录所述电能表软件虚拟运行可执行程序的申请内存大小;
52.判断内存子模块,用于判断所述申请内存大小是否超过系统设定值,若所述申请内存大小超过系统设定值,则记录和提示错误。
53.可选地,监控记录模块230,还包括:
54.通过设计内存越界监控程序,记录内存异常信息,当发生内存异常时,停止运行,并记录内存地址信息,记录当前上下文工作寄存器组和工作寄存器组。
55.可选地,所述内存异常包括以下至少一种:
56.访问堆上已经被释放的内存、堆上缓冲区访问溢出、栈上缓冲区访问溢出、全局缓冲区访问溢出、访问栈上已被释放的内存、栈对象使用超过定义范围以及内存泄漏。
57.本发明的实施例的一种电能表软件测试的系统200与本发明的另一个实施例的一种电能表软件测试的方法100相对应,在此不再赘述。
58.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
59.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
60.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
61.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
62.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
63.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献