CN111966575B - 一种航空机载显示软件的图形自动化测试方法 - Google Patents

一种航空机载显示软件的图形自动化测试方法 Download PDF

Info

Publication number
CN111966575B
CN111966575B CN202010428664.3A CN202010428664A CN111966575B CN 111966575 B CN111966575 B CN 111966575B CN 202010428664 A CN202010428664 A CN 202010428664A CN 111966575 B CN111966575 B CN 111966575B
Authority
CN
China
Prior art keywords
test
test case
expected result
case
formalized
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.)
Active
Application number
CN202010428664.3A
Other languages
English (en)
Other versions
CN111966575A (zh
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.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
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 China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN202010428664.3A priority Critical patent/CN111966575B/zh
Publication of CN111966575A publication Critical patent/CN111966575A/zh
Application granted granted Critical
Publication of CN111966575B publication Critical patent/CN111966575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3684Test management for test design, e.g. generating new test cases
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种航空机载显示软件的图形自动化测试方法,包括:基于被测机载显示软件的高层需求,使用形式化测试用例描述语言在形式化测试用例框架下对测试用例进行形式化描述;根据形式化描述的测试用例和预先定义的测试程序框架,自动生成可执行的测试程序;根据形式化描述的测试用例,自动批量制作运行时的期望结果图;自动执行测试程序以及匹配期望结果图和实际结果图,自动化执行测试,运行到指定步骤时到指定目录下查找当前步骤的期望结果图,在被测软件运行界面查找期望结果图以确定测试结果;记录测试用例的测试结果,并自动生成测试报告。本发明实施例提高了航空机载软件测试工作中的自动化水平和测试质量,并降低了测试成本。

Description

一种航空机载显示软件的图形自动化测试方法
技术领域
本申请涉及但不限于机载软件测试技术领域,尤指一种航空机载显示软件的图形自动化测试方法。
背景技术
机载软件的测试过程主要包括:测试用例设计,测试程序设计,测试用例/程序执行并评估测试结果,以及记录测试结果并生成测试报告。
在测试用例设计和测试程序设计方面,传统的软件测试中,测试用例设计与测试程序设计全由人工完成,对于大规模复杂系统软件而言,纯人工进行测试用例设计与测试程序设计会耗费大量人力物力,且人为设计出的测试用例及测试程序的质量难以保证。
在测试用例/程序执行方面,随着软、硬件技术的发展,机载软件的功能越来越强大,机载软件的图形用户界面也越来越复杂。传统的手工测试存在测试时间长,人力资源耗费量大,测试重复劳动多,以及可能存在的人为判断错误等问题。
发明内容
为了解决上述技术问题,本发明实施例提供了一种航空机载显示软件的图形自动化测试方法,以提高航空机载软件测试工作中的自动化水平,降低测试成本,同时提高测试质量。
本发明实施例提供一种航空机载显示软件的图形自动化测试方法,包括:
形式化描述测试用例:通过预先定义的形式化测试用例描述语言和形式化测试用例框架,并基于被测机载显示软件的高层需求,使用形式化测试用例描述语言在形式化测试用例框架下对测试用例进行形式化描述;
自动生成测试程序:根据形式化描述的测试用例和预先定义的测试程序框架,自动生成可执行的测试程序;
批量制作期望结果图:根据形式化描述的测试用例,自动批量制作运行时的期望结果图;
自动执行测试程序以及匹配期望结果图和实际结果图:执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试,当测试程序运行到指定步骤时,到指定目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面的指定位置查找期望结果图,并根据查找和匹配结果确定测试用例的测试结果;
记录测试用例的测试结果,并自动生成测试报告。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述形式化描述测试用例之前,还包括:
定义形式化测试用例描述语言,所述形式化测试用例描述语言用于定义测试用例的测试步骤和测试过程;
定义形式化测试用例框架,包括定义配置信息框架和定义测试用例描述框架。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述配置信息框架包含:项目信息、测试用例文件及历史信息、基线信息;
所述测试用例描述框架,用于建立起测试用例与被测需求之间的追踪关系,为后期需求覆盖分析提供依据;所述测试用例描述框架包括:测试用例文件开始及结束标识、初始化测试用例框架、基于需求设计的测试用例框架。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述测试程序框架包括:测试程序文件名、测试程序文件说明、测试程序引用模块导入、测试程序常量定义、定义测试程序所使用参数数据、测试用例过程定义、测试程序文件所包含测试用例列表。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述自动生成测试程序,包括:
以形式化描述的测试用例作为输入,依据测试程序框架构造测试程序模板,通过Python脚本解析测试用例框架,读取测试程序生成所需数据,调用测试程序模板,自动化生成测试程序。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述批量制作期望结果图,包括:
通过批量自动运行测试用例,并根据测试用例名称信息自动判断期望截图在被测机载显示软件运行界面上的显示位置;
对显示位置上的运行图像截图并保存为初始期望结果图;
对截图得到的所有初始期望结果图进行确认,制作出正确的期望结果图,并将其存储到期望结果目录下,所存储的期望结果图的命名为:测试用例文件名+用例号+用例步骤号。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述批量制作期望结果图,包括:
采用截图工具截取对每个测试用例进行测试的期望截图;
对截图得到的每个初始期望结果图进行确认,制作出正确的期望结果图,并将其存储到指定目录下,所存储的期望结果图的命名为:测试用例文件名+用例号+用例步骤号。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述自动执行测试程序以及匹配期望结果图和实际结果图,包括:
创建测试运行实例,定义自动化脚本实例,同时定义并建立测试用例参数信号与被测环境输入/输出参数之间的关联;
启动测试仿真运行,执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试;
当测试程序运行到VERIRY步骤时,到期望结果目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面的指定位置查找与给定期望结果图相同的图像。
可选地,如上所述的航空机载显示软件的图形自动化测试方法中,所述根据查找和匹配结果确定测试用例的测试结果,包括:
若在运行界面中找到匹配的期望结果图,设置测试用例结果为“通过”;
若在运行界面中未找到匹配的期望结果图,设置测试用例结果为“不通过”;
若在期望结果目录下未找到期望结果图,设置测试用例结果为“未执行”。
本发明实施例提供的航空机载显示软件的图形自动化测试方法,使用形式化测试用例描述语言描述测试用例,与传统测试用例由自然语言描述相比,更有助于理解学习,并确保了测试用例描述的唯一性、正确性;通过定义测试程序框架,依据测试程序框架采用自动化生成技术,自动生成测试程序和测试报告,基于图像匹配技术的技术实现人机交互界面图形自动化测试;在自动化执行测试程序和结果匹配过程中,根据测试用例文件名等信息定位出被测机载显示软件在显示界面中的子区域,缩小了图像匹配的范围,使得图像匹配效率更高;本发明实施例提供的技术方案适用于嵌入式与非嵌入式软件,可以实现人机交互界面图形自动化测试,并且测试程序、测试报告都可以自动生成,大量的测试过程程序化地反复执行,不仅节约了劳动力,而且在保证测试质量的情况下大幅提高了测试效率。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种航空机载显示软件的图形自动化测试方法的流程图;
图2为本发明实施例提供的一种航空机载显示软件的图形自动化测试方法所构建的测试系统的结构示意图;
图3为本发明实施例提供的航空机载显示软件的图形自动化测试方法中自动生成测试程序的过程原理图;
图4为本发明实施例提供的航空机载显示软件的图形自动化测试方法中形式化测试用例解析过程的原理图;
图5为本发明实施例提供的航空机载显示软件的图形自动化测试方法中图像快速匹配示的原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例的目的是把以人驱动的图形测试执行转化为以机器驱动执行,测试人员主要关注测试用例的编写,测试程序生成和执行都由测试系统自动完成。这样大量的测试过程由机器程序化地反复执行,不仅节约了劳动力,而且在保证测试质量的情况下大幅提高了测试效率。
本发明提供以下几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的一种航空机载显示软件的图形自动化测试方法的流程图,图2为本发明实施例提供的一种航空机载显示软件的图形自动化测试方法所构建的测试系统的结构示意图。本发明实施例中的被测航空机载显示软件可以是航空电子驾驶舱显示系统软件,该软件的图形自动化测试方法为人机交互界面图形快速自动化测试方法,本发明实施例提供的航空机载显示软件的图形自动化测试方法可以包括如下步骤:
步骤1,形式化描述测试用例:通过预先定义的形式化测试用例描述语言和形式化测试用例框架,并基于被测机载显示软件的高层需求,使用形式化测试用例描述语言在形式化测试用例框架下对测试用例进行形式化描述。
测试用例形式化描述是通过定义一套满足测试用例设计所需的形式化测试用例描述语言并结合形式化测试用例框架,测试人员基于被测软件的高层需求,使用形式化测试用例描述语言在测试用例框架下完成形式化测试用例的设计,该形式化描述语言可以是基于自然语言的代码化表述。
实际应用中,在步骤1之前还可以定义形式化测试用例描述语言和定义形式化测试用例框架;其中,形式化测试用例描述语言用于定义测试用例的测试步骤和测试过程;定义形式化测试用例框架包括:定义配置信息框架和定义测试用例描述框架。
步骤2,自动生成测试程序:根据形式化描述的测试用例和预先定义的测试程序框架,自动生成可执行的测试程序。
本发明实施例中的测试系统根据形式化描述的测试用例自动生成测试可执行程序。如图3所示,为本发明实施例提供的航空机载显示软件的图形自动化测试方法中自动生成测试程序的过程原理图。
步骤3,批量制作期望结果图:根据形式化描述的测试用例,自动批量制作运行时的期望结果图。
本发明实施例中的测试人员根据测试用例,由测试系统辅助自动批量制作运行时的期望结果图。
步骤4,自动执行测试程序,并快速匹配期望结果图和实际结果图:气动测试环境,执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试,当测试程序运行到指定步骤时,测试系统到指定目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面(例如是被测软件的显示屏幕上)的指定位置查找期望结果图,并根据查找和匹配结果确定测试用例的测试结果。
步骤5,记录所有测试用例的测试结果,并自动生成测试报告。
本发明实施例为了提高软件测试工作效率和测试质量,对航空机载显示软件的测试方法主要过程做了如下改进:
本发明实施例的机载软件的测试过程主要包括:测试用例设计、测试程序设计、测试用例/程序执行并评估测试结果,以及记录测试结果并生成测试报告等过程。
在测试用例设计方面,传统的软件测试中,测试用例设计与测试程序设计全由人工完成,对于大规模复杂系统而言,纯人工进行测试用例设计与测试程序设计将耗费大量人力物力,且测试用例及程序质量无法保证。本发明实施例通过大量分析软件测试项目中测试用例设计过程方法,结合机载软件功能、性能等特性要求,从测试输入、测试输出、测试设计等方面统筹考虑,设计了一套语法简单、语言精练、满足测试用例形式化需求的通用化形式化测试用例描述语言。测试人员可以基于被测软件高层需求,使用形式化测试用例描述语言完成形式化测试用例设计。与传统测试用例由自然语言描述相比,定义一套通用化、规范化、确定性的形式化描述语言,更有助于理解学习,并确保了测试用例描述的唯一性、正确性。
在测试程序设计方面,通过分析被测软件需求以及当前现有的宿主机及目标机测试环境原理,从测试用例形式化描述语言出发,结合测试用例框架及测试程序框架设计,定义了一整套系统、完整、高效的自动化测试框架。通过测试程序框架自动化生成技术,测试系统可以根据形式化描述的测试用例,自动生成可用于测试执行的测试程序。
在测试用例/程序执行方面,随着软、硬件技术的发展,机载软件的功能越来越强大,机载软件的图形用户界面也越来越复杂,传统的手工测试存在测试时间长,人力资源耗费量大、测试重复劳动多和偶发人为判断错误等问题。本发明实施例的测试执行过程中,启动测试系统,执行测试用例过程,自动化脚本实例调用已定义的命令函数实现测试程序自动化执行。对于图形用户界面显示结果的评估,本发明实施例采用图形匹配技术,快速完成期望结果图与被测系统屏幕指定位置图像的匹配,并给出匹配结果。
在记录测试结果方面,测试系统会自动记录所有结果,并根据测试程序和测试结果自动生产测试报告。
本发明实施例大幅提高了测试工作中的自动化水平,大大降低测试成本,同时提高了测试质量。
以下对本发明实施例中各步骤的具体实现方式进行详细描述。
(一)形式化描述测试用例的实现方式
测试用例形式化描述是通过定义一套满足测试用例设计所需的形式化测试用例描述语言结合形式化测试用例框架,测试人员基于被测软件高层需求,使用形式化测试用例描述语言在测试用例框架下完成形式化测试用例设计。具体包括:定义形式化测试用例描述语言和定义形式化测试用例框架。
(1)定义形式化测试用例描述语言
为了满足实际测试过程中测试用例设计形式化描述需要,定义了一套完整的测试用例描述语言。测试用例设计人员使用该形式化测试用例描述语言完成测试用例测试的测试步骤和测试过程定义。
(2)定义形式化测试用例框架
形式化测试用例框架包含:配置信息框架定义和测试用例描述框架定义。
配置信息框架定义包含项目信息、测试用例文件及历史信息、基线信息等。
测试用例描述框架是实现测试程序自动生成的基础,同时保证了测试用例的可读性、可维护性及完整性,建立起测试用例与被测需求之间的追踪关系,为后期需求覆盖分析提供依据。
本发明实施例中的测试用例描述框架包含以下几部分:
1)测试用例文件开始及结束标识;
2)初始化测试用例框架;
3)基于需求设计的测试用例框架。
(二)自动生成测试程序的实现方式
完整规范的测试程序框架可以保证测试程序的可理解性、完整性、一致性、可执行性等,是测试程序自动化生成的基础,从而可以通过自动化技术替代人工测试程序编写。
本发明实施例中的测试程序框架设计主要由以下几部分组成:
1)测试程序文件名;
2)测试程序文件说明;
3)测试程序引用模块导入;
4)测试程序常量定义;
5)定义测试程序所使用参数数据;
6)测试用例过程定义;
7)测试程序文件所包含测试用例列表。
基于测试用例形式化描述语言及形式化测试用例框架完成形式化描述测试用例,以形式化描述的测试用例作为输入,依据测试程序框架构造测试程序模板,通过Python脚本解析测试用例框架,读取测试程序生成所需数据,调用测试程序模板,自动化生成测试程序。
(三)批量制作期望结果图的实现方式
本发明实施例中批量制作期望结果图的实现可以包括如下步骤:
步骤31,通过批量自动运行测试用例,并根据测试用例名称信息自动判断期望截图在被测机载显示软件运行界面上的显示位置;
步骤32,对显示位置上的运行图像截图并保存为初始期望结果图;
步骤33,对截图得到的所有初始期望结果图进行确认,制作出正确的期望结果图,并将其存储到指定目录下,所存储的期望结果图的命名为:测试用例文件名+用例号+用例步骤号。
可选地,本发明实施例中的步骤31和步骤32可以替换为:采用截图工具截取对每个测试用例进行测试的期望截图。
本发明实施例中,测试统可以自动批量完成“初始期望结果图”的制作。测试系统启动后,测试人员选择制作“初始期望结果图”,系统自动批量运行测试用例,并根据测试用例名称等信息自动判断出期望截图在被测软件界面上的具体位置,对该位置上的运行图像截图并保存。测试人员再对所有的“初始期望结果图”进行确认,“制作”出正确的“期望结果图”,然后将其拷贝到指定目录(例如为期望结果目录)下。另外,本发明实施例中的测试人员也可以用截图工具截取每个用例的期望图片,保存在指定目录下。
保存的运行截图(即期望结果图),都以“测试用例文件名+用例号+用例步骤号”命名。测试用例不变的情况下,期望结果图只用制作一次。
本发明实施例中测试程序自动生成是通过定义测试程序框架,依据测试程序框架采用自动化生成技术,生成可用于测试执行的测试程序。
(四)自动执行测试程序,并快速匹配期望结果图和实际结果图的实现方式
本发明实施例中测试程序自动执行过程中,包括以下步骤:
步骤41,首先需要创建测试运行实例,定义自动化脚本实例,同时定义并建立测试用例参数信号与被测环境输入/输出参数之间的关联;
步骤42,启动测试仿真运行,执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试;
步骤43,当测试程序运行到VERIRY步骤时,到期望结果目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面(例如运行软件的屏幕)的指定位置查找与给定期望结果图相同的图像。
本发明实施例中,根据查找和匹配结果确定测试用例的测试结果的实现方式,可以包括:
若在运行界面中找到匹配的期望结果图,设置测试用例结果为“通过”;
若在运行界面中未找到匹配的期望结果图,设置测试用例结果为“不通过”;
若在期望结果目录下未找到期望结果图,设置测试用例结果为“未执行”。
本发明实施例中,测试系统通过测试用例名称等信息可以快速准确定位到被测机载软件中要测试的子区域,而不是在整个被测软件的运行界面上寻找与期望结果图相同的图像,这样就缩小了图像匹配的范围,从而提高了图像匹配的效率。
(五)记录测试结果和自动生成测试报告的实现方式
图2所示测试系统记录所有测试用例的结果,并根据测试程序生成测试报告。
本发明实施例提供的航空机载显示软件的图形自动化测试方法,使用形式化测试用例描述语言描述测试用例,与传统测试用例由自然语言描述相比,更有助于理解学习,并确保了测试用例描述的唯一性、正确性;通过定义测试程序框架,依据测试程序框架采用自动化生成技术,自动生成测试程序和测试报告,基于图像匹配技术的技术实现人机交互界面图形自动化测试;在自动化执行测试程序和结果匹配过程中,根据测试用例文件名等信息定位出被测机载显示软件在显示界面中的子区域,缩小了图像匹配的范围,使得图像匹配效率更高;本发明实施例提供的技术方案适用于嵌入式与非嵌入式软件,可以实现人机交互界面图形自动化测试,并且测试程序、测试报告都可以自动生成,大量的测试过程程序化地反复执行,不仅节约了劳动力,而且在保证测试质量的情况下大幅提高了测试效率。
以下通过一些具体实施示例对本发明实施例提供的航空机载显示软件的图形自动化测试方法的实现方式进行详细说明。
在实际应用中,形式化测试用例描述语言的实现方式,目前定义了26个命令,举例如下:
a)输入参数设置命令定义
-SET
用途:用于实现单一输入参数参数值的设置,实现对被测软件的激励。
格式:
SET参数名参数值
例如:
SET ipCurrentAirspeed_FCM1 30.0(设置输入值=30.0)
b)期望结果验证命令定义
-VERIFY
用途:提示测试人员根据提示内容人工观察并验证输出结果。
格式:
VERIRY提示观察内容
例如:
VERIRY The Airspeed Scale Tick Marks and Numbers are displayed
c)注释及说明命令定义
-COMMENT
用途:在测试用例设计中用于增加用例说明,不生成到测试程序中。
格式:
COMMENT说明描述
例如:
COMMENT This is a comment in the Python script
本发明实施例中,基于形式化描述的测试程序自动生成由测试用例形式化描述和测试程序自动生成两部分组成。
其中,测试用例形式化描述是通过定义一套满足测试用例设计所需的形式化测试用例描述语言结合形式化测试用例描述框架,测试人员基于被测软件高层需求,使用形式化测试用例描述语言在测试用例框架下完成形式化测试用例设计。测试程序自动生成是通过定义测试程序框架,依据测试程序框架采用自动化生成技术,生成可用于测试执行的测试程序。技术过程原理如图3所示。
如图4所示,为本发明实施例提供的航空机载显示软件的图形自动化测试方法中形式化测试用例解析过程的原理图。该形式化测试用例解析过程具体包括如下步骤:
解析测试用例头信息,读取文件名;
解析函数头信息,读取所有函数名及参数到过程列表;
解析测试用例信息,读取以下信息:
读取测试用例提示信息到提示信息列表;读取测试用例中所有命令到测试命令列表;读取测试用例编号,将文件名+用例编号保存到过程名列表
根据上述内容,形成完成的测试用例过程列表。
图4所示解析过程实质上是通过运行tc(测试用例),解析出tp(测试程序)。
本发明实施中的测试系统在完成对形式化测试用例文件解析后,获取了所有所需的参数数据,自动转成测试程序文件python脚本内容。通过创建*.py文件,调用文件写函数,一次性将测试程序python脚本内容写到*.py文件中,并保存成测试可执行程序。测试程序执行后,记录测试结果,生成测试报告。整个测试系统框架如图2所示。
本发明实施例的测试方法中,测试用例文件名都以[配置项名_配置项子模块名_*]的格式命名。被测机载软件运行界面上各子区域的显示的内容也是固定的,因此可以根据测试用例文件名等信息定位出被测的显示子区域,这样就缩小了图像匹配的范围,从而提高了图像匹配的效率。如图5所示,为本发明实施例提供的航空机载显示软件的图形自动化测试方法中图像快速匹配示的原理图。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (6)

1.一种航空机载显示软件的图形自动化测试方法,其特征在于,包括:
形式化描述测试用例:通过预先定义的形式化测试用例描述语言和形式化测试用例框架,并基于被测机载显示软件的高层需求,使用形式化测试用例描述语言在形式化测试用例框架下对测试用例进行形式化描述;
自动生成测试程序:根据形式化描述的测试用例和预先定义的测试程序框架,自动生成可执行的测试程序;
批量制作期望结果图:根据形式化描述的测试用例,自动批量制作运行时的期望结果图;
自动执行测试程序以及匹配期望结果图和实际结果图:执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试,当测试程序运行到指定步骤时,到指定目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面的指定位置查找期望结果图,并根据查找和匹配结果确定测试用例的测试结果;
记录测试用例的测试结果,并自动生成测试报告;
其中,所述形式化描述测试用例之前,还包括:
定义形式化测试用例描述语言,所述形式化测试用例描述语言用于定义测试用例的测试步骤和测试过程;
定义形式化测试用例框架,包括定义配置信息框架和定义测试用例描述框架;
所述配置信息框架包含:项目信息、测试用例文件及历史信息、基线信息;
所述测试用例描述框架,用于建立起测试用例与被测需求之间的追踪关系,为后期需求覆盖分析提供依据;所述测试用例描述框架包括:测试用例文件开始及结束标识、初始化测试用例框架、基于需求设计的测试用例框架;
所述测试程序框架包括:测试程序文件名、测试程序文件说明、测试程序引用模块导入、测试程序常量定义、定义测试程序所使用参数数据、测试用例过程定义、测试程序文件所包含测试用例列表。
2.根据权利要求1所述的航空机载显示软件的图形自动化测试方法,其特征在于,所述自动生成测试程序,包括:
以形式化描述的测试用例作为输入,依据测试程序框架构造测试程序模板,通过Python脚本解析测试用例框架,读取测试程序生成所需数据,调用测试程序模板,自动化生成测试程序。
3.根据权利要求2所述的航空机载显示软件的图形自动化测试方法,其特征在于,所述批量制作期望结果图,包括:
通过批量自动运行测试用例,并根据测试用例名称信息自动判断期望截图在被测机载显示软件运行界面上的显示位置;
对显示位置上的运行图像截图并保存为初始期望结果图;
对截图得到的所有初始期望结果图进行确认,制作出正确的期望结果图,并将其存储到期望结果目录下,所存储的期望结果图的命名为:测试用例文件名+用例号+用例步骤号。
4.根据权利要求2所述的航空机载显示软件的图形自动化测试方法,其特征在于,所述批量制作期望结果图,包括:
采用截图工具截取对每个测试用例进行测试的期望截图;
对截图得到的每个初始期望结果图进行确认,制作出正确的期望结果图,并将其存储到指定目录下,所存储的期望结果图的命名为:测试用例文件名+用例号+用例步骤号。
5.根据权利要求3或4所述的航空机载显示软件的图形自动化测试方法,其特征在于,所述自动执行测试程序以及匹配期望结果图和实际结果图,包括:
创建测试运行实例,定义自动化脚本实例,同时定义并建立测试用例参数信号与被测环境输入/输出参数之间的关联;
启动测试仿真运行,执行测试用例过程中,自动化脚本实例调用已定义的命令函数实现自动化执行测试;
当测试程序运行到VERIRY步骤时,到期望结果目录下查找当前步骤的期望结果图,从而在被测机载显示软件运行界面的指定位置查找与给定期望结果图相同的图像。
6.根据权利要求5所述的航空机载显示软件的图形自动化测试方法,其特征在于,所述根据查找和匹配结果确定测试用例的测试结果,包括:
若在运行界面中找到匹配的期望结果图,设置测试用例结果为“通过”;
若在运行界面中未找到匹配的期望结果图,设置测试用例结果为“不通过”;
若在期望结果目录下未找到期望结果图,设置测试用例结果为“未执行”。
CN202010428664.3A 2020-05-19 2020-05-19 一种航空机载显示软件的图形自动化测试方法 Active CN111966575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010428664.3A CN111966575B (zh) 2020-05-19 2020-05-19 一种航空机载显示软件的图形自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010428664.3A CN111966575B (zh) 2020-05-19 2020-05-19 一种航空机载显示软件的图形自动化测试方法

Publications (2)

Publication Number Publication Date
CN111966575A CN111966575A (zh) 2020-11-20
CN111966575B true CN111966575B (zh) 2023-12-12

Family

ID=73358370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010428664.3A Active CN111966575B (zh) 2020-05-19 2020-05-19 一种航空机载显示软件的图形自动化测试方法

Country Status (1)

Country Link
CN (1) CN111966575B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286825A (zh) * 2020-11-24 2021-01-29 北斗星通智联科技有限责任公司 智能座舱的屏幕测试方法、装置及电子设备
CN113918452B (zh) * 2021-09-13 2023-10-31 北京计算机技术及应用研究所 一种多国产化平台下的工业软件兼容性测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360331A (zh) * 2011-10-09 2012-02-22 中国航空无线电电子研究所 基于形式化描述的测试程序自动生成方法
CN103530228A (zh) * 2013-09-27 2014-01-22 西安电子科技大学 一种基于模型的软件测试方法
CN106951363A (zh) * 2016-12-29 2017-07-14 中国科学院空间应用工程与技术中心 一种基于atml的有效载荷自动测试方法
CN107832229A (zh) * 2017-12-03 2018-03-23 中国直升机设计研究所 一种基于nlp的系统测试用例自动生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3248104A1 (en) * 2015-03-10 2017-11-29 Siemens Aktiengesellschaft Method and device for automatic testing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360331A (zh) * 2011-10-09 2012-02-22 中国航空无线电电子研究所 基于形式化描述的测试程序自动生成方法
CN103530228A (zh) * 2013-09-27 2014-01-22 西安电子科技大学 一种基于模型的软件测试方法
CN106951363A (zh) * 2016-12-29 2017-07-14 中国科学院空间应用工程与技术中心 一种基于atml的有效载荷自动测试方法
CN107832229A (zh) * 2017-12-03 2018-03-23 中国直升机设计研究所 一种基于nlp的系统测试用例自动生成方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Automating requirements analysis and test case generation;Abha Moitra 等;《Requirements Engineering》;第341–364页 *
基于Cheetah技术的测试规程模板开发与应用;马威 等;《指挥信息系统与技术》;第6卷(第6期);第33-38页 *
基于GCL语言的测试用例生成方法;丁佐华 等;《计算机学报》;第37卷(第12期);第2492-2504页 *
平台管理分系统开发测试平台的设计与实现;吕泉池;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-2826 *

Also Published As

Publication number Publication date
CN111966575A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN109885488B (zh) 用例表驱动的卫星轨道计算软件自动化测试方法及系统
WO2018010552A1 (zh) 测试方法和装置
CN106446412B (zh) 一种航空电子系统基于模型的测试方法
CN111209185B (zh) 基于关键词的自动化测试方法及计算机可读存储介质
WO2021036697A1 (zh) 投产方法、装置、设备和存储介质
CN111966575B (zh) 一种航空机载显示软件的图形自动化测试方法
CN110908894B (zh) 一种基于vuex的可视化报表工具自动化测试方法及装置
CN106484613A (zh) 一种基于fitnese的接口自动化测试框架
CN111723009A (zh) 一种python自动化测试系列产品的框架系统
CN111176995B (zh) 一种基于大数据测试用例的测试方法和测试系统
US7895575B2 (en) Apparatus and method for generating test driver
CN114297961A (zh) 一种芯片测试用例处理方法及相关装置
CN113900629A (zh) 一种计算机流程自动化的引擎实现系统
CN118113271A (zh) 基于大模型的代码生成方法、系统、终端及介质
CN112685316A (zh) 代码执行路径的获取方法、装置、计算机设备及存储介质
CN108132802B (zh) 一种配置模型在系统开发中的应用方法
CN114942890A (zh) 一种用户界面测试方法、装置、设备及介质
CN114064469A (zh) 接口自动化测试方法及存储介质
Tiwari et al. Combining Model-Based Testing and Automated Analysis of Behavioural Models using GraphWalker and UPPAAL
CN114546834A (zh) 一种基于统一测试用例脚本的三维cad软件测试方法及系统
CN114461514A (zh) 一种基于低代码的自动化测试方法和系统
Ibrahim et al. Finite State Machine-Model Based Testing on Website Application
CN113326193A (zh) 一种小程序测试方法及装置
CN111078193A (zh) 一种面向数据分析系统的软件开发方法及系统
CN117234946B (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
GR01 Patent grant
GR01 Patent grant