摘 要:現(xiàn)如今,在操作系統(tǒng)的穩(wěn)定運行中,健壯性已經(jīng)成為衡量其性能的一個關(guān)鍵指標(biāo)。因此,在此背景下,相關(guān)的學(xué)者提出了一些健壯性測試的方法,構(gòu)建了一批完善的和先進的健壯性測試工具,現(xiàn)在需要對這些方法和工具進行深入分析,從而為操作系統(tǒng)的穩(wěn)定運行提供保障。
關(guān)鍵詞:操作系統(tǒng);健壯性;測試方法
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
大數(shù)據(jù)時代背景下,各種先進的技術(shù)在操作系統(tǒng)中得到了有效應(yīng)用,健壯性測試系統(tǒng)和測試方法也得到了完善和創(chuàng)新,其主要涉及云服務(wù)健壯性測試等方面的內(nèi)容。基于此,需要實現(xiàn)對操作系統(tǒng)健壯性測試方法的全面研究,整合和分析具體的測試方式,進而保障操作系統(tǒng)健壯性測試方法的有效性。
一、操作系統(tǒng)健壯性測試方法研究背景
近幾年,隨著云服務(wù)在不同行業(yè)領(lǐng)域的普及和推廣,云服務(wù)健壯性也越來越重要。為了在此背景下加快云服務(wù)產(chǎn)業(yè)迅速地成型和發(fā)展,實現(xiàn)對云服務(wù)平臺的有效應(yīng)用,需要對相關(guān)的測試方式和技術(shù)進行分析,實現(xiàn)對云服務(wù)平臺的健壯性評測。當(dāng)然,相關(guān)的學(xué)者還能夠從多方面出發(fā),去深入分析云服務(wù)和操作系統(tǒng)本身的健壯性,將其作為一種提供給用戶使用的基礎(chǔ)服務(wù)資源,進而保障云服務(wù)平臺運行的有效性。
在對健壯性測試的結(jié)果進行分析時,發(fā)現(xiàn)其功能特性主要分為通過和失效兩種方式。在此過程中,我們還會發(fā)現(xiàn)具體測試結(jié)果還會受到服務(wù)模式的影響。如果在操作系統(tǒng)的角度上對健壯性進行分析,還會分析軟件健壯性和硬件健壯性,其中的軟件健壯性一般是指軟件系統(tǒng)在運行中會出現(xiàn)異常輸入,然而在這種苛刻的環(huán)境條件下運行,軟件系統(tǒng)還可以保持穩(wěn)定性。同時,此系統(tǒng)還有兩種功能也就是差錯屏蔽能力和差錯恢復(fù)能力,要想在此特點上保證測試的有效性,需要明確這兩者能力的具體內(nèi)容,進而完善健壯性測試的流程[1]。
在對導(dǎo)致軟件系統(tǒng)不健壯的因素進行分析時,發(fā)現(xiàn)除了外界因素外,系統(tǒng)自身的錯誤是導(dǎo)致這種問題的主要因素,如異常輸入檢測等。因此,相關(guān)的技術(shù)人員還是需要對當(dāng)前的操作系統(tǒng)健壯性測試方法進行深入研究,從而保證云服務(wù)平臺和相關(guān)操作性系統(tǒng)運行的安全性和穩(wěn)定性。
二、操作系統(tǒng)主要的測試內(nèi)容
(一)配置測試
配置測試是指在當(dāng)前的配置環(huán)境下,操作系統(tǒng)運行的實際情況。然而系統(tǒng)配置一般包括兩方面的內(nèi)容,首先是軟件配置,其次是硬件配置。我們一般所說的配置測試,大多數(shù)情況下是指硬件的配置測試。操作系統(tǒng)中的軟件配置是指被測試系統(tǒng)在其他軟件中的運行情況,如果在軟件配置測試角度對其進行分析,軟件的配置測試主要是說軟件的兼容性測試。
在對硬件配置的功能性特點進行分析時,發(fā)現(xiàn)其一般是指被測試系統(tǒng)的硬件環(huán)境,其測試內(nèi)容主要包括兩方面,功能測試和性能測試。在功能測試角度上分析,一般出廠的時候供應(yīng)商會給出一個推薦配置,但是在具體的測試過程中還是存在一定的難點,就是如何確定硬件的配置。再加上,硬件的配置方案是非常多的,在理論上說,是無法一一列舉的,所以在具體的測試過程中一般會測試最大配置和最小配置這兩種情況。
性能方面的測試,主要是指當(dāng)前配置的支持期望目標(biāo)能否滿足用戶數(shù),也就是當(dāng)前配置的能力驗證。但是,還有一種特殊情況,主要是指當(dāng)前的配置是否能滿足未來業(yè)務(wù)的增長需求。因此,性能方面的配置測試硬件,一定要綜合考慮CPU和磁盤等內(nèi)容的使用情況。
(二)可靠性測試
一般情況下,系統(tǒng)的可靠性測試主要是指軟件系統(tǒng)的可靠性測試,所以其也被稱為軟件的可靠性評估,主要結(jié)合軟件系統(tǒng)的可靠性結(jié)構(gòu)以及不同單元的可靠性試驗信息等,然后利用概率統(tǒng)計方法,更加準(zhǔn)確地評估出系統(tǒng)的可靠性和穩(wěn)定性。同時,軟件可靠性還指在規(guī)定時間的基礎(chǔ)上,所完成的規(guī)定功能能力。
在一般情況下,只要通過對軟件系統(tǒng)進行測試,就能度量其可靠性。但是,如果是對產(chǎn)品的可靠性進行評估,不能只對軟件可靠性進行測試,還包括硬件的可靠性測試,主要是因為元器件可能會出現(xiàn)失效等情況,進而導(dǎo)致整體產(chǎn)品的測試出現(xiàn)失效,或者是產(chǎn)生故障。
(三)健壯性測試
健壯性測試是目前系統(tǒng)測試中應(yīng)用最為廣泛的方式,其還被稱為容錯性測試。主要是指當(dāng)測試系統(tǒng)在運行的過程中出現(xiàn)故障時,是否可以自動恢復(fù)或者是忽略故障繼續(xù)運行。在對其進行設(shè)計過程中,需要考慮錯誤輸入和故障注入等多種情況,只有這樣才可以保證系統(tǒng)運行的健壯性。
通常情況下,要想實現(xiàn)對當(dāng)前操作性系統(tǒng)的有效設(shè)計,強化其本身的健壯性,需要按以下內(nèi)容進行:
(1)通過。如果在系統(tǒng)中輸入?yún)?shù),此系統(tǒng)需要產(chǎn)生預(yù)期的正常結(jié)果。(2)災(zāi)難性失效。此情況屬于操作性系統(tǒng)在運行中的問題,如果得不到及時解決,此系統(tǒng)就會失效。因此,如果在測試中發(fā)現(xiàn)系統(tǒng)出現(xiàn)了這種失效以后,需要對其進行重新引導(dǎo),促進系統(tǒng)恢復(fù)。(3)重啟失效。當(dāng)系統(tǒng)中的函數(shù)調(diào)用后并沒有返回,這就會導(dǎo)致調(diào)用它的程序出現(xiàn)問題,需要對其進行及時測試,并對其進行維護。
因此,為了進一步提高操作系統(tǒng)健壯性測試的有效性,需要對其進行良好的健壯性設(shè)計,明確健壯性測試的主要內(nèi)容。由于其屬于針對硬件進行測試的測量的方法,所以需要從此角度出發(fā),優(yōu)化整個計算環(huán)境。
在最近的研究中,部分的技術(shù)人員使用了基于故障注入的措施以及基準(zhǔn)程序方法,開展測試工作。因此,不管是在應(yīng)用哪些設(shè)計和測試方式時,都需要不斷強化系統(tǒng)本身的健壯性,優(yōu)化此流程,實現(xiàn)對健壯性測試內(nèi)容和具體結(jié)果的全面分析,從而為操作性系統(tǒng)的穩(wěn)定運行提供支持。
三、健壯性測試基準(zhǔn)程序設(shè)計的要素
(一)可移植性
要想實現(xiàn)對當(dāng)前操作系統(tǒng)的有效設(shè)備,要在健壯性測試基準(zhǔn)程序出發(fā),明確其特性以及設(shè)計要素??梢浦残跃褪墙研詼y試設(shè)計的特點之一,能夠在多個系統(tǒng)上移植。但是,一定要明確這種可移植性是存在時間限制的,如果不對時間進行有效控制就會在一定程度上影響到實際的測試結(jié)果和內(nèi)容。
(二)覆蓋率
一般情況下,部分學(xué)者認為理想的基準(zhǔn)程序,不僅能夠保證操作系統(tǒng)運行的穩(wěn)定性,還能夠覆蓋其中的系統(tǒng)模塊。但是,事實上,這種情況的開銷是非常巨大,存在一定的局限性。所以,在具體的操作中會應(yīng)用綜合性測試方式,及時發(fā)現(xiàn)操作系統(tǒng)在運行中的問題,進而保證健壯性測試的準(zhǔn)確性[2]。
(三)可擴展性
由于健壯性測試的基準(zhǔn)程序本身具有非常好的可擴展性,所以其不僅能夠保證測試結(jié)果的有效性,還能為具體的測試提供新途徑。一些學(xué)者在對測試細節(jié)中的分級特點進行研究時,發(fā)現(xiàn)不同系統(tǒng)的內(nèi)容是不一樣的,所有其所應(yīng)用的測試方式也不同,需要在此情況下進行跨平臺的測試,實現(xiàn)數(shù)據(jù)信息之間的交換。
在此測試過程中,還要保證操作流程的簡單性和移植性。尤其是在對特定的模塊進行測試時,需要對實際的測試結(jié)果進行相關(guān)記錄。主要是因為健壯性測試的流程比較復(fù)雜,如果不進行相關(guān)的記錄,就會出現(xiàn)誤差。
四、云服務(wù)健壯性測試系統(tǒng)的特征和具體步驟
(一)特征
首先如果在接口分析模塊角度上對其進行分析,發(fā)現(xiàn)此系統(tǒng)的內(nèi)容是比較多的,一般包括:參數(shù)預(yù)定義模塊、接口的參數(shù)分析模塊和分類并生成參數(shù)庫模塊等內(nèi)容。其中接口的參數(shù)分析模塊主要是結(jié)合用戶所選擇的云服務(wù),及時收集改云服務(wù)接口中的信息,進而獲得更加準(zhǔn)確的接口信息,提高用戶的滿意度[3]。
參數(shù)預(yù)定義模塊的主要功能作用是結(jié)合高覆蓋率和合理性等原則,對用戶所選擇的云服務(wù)實現(xiàn)接口參數(shù)的類型選擇,然后在此基礎(chǔ)上獲得更為準(zhǔn)確的參數(shù)庫。同時,測試用例隨機生成模塊也在系統(tǒng)的運行中起著非常重要的作用,主要是應(yīng)用其描述所預(yù)先定義好的參數(shù)數(shù)據(jù)類型,實現(xiàn)對每個接口信息的有效整合,然后在此基礎(chǔ)上將接口和其參數(shù)生成接口參數(shù)列表,保證系統(tǒng)運行的穩(wěn)定性,從而進一步提高健壯性測試列表的準(zhǔn)確性。
最后,服務(wù)調(diào)用模塊主要應(yīng)用在接口參數(shù)列表中,功能作用是準(zhǔn)確查詢是否有用戶選擇的測試接口類別信息,然后結(jié)合用戶所選擇的接口類型,實現(xiàn)對接口類別的匹配。如果其中的類別匹配是相對有效,可以認為此接口滿足和符合測試的相關(guān)標(biāo)準(zhǔn)。但是,如果系統(tǒng)中的類別不匹配,其接口就不在測試范圍內(nèi),系統(tǒng)會進行下一個接口類別的有效匹配,等到其匹配到接口信息以后,就會選擇準(zhǔn)確的參數(shù),進而生成實際的測試結(jié)果。
(二)健壯性測試的具體步驟
1.用戶的選擇
此部分內(nèi)容是為用戶提供云服務(wù)層次選擇端口,并且向管理控制模塊,然后在此基礎(chǔ)上發(fā)送用戶所選擇的服務(wù)信息。在此過程中,還要注意選擇待測服務(wù)層次的子步驟,其中主要包括了laaS層云服務(wù)和SaaS層云服務(wù),主要功能是向用戶提供云服務(wù)類型以及選擇的端口,保證用戶所選擇云服務(wù)類型和相關(guān)的信息能夠及時發(fā)送到管理控制模塊中[4]。
2.選擇測試服務(wù)
此部分主要包括選擇測試接口類型模塊、測試結(jié)果清空模塊、測試結(jié)果分析模塊和測試停止模塊等,不同模塊的功能作用也是不同的。需要結(jié)合用戶的實際需求,提供開始執(zhí)行測試操作端口,保證所發(fā)送用戶選擇信息的有效性。
五、健壯性測試的方法
隨著操作系統(tǒng)在社會發(fā)展中各個領(lǐng)域的有效實施,為了保障其運行的穩(wěn)定性和安全性,相關(guān)的學(xué)者加強了對健壯性測試方法的研究,其主要包括基于測量的方法和健壯性基準(zhǔn)程序方法等內(nèi)容。健壯性基準(zhǔn)程序方法已經(jīng)在不同系統(tǒng)中得到了有效應(yīng)用,當(dāng)然其在操作系統(tǒng)測試中應(yīng)用是最為廣泛的,一般有以下幾點:
(一)模塊化基準(zhǔn)測試
這種測試是對一個系統(tǒng)進行分離測試,將一個獨立的系統(tǒng)當(dāng)成是一系列組件的集合,比如內(nèi)存系統(tǒng)、外部交互系統(tǒng)和多道程序運作等。在此過程中需要一個監(jiān)視程序?qū)y試過程結(jié)果進行監(jiān)視。模塊化基準(zhǔn)測試的主要優(yōu)勢是降低單獨系統(tǒng)測試的復(fù)雜性,簡化其流程,并且其還有對測試結(jié)果的分析定位能力。但是,其并不適合大型的操作系統(tǒng),主要是因為這些操作系統(tǒng)模塊會緊密地交織在一起,要想對他們進行獨立的測試是非常困難的。模塊的分解測試會降低整個系統(tǒng)測試的覆蓋率,但是其不能很好地利用模塊的相似性,會影響可擴展性[5]。
(二)層次化測試
由于模塊測試具有一定的局限性,其最大的弊端就是在具體的測試中沒有達到細節(jié)等級的要求,并且一些模塊中相同或相似的地方并沒有抽象出來。因此,為了更好地解決這個問題,需要讓測試抽象化,讓測試和各種模塊測試執(zhí)行細節(jié)有效分離。在此過程中可以結(jié)合不同模塊的功能合理應(yīng)用層次性結(jié)構(gòu),對系統(tǒng)進行分解。同時,通過層次化對操作系統(tǒng)進行有效測試,能夠獲得非常好的效果,實現(xiàn)對其中編碼的綜合處理[6]。
在此過程中,操作人員還可以結(jié)合給出的層次化測試應(yīng)用等級模型,將不同模塊中的一些相同接口函數(shù)提取出來,讓其作為一個完善的抽象層,然后對這個抽象層進行全面測試,為系統(tǒng)的安全運行提供條件。
結(jié)語
由此可見,相關(guān)的技術(shù)人員在對健壯性系統(tǒng)進行分析時,需要從不同的角度出發(fā)增強操作性系統(tǒng)的健壯性。同時,在對增強系統(tǒng)健壯性的內(nèi)容進行整合時,需要深入分析測試結(jié)果,找出失效原因和產(chǎn)生保護代碼等角度出發(fā),屏蔽那些導(dǎo)致健壯性失效的異常值,實現(xiàn)對操作系統(tǒng)的有效測試,及時發(fā)現(xiàn)其中的問題,從而為系統(tǒng)的穩(wěn)定運行提供保障。
參考文獻:
[1]梅磊,劉娜.基于國產(chǎn)操作系統(tǒng)的軟件測試方法研究[J].航天標(biāo)準(zhǔn)化,2019,(1):34-40.
[2]陳鵬,陳麗容,高艷鹍,等.基于依賴要素比對的國產(chǎn)操作系統(tǒng)兼容性測試方法[J].計算機工程與設(shè)計,2020(10):2747-2751.
[3]史春騰.智能卡操作系統(tǒng)指令測試方法研究[J].中國標(biāo)準(zhǔn)化,2020,572(12):240-244.
[4]金濤,李新劍,劉宏斌,等.基于Linux安全漏洞滲透測試方法的研究[J].網(wǎng)絡(luò)空間安全,2019(3):28-35.
[5]左蕓,沈雷,張楊.基于Cantata的高安全性操作系統(tǒng)軟件單元測試[J].數(shù)字技術(shù)與應(yīng)用,2019,37(1):202-204.
[6]黃顯果,李國杰,李松合,等.基于Nucleus系統(tǒng)的XML操作組件設(shè)計與測試[J].工業(yè)控制計算機,2019,32(8):108-109+112.
作者簡介:趙霞(1977— ),女,本科,中級工程師,研究方向:計算機應(yīng)用。