CN112181806A - 一种基于tftp协议的嵌入式软件测试装置及方法 - Google Patents

一种基于tftp协议的嵌入式软件测试装置及方法 Download PDF

Info

Publication number
CN112181806A
CN112181806A CN202010913163.4A CN202010913163A CN112181806A CN 112181806 A CN112181806 A CN 112181806A CN 202010913163 A CN202010913163 A CN 202010913163A CN 112181806 A CN112181806 A CN 112181806A
Authority
CN
China
Prior art keywords
script
pile
computer
upper computer
lower computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010913163.4A
Other languages
English (en)
Inventor
李海海
陈晓轩
兰青辉
刘心田
沈悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casco Signal Ltd
Original Assignee
Casco Signal Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casco Signal Ltd filed Critical Casco Signal Ltd
Priority to CN202010913163.4A priority Critical patent/CN112181806A/zh
Publication of CN112181806A publication Critical patent/CN112181806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于TFTP协议的嵌入式软件测试装置及方法,其中装置包括上位机和下位机,所述的上位机通过TFTP协议与下位机连接;所述的上位机通过TFTP协议与下位机之间传送消息,通过上位机来动态管理桩代码,下位机解析桩代码,实现桩代码在软件运行过程中打开,执行既定的测试功能。与现有技术相比,本发明具有通过动态开启桩代码,来提高测试效率,实现自动化测试等优点。

Description

一种基于TFTP协议的嵌入式软件测试装置及方法
技术领域
本发明涉及嵌入式软件测试技术,尤其是涉及一种基于TFTP协议的嵌入式软件测试装置及方法。
背景技术
铁路信号系统中嵌入式系统应用广泛,VCU(Vital Control Unit,安全控制单元)是提供2取2、热备冗余等功能的安全开发平台,上层应用可以调用平台提供的接口,实现自己的功能,目前已经在铁路信号系统进行应用,例如输入输出控制单元、信号灯控制单元等。
在对嵌入式平台进行测试时,需要在源代码中插入大量的测试桩代码,而且编译和烧录过程比较耗时,因此不能采用固定桩代码的形式,在这种情况下,需要引入自动化测试平台,实现上位机发送命令,下位机解析命令后,根据解析到的命令实现我们需要的功能,并实现能够自动记录测试日志的功能。
在嵌入式系统中,对系统的资源利用率比较敏感,测试平台不能占用太多资源,因此采用何种方式进行测试,从而来不占用额外的系统资源,成为当下需要解决的技术问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于TFTP协议的嵌入式软件测试装置及方法,能够应用于嵌入式平台软件测试,通过动态开启桩代码,来提高测试效率,实现自动化测试。
本发明的目的可以通过以下技术方案来实现:
一种基于TFTP协议的嵌入式软件测试装置,包括上位机和下位机,所述的上位机通过TFTP协议与下位机连接;
所述的上位机通过TFTP协议与下位机之间传送消息,通过上位机来动态管理桩代码,下位机解析桩代码,实现桩代码在软件运行过程中打开,执行既定的测试功能。
优选地,所述的上位机包括:
用例管理模块,用于管理需要执行的用例;
桩管理模块,用于编辑用例需要发送的文件信息,供下位机解析。
优选地,所述的用例管理模块采用python脚本的方式发送信息给下位机。
优选地,所述的下位机包括相互之间通过TFTP协议连接的MVCU(Master VitalControl Unit,主安全控制单元)和SVCU(Slave Vital Control Unit,从安全控制单元)。
优选地,所述的MVCU和SVCU均包括:
桩解析模块,用于通过回调函数,收到上位机发送的消息命令后,下位机就会解析文件,打开相应的桩;
桩代码模块,用于在运行时,若相应的桩被打开,则执行桩代码,桩代码可实现改变被测软件测某个值、发送打印信息。
优选地,所述的桩解析模块进行周期性调用。
优选地,所述的桩代码模块根据具体需要,编写相应的函数实现不同的功能。
一种采用所述的基于TFTP协议的嵌入式软件测试装置的测试方法,该方法具体包括以下步骤:
步骤S1、下位机桩列表准备:编写下位机桩;
步骤S2、下位机桩代码编写:根据实际需要,编写所需要的桩功能;
步骤S3、建立上位机用例文件夹,根据用例文件名字命名,每个文件夹下可存储一个用例的多个步骤;
步骤S4、上位机脚本编辑,上位机要编写相应的桩脚本文件,放在相应的用例文件夹下,脚本内容用户可自定义,根据不同的文件内容,实现自定义的功能,要与步骤S2中下位机的解析脚本内容相互对应;
步骤S5、上位机脚本执行,上位机脚本编写完成后,通过TFTP协议将用例脚本内容传给下位机,如果需要执行多个用例,可将所有要执行的用例文件名字都写在所有执行的python文件中;
步骤S6、下位机脚本解析,下位机收到脚本后,解析脚本内容,若脚本内容为MVCU脚本,执行步骤S7,若脚本内容为SVCU脚本,执行步骤S8;
步骤S7、MVCU收到脚本信息后,解析脚本内容,实现步骤S2定义的功能;
步骤S8、下位机收到脚本后,解析基本为SVCU脚本,则将脚本信息转发给SVCU;SVCU收到脚本信息后,解析脚本内容,实现步骤S2定义的功能。
优选地,所述的下位机桩是以枚举的方式列出,以测试用例号和步骤号为标识,为每个测试桩分配一个唯一的标识,这样方便与用例对应,以便于后续回归是自动执行需要执行的测试用例。
优选地,所述的桩代码可改变函数变量,或通过函数来实现某种功能,根据不同的用户需求,可自定义桩实现的功能,以满足测试需求。
与现有技术相比,本发明具有以下优点:
1、本发明可实现桩代码动态注入,减少烧录和编译时间,实现多个桩动态开启;
2、本发明采用TFTP协议传输,占用资源比较少,不影响被测软件的性能;
3、本发明采用TFTP协议传输,文件内容可根据用户需求而定制,可扩展性比较强;
4、本发明提供了用例管理,方便后续测试回归;
5、本发明支持多个用例顺序执行,可实现自动化测试;
6、本发明可应用于不同的嵌入式系统,使用范围比较广。
附图说明
图1为本发明软件流程图;
图2为本发明的结构框图;
图3为下位机桩代码准备的示意图;
图4为上位机桩命令的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
在嵌入式系统中,对系统的资源利用率比较敏感,测试平台不能占用太多资源,因为TFTP协议提供不复杂、开销不大的文件传输服务,VCU对外通信采用的为TFTP协议。为不占用额外的系统资源,测试平台也采用TFTP协议。
本发明采用TFTP的方式传送消息,通过上位机来动态管理桩,下位机解析桩代码,实现桩代码在软件运行过程中打开,执行既定的功能。在嵌入式内部之间,为了节省资源开销,也采用TFTP的传输方式,如图2。TFTP是以文件的形式传输,这样文件内容可以便于改变,可以根据用户需求,定义传输的内容,提高了平台的可扩展性。
如图2所示,本发明基于TFTP协议的嵌入式软件测试装置,包括上位机和下位机,所述的上位机通过TFTP协议与下位机连接;
所述的上位机通过TFTP协议与下位机之间传送消息,通过上位机来动态管理桩代码,下位机解析桩代码,实现桩代码在软件运行过程中打开,执行既定的测试功能。
上位机(运行在PC机软件)主要模块如下:
1)用例管理模块,主要管理需要执行的用例,采用python脚本的方式,控制发送给下位机。
2)桩管理模块,编辑用例需要发送的文件信息,供下位机解析。
下位机(被测迁入是软件以及桩代码),主要模块如下。
1)桩解析模块,周期性调用,通过回调函数,收到上位机发送的消息命令后,下位机就会解析文件,打开相应的桩。
2)桩代码模块,在运行时,如果相应的桩被打开,则执行桩代码,桩代码可实现改变被测软件测某个值、发送打印信息等,可根据具体需要,编写相应的函数实现不同的功能。
本发明实现动态桩代码管理,占用资源少,不影响被测软件的性能,流程图如图如图1,包括:
步骤S1、下位机桩列表准备:编写下位机的桩,下位机桩是以枚举的方式列出,以测试用例号和步骤号为标识,为每个测试桩分配一个唯一的标识,这样方便与用例对应,以便于后续回归是自动执行需要执行的测试用例,如图3所示。
步骤S2、下位机桩代码编写:根据实际需要,编写所需要的桩功能,桩代码可以改变函数变量,也可以通过函数来实现某种功能等,根据不同的用户需求,可以自定义桩实现的功能,以满足测试需求,如图3所示。
步骤S3、建立上位机用例文件夹:可以根据用例文件名字命名,每个文件夹下可存储一个用例的多个步骤,方便用例管理。
步骤S4、上位机脚本编辑:上位机要编写相应的桩脚本文件,放在相应的用例文件夹下,脚本内容用户可以自定义,根据不同的文件内容,实现自定义的功能,要与步骤S2中下位机的解析脚本内容相互对应。内容如图4所示。
步骤S5、上位机脚本执行:上位机脚本编写完成后,然后通过TFTP协议,将用例脚本内容传给下位机,如果需要执行多个用例,可以将所有要执行的用例文件名字都写在所有执行的python文件中,具体过程如图4。
步骤S6、下位机脚本解析:下位机收到脚本后,解析脚本内容,为MVCU脚本,测本地接收。
步骤S7、根据解析的内容,实现步骤S2定义的功能。
如需要将TFTP消息传到如图2的SVCU中,则采用如下步骤:
步骤S1-1:同上述步骤的S1-S6;
步骤S1-2:下位机收到脚本后,解析基本为SVCU脚本,则将脚本信息转发给SVCU。
步骤S1-3:SVCU收到脚本信息后,解析脚本内容,如为SVCU脚本,则本地接收,实现步骤S2定义的功能。
具体实施例
通过步骤S1,建立下位机的用例列表typedef enum
Figure BDA0002664028690000051
通过步骤S3,在上位机建立名为SwRT-0001的文件夹,然后通过S4,编写上位机的脚本信息,脚本信息为:CONN(SYS.A),发给系统的A系统;WAIT("Abe-start")等待下位机发送Abe-start信息,当上位机收到Abe-start信息后,执行TFTP("00010111",6);上位机脚本信息准备好后,通过步骤S5,执行脚本操作,按照脚本信息,将脚本内容发给下位机;下位机收到脚本信息后,通过步骤S6解析脚本信息,0001代表第一个用例01代表第一步,11代表在下位机的CPUA和CPUB都将桩打开;脚本解析后,通过步骤S7,将SwRT_000101的状态置为TRUE,当代码执行到插桩位置时候,就会将Runmode的参数改为1.如果需要将此桩关闭,可以通过步骤S4,修改桩脚本为TFTP("00010100",6),然后通过步骤S5,再次发送脚本信息,当下位机收到脚本信息后,通过步骤S6解析脚本,然后通过步骤S7,将SwRT_000101的状态置为FALSE,软件就不会改Runmode的值。
如果自动化执行,在步骤S5,将多个用例写入执行的脚本,可以顺序执行用例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于TFTP协议的嵌入式软件测试装置,其特征在于,包括上位机和下位机,所述的上位机通过TFTP协议与下位机连接;
所述的上位机通过TFTP协议与下位机之间传送消息,通过上位机来动态管理桩代码,下位机解析桩代码,实现桩代码在软件运行过程中打开,执行既定的测试功能。
2.根据权利要求1所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的上位机包括:
用例管理模块,用于管理需要执行的用例;
桩管理模块,用于编辑用例需要发送的文件信息,供下位机解析。
3.根据权利要求2所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的用例管理模块采用python脚本的方式发送信息给下位机。
4.根据权利要求1所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的下位机包括相互之间通过TFTP协议连接的MVCU和SVCU。
5.根据权利要求4所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的MVCU和SVCU均包括:
桩解析模块,用于通过回调函数,收到上位机发送的消息命令后,下位机就会解析文件,打开相应的桩;
桩代码模块,用于在运行时,若相应的桩被打开,则执行桩代码,桩代码可实现改变被测软件测某个值、发送打印信息。
6.根据权利要求5所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的桩解析模块进行周期性调用。
7.根据权利要求5所述的一种基于TFTP协议的嵌入式软件测试装置,其特征在于,所述的桩代码模块根据具体需要,编写相应的函数实现不同的功能。
8.一种采用权利要求1所述的基于TFTP协议的嵌入式软件测试装置的测试方法,其特征在于,该方法具体包括以下步骤:
步骤S1、下位机桩列表准备:编写下位机桩;
步骤S2、下位机桩代码编写:根据实际需要,编写所需要的桩功能;
步骤S3、建立上位机用例文件夹,根据用例文件名字命名,每个文件夹下可存储一个用例的多个步骤;
步骤S4、上位机脚本编辑,上位机要编写相应的桩脚本文件,放在相应的用例文件夹下,脚本内容用户可自定义,根据不同的文件内容,实现自定义的功能,要与步骤S2中下位机的解析脚本内容相互对应;
步骤S5、上位机脚本执行,上位机脚本编写完成后,通过TFTP协议将用例脚本内容传给下位机,如果需要执行多个用例,可将所有要执行的用例文件名字都写在所有执行的python文件中;
步骤S6、下位机脚本解析,下位机收到脚本后,解析脚本内容,若脚本内容为MVCU脚本,执行步骤S7,若脚本内容为SVCU脚本,执行步骤S8;
步骤S7、MVCU收到脚本信息后,解析脚本内容,实现步骤S2定义的功能;
步骤S8、下位机收到脚本后,解析基本为SVCU脚本,则将脚本信息转发给SVCU;SVCU收到脚本信息后,解析脚本内容,实现步骤S2定义的功能。
9.根据权利要求8所述的测试方法,其特征在于,所述的下位机桩是以枚举的方式列出,以测试用例号和步骤号为标识,为每个测试桩分配一个唯一的标识,这样方便与用例对应,以便于后续回归是自动执行需要执行的测试用例。
10.根据权利要求8所述的测试方法,其特征在于,所述的桩代码可改变函数变量,或通过函数来实现某种功能,根据不同的用户需求,可自定义桩实现的功能,以满足测试需求。
CN202010913163.4A 2020-09-03 2020-09-03 一种基于tftp协议的嵌入式软件测试装置及方法 Pending CN112181806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010913163.4A CN112181806A (zh) 2020-09-03 2020-09-03 一种基于tftp协议的嵌入式软件测试装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010913163.4A CN112181806A (zh) 2020-09-03 2020-09-03 一种基于tftp协议的嵌入式软件测试装置及方法

Publications (1)

Publication Number Publication Date
CN112181806A true CN112181806A (zh) 2021-01-05

Family

ID=73924702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010913163.4A Pending CN112181806A (zh) 2020-09-03 2020-09-03 一种基于tftp协议的嵌入式软件测试装置及方法

Country Status (1)

Country Link
CN (1) CN112181806A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114048130A (zh) * 2021-11-11 2022-02-15 上海复深蓝软件股份有限公司 单元测试方法、装置、计算机设备及存储介质
CN115718621A (zh) * 2022-11-25 2023-02-28 上海卓阳储能科技有限公司 一种基于解释型命令脚本二次实时开发的ems控制技术

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114048130A (zh) * 2021-11-11 2022-02-15 上海复深蓝软件股份有限公司 单元测试方法、装置、计算机设备及存储介质
CN115718621A (zh) * 2022-11-25 2023-02-28 上海卓阳储能科技有限公司 一种基于解释型命令脚本二次实时开发的ems控制技术

Similar Documents

Publication Publication Date Title
CN101150463B (zh) 测试方法和系统
CN108227680B (zh) 汽车诊断仪及其运行系统方法、汽车诊断系统
CN100570566C (zh) 一种异构多核间协调调度的方法及异构多核系统
CN103298016A (zh) 移动终端的测试系统
CN112181806A (zh) 一种基于tftp协议的嵌入式软件测试装置及方法
CN114253740A (zh) 基于Linux内核的协议栈数据传输方法及装置
US9075542B2 (en) Storage system
EP2466943B1 (en) Method and device for monitoring running state of card
CN106790403B (zh) 实现移动云计算中间平台的方法及实现分布式的方法
CN111459632A (zh) 一种供终端应用程序调用的串口代理及实现方法
CN115827168B (zh) 一种二进制仿真环境下虚拟机通信的优化方法
CN104993583B (zh) 配电自动化设备的通信方法
CN102169447A (zh) 一种自定义外壳程序的注册、注销方法及相应的系统
CN109274715B (zh) 车载多通道通信系统的平台资源管理系统
CN108874699B (zh) 多系统使用mtp功能的方法、装置及电子设备
CN113297124A (zh) 设备枚举方法、设备、系统及存储介质
CN112698912B (zh) 一种Java Card虚拟机运行环境及内存管理方法
WO2021057351A1 (zh) 在glibc环境下控制安卓蓝牙的装置、方法及终端设备
CN212906277U (zh) 基于tftp协议的嵌入式软件测试装置
CN101582928B (zh) 应用于单板与外围设备通讯的适配装置及其数据传输方法
CN103064676A (zh) 一种对开放服务网关中组件的控制方法
CN109086200B (zh) 一种基于安卓虚拟机修改的有效测试框架
CN112423068A (zh) 智能电视调试方法、装置、移动终端和可读存储介质
CN108107750B (zh) 一种电力系统仿真的实时io数据处理方法及系统
CN112083914A (zh) 实现对象模型嵌入式操作系统软总线的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination