操作系统健壮性测试方法研究
2022-03-29赵霞
摘 要:现如今,在操作系統的稳定运行中,健壮性已经成为衡量其性能的一个关键指标。因此,在此背景下,相关的学者提出了一些健壮性测试的方法,构建了一批完善的和先进的健壮性测试工具,现在需要对这些方法和工具进行深入分析,从而为操作系统的稳定运行提供保障。
关键词:操作系统;健壮性;测试方法
Abstract:Nowadays,in the stable operation of the operating system,robustness has become a key indicator to measure its performance.Therefore,in this context,relevant scholars put forward some robustness testing methods and built a number of perfect and advanced robustness testing tools,which need in-depth analysis to ensure the stable operation of the operating system.
Keywords:operating system;Robustness;The test method
大数据时代背景下,各种先进的技术在操作系统中得到了有效应用,健壮性测试系统和测试方法也得到了完善和创新,其主要涉及云服务健壮性测试等方面的内容。基于此,需要实现对操作系统健壮性测试方法的全面研究,整合和分析具体的测试方式,进而保障操作系统健壮性测试方法的有效性。
一、操作系统健壮性测试方法研究背景
近几年,随着云服务在不同行业领域的普及和推广,云服务健壮性也越来越重要。为了在此背景下加快云服务产业迅速地成型和发展,实现对云服务平台的有效应用,需要对相关的测试方式和技术进行分析,实现对云服务平台的健壮性评测。当然,相关的学者还能够从多方面出发,去深入分析云服务和操作系统本身的健壮性,将其作为一种提供给用户使用的基础服务资源,进而保障云服务平台运行的有效性。
在对健壮性测试的结果进行分析时,发现其功能特性主要分为通过和失效两种方式。在此过程中,我们还会发现具体测试结果还会受到服务模式的影响。如果在操作系统的角度上对健壮性进行分析,还会分析软件健壮性和硬件健壮性,其中的软件健壮性一般是指软件系统在运行中会出现异常输入,然而在这种苛刻的环境条件下运行,软件系统还可以保持稳定性。同时,此系统还有两种功能也就是差错屏蔽能力和差错恢复能力,要想在此特点上保证测试的有效性,需要明确这两者能力的具体内容,进而完善健壮性测试的流程[1]。
在对导致软件系统不健壮的因素进行分析时,发现除了外界因素外,系统自身的错误是导致这种问题的主要因素,如异常输入检测等。因此,相关的技术人员还是需要对当前的操作系统健壮性测试方法进行深入研究,从而保证云服务平台和相关操作性系统运行的安全性和稳定性。
二、操作系统主要的测试内容
(一)配置测试
配置测试是指在当前的配置环境下,操作系统运行的实际情况。然而系统配置一般包括两方面的内容,首先是软件配置,其次是硬件配置。我们一般所说的配置测试,大多数情况下是指硬件的配置测试。操作系统中的软件配置是指被测试系统在其他软件中的运行情况,如果在软件配置测试角度对其进行分析,软件的配置测试主要是说软件的兼容性测试。
在对硬件配置的功能性特点进行分析时,发现其一般是指被测试系统的硬件环境,其测试内容主要包括两方面,功能测试和性能测试。在功能测试角度上分析,一般出厂的时候供应商会给出一个推荐配置,但是在具体的测试过程中还是存在一定的难点,就是如何确定硬件的配置。再加上,硬件的配置方案是非常多的,在理论上说,是无法一一列举的,所以在具体的测试过程中一般会测试最大配置和最小配置这两种情况。
性能方面的测试,主要是指当前配置的支持期望目标能否满足用户数,也就是当前配置的能力验证。但是,还有一种特殊情况,主要是指当前的配置是否能满足未来业务的增长需求。因此,性能方面的配置测试硬件,一定要综合考虑CPU和磁盘等内容的使用情况。
(二)可靠性测试
一般情况下,系统的可靠性测试主要是指软件系统的可靠性测试,所以其也被称为软件的可靠性评估,主要结合软件系统的可靠性结构以及不同单元的可靠性试验信息等,然后利用概率统计方法,更加准确地评估出系统的可靠性和稳定性。同时,软件可靠性还指在规定时间的基础上,所完成的规定功能能力。
在一般情况下,只要通过对软件系统进行测试,就能度量其可靠性。但是,如果是对产品的可靠性进行评估,不能只对软件可靠性进行测试,还包括硬件的可靠性测试,主要是因为元器件可能会出现失效等情况,进而导致整体产品的测试出现失效,或者是产生故障。
(三)健壮性测试
健壮性测试是目前系统测试中应用最为广泛的方式,其还被称为容错性测试。主要是指当测试系统在运行的过程中出现故障时,是否可以自动恢复或者是忽略故障继续运行。在对其进行设计过程中,需要考虑错误输入和故障注入等多种情况,只有这样才可以保证系统运行的健壮性。
通常情况下,要想实现对当前操作性系统的有效设计,强化其本身的健壮性,需要按以下内容进行:
(1)通过。如果在系统中输入参数,此系统需要产生预期的正常结果。(2)灾难性失效。此情况属于操作性系统在运行中的问题,如果得不到及时解决,此系统就会失效。因此,如果在测试中发现系统出现了这种失效以后,需要对其进行重新引导,促进系统恢复。(3)重启失效。当系统中的函数调用后并没有返回,这就会导致调用它的程序出现问题,需要对其进行及时测试,并对其进行维护。
因此,为了进一步提高操作系統健壮性测试的有效性,需要对其进行良好的健壮性设计,明确健壮性测试的主要内容。由于其属于针对硬件进行测试的测量的方法,所以需要从此角度出发,优化整个计算环境。
在最近的研究中,部分的技术人员使用了基于故障注入的措施以及基准程序方法,开展测试工作。因此,不管是在应用哪些设计和测试方式时,都需要不断强化系统本身的健壮性,优化此流程,实现对健壮性测试内容和具体结果的全面分析,从而为操作性系统的稳定运行提供支持。
三、健壮性测试基准程序设计的要素
(一)可移植性
要想实现对当前操作系统的有效设备,要在健壮性测试基准程序出发,明确其特性以及设计要素。可移植性就是健壮性测试设计的特点之一,能够在多个系统上移植。但是,一定要明确这种可移植性是存在时间限制的,如果不对时间进行有效控制就会在一定程度上影响到实际的测试结果和内容。
(二)覆盖率
一般情况下,部分学者认为理想的基准程序,不仅能够保证操作系统运行的稳定性,还能够覆盖其中的系统模块。但是,事实上,这种情况的开销是非常巨大,存在一定的局限性。所以,在具体的操作中会应用综合性测试方式,及时发现操作系统在运行中的问题,进而保证健壮性测试的准确性[2]。
(三)可扩展性
由于健壮性测试的基准程序本身具有非常好的可扩展性,所以其不仅能够保证测试结果的有效性,还能为具体的测试提供新途径。一些学者在对测试细节中的分级特点进行研究时,发现不同系统的内容是不一样的,所有其所应用的测试方式也不同,需要在此情况下进行跨平台的测试,实现数据信息之间的交换。
在此测试过程中,还要保证操作流程的简单性和移植性。尤其是在对特定的模块进行测试时,需要对实际的测试结果进行相关记录。主要是因为健壮性测试的流程比较复杂,如果不进行相关的记录,就会出现误差。
四、云服务健壮性测试系统的特征和具体步骤
(一)特征
首先如果在接口分析模块角度上对其进行分析,发现此系统的内容是比较多的,一般包括:参数预定义模块、接口的参数分析模块和分类并生成参数库模块等内容。其中接口的参数分析模块主要是结合用户所选择的云服务,及时收集改云服务接口中的信息,进而获得更加准确的接口信息,提高用户的满意度[3]。
参数预定义模块的主要功能作用是结合高覆盖率和合理性等原则,对用户所选择的云服务实现接口参数的类型选择,然后在此基础上获得更为准确的参数库。同时,测试用例随机生成模块也在系统的运行中起着非常重要的作用,主要是应用其描述所预先定义好的参数数据类型,实现对每个接口信息的有效整合,然后在此基础上将接口和其参数生成接口参数列表,保证系统运行的稳定性,从而进一步提高健壮性测试列表的准确性。
最后,服务调用模块主要应用在接口参数列表中,功能作用是准确查询是否有用户选择的测试接口类别信息,然后结合用户所选择的接口类型,实现对接口类别的匹配。如果其中的类别匹配是相对有效,可以认为此接口满足和符合测试的相关标准。但是,如果系统中的类别不匹配,其接口就不在测试范围内,系统会进行下一个接口类别的有效匹配,等到其匹配到接口信息以后,就会选择准确的参数,进而生成实际的测试结果。
(二)健壮性测试的具体步骤
1.用户的选择
此部分内容是为用户提供云服务层次选择端口,并且向管理控制模块,然后在此基础上发送用户所选择的服务信息。在此过程中,还要注意选择待测服务层次的子步骤,其中主要包括了laaS层云服务和SaaS层云服务,主要功能是向用户提供云服务类型以及选择的端口,保证用户所选择云服务类型和相关的信息能够及时发送到管理控制模块中[4]。
2.选择测试服务
此部分主要包括选择测试接口类型模块、测试结果清空模块、测试结果分析模块和测试停止模块等,不同模块的功能作用也是不同的。需要结合用户的实际需求,提供开始执行测试操作端口,保证所发送用户选择信息的有效性。
五、健壮性测试的方法
随着操作系统在社会发展中各个领域的有效实施,为了保障其运行的稳定性和安全性,相关的学者加强了对健壮性测试方法的研究,其主要包括基于测量的方法和健壮性基准程序方法等内容。健壮性基准程序方法已经在不同系统中得到了有效应用,当然其在操作系统测试中应用是最为广泛的,一般有以下几点:
(一)模块化基准测试
这种测试是对一个系统进行分离测试,将一个独立的系统当成是一系列组件的集合,比如内存系统、外部交互系统和多道程序运作等。在此过程中需要一个监视程序对测试过程结果进行监视。模块化基准测试的主要优势是降低单独系统测试的复杂性,简化其流程,并且其还有对测试结果的分析定位能力。但是,其并不适合大型的操作系统,主要是因为这些操作系统模块会紧密地交织在一起,要想对他们进行独立的测试是非常困难的。模块的分解测试会降低整个系统测试的覆盖率,但是其不能很好地利用模块的相似性,会影响可扩展性[5]。
(二)层次化测试
由于模块测试具有一定的局限性,其最大的弊端就是在具体的测试中没有达到细节等级的要求,并且一些模块中相同或相似的地方并没有抽象出来。因此,为了更好地解决这个问题,需要让测试抽象化,让测试和各种模块测试执行细节有效分离。在此过程中可以结合不同模块的功能合理应用层次性结构,对系统进行分解。同时,通过层次化对操作系统进行有效测试,能够获得非常好的效果,实现对其中编码的综合处理[6]。
在此过程中,操作人员还可以结合给出的层次化测试应用等级模型,将不同模块中的一些相同接口函数提取出来,让其作为一个完善的抽象层,然后对这个抽象层进行全面测试,为系统的安全运行提供条件。
结语
由此可见,相关的技术人员在对健壮性系统进行分析时,需要从不同的角度出发增强操作性系统的健壮性。同时,在对增强系统健壮性的内容进行整合时,需要深入分析测试结果,找出失效原因和产生保护代码等角度出发,屏蔽那些导致健壮性失效的异常值,实现对操作系统的有效测试,及时发现其中的问题,从而为系统的稳定运行提供保障。
参考文献:
[1]梅磊,刘娜.基于国产操作系统的软件测试方法研究[J].航天标准化,2019,(1):34-40.
[2]陈鹏,陈丽容,高艳鹍,等.基于依赖要素比对的国产操作系统兼容性测试方法[J].计算机工程与设计,2020(10):2747-2751.
[3]史春腾.智能卡操作系统指令测试方法研究[J].中国标准化,2020,572(12):240-244.
[4]金涛,李新剑,刘宏斌,等.基于Linux安全漏洞渗透测试方法的研究[J].网络空间安全,2019(3):28-35.
[5]左芸,沈雷,张杨.基于Cantata的高安全性操作系统软件单元测试[J].数字技术与应用,2019,37(1):202-204.
[6]黄显果,李国杰,李松合,等.基于Nucleus系统的XML操作组件设计与测试[J].工业控制计算机,2019,32(8):108-109+112.
作者简介:赵霞(1977— ),女,本科,中级工程师,研究方向:计算机应用。