鄧蕊 王龍濤 李亞偉
(1.北京賽迪軟件測(cè)評(píng)工程技術(shù)中心有限公司 北京市 100048)(2.北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所 北京市 100854 3.中國(guó)軟件評(píng)測(cè)中心 北京市 100048)
隨著國(guó)家“自主可控”規(guī)劃的推進(jìn),國(guó)產(chǎn)操作系統(tǒng)作為關(guān)鍵基礎(chǔ)平臺(tái),在軍工行業(yè)的應(yīng)用得到了快速發(fā)展[1]。而國(guó)產(chǎn)服務(wù)器操作系統(tǒng)作為裝備信息系統(tǒng)的核心和自控可控的重點(diǎn),其技術(shù)狀態(tài)將直接影響裝備信息系統(tǒng)效能。當(dāng)前,國(guó)產(chǎn)服務(wù)器操作系統(tǒng)發(fā)展時(shí)間短,系統(tǒng)版本迭代快,測(cè)試標(biāo)準(zhǔn)的更新相對(duì)滯后,因此,為保證裝備信息系統(tǒng)的適用性和可用性,軍工行業(yè)逐步開展了國(guó)產(chǎn)服務(wù)器操作系統(tǒng)軟件單品驗(yàn)證工作。本文基于國(guó)產(chǎn)服務(wù)器操作系統(tǒng)應(yīng)用特點(diǎn),結(jié)合裝備信息系統(tǒng)應(yīng)用要求,識(shí)別了國(guó)產(chǎn)服務(wù)器操作系統(tǒng)軟件單品測(cè)試需求,結(jié)合相關(guān)測(cè)試標(biāo)準(zhǔn)和調(diào)研結(jié)果,構(gòu)建了有針對(duì)性的測(cè)試指標(biāo),分析并給出了測(cè)試內(nèi)容和測(cè)試方法,為后續(xù)國(guó)產(chǎn)服務(wù)器操作系統(tǒng)測(cè)試工作提供數(shù)據(jù)參考。
本文結(jié)合國(guó)產(chǎn)服務(wù)器操作系統(tǒng)應(yīng)用特點(diǎn),主要通過(guò)對(duì)操作系統(tǒng)產(chǎn)品研制單位、裝備系統(tǒng)研制單位、使用單位進(jìn)行調(diào)研,以及向相關(guān)領(lǐng)域?qū)<疫M(jìn)行技術(shù)咨詢的方式,分析并識(shí)別了國(guó)產(chǎn)服務(wù)器操作系統(tǒng)的測(cè)試需求。
國(guó)產(chǎn)服務(wù)器操作系統(tǒng)作為應(yīng)用系統(tǒng)的基礎(chǔ)架構(gòu)平臺(tái),除了需具備中文化的操作系統(tǒng)環(huán)境和常用圖形管理工具外,還需具備服務(wù)器端專用的配置管理工具、完善的網(wǎng)絡(luò)服務(wù)等功能,具有高可靠、易管理、高性能等要求。一般情況下,選用服務(wù)器操作系統(tǒng),用戶優(yōu)先考慮其安全性和資源消耗情況,以滿足用戶業(yè)務(wù)對(duì)計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)及I/O 能力的要求。因此,國(guó)產(chǎn)服務(wù)器操作系統(tǒng)測(cè)試重點(diǎn)主要體現(xiàn)在功能、適配兼容性、性能、安全性和可靠性等幾個(gè)層面,圍繞上述幾個(gè)層面開展測(cè)試需求分析工作,具體情況如下:
1.1.1 針對(duì)功能層面的測(cè)試需求
服務(wù)器通常以命令行方式進(jìn)行配置和運(yùn)行,因此服務(wù)器操作系統(tǒng)的圖形用戶界面相對(duì)不重要。服務(wù)器操作系統(tǒng)作為計(jì)算機(jī)的關(guān)鍵軟件,其可擴(kuò)展能力、高可用支撐能力以及可定制能力均需要得到有效的提高,才能滿足裝備信息系統(tǒng)發(fā)展的需求。因此,需要重點(diǎn)從上述三個(gè)方面驗(yàn)證操作系統(tǒng)的能力:可擴(kuò)展性方面主要測(cè)試系統(tǒng)的虛擬機(jī)能力以及集群能力;高可用支撐能力方面主要測(cè)試系統(tǒng)在集群環(huán)境下的高可用能力,如負(fù)載均衡、高可用工作模式、節(jié)點(diǎn)高可用支持能力等;可定制能力方面主要測(cè)試系統(tǒng)服務(wù)的管理能力、模塊和網(wǎng)絡(luò)支持去除能力等。
1.1.2 針對(duì)適配兼容層面的測(cè)試需求
目前,由于國(guó)產(chǎn)基礎(chǔ)軟硬件產(chǎn)品(CPU、操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等)整體缺乏應(yīng)用牽引和頂層設(shè)計(jì),整個(gè)自主化產(chǎn)業(yè)鏈不夠完善,導(dǎo)致國(guó)產(chǎn)軟硬件產(chǎn)品之間兼容適配的集成度不高[2]。通過(guò)對(duì)相關(guān)領(lǐng)域裝備信息系統(tǒng)研制單位、使用單位進(jìn)行調(diào)研,發(fā)現(xiàn)國(guó)產(chǎn)操作系統(tǒng)在應(yīng)用過(guò)程中存在大量適配兼容方面的問(wèn)題,適配兼容問(wèn)題不僅會(huì)影響用戶的使用體驗(yàn),更嚴(yán)重的會(huì)影響裝備信息系統(tǒng)的作戰(zhàn)能力、質(zhì)量安全。因此,軟硬件適配列入測(cè)試需求,本文主要從國(guó)產(chǎn)CPU 適配、總線協(xié)議適配、常用外設(shè)適配、常用的開發(fā)集成環(huán)境支持以及主流的編程語(yǔ)言環(huán)境支持等方面開展適配兼容測(cè)試。
1.1.3 針對(duì)性能層面的測(cè)試需求
裝備信息系統(tǒng)要完成與其他各系統(tǒng)的數(shù)據(jù)通信任務(wù),必須保證專用的數(shù)據(jù)通道和足夠的寬帶,保證數(shù)據(jù)傳輸?shù)目煽啃浴R虼?,性能測(cè)試要考慮信息文件性能、網(wǎng)絡(luò)連接數(shù)、進(jìn)程/線程通信延時(shí)、寬帶,網(wǎng)絡(luò)傳輸速率等方面。
1.1.4 針對(duì)安全性層面的測(cè)試需求
國(guó)產(chǎn)服務(wù)器操作系統(tǒng)將廣泛應(yīng)用到軍工裝備中,作為應(yīng)用系統(tǒng)的核心基礎(chǔ)軟件,必須保證數(shù)據(jù)的安全性和可靠性。因此,為提高數(shù)據(jù)傳輸和存儲(chǔ)的安全性,需重點(diǎn)考察數(shù)據(jù)安全機(jī)制,如網(wǎng)絡(luò)傳輸加密、數(shù)據(jù)存儲(chǔ)加密等。
1.1.5 針對(duì)可靠性層面的測(cè)試需求
完全自主可控是裝備發(fā)展的方向,自主的操作系統(tǒng)作為裝備應(yīng)用系統(tǒng)運(yùn)行環(huán)境的基礎(chǔ),它的穩(wěn)定可靠關(guān)系裝備應(yīng)用系統(tǒng)性能優(yōu)劣的重要因素,其潛在的故障可能導(dǎo)致系統(tǒng)的癱瘓。因此,結(jié)合裝備的效能因素,需對(duì)國(guó)產(chǎn)服務(wù)器操作系統(tǒng)展開可靠性測(cè)試,包括服務(wù)器操作系統(tǒng)的長(zhǎng)時(shí)間不間斷運(yùn)行能力以及系統(tǒng)在高負(fù)載條件下的抗壓能力等。
本文基于國(guó)產(chǎn)服務(wù)器操作系統(tǒng)的測(cè)試需求(詳見(jiàn)1.1 章節(jié)),結(jié)合GJB 7696-2012、GJB 7717-2012、GJB 7699-2012、GJB 7721-2012 等相關(guān)國(guó)家軍用標(biāo)準(zhǔn),從功能、適配性、性能、接口、安全性、可靠性、安裝性、文檔審查等八個(gè)方面,構(gòu)建了國(guó)產(chǎn)服務(wù)器操作系統(tǒng)軟件單品測(cè)試指標(biāo)體系(見(jiàn)圖1),并通過(guò)了外部專家評(píng)審。
圖1:國(guó)產(chǎn)服務(wù)器操作系統(tǒng)測(cè)試指標(biāo)體系
國(guó)產(chǎn)服務(wù)器操作系統(tǒng)的測(cè)試順序,先進(jìn)行文檔審查和安裝性測(cè)試,再進(jìn)行功能測(cè)試、性能測(cè)試和適配性測(cè)試等類型的測(cè)試。擬選取的測(cè)試內(nèi)容和測(cè)試方法具體如下。
功能測(cè)試主要采用功能分解、等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)和隨機(jī)測(cè)試等黑盒測(cè)試技術(shù),對(duì)操作系統(tǒng)的各個(gè)功能項(xiàng)進(jìn)行測(cè)試,驗(yàn)證在正常狀態(tài)、邊界狀態(tài)、異常狀態(tài)或在人為設(shè)定的狀態(tài)下系統(tǒng)的功能情況。測(cè)試方法如下:
(1)基本功能:通過(guò)人工操作,或編寫測(cè)試腳本,結(jié)合LTP、Netperf 等測(cè)試工具,或系統(tǒng)提供的相關(guān)命令等多種方法,驗(yàn)證系統(tǒng)的基本功能,內(nèi)容包括任務(wù)管理、內(nèi)存管理、文件系統(tǒng)管理、網(wǎng)絡(luò)管理、字符集支持、中文支持、命令測(cè)試等測(cè)試項(xiàng)。
(2)安全功能:通過(guò)系統(tǒng)提供的相關(guān)命令或人工操作的方法,驗(yàn)證安全功能項(xiàng),內(nèi)容包括自主訪問(wèn)控制策略、身份鑒別、安全審計(jì)等。
(3)圖形化操作:通過(guò)人工操作的方法,驗(yàn)證系統(tǒng)的圖形化操作功能項(xiàng),內(nèi)容包括桌面、開始菜單、系統(tǒng)面板、啟動(dòng)與登錄、快速啟動(dòng)欄、工作區(qū)和任務(wù)欄等。
(4)系統(tǒng)與服務(wù)管理:通過(guò)人工操作的方法,驗(yàn)證系統(tǒng)與服務(wù)管理功能項(xiàng),內(nèi)容包括控制面板、網(wǎng)絡(luò)管理、文件瀏覽器、系統(tǒng)與資源管理等。
(5)可擴(kuò)展能力:通過(guò)系統(tǒng)提供的虛擬機(jī)管理工具驗(yàn)證虛擬機(jī)的管理能力,如虛擬機(jī)創(chuàng)建、容器添加等;采用Lmbench、LTP 等綜合性能測(cè)試工具,測(cè)試虛擬機(jī)中的性能損耗,驗(yàn)證虛擬機(jī)的性能是否受其他虛擬機(jī)的負(fù)載影響;通過(guò)對(duì)節(jié)點(diǎn)進(jìn)行安裝部署和安裝配置MPICH,測(cè)試系統(tǒng)的集群能力,包括節(jié)點(diǎn)的啟動(dòng)安裝方式、并行計(jì)算模式和安裝鏡像的定制。
(6)可定制能力:通過(guò)系統(tǒng)提供的相關(guān)命令或配置工具,驗(yàn)證可定制能力,內(nèi)容包括內(nèi)核軟件包大小、模塊支持去除、網(wǎng)絡(luò)支持去除、指定硬件平臺(tái)專用設(shè)備模塊、系統(tǒng)服務(wù)管理、圖形操作環(huán)境可定制項(xiàng)等。
(7)高可用支撐能力:測(cè)試系統(tǒng)單機(jī)環(huán)境下的高可用能力和集群環(huán)境下的高可用能力。單機(jī)環(huán)境下的高可用能力覆蓋硬件故障處理、靜態(tài)數(shù)據(jù)備份和實(shí)時(shí)數(shù)據(jù)同步、檢查點(diǎn)與恢復(fù)機(jī)制、基于日志文件的高可用文件系統(tǒng);集群環(huán)境下的高可用能力,覆蓋負(fù)載均衡、雙機(jī)熱備、多機(jī)熱備等高可用工作模式、節(jié)點(diǎn)或應(yīng)用高可用支持能力。
對(duì)系統(tǒng)的硬件適配、軟件適配、文件格式適配進(jìn)行測(cè)試,測(cè)試方法如下:
(1)硬件適配性主要驗(yàn)證系統(tǒng)與國(guó)產(chǎn)CPU(飛騰、龍芯等)、固件、總線等硬件平臺(tái)的兼容情況,與鍵盤、鼠標(biāo)、打印機(jī)、存儲(chǔ)設(shè)備、以太網(wǎng)卡、HSA 網(wǎng)卡、顯卡、USB 卡等外設(shè)的兼容情況。
(2)軟件適配性主要驗(yàn)證系統(tǒng)與集成開發(fā)環(huán)境(QtCreator、Eclipse 等)、主流的編程語(yǔ)言環(huán)境(C/C++、Java等)、國(guó)產(chǎn)數(shù)據(jù)庫(kù)(金倉(cāng)數(shù)據(jù)庫(kù)、達(dá)夢(mèng)數(shù)據(jù)庫(kù)等)、國(guó)產(chǎn)中間件(TongWeb、TongLink/Q 等)、國(guó)產(chǎn)辦公軟件(WPS、Liberwriter 等)的兼容情況。
(3)文件格式適配性主要驗(yàn)證系統(tǒng)中媒體文件(BMP、JPG/JPEG、PNG、MP4、MPEG、MOV 等)和版式文件(PDF、DOC、DOCX、ODF、TXT、RTF 等)的顯示情況,驗(yàn)證壓縮文件(RAR、GZIP、BZIP、7-ZIP、ZIP、ZR 等)的解壓情況。
對(duì)系統(tǒng)的性能逐項(xiàng)進(jìn)行測(cè)試,驗(yàn)證其性能是否滿足要求,測(cè)試方法如下:
(1)與硬件無(wú)關(guān)的性能測(cè)試:通過(guò)lscpu、free、lsblk、df 命令,分別查看CPU 信息文件、內(nèi)存信息文件、交換分區(qū)信息文件、文件系統(tǒng)信息文件,驗(yàn)證信息文件中的各項(xiàng)指標(biāo)是否滿足要求;采用Netperf 測(cè)試工具測(cè)試網(wǎng)絡(luò)連接數(shù);通過(guò)編寫用戶創(chuàng)建腳本,分別持續(xù)創(chuàng)建用戶,持續(xù)加長(zhǎng)用戶名,通過(guò)命令查看用戶數(shù)和用戶名長(zhǎng)度是否要求;編寫測(cè)試程序連續(xù)申請(qǐng)內(nèi)存空間,直至空閑內(nèi)存空間為50MB,查看系統(tǒng)是否保持正常運(yùn)行;編寫測(cè)試程序向外存空間連續(xù)寫入數(shù)據(jù),直至空閑外存空間為全部外出空間的5%,查看系統(tǒng)是否保持正常運(yùn)行。
(2)操作系統(tǒng)的整機(jī)性能測(cè)試:采用Netperf 測(cè)試工具測(cè)試網(wǎng)絡(luò)傳輸速率;采用Unixbench、Lmbench 等測(cè)試工具測(cè)試空進(jìn)程打開時(shí)間、空進(jìn)程上下文切換時(shí)間、進(jìn)程/線程通信延時(shí)、帶寬、內(nèi)存連續(xù)讀寫延時(shí);使用X11perf 測(cè)試工具繪制2D 圖形,查看顯示速率是否滿足要求;使用光盤進(jìn)行快速無(wú)人值守方式安裝操作系統(tǒng),測(cè)試安裝的總時(shí)間是否不超過(guò)2 小時(shí);從關(guān)機(jī)狀態(tài)啟動(dòng)操作系統(tǒng),記錄開始內(nèi)核加載至出現(xiàn)登錄界面的時(shí)間作為系統(tǒng)啟動(dòng)時(shí)間,驗(yàn)證啟動(dòng)時(shí)間是否不超過(guò)2 分鐘。
對(duì)系統(tǒng)的編程接口進(jìn)行測(cè)試,使用LTP 測(cè)試工具或編寫接口函數(shù)調(diào)用的驅(qū)動(dòng)程序和樁程序,驗(yàn)證系統(tǒng)編程接口函數(shù)的調(diào)用情況,范圍覆蓋函數(shù)參數(shù)的正常、異常和邊界情況,內(nèi)容包括任務(wù)管理接口、資源管理接口、通信管理接口、設(shè)備驅(qū)動(dòng)接口等各類編程接口。
對(duì)系統(tǒng)提供的安全保密性、措施有效性、防止非法進(jìn)入系統(tǒng)并保護(hù)軟件的數(shù)據(jù)完整性等安全能力進(jìn)行測(cè)試。結(jié)合功能測(cè)試方法,利用系統(tǒng)提供的相關(guān)命令,采用OpenSSL、Nmap、Wireshark、SignTool 等相關(guān)測(cè)試工具,驗(yàn)證系統(tǒng)向應(yīng)用提供的安全保護(hù)能力,內(nèi)容包括用戶密碼保護(hù)、用戶安裝控制、應(yīng)用執(zhí)行控制、網(wǎng)絡(luò)傳輸加密、網(wǎng)絡(luò)端口保護(hù)、數(shù)據(jù)存儲(chǔ)加密、數(shù)據(jù)完整性等。
對(duì)系統(tǒng)的長(zhǎng)時(shí)間不間斷運(yùn)行能力和開關(guān)機(jī)穩(wěn)定性能力進(jìn)行測(cè)試,測(cè)試內(nèi)容和方法如下:
(1)使用LTP 測(cè)試工具執(zhí)行高負(fù)載作業(yè)(如進(jìn)程創(chuàng)建、進(jìn)程間通信、上下文切換等多種進(jìn)程調(diào)度操作),使CPU、內(nèi)存、外存占用率不低于95%,連續(xù)運(yùn)行168小時(shí),驗(yàn)證系統(tǒng)是否能夠保持穩(wěn)定運(yùn)行狀態(tài)。
(2)驗(yàn)證系統(tǒng)在空載條件下,無(wú)硬件故障及人為故障時(shí),非正常關(guān)機(jī)導(dǎo)致的外存不一致故障修復(fù)時(shí)間;人工編寫無(wú)故障啟動(dòng)腳本,通過(guò)腳本啟動(dòng)無(wú)故障的連續(xù)開關(guān)機(jī)(啟動(dòng)至顯示登錄界面即關(guān)機(jī))不少于100 次,驗(yàn)證系統(tǒng)是否能夠正常運(yùn)行。
對(duì)系統(tǒng)的安裝、升級(jí)和維護(hù)功能進(jìn)行測(cè)試,測(cè)試方法如下:
(1)系統(tǒng)安裝:正常安裝系統(tǒng),驗(yàn)證系統(tǒng)是否支持光盤、網(wǎng)絡(luò)、硬盤、U 盤等不同安裝方式,安裝過(guò)程中是否可以切換安裝形態(tài)(圖形安裝、字符安裝),是否可以選擇典型安裝或自定義安裝類型,是否提供安裝配置功能;安裝后,查看系統(tǒng)是否能夠正常運(yùn)行,查看/var/log/anaconda 文件下是否生成安裝日志信息;安裝多操作系統(tǒng),查看系統(tǒng)是否具有系統(tǒng)引導(dǎo)機(jī)制;引導(dǎo)安裝模式下,進(jìn)入救援模式,查看系統(tǒng)安裝是否能夠修復(fù)成功;在系統(tǒng)安裝過(guò)程中,選擇退出安裝,查看系統(tǒng)是否具有完善的退出安裝機(jī)制;在系統(tǒng)安裝過(guò)程中,查看是否有詳細(xì)的安裝說(shuō)明和提示信息,是否有圖形化的提示信息。
(2)系統(tǒng)升級(jí):系統(tǒng)安裝完成后,通過(guò)安裝系統(tǒng)補(bǔ)丁進(jìn)行新功能部署或漏洞修補(bǔ),驗(yàn)證系統(tǒng)補(bǔ)丁安裝是否不影響現(xiàn)有系統(tǒng)應(yīng)用功能;通過(guò)升級(jí)包升級(jí)系統(tǒng),驗(yàn)證系統(tǒng)在不損害原系統(tǒng)功能的前提下,是否支持版本升級(jí)。
(3)系統(tǒng)維護(hù):基于安裝媒介啟動(dòng)系統(tǒng),進(jìn)行分區(qū)和文件系統(tǒng)操作,驗(yàn)證系統(tǒng)的脫機(jī)維護(hù)功能是否正確,系統(tǒng)是否提供安裝后的即時(shí)系統(tǒng)備份功能。
根據(jù)文檔檢查單,通過(guò)人工的方式對(duì)操作系統(tǒng)的技術(shù)文檔(如軟件產(chǎn)品規(guī)格說(shuō)明、軟件用戶手冊(cè)、聯(lián)機(jī)幫助等)逐一檢查,驗(yàn)證技術(shù)文檔是否滿足相關(guān)標(biāo)準(zhǔn)的規(guī)范要求,重點(diǎn)審查技術(shù)文檔的完整性、一致性和準(zhǔn)確性。
本文針對(duì)國(guó)產(chǎn)服務(wù)器操作系統(tǒng),識(shí)別了軟件測(cè)試需求,構(gòu)建了測(cè)試指標(biāo)體系,分析并總結(jié)了測(cè)試內(nèi)容和測(cè)試方法,為國(guó)產(chǎn)服務(wù)器操作系統(tǒng)的測(cè)試工作提供了參考指南。