地面测控系统自动化测试策略研究

地面测控系统自动化测试策略研究

2023年6月29日发(作者:)

地面测控系统自动化测试策略研究

摘 要:在地面测控系统应用自动化测试,必须服务于节约成本、提高效率和提升产品质量的总体目标。本文对地面测控系统自动化测试策略进行了以下研究:首先,对测试技术进行研究,提出将功能列表重构为树形结构框架的自动化测试设计方法,以覆盖核心功能为基础,对高风险功能列表部分进行重点测试。其次,分析了地面测控系统搭建环境的复杂度,针对性的研究了多种自动化测试框架和技术,引入能实现多平台自动化测试且支持持续集成管理的平台架构设计。最后,对设计测试脚本的技术进行深入研究,提出一系列测试脚本设计、管理方法,实现测试脚本、关键字库文件在多个不同地面测控系统项目间的复用,有效减小工作量。

关键词:地面测控系统;自动化测试策略;效率;质量

引言

地面测控系统包含的软件种类多、复杂程度高,在迭代的测控系统相关软件测试项目中,需要不断的累加测试用例以确保软件质量,测试用例的增长往往要以增加测试人员或者延长测试周期为代价,否则难以满足测试的充分性要求,例如难以覆盖所有的功能。另外,在修改软件之后,不能及时有效的完成回归测试也是亟待解决的问题。为了提高测试效率和地面测控系统软件质量,引入自动化测试是非常必要的。自动化测试并不只是单纯使用测试工具,精心构造自动化测试策略,是完成好测试项目的基础,关系到自动化测试的成败。

1地面测控系统自动化测试方案设计

1.1地面测控系统特性分析

随着航天事业高速发展,完全的手工测试已经不能适应地面测控系统的发展要求,对于很多操作重复、创造性要求不高、需要定量化统计分析的测试工作都可以采用自动化测试的方式进行,以提高整体测试质量、降低测试成本、缩短测试周期,自动化测试对于提升地面测控系统的稳定性和可靠性意义重大。需要注意的是,引入自动化测试的前期投入很大,需要评估投入成本是否能产生令人满意的回报。根据地面测控系统任务需求稳定、核心功能不会频繁变动的特性,可以按照由简到难、由点到面原则引入自动化测试。

1.2测试设计技术

测试设计技术是从特定的测试依据中得到测试用例的,用来实现特定测试覆盖的标准化方法。测试人员可以通过地面测控系统相关软件的需求文档、系统设计方案、规范标准、隐含需求等识别出功能点,将其组织成功能列表,梳理出一份逻辑合理的层次列表。将文字信息重构为树形结构的信息框架,推荐使用思维导图工具,会比较清晰。树形结构的功能列表可为核心功能的自动化测试用例设计和核心功能的交互测试提供很好的帮助。将功能列表与缺陷分析评估相结合可以有效分析出高风险功能。此方法还可以分析出大部分地面测控系统项目的通用功能,减少自动化测试脚本开发和维护的工作量,确保测试脚本可以重复使用。

1.3系统测试方案制定

自动化测试方案制定时要遵循以下原则:(1)遵从高产出与投入比的原则,在设备、人力、时间有限的情况下,专注于核心功能,确保自动化测试能覆盖软件的关键特性和功能。(2)所有测试用例分为高、中、低优先级,自动化要从高优先级的测试用例入手,然后覆盖中、低优先级需求的测试用例。(3)自动化测试应该首先考虑需要较短时间、易于自动化的测试用例。(4)对高风险功能进行重点测试。(5)要精心设计测试计划,结合人力资源、硬件资源、数据资源,合理规划负载测试、压力测试、用户界面测试、可用性测试、安装测试。

2地面测控系统自动化集成测试环境开发

2.1自动化测试平台搭建

2.1.1测试环境分析

测试环境分析包括硬件配置分析、软件运行要求分析、网络环境分析。(1)地面测控系统硬件设备有客户端、服务器、磁盘阵列等。要根据测试软件能运行的最低要求去搭建测试环境。(2)软件环境包含测试软件运行时的操作系统、数据库,并需要考虑测试软件运行时能否与其它软件兼容。地面测控系统中的多类软件由不同厂所开发,适配的操作系统各异,这要求集成测试环境能实现Linux、Windows等多平台的自动化测试。(3)网络环境包含交换机等网络设备、网络结构、各软件之间的网络依赖性、需要满足的网络指标等。地面测控系统对网络安全有高标准的要求,搭建测试环境时要严格遵守病毒查杀制度、规范用网,保证无毒环境、无失泄密隐患。

2.1.2集成管理平台架构研究

基于地面测控系统具有的多平台运行、多种类应用软件、网络安全特性,本文引入开源的RobotFramework自动化测试框架。RobotFramework自动化测试平台是基于Python语言编写的,它将当今主流测试工具都集成在其中。RobotFramework测试框架为使用者提供了统一的开发接口,可实现自行开发与地面测控系统软件相适应的自动化测试工具的。RobotFramework的易用性还包括以下几方面:(1)测试人员的主要工作就是编写测试数据,RobotFramework数据语法简单易懂,并可以表格形式呈现测试数据。(2)测试运行完成后可以自动生成测试报告,测试报告界面简洁、可读性高,能满足基本的需求。(3)RobotFramework测试框架核心对测试数据进行解析,将一个个测试用例转换成测试库能识别的操作,并负责在测试用例执行完成后生成对应的测试报告。(4)可以依据地面测控系统软件的特定需求,将通用的功能提取出来,组成可重复使用测试库。库函数关键字使用Java或Python编写均可。测试库包括系统测试库、第三方测试库和用户测试库。其中系统测试库是系统自带的测试库,它提供了变量赋值、for循环、简单判定、字符串处理等基本的操作。另外,可以根据测试业务的特性适配由第三方开发好的第三方测试库,如地面测控系统中涉及的用于远程系统测试的SSHLibrary、Windows GUI应用测试库AutoItLibrary等,或者由用户自行定义添加用户测试库。

2.1.3测试框架的部署

RobotFramework可以部署在Window、UNIX、Linux等操作系统上,安装过程中需要关注以下几点:(1)安装RobotFramework之前,需要先安装Python。(2)可以通过官网下载运行安装RobotFramework,也可以在Python环境通过pip来安装。(3)RobotFramework提供了简单且集成度高的RIDE工具来帮助编写测试用例,它提供了以表格和文本的方式编辑测试用例。

2.2自动化测试脚本设计

2.2.1录制/回放与结构化编写脚本方法相结合

使用简单的录制/回放方法可以快速创建系统测试用例,但是它往往包含很多赘余的数据,录制的脚本可读性、可维护性差,而且程序有变更后需要重新录制,增加了测试维护的成本。编写测试脚本时可以先采用录制/回放的方法,再采用结构化编写方法进行脚本优化,比如使用if-else、switch、for、while等语句实现循环任务,或通过定义函数、调用函数来覆盖通用功能。录制/回放与结构化编写脚本方法相结合的方法,使脚本更具有易读写、可重复使用的特性,提高了脚本编写效率和质量。

2.2.2数据驱动

数据驱动脚本编写方法,可以解决用户输入数据需要变化的问题。它的原理是将用户数据从脚本中剥离,以csv、excel等文件形式存储用户需要输入的数据。测试脚本不再需要因用户变更输入数据而进行修改。另外,数据文件可以进行灵活的拓展,比如在数据文件中列出每个输入数据对应的期望结果。

2.2.3关键字驱动

关键字驱动脚本编写方法将数据驱动测试方法进一步拓展延伸。关键字驱动是把执行测试的步骤、测试的对象、测试对象执行的动作、测试对象需要的数据都维护在外部数据文件中,通过额外的库文件来解析关键字。因此,关键字驱动使脚本设计的效率和质量大大提高,有利于维护和重复使用。

2.3测试数据的维护管理机制

2.3.1形成测试数据规范 本文引入的自动化测试框架有强易用、强可扩展的优势,但是也存在没有最佳实践相关机制的问题。针对此问题,本文提出对测试数据进行规范化管理,形成测试数据规范的解决方案:(1)建立测试用例、关键字的命名规范。测试用例、关键字命名应该尽量具有自描述性,名字要简明扼要,不要太冗长,也不要模棱两可。(2)建立测试用例文档,进行测试点的说明。(3)建立关键字文档,关键字文档一般描述输入参数和返回值。

2.3.2建立良好的测试数据结构

良好的测试数据结构可以提升测试用例阅读感受,提高执行测试用例的效率。建立测试数据结构时,推荐遵从以下规则:(1)为一个功能模块创建一个子目录。(2)将测试数据、公共关键字分别放到单独的目录中。(3)功能的每个接口对应一个测试用例并以之命名。(4)测试用例的每个步骤使用一个关键字。(5)创建测试用例和关键字时要考虑可以在大型工程、多工程之间复用。

3结语

测试策略是测试工程的总体方法和目标,是测试活动的指导原则和观点。本文从自动化测试方案设计、自动化测试平台搭建、测试脚本设计、测试数据维护几方面阐述了地面测控系统自动化测试策略。本文中所提出的策略、方法将有助于地面测控系统自动化测试的实现,在提高测试效率和产品质量方面具有一定的理论意义和应用价值。

参考文献:

[1]魏晋强.软件测试技术及应用研究[M].北京:中国原子能出版社,2021:141.

[2]于艳.软件测试策略、设计及其自动化实战[M].西安:西安电子科技大学出版社,2019:48.

[3]刘云.RobotFramework自动化测试精解[M].北京:人民邮电出版社,2020:4-10.

[4]吕云翔,况金荣,朱涛,杨颖,张禄.软件测试技术[M].北京:清华大学出版社,2021:202-203.

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688019492a67305.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信