CN113986441A - 一种飞机地面站软件人机交互界面自动化测试方法 - Google Patents

一种飞机地面站软件人机交互界面自动化测试方法 Download PDF

Info

Publication number
CN113986441A
CN113986441A CN202111304623.4A CN202111304623A CN113986441A CN 113986441 A CN113986441 A CN 113986441A CN 202111304623 A CN202111304623 A CN 202111304623A CN 113986441 A CN113986441 A CN 113986441A
Authority
CN
China
Prior art keywords
test
control
action
script
case
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
CN202111304623.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.)
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 CN202111304623.4A priority Critical patent/CN113986441A/zh
Publication of CN113986441A publication Critical patent/CN113986441A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种飞机地面站软件人机交互界面自动化测试方法,包含以下步骤:一、建立逻辑对象与界面控件的索引。逻辑对象是测试用例中控件操作的执行对象;界面控件的索引用于定位控件、执行控件动作和生成测试脚本。二、定义测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”。三、将用例描述信息、测试逻辑和数据独立为测试用例,并与测试脚本分离。四、制定测试脚本模板,定义“动作关键字”脚本代码的生成规则。最后,结合上述步骤中信息生成测试脚本。本发明能提高测试用例的可复用性,可维护性以及测试效率。

Description

一种飞机地面站软件人机交互界面自动化测试方法
技术领域
本发明涉及自动化测试领域,尤其是涉及一种飞机地面站软件的人机交互界面自动化测试。
背景技术
当前航空系统日趋复杂,软件规模越来越庞大,航空软件的测试是一项人力密集型工作,尤其是地面站软件,涉及大量的人机交互界面测试。
传统飞机地面站软件人机交互界面测试多采用手工测试或使用商用人机交互自动化测试工具。手工测试工作量大、效率低,回归测试时需大量重复工作,测试时需要手工记录操作过程作为测试文档依据,编写文档耗时耗力且经常出现文档描述与实际测试过程的不一致。
目前,主流的人机交互界面自动化测试工具多基于录制/回放测试脚本技术,测试用例即为测试脚本。这种录制/回放脚本的技术本身无法减少测试的工作量,其意义在于回归测试时的测试脚本复用;然而脚本中测试数据、测试对象、操作逻辑均耦合在一起,导致测试脚本对于测试环境的变化过于敏感,回归测试或软件运行环境发生变化时,往往需要频繁修改测试脚本,维护这样的自动化执行脚本工作量大且十分困难。对于测试操作过程相似而仅测试数据不同的测试场景,往往也需要重新录制脚本,测试用例复用率低;测试执行完成后也需要手工编写相应的测试操作过程文档,给测试工作者带来了很大负担。
发明内容
本发明的发明目的在于提供了一种飞机地面站软件人机交互界面自动化测试方法,将测试用例的执行逻辑,数据和描述信息与测试脚本分离,能够以独立步骤的形式编辑或执行用例,并自动生成测试步骤描述,提高测试用例的可复用性,可维护性以及测试效率。
本发明的发明目的通过以下技术方案实现:
一种飞机地面站软件人机交互界面自动化测试方法,包含以下步骤:
步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引;其中,逻辑对象是测试用例中执行动作的控件元素,界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本;
步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”;其中,“动作对象”即为步骤一中的逻辑对象;“参数”是该“测试动作关键字”需要的其他测试数据;测试动作描述信息是对该测试步骤的描述;
步骤三、将用例描述信息、测试逻辑和数据独立保存为测试用例文件,并与测试脚本分离;其中,用例描述信息包括:用例标识、用例描述、测试类型、预置条件、需求追溯;测试逻辑和数据即为步骤二中“测试动作关键字,动作对象,参数,测试动作描述信息”的有序集合;
步骤四、结合具体使用的自动化测试技术和脚本语言,制定测试脚本的生成模板;定义支持常用人机交互界面操作的脚本函数库;并制定“测试动作关键字,动作对象,参数,测试动作描述信息”的脚本代码生成规则;
步骤五、由测试用例,逻辑对象与界面控件的索引,并结合脚本代码生成规则信息生成测试脚本。
本发明的有益效果在于:建立逻辑对象与界面控件的索引,降低了测试脚本对测试环境的敏感性;测试步骤的形式化、测试用例与脚本分离,使得用户能够以独立步骤的形式编辑和执行用例,提高了测试用例的可读性,可复用性,可维护性;自动生成测试步骤描述信息,降低了测试工作量,提高了测试工作效率。
附图说明
图1为一种飞机地面站软件人机交互界面自动化测试方法的流程示意图。
图2为JSON格式的逻辑对象与界面控件索引示意图。
图3为JSON格式的测试用例示意图。
图4为Python测试脚本示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
本实施例所示的一种飞机地面站软件人机交互界面自动化测试方法的基本构思是:一、建立逻辑对象与界面控件的索引。逻辑对象是测试用例中控件操作的执行对象;界面控件的索引用于定位控件、执行控件动作和生成测试脚本。二、定义测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”。三、将用例描述信息、测试逻辑和数据独立为测试用例,并与测试脚本分离。四、制定测试脚本模板,定义“动作关键字”脚本代码的生成规则。最后,结合上述步骤中信息生成测试脚本。下面通过某飞机地面站软件人机交互界面测试案例,对本发明做进一步详细说明。
飞机地面站软件多为Windows操作系统下开发的MFC应用,自动化测试以UIA(Microsoft User Interface Automation,简称UIA或UI Automation)作为底层自动化测试技术,脚本语言选择Python。
具体实施方法为:
步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引。
逻辑对象是测试用例中执行动作的控件元素,用户可编辑。
界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本,与采用的具体自动化测试技术有关。界面控件的索引通过自动遍历系统控件树并筛选保留与测试相关的控件元素生成。索引采用二维结构:第一维用于在系统中定位控件所在窗口,由“应用窗口所在UI树深度,控件类型(ControlType属性),类名(ClassName属性),部分窗口名称”构成;第二维用于在应用窗口中定位控件,由“控件所在应用窗口UI子树深度,控件类型(ControlType属性),类名(ClassName属性),控件名称(Name属性),AutomationId(可选)”构成。
该步骤的索引信息可保存为独立JSON或XML文件,作为被测应用的可复用配置文件,如图2所示。
步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”。
“测试动作关键字”类似函数名称,“动作对象”、“参数”皆为函数参数;“动作对象”即为步骤一中的逻辑对象,为可选项;“参数”是该“测试动作关键字”需要的其他测试数据,不同“测试动作关键字”的“参数”格式不同;测试动作描述信息是对该测试步骤的描述,当指定“测试动作关键字”、“动作对象”和“参数”后,测试动作描述信息可自动生成。
为支持飞机地面站软件的自动化测试,本实施例共定义了41种测试动作关键字,表1是部分常用测试动作关键字的说明;并以UIA为底层自动化测试技术实现了常用界面操作的Python函数库uiAutoLib,支持如选择树状控件某项,选择下拉框某项,获取编辑框文本,选择菜单项,选择列表某行,验证某表格项文本等操作;此外,还制定了测试脚本模板及各测试动作关键字脚本代码的生成规则。
表1常用测试动作关键字说明
Figure BDA0003339709070000051
步骤三、将用例描述信息、测试逻辑和数据独立保存为测试用例文件,并与测试脚本分离。
测试用例是用户编辑、维护、复用的直接对象,是用例描述信息,测试逻辑和数据的有序集合,以JSON或XML文件形式保存。用例描述信息主要包括:用例标识、用例描述、测试类型、预置条件、需求追溯、用例设计人及设计时间、用例执行人及执行时间等;测试逻辑和数据即为步骤二中“测试动作关键字,动作对象,参数,测试动作描述信息”的有序集合,是测试的每一步具体操作。
测试用例保存为JSON文件,操作步骤(case_steps)各项信息表示“测试动作关键字,动作对象,参数,测试动作描述信息”,如图3所示。
步骤四、结合具体使用的自动化测试技术和脚本语言,制定测试脚本的生成模板;定义支持常用人机交互界面操作的脚本函数库;并制定“测试动作关键字,动作对象,参数,测试动作描述信息”的脚本代码生成规则。
步骤五、测试脚本由测试用例,逻辑对象与界面控件的索引,并结合脚本代码生成规则信息生成,如图4所示。当采用Python等脚本语言时,用户设计用例时,也可以独立步骤的形式生成脚本代码并即时执行。

Claims (2)

1.一种飞机地面站软件人机交互界面自动化测试方法,其特征在于包含以下步骤:
步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引;其中,逻辑对象是测试用例中执行动作的控件元素,界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本;
步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”;其中,“动作对象”即为步骤一中的逻辑对象;“参数”是该“测试动作关键字”需要的其他测试数据;测试动作描述信息是对测试步骤的描述;
步骤三、将用例描述信息、测试逻辑和数据独立保存为测试用例文件,并与测试脚本分离;其中,用例描述信息包括:用例标识、用例描述、测试类型、预置条件、需求追溯;测试逻辑和数据即为步骤二中“测试动作关键字,动作对象,参数,测试动作描述信息”的有序集合;
步骤四、结合具体使用的自动化测试技术和脚本语言,制定测试脚本的生成模板;定义支持常用人机交互界面操作的脚本函数库;并制定“测试动作关键字,动作对象,参数,测试动作描述信息”的脚本代码生成规则;
步骤五、由测试用例,逻辑对象与界面控件的索引,并结合脚本代码生成规则信息生成测试脚本。
2.根据权利要求1所述的一种飞机地面站软件人机交互界面自动化测试方法,其特征在于界面控件的索引通过自动遍历系统控件树并筛选保留与测试相关的控件元素生成,索引采用二维结构:第一维用于在系统中定位控件所在窗口,由“应用窗口所在UI树深度,控件类型,类名,部分窗口名称”构成;第二维用于在应用窗口中定位控件,由“控件所在应用窗口UI子树深度,控件类型,类名,控件名称”或“控件所在应用窗口UI子树深度,控件类型,类名,控件名称,AutomationId”构成。
CN202111304623.4A 2021-11-05 2021-11-05 一种飞机地面站软件人机交互界面自动化测试方法 Pending CN113986441A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111304623.4A CN113986441A (zh) 2021-11-05 2021-11-05 一种飞机地面站软件人机交互界面自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111304623.4A CN113986441A (zh) 2021-11-05 2021-11-05 一种飞机地面站软件人机交互界面自动化测试方法

Publications (1)

Publication Number Publication Date
CN113986441A true CN113986441A (zh) 2022-01-28

Family

ID=79746656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111304623.4A Pending CN113986441A (zh) 2021-11-05 2021-11-05 一种飞机地面站软件人机交互界面自动化测试方法

Country Status (1)

Country Link
CN (1) CN113986441A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111944A (zh) * 2023-10-23 2023-11-24 中国民用航空飞行学院 一种飞机性能软件用户ui交互底层机制设计方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核系统工程有限公司 一种自动生成测试脚本的方法
CN105068927A (zh) * 2015-08-04 2015-11-18 株洲南车时代电气股份有限公司 基于关键字驱动的城轨传动控制单元自动化测试方法
CN105677306A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 自动化脚本的编写方法和装置
CN108874649A (zh) * 2017-05-08 2018-11-23 中兴通讯股份有限公司 自动化测试脚本的生成方法、装置及其计算机设备
CN109086199A (zh) * 2018-06-22 2018-12-25 网宿科技股份有限公司 一种自动化生成测试脚本的方法、终端和可存储介质
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN112286814A (zh) * 2020-10-30 2021-01-29 上海纳恩汽车技术有限公司 一种测试用例脚本的自动化生成系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置
CN105677306A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 自动化脚本的编写方法和装置
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核系统工程有限公司 一种自动生成测试脚本的方法
CN105068927A (zh) * 2015-08-04 2015-11-18 株洲南车时代电气股份有限公司 基于关键字驱动的城轨传动控制单元自动化测试方法
CN108874649A (zh) * 2017-05-08 2018-11-23 中兴通讯股份有限公司 自动化测试脚本的生成方法、装置及其计算机设备
CN109086199A (zh) * 2018-06-22 2018-12-25 网宿科技股份有限公司 一种自动化生成测试脚本的方法、终端和可存储介质
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN112286814A (zh) * 2020-10-30 2021-01-29 上海纳恩汽车技术有限公司 一种测试用例脚本的自动化生成系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111944A (zh) * 2023-10-23 2023-11-24 中国民用航空飞行学院 一种飞机性能软件用户ui交互底层机制设计方法及系统
CN117111944B (zh) * 2023-10-23 2024-01-09 中国民用航空飞行学院 一种飞机性能软件用户ui交互底层机制设计方法及系统

Similar Documents

Publication Publication Date Title
US10540272B2 (en) Software test automation system and method
US9104810B2 (en) Creating a test case
US7694278B2 (en) Data cube script development and debugging systems and methodologies
CN104778124A (zh) 一种软件应用自动化测试方法
US6113649A (en) Object representation of program and script components
CN110908894B (zh) 一种基于vuex的可视化报表工具自动化测试方法及装置
CN110659197B (zh) 应用程序的测试用例生成方法、装置和软件测试系统
CN116627418B (zh) 一种基于递归算法的多级表单界面可视化生成方法及装置
US6091895A (en) Object oriented central maintenance for programs and scripts
CN112328488A (zh) 一种ui自动化测试的控件对象识别方法
CN113986441A (zh) 一种飞机地面站软件人机交互界面自动化测试方法
CN116820811B (zh) 基于剪切板的rpa组件变量快速导出和赋值方法及系统
WO2007118271A1 (en) A method and system and product for conditioning software
CN106815010B (zh) 一种操作数据库的方法及装置
Sun et al. A web testing platform based on hybrid automated testing framework
CN111966575B (zh) 一种航空机载显示软件的图形自动化测试方法
US11036478B2 (en) Automated determination of transformation objects
EP2599042A1 (en) Systems and methods of rapid business discovery and transformation of business processes
US11010140B2 (en) Integration of workflow and logical data objects using visual programming
CN109840197A (zh) 一种自动化测试对象库的系统及方法
CN112631585B (zh) 基于xml的快速参数界面配置方法
CN111221610B (zh) 一种页面元素采集方法和装置
CN114218105A (zh) 一种基于配置即应用模式的ui自动化回归测试系统
CN114356430A (zh) 一种基于airflow调度系统的DAG依赖配置工具
CN113672509A (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