通信设备嵌入式软件测试流程的改进

2021-04-20 02:36陈尘蒲文栋朱玲瑛
电子技术与软件工程 2021年1期
关键词:嵌入式软件单元测试软件测试

陈尘 蒲文栋 朱玲瑛

(成都国信安信息产业基地有限公司 四川省成都市 610000)

在通信产业高速发展的背景下,通信设备嵌入式软件也得到了长足的发展,但是仍然存在很多缺陷问题。如今,通信设备软件开发测试流程的改进和优化已经成为现阶段软件测试管理人员所研究的重要课题。软件测试流程十分关键和重要,其直接关乎到软件产品是否能够投入应用,是否可以投入市场和生产,因此软件测试流程是软件质量的重要保障措施。我们应不断加强对软件测试流程的研究,对存在的难题进行不断攻克,从而对通信设备嵌入式软件测试流程不断的改进和优化,进而推动通信设备行业进步与发展。

1 通信设备嵌入式软件测试概述

1.1 软件测试概述

软件测试环节十分关键,这是对通信设备嵌入式软件运行可靠性的重要评估过程,其中测试主要包括6 个阶段,分别为项目规划设计、系统设计、系统测试、用户需求分析、代码设计与实现以及维护管理。在测试环节需要严格执行每一项测试流程,只有确保通信设备嵌入式软件通过测试之后才可以投入使用。

1.2 软件测试流程分析

1.2.1 单元测试

在不同的通信设备企业中所应用的测试流程几乎都存在较大差异,单元测试是一个重要的测试活动之一,其又叫做模块测试,其测试对象主要是软件基本单元。单元测试流程主要是为了对某一段代码或者是模块行为进行有效验证,验证其是否与软件开发人员的期望相同。由此可见,单元测试是一种正向典型的测试方式。单元测试与后几项测试过程相比较,测试环境的创建难度系数相对较低,回归测试相对比较简单,测试成本低。

1.2.2 系统集成测试

这项测试流程实际上是单元测试与系统集成测试的过渡,在掌握单元测试代码的情况下,那么则可以将其编译成系统软件版本,在具体测试的环节把系统软件版本通过相关方式把编译成的系统版本加载在通信设备硬件上,通过这种方式可以实现对组装完成的软件版本的各个接口和模块是否存在某些问题的有效验证,而且还能够实现对集成的软件版本能否配合硬件稳定运行的有效验证。在系统集成测试过程中通常需要进行测试范围的划分,通常主要按照软件系统功能和硬件板卡功能进行。这项测试流程更加关注软硬件之间的集成,如果测试的仅仅是纯软件产品,那么这项测试流程所注重的主要是软件模块之间的集成。

1.2.3 系统验证测试

这项测试流程更加类似于实际的网络环境,在此项测试流程同样非常关键。系统验证测试实际上主要是在整体通信设备的系统中,把集成的软件系统作为一项重要的元素,然后再将其与使用者元素、某些支持软件元素、通信设备硬件元素、数据元素等其他重要元素结合起来,使其在复杂的测试环境中开展一系列的黑盒测试活动,测试对象主要是通信设备系统以及一些网络拓扑,从而切实保障通信设备嵌入式软件能够切实达到用户各方面的要求。系统验证测试的内容主要包括功能验证测试、容错测试、性能测试、压力测试以及容量测试等。

1.2.4 验收测试

验收测试环节通常主要是有通信设备业务专家完成,通常开始于研发部门结束所有测试活动之后。验证测试主要是为了能够切实保障通信设备嵌入式软件能够更好满足用户业务上的需求,这是一项由通信设备业务专家完成的一系列黑盒测试,也是最后一项质检活动。将通信设备嵌入式软件测试流程分为多个测试活动,检查出在软件产品在不同开发阶段而出现的各项缺陷问题,而且缺陷问题通常会表现出不同类型和特点。

1.3 测试过程管理模型分析

1.3.1 V 模型

V 模型早在20世纪80年代被提出,这种模型在左侧描述了开发活动顺序,右侧展现出与之相匹配的测试活动,这种模型中明确体现出在不同阶段需要采用不同测试活动。V 模型主要如图1所示,首先在左侧体现出,先进行项目需求分析,然后再一次进行项目概要设计和项目详细设计,最终在进行编码形成产品。从V 模型的右侧可以观察到,第1 步应执行单元测试,这个步骤的目的主要是对编码阶段产生的代码进行有效验证,判断其是否与预期要求相符合,然后再一次开展集成测试、系统测试、验收测试。

图1:V 模型

1.3.2 W 模型

W 模型是在V 模型的基础上改进而形成的,这个模型注重的是软件测试贯穿整个开发周期,测试对象不但包括软件程序和功能,而且还包括需求分析与设计。W 模型在实施过程中测试活动与开发活动同时开展,大幅度降低了开发周期,而且强化了软件产品开发效率,但是也存在一定的局限性,主要体现为不容易适应多变软件项目。

1.3.3 前置测试模型

对于这种测试模型更加注重测试和开发的紧密结合,在前置测试模型中阐述了怎样在编码之前对程序实施测试设计,而且更加关注对交付开发结果的测试,与V 模型相比前置测试模型效率更高。前置测试模型主要包括以下几项重要行为,首先,对所有交付物进行有效测试,主要如图2所示;其次,在设计阶段完成测试设计和测试规划;另外,将测试与开发紧密结合;需要保障技术测试与验收测试两者间具有独立性;最后,反复交替进行有效的测试与开发。

图2:前置测试模型

2 通信设备嵌入式软件测试流程现状分析

2.1 软件测试难度大

众所周知,通信设备嵌入式软件的开发难度水平非常高,其测试难度同样具有较高难度系数,其开发与测试具有综合性强、复杂程度高的特点,在具体的测试环节往往需要填充大量代码,对软件测试人员的素质水平有着非常高的要求,务必要熟练各项业务,而且还要具备较强的知识储备,在较短时间内可以及时发现存在的问题,需要充分考虑软件兼容性、各项模块的合作与交互等其他重要内容。然而,专业软件测试技术人员稀缺,年龄相对较大的测试技术人员通常都会离开软件测试研发一线,然而对于年轻的测试人员根本无法实现在短时间内完全掌握各项业务水平,软件产品测量质量难以得到有效保障,项目规划周期会被延长。现阶段,采用何种方式才能够实现对软件测试流程和代码结构的优化,这已经成为软件测试管理人员所关注的重要内容。

2.2 创新意识差

熟练掌握软件测试流程的专业软件测试人员数量比较少,往往需要从事3~5年软件测试工作,才能够做到精益求精,否则难以正确把握各项测试流程的目的和责任。软件测试人员通常需要经过3~5年的工作熏陶,才可能对软件项目统一框架结构的完全掌握,才能够在此基础上对测试细节进行简化和研发。然而,部分研发人员总是安于现状采用相对较为稳定的测试模式,在软件测试方面不会使用新的开发方式。这主要是由于在新的测试研发模式中往往存在很多需要解决的问题,需要消耗大量的精力和时间。

2.3 软件测试管理组织问题

对于通信设备嵌入式软件而言,在对其测试的过程中往往需要多个部门的参与,共同进行审查与讨论,从而密切合作完成测试工作。但是,如果软件测试组织出现问题或者是存在管理不当的现象,就很可能导致各个项目对软件项目的认识程度出现偏差,那么必将会造成产品与需求不相符的现象。

3 通信设备嵌入式软件测试的改进方案分析

3.1 注重对软件测试管理机制创新

为了能够切实提高软件测试质量和效率,那么务必要注重对软件测试管理机制的构建,并设计出完善的监督管理方案,促使各个组织和部门可以更好的掌握和明确项目目标、责任与任务。比如,在接到软件测试项目后,需要将各个部门的人员召集到同一个工作室,共同互相协作进行产品研发,通过这种方式可实现相关部门零距离交流,从而规避电话沟通、邮件交流的低效率的协作方式,进而提高软件测试效率。

3.2 创新软件测试技术

现阶段,通信技术水平在不断提高,通信产品换代速度在不断加快,传统测试技术很难满足现阶段新型通信产品。为此,对于企业务必要积极融入软件测试技术创新的热潮中,积极引入新型的软件测试技术,对技术装备进行优化,对软件的各种代码结构、框架以及测试流程进行不断创新,进而达到强化软件产品的测试水平的目标。

3.3 加强对测试工具的研发

如今,自动软件测试工具相对较为匮乏,这严重阻碍了软件测试水平的提升。近年来,我国在软件测试工具的研究方面投入力度不断加大,这对自动化测试工具研发具有良好的推动性作用,相信在不久的将来必将会实现智能化和自动化的软件测试工具研发目标,不断提高测试范围、软件测试面以及测试质量。

3.4 注重软件测试人员素质水平的提升

通信设备嵌入式软件测试是一项高难度水平的工作,因此作为软件测试人员需要具备较强的职业道德素质和专业素养,全身心投入软件测试任务中。企业应注重软件开发测试主力军的建设,采取老人带新人的管理模式,不断强化团队整体的技术能力、业务水平。

4 结束语

测试流程的改进是提升通信设备嵌入式软件测试水平的重要举措,在测试改进流程方面应高度重视对测试工具的研发、测试技术的创新、测试人才的培养以及软件测试管理机制的构建。在软件测试过程中务必要注重各个部门的沟通、协作与配合,根据企业的整体情况设计出有效的软件测试管制措施,从而为企业创造出更高的经济价值。

猜你喜欢
嵌入式软件单元测试软件测试
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
实时嵌入式软件的测试技术
关于软件测试技术应用与发展趋势研究
全景相机遥控器嵌入式软件V1.0 相关操作分析
软件测试工程化模型及应用研究
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制