国产服务器操作系统测试方法研究

2023-05-29 09:23邓蕊王龙涛李亚伟
电子技术与软件工程 2023年7期
关键词:测试工具测试方法服务器

邓蕊 王龙涛 李亚伟

(1.北京赛迪软件测评工程技术中心有限公司 北京市 100048)(2.北京计算机技术及应用研究所 北京市 100854 3.中国软件评测中心 北京市 100048)

随着国家“自主可控”规划的推进,国产操作系统作为关键基础平台,在军工行业的应用得到了快速发展[1]。而国产服务器操作系统作为装备信息系统的核心和自控可控的重点,其技术状态将直接影响装备信息系统效能。当前,国产服务器操作系统发展时间短,系统版本迭代快,测试标准的更新相对滞后,因此,为保证装备信息系统的适用性和可用性,军工行业逐步开展了国产服务器操作系统软件单品验证工作。本文基于国产服务器操作系统应用特点,结合装备信息系统应用要求,识别了国产服务器操作系统软件单品测试需求,结合相关测试标准和调研结果,构建了有针对性的测试指标,分析并给出了测试内容和测试方法,为后续国产服务器操作系统测试工作提供数据参考。

1 测试需求分析与测试指标体系构建

1.1 测试需求分析

本文结合国产服务器操作系统应用特点,主要通过对操作系统产品研制单位、装备系统研制单位、使用单位进行调研,以及向相关领域专家进行技术咨询的方式,分析并识别了国产服务器操作系统的测试需求。

国产服务器操作系统作为应用系统的基础架构平台,除了需具备中文化的操作系统环境和常用图形管理工具外,还需具备服务器端专用的配置管理工具、完善的网络服务等功能,具有高可靠、易管理、高性能等要求。一般情况下,选用服务器操作系统,用户优先考虑其安全性和资源消耗情况,以满足用户业务对计算、存储、网络及I/O 能力的要求。因此,国产服务器操作系统测试重点主要体现在功能、适配兼容性、性能、安全性和可靠性等几个层面,围绕上述几个层面开展测试需求分析工作,具体情况如下:

1.1.1 针对功能层面的测试需求

服务器通常以命令行方式进行配置和运行,因此服务器操作系统的图形用户界面相对不重要。服务器操作系统作为计算机的关键软件,其可扩展能力、高可用支撑能力以及可定制能力均需要得到有效的提高,才能满足装备信息系统发展的需求。因此,需要重点从上述三个方面验证操作系统的能力:可扩展性方面主要测试系统的虚拟机能力以及集群能力;高可用支撑能力方面主要测试系统在集群环境下的高可用能力,如负载均衡、高可用工作模式、节点高可用支持能力等;可定制能力方面主要测试系统服务的管理能力、模块和网络支持去除能力等。

1.1.2 针对适配兼容层面的测试需求

目前,由于国产基础软硬件产品(CPU、操作系统、数据库、中间件等)整体缺乏应用牵引和顶层设计,整个自主化产业链不够完善,导致国产软硬件产品之间兼容适配的集成度不高[2]。通过对相关领域装备信息系统研制单位、使用单位进行调研,发现国产操作系统在应用过程中存在大量适配兼容方面的问题,适配兼容问题不仅会影响用户的使用体验,更严重的会影响装备信息系统的作战能力、质量安全。因此,软硬件适配列入测试需求,本文主要从国产CPU 适配、总线协议适配、常用外设适配、常用的开发集成环境支持以及主流的编程语言环境支持等方面开展适配兼容测试。

1.1.3 针对性能层面的测试需求

装备信息系统要完成与其他各系统的数据通信任务,必须保证专用的数据通道和足够的宽带,保证数据传输的可靠性。因此,性能测试要考虑信息文件性能、网络连接数、进程/线程通信延时、宽带,网络传输速率等方面。

1.1.4 针对安全性层面的测试需求

国产服务器操作系统将广泛应用到军工装备中,作为应用系统的核心基础软件,必须保证数据的安全性和可靠性。因此,为提高数据传输和存储的安全性,需重点考察数据安全机制,如网络传输加密、数据存储加密等。

1.1.5 针对可靠性层面的测试需求

完全自主可控是装备发展的方向,自主的操作系统作为装备应用系统运行环境的基础,它的稳定可靠关系装备应用系统性能优劣的重要因素,其潜在的故障可能导致系统的瘫痪。因此,结合装备的效能因素,需对国产服务器操作系统展开可靠性测试,包括服务器操作系统的长时间不间断运行能力以及系统在高负载条件下的抗压能力等。

1.2 测试指标体系构建

本文基于国产服务器操作系统的测试需求(详见1.1 章节),结合GJB 7696-2012、GJB 7717-2012、GJB 7699-2012、GJB 7721-2012 等相关国家军用标准,从功能、适配性、性能、接口、安全性、可靠性、安装性、文档审查等八个方面,构建了国产服务器操作系统软件单品测试指标体系(见图1),并通过了外部专家评审。

图1:国产服务器操作系统测试指标体系

2 测试内容与测试方法研究

国产服务器操作系统的测试顺序,先进行文档审查和安装性测试,再进行功能测试、性能测试和适配性测试等类型的测试。拟选取的测试内容和测试方法具体如下。

2.1 功能测试

功能测试主要采用功能分解、等价类划分、边界值分析、错误推测和随机测试等黑盒测试技术,对操作系统的各个功能项进行测试,验证在正常状态、边界状态、异常状态或在人为设定的状态下系统的功能情况。测试方法如下:

(1)基本功能:通过人工操作,或编写测试脚本,结合LTP、Netperf 等测试工具,或系统提供的相关命令等多种方法,验证系统的基本功能,内容包括任务管理、内存管理、文件系统管理、网络管理、字符集支持、中文支持、命令测试等测试项。

(2)安全功能:通过系统提供的相关命令或人工操作的方法,验证安全功能项,内容包括自主访问控制策略、身份鉴别、安全审计等。

(3)图形化操作:通过人工操作的方法,验证系统的图形化操作功能项,内容包括桌面、开始菜单、系统面板、启动与登录、快速启动栏、工作区和任务栏等。

(4)系统与服务管理:通过人工操作的方法,验证系统与服务管理功能项,内容包括控制面板、网络管理、文件浏览器、系统与资源管理等。

(5)可扩展能力:通过系统提供的虚拟机管理工具验证虚拟机的管理能力,如虚拟机创建、容器添加等;采用Lmbench、LTP 等综合性能测试工具,测试虚拟机中的性能损耗,验证虚拟机的性能是否受其他虚拟机的负载影响;通过对节点进行安装部署和安装配置MPICH,测试系统的集群能力,包括节点的启动安装方式、并行计算模式和安装镜像的定制。

(6)可定制能力:通过系统提供的相关命令或配置工具,验证可定制能力,内容包括内核软件包大小、模块支持去除、网络支持去除、指定硬件平台专用设备模块、系统服务管理、图形操作环境可定制项等。

(7)高可用支撑能力:测试系统单机环境下的高可用能力和集群环境下的高可用能力。单机环境下的高可用能力覆盖硬件故障处理、静态数据备份和实时数据同步、检查点与恢复机制、基于日志文件的高可用文件系统;集群环境下的高可用能力,覆盖负载均衡、双机热备、多机热备等高可用工作模式、节点或应用高可用支持能力。

2.2 适配性测试

对系统的硬件适配、软件适配、文件格式适配进行测试,测试方法如下:

(1)硬件适配性主要验证系统与国产CPU(飞腾、龙芯等)、固件、总线等硬件平台的兼容情况,与键盘、鼠标、打印机、存储设备、以太网卡、HSA 网卡、显卡、USB 卡等外设的兼容情况。

(2)软件适配性主要验证系统与集成开发环境(QtCreator、Eclipse 等)、主流的编程语言环境(C/C++、Java等)、国产数据库(金仓数据库、达梦数据库等)、国产中间件(TongWeb、TongLink/Q 等)、国产办公软件(WPS、Liberwriter 等)的兼容情况。

(3)文件格式适配性主要验证系统中媒体文件(BMP、JPG/JPEG、PNG、MP4、MPEG、MOV 等)和版式文件(PDF、DOC、DOCX、ODF、TXT、RTF 等)的显示情况,验证压缩文件(RAR、GZIP、BZIP、7-ZIP、ZIP、ZR 等)的解压情况。

2.3 性能测试

对系统的性能逐项进行测试,验证其性能是否满足要求,测试方法如下:

(1)与硬件无关的性能测试:通过lscpu、free、lsblk、df 命令,分别查看CPU 信息文件、内存信息文件、交换分区信息文件、文件系统信息文件,验证信息文件中的各项指标是否满足要求;采用Netperf 测试工具测试网络连接数;通过编写用户创建脚本,分别持续创建用户,持续加长用户名,通过命令查看用户数和用户名长度是否要求;编写测试程序连续申请内存空间,直至空闲内存空间为50MB,查看系统是否保持正常运行;编写测试程序向外存空间连续写入数据,直至空闲外存空间为全部外出空间的5%,查看系统是否保持正常运行。

(2)操作系统的整机性能测试:采用Netperf 测试工具测试网络传输速率;采用Unixbench、Lmbench 等测试工具测试空进程打开时间、空进程上下文切换时间、进程/线程通信延时、带宽、内存连续读写延时;使用X11perf 测试工具绘制2D 图形,查看显示速率是否满足要求;使用光盘进行快速无人值守方式安装操作系统,测试安装的总时间是否不超过2 小时;从关机状态启动操作系统,记录开始内核加载至出现登录界面的时间作为系统启动时间,验证启动时间是否不超过2 分钟。

2.4 接口测试

对系统的编程接口进行测试,使用LTP 测试工具或编写接口函数调用的驱动程序和桩程序,验证系统编程接口函数的调用情况,范围覆盖函数参数的正常、异常和边界情况,内容包括任务管理接口、资源管理接口、通信管理接口、设备驱动接口等各类编程接口。

2.5 安全性测试

对系统提供的安全保密性、措施有效性、防止非法进入系统并保护软件的数据完整性等安全能力进行测试。结合功能测试方法,利用系统提供的相关命令,采用OpenSSL、Nmap、Wireshark、SignTool 等相关测试工具,验证系统向应用提供的安全保护能力,内容包括用户密码保护、用户安装控制、应用执行控制、网络传输加密、网络端口保护、数据存储加密、数据完整性等。

2.6 可靠性测试

对系统的长时间不间断运行能力和开关机稳定性能力进行测试,测试内容和方法如下:

(1)使用LTP 测试工具执行高负载作业(如进程创建、进程间通信、上下文切换等多种进程调度操作),使CPU、内存、外存占用率不低于95%,连续运行168小时,验证系统是否能够保持稳定运行状态。

(2)验证系统在空载条件下,无硬件故障及人为故障时,非正常关机导致的外存不一致故障修复时间;人工编写无故障启动脚本,通过脚本启动无故障的连续开关机(启动至显示登录界面即关机)不少于100 次,验证系统是否能够正常运行。

2.7 安装性测试

对系统的安装、升级和维护功能进行测试,测试方法如下:

(1)系统安装:正常安装系统,验证系统是否支持光盘、网络、硬盘、U 盘等不同安装方式,安装过程中是否可以切换安装形态(图形安装、字符安装),是否可以选择典型安装或自定义安装类型,是否提供安装配置功能;安装后,查看系统是否能够正常运行,查看/var/log/anaconda 文件下是否生成安装日志信息;安装多操作系统,查看系统是否具有系统引导机制;引导安装模式下,进入救援模式,查看系统安装是否能够修复成功;在系统安装过程中,选择退出安装,查看系统是否具有完善的退出安装机制;在系统安装过程中,查看是否有详细的安装说明和提示信息,是否有图形化的提示信息。

(2)系统升级:系统安装完成后,通过安装系统补丁进行新功能部署或漏洞修补,验证系统补丁安装是否不影响现有系统应用功能;通过升级包升级系统,验证系统在不损害原系统功能的前提下,是否支持版本升级。

(3)系统维护:基于安装媒介启动系统,进行分区和文件系统操作,验证系统的脱机维护功能是否正确,系统是否提供安装后的即时系统备份功能。

2.8 文档审查

根据文档检查单,通过人工的方式对操作系统的技术文档(如软件产品规格说明、软件用户手册、联机帮助等)逐一检查,验证技术文档是否满足相关标准的规范要求,重点审查技术文档的完整性、一致性和准确性。

3 总结

本文针对国产服务器操作系统,识别了软件测试需求,构建了测试指标体系,分析并总结了测试内容和测试方法,为国产服务器操作系统的测试工作提供了参考指南。

猜你喜欢
测试工具测试方法服务器
基于泊松对相关的伪随机数发生器的统计测试方法
通信控制服务器(CCS)维护终端的设计与实现
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
Http并发连接测试工具
手车式真空断路器回路电阻测试电流线接头研究
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
对改良的三种最小抑菌浓度测试方法的探讨