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

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

【技术实现步骤摘要】
一种飞机地面站软件人机交互界面自动化测试方法


[0001]本专利技术涉及自动化测试领域,尤其是涉及一种飞机地面站软件的人机交互界面自动化测试。

技术介绍

[0002]当前航空系统日趋复杂,软件规模越来越庞大,航空软件的测试是一项人力密集型工作,尤其是地面站软件,涉及大量的人机交互界面测试。
[0003]传统飞机地面站软件人机交互界面测试多采用手工测试或使用商用人机交互自动化测试工具。手工测试工作量大、效率低,回归测试时需大量重复工作,测试时需要手工记录操作过程作为测试文档依据,编写文档耗时耗力且经常出现文档描述与实际测试过程的不一致。
[0004]目前,主流的人机交互界面自动化测试工具多基于录制/回放测试脚本技术,测试用例即为测试脚本。这种录制/回放脚本的技术本身无法减少测试的工作量,其意义在于回归测试时的测试脚本复用;然而脚本中测试数据、测试对象、操作逻辑均耦合在一起,导致测试脚本对于测试环境的变化过于敏感,回归测试或软件运行环境发生变化时,往往需要频繁修改测试脚本,维护这样的自动化执行脚本工作量大且十分困难。对于测试操作过程相似而仅测试数据不同的测试场景,往往也需要重新录制脚本,测试用例复用率低;测试执行完成后也需要手工编写相应的测试操作过程文档,给测试工作者带来了很大负担。

技术实现思路

[0005]本专利技术的专利技术目的在于提供了一种飞机地面站软件人机交互界面自动化测试方法,将测试用例的执行逻辑,数据和描述信息与测试脚本分离,能够以独立步骤的形式编辑或执行用例,并自动生成测试步骤描述,提高测试用例的可复用性,可维护性以及测试效率。
[0006]本专利技术的专利技术目的通过以下技术方案实现:
[0007]一种飞机地面站软件人机交互界面自动化测试方法,包含以下步骤:
[0008]步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引;其中,逻辑对象是测试用例中执行动作的控件元素,界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本;
[0009]步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”;其中,“动作对象”即为步骤一中的逻辑对象;“参数”是该“测试动作关键字”需要的其他测试数据;测试动作描述信息是对该测试步骤的描述;
[0010]步骤三、将用例描述信息、测试逻辑和数据独立保存为测试用例文件,并与测试脚本分离;其中,用例描述信息包括:用例标识、用例描述、测试类型、预置条件、需求追溯;测试逻辑和数据即为步骤二中“测试动作关键字,动作对象,参数,测试动作描述信息”的有序
集合;
[0011]步骤四、结合具体使用的自动化测试技术和脚本语言,制定测试脚本的生成模板;定义支持常用人机交互界面操作的脚本函数库;并制定“测试动作关键字,动作对象,参数,测试动作描述信息”的脚本代码生成规则;
[0012]步骤五、由测试用例,逻辑对象与界面控件的索引,并结合脚本代码生成规则信息生成测试脚本。
[0013]本专利技术的有益效果在于:建立逻辑对象与界面控件的索引,降低了测试脚本对测试环境的敏感性;测试步骤的形式化、测试用例与脚本分离,使得用户能够以独立步骤的形式编辑和执行用例,提高了测试用例的可读性,可复用性,可维护性;自动生成测试步骤描述信息,降低了测试工作量,提高了测试工作效率。
附图说明
[0014]图1为一种飞机地面站软件人机交互界面自动化测试方法的流程示意图。
[0015]图2为JSON格式的逻辑对象与界面控件索引示意图。
[0016]图3为JSON格式的测试用例示意图。
[0017]图4为Python测试脚本示意图。
具体实施方式
[0018]下面结合附图和实施例对本专利技术作进一步的详细说明。
[0019]本实施例所示的一种飞机地面站软件人机交互界面自动化测试方法的基本构思是:一、建立逻辑对象与界面控件的索引。逻辑对象是测试用例中控件操作的执行对象;界面控件的索引用于定位控件、执行控件动作和生成测试脚本。二、定义测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”。三、将用例描述信息、测试逻辑和数据独立为测试用例,并与测试脚本分离。四、制定测试脚本模板,定义“动作关键字”脚本代码的生成规则。最后,结合上述步骤中信息生成测试脚本。下面通过某飞机地面站软件人机交互界面测试案例,对本专利技术做进一步详细说明。
[0020]飞机地面站软件多为Windows操作系统下开发的MFC应用,自动化测试以UIA(Microsoft User Interface Automation,简称UIA或UI Automation)作为底层自动化测试技术,脚本语言选择Python。
[0021]具体实施方法为:
[0022]步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引。
[0023]逻辑对象是测试用例中执行动作的控件元素,用户可编辑。
[0024]界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本,与采用的具体自动化测试技术有关。界面控件的索引通过自动遍历系统控件树并筛选保留与测试相关的控件元素生成。索引采用二维结构:第一维用于在系统中定位控件所在窗口,由“应用窗口所在UI树深度,控件类型(ControlType属性),类名(ClassName属性),部分窗口名称”构成;第二维用于在应用窗口中定位控件,由“控件所在应用窗口UI子树深度,控件类型(ControlType属性),类名(ClassName属性),控件名称(Name属性),AutomationId
(可选)”构成。
[0025]该步骤的索引信息可保存为独立JSON或XML文件,作为被测应用的可复用配置文件,如图2所示。
[0026]步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”。
[0027]“测试动作关键字”类似函数名称,“动作对象”、“参数”皆为函数参数;“动作对象”即为步骤一中的逻辑对象,为可选项;“参数”是该“测试动作关键字”需要的其他测试数据,不同“测试动作关键字”的“参数”格式不同;测试动作描述信息是对该测试步骤的描述,当指定“测试动作关键字”、“动作对象”和“参数”后,测试动作描述信息可自动生成。
[0028]为支持飞机地面站软件的自动化测试,本实施例共定义了41种测试动作关键字,表1是部分常用测试动作关键字的说明;并以UIA为底层自动化测试技术实现了常用界面操作的Python函数库uiAutoLib,支持如选择树状控件某项,选择下拉框某项,获取编辑框文本,选择菜单项,选择列表某行,验证某表格项文本等操作;此外,还制定了测试脚本模板及各测试动作关键字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种飞机地面站软件人机交互界面自动化测试方法,其特征在于包含以下步骤:步骤一、建立被测飞机地面站软件人机交互界面应用的逻辑对象与界面控件的索引;其中,逻辑对象是测试用例中执行动作的控件元素,界面控件的索引由一组控件元素的属性构成,用于定位控件元素和生成测试脚本;步骤二、将测试动作定义为关键字,建立常用飞机地面站软件测试动作关键字库,将测试用例中每一步操作形式化为“测试动作关键字,动作对象,参数,测试动作描述信息”;其中,“动作对象”即为步骤一中的逻辑对象;“参数”是该“测试动作关键字”需要的其他测试数据;测试动作描述信息是对测试步骤的描述;步骤三、将用例描述信息、测试逻辑和数据独立保存为测试用例文件,并与测试脚本分离;其中,用例描述信息包括:用例标识、用例描述、测试类型、预置条件、需求追溯;测试逻辑和数据即为步骤二中“测试动作关键字,动作对象,参数,测试动...

【专利技术属性】
技术研发人员:魏润之陈琳朱文燕范孝彬
申请(专利权)人:中国航空无线电电子研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1