許侃+張志華+牟永敏

摘要:本論文的研究?jī)?nèi)容就是按照軟件測(cè)試的流程對(duì)桌面linux操作系統(tǒng)的整機(jī)兼容性測(cè)試的測(cè)試需求及測(cè)試對(duì)象進(jìn)行分析,方法為通過(guò)對(duì)linux內(nèi)核的硬件管理以及電源管理功能的分析與研究,使用自動(dòng)化工具結(jié)合測(cè)試腳本對(duì)整機(jī)兼容性進(jìn)行測(cè)試,這種測(cè)試方法有針對(duì)性且覆蓋了測(cè)試對(duì)象的測(cè)試點(diǎn),從而提高桌面linux操作系統(tǒng)的測(cè)試質(zhì)量。
關(guān)鍵詞:linux內(nèi)核;硬件管理;電源管理
中圖分類號(hào):TP316.81 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)05-0069-02
1 引言
1.1 背景
操作系統(tǒng)作為管理和控制計(jì)算機(jī)硬件與軟件資源的計(jì)算機(jī)程序,是直接運(yùn)行在計(jì)算機(jī)上的最基本的系統(tǒng)軟件,任何其他軟件都必須在操作系統(tǒng)的支持下才能運(yùn)行。
隨著社會(huì)的發(fā)展與進(jìn)步,電腦在辦公自動(dòng)化中的作用愈發(fā)凸顯,使人們?cè)絹?lái)越接近并熟悉了操作系統(tǒng),尤其是微軟開(kāi)發(fā)的windows操作系統(tǒng)。據(jù)市場(chǎng)調(diào)研結(jié)構(gòu)StarCounter公布的統(tǒng)計(jì)報(bào)告,中國(guó)目前使用的windows各個(gè)版本操作系統(tǒng)PC市場(chǎng)份額不低于97.1%。但是隨著2014年5月20日中央國(guó)家政府采購(gòu)中心的一則通告“國(guó)家機(jī)關(guān)進(jìn)行信息類協(xié)議供貨強(qiáng)制節(jié)能產(chǎn)品采購(gòu),所有計(jì)算機(jī)類產(chǎn)品不允許安裝windows8操作系統(tǒng)”發(fā)布之后,國(guó)產(chǎn)桌面linux操作系統(tǒng)產(chǎn)業(yè)猶如雨后春筍一般大量涌現(xiàn),而作為政府采購(gòu)windows操作系統(tǒng)的繼任者,國(guó)產(chǎn)桌面linux系統(tǒng)是否可以肩負(fù)起替代者的責(zé)任就是首先要面對(duì)的問(wèn)題。如果拋開(kāi)操作系統(tǒng)的易用性以及使用習(xí)慣等因素,與整機(jī)運(yùn)行的兼容性就稱為了桌面linux系統(tǒng)能否適應(yīng)辦公環(huán)境的重要因素。
1.2 研究?jī)?nèi)容
操作系統(tǒng)也可以視為一種特殊的軟件,既然是軟件那么在出廠前就應(yīng)該按照軟件測(cè)試流程進(jìn)行全方位的測(cè)試。操作系統(tǒng)主要需要完成的兩個(gè)功能為:
第一,與硬件部分進(jìn)行交互,未包含在硬件平臺(tái)上的所有底層可編程部件提供服務(wù);
第二,為運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序提供執(zhí)行環(huán)境;
本次研究的主要內(nèi)容是通過(guò)對(duì)操作系統(tǒng)整機(jī)兼容性測(cè)試進(jìn)行分析,找到一種較為完善的整機(jī)兼容性測(cè)試方法。只有擁有完善的測(cè)試方法,有效的指導(dǎo)測(cè)試的進(jìn)行,測(cè)試結(jié)果才是有效的且具有說(shuō)服力,從而更好的保證操作系統(tǒng)的質(zhì)量,使得國(guó)產(chǎn)桌面linux操作系統(tǒng)可以在市場(chǎng)中長(zhǎng)期而穩(wěn)定的存在下去,而不是僅僅作為一個(gè)傀儡在政府的強(qiáng)制約束下取代windows系統(tǒng)。
1.3 整機(jī)兼容性測(cè)試概述
兼容性測(cè)試指的是測(cè)試軟件在特定的硬件平臺(tái)上、不同的應(yīng)用軟件之間、不同的操作系統(tǒng)平臺(tái)上,不同的網(wǎng)絡(luò)等環(huán)境中是否能夠正常運(yùn)行的測(cè)試。整機(jī)兼容性測(cè)試屬于兼容性測(cè)試范疇中的硬件兼容性測(cè)試,具體到本篇報(bào)告中測(cè)試的核心內(nèi)容是測(cè)試操作系統(tǒng)是否可以在特定的整機(jī)平臺(tái)上長(zhǎng)時(shí)間穩(wěn)定的工作。
整機(jī)兼容性測(cè)試的意義在于:
(1)使用特定硬件平臺(tái)對(duì)操作系統(tǒng)進(jìn)行測(cè)試,發(fā)現(xiàn)問(wèn)題,推動(dòng)操作系統(tǒng)質(zhì)量的提升;
(2)通過(guò)長(zhǎng)時(shí)間的帶載運(yùn)行測(cè)試系統(tǒng)穩(wěn)定性,保證了系統(tǒng)存在的價(jià)值;
(3)覆蓋盡可能多的整機(jī)硬件對(duì)操作系統(tǒng)進(jìn)行測(cè)試,測(cè)試操作系統(tǒng)可實(shí)現(xiàn)硬件應(yīng)有的功能。
2 測(cè)試對(duì)象研究
2.1 操作系統(tǒng)與硬件關(guān)系概述
按照軟件測(cè)試的流程,首先要對(duì)測(cè)試對(duì)象進(jìn)行測(cè)試需求的分析。對(duì)整機(jī)兼容性測(cè)試進(jìn)行需求分析的理論基礎(chǔ),是要首先明確操作系統(tǒng)與硬件的關(guān)系,只有理解了操作系統(tǒng)與硬件的工作原理,才能有針對(duì)性的對(duì)測(cè)試對(duì)象進(jìn)行測(cè)試。
linux作為一個(gè)操作系統(tǒng)包含了最主要的內(nèi)核以及內(nèi)核提供的工具,它提供了一個(gè)完整的操作系統(tǒng)中最底層的硬件控制與資源管理結(jié)構(gòu)。linux系統(tǒng)的內(nèi)核被稱為“kernel”,硬件管理是內(nèi)核的主要工作之一,它通過(guò)設(shè)備驅(qū)動(dòng)去“認(rèn)識(shí)”硬件設(shè)備對(duì)硬件進(jìn)行管理。內(nèi)核對(duì)硬件進(jìn)行管理的輸入來(lái)自于用戶通過(guò)用戶界面(包括shell,桌面,應(yīng)用等)的命令,經(jīng)過(guò)命令與內(nèi)核的溝通產(chǎn)生了系統(tǒng)調(diào)用,而最終由系統(tǒng)調(diào)用觸發(fā)內(nèi)核的函數(shù)對(duì)硬件進(jìn)行操作。
2.2 整機(jī)兼容性測(cè)試需求分析
2.2.1 硬件資源測(cè)試對(duì)象分析
整機(jī)中的硬件資源通過(guò)操作系統(tǒng)實(shí)現(xiàn)其功能的原理是:
(1)用戶通過(guò)操作系統(tǒng)界面發(fā)出操作指令;
(2)API接口程序接收用戶指令并發(fā)起系統(tǒng)調(diào)用,例如read(),write(),fork();
(3)系統(tǒng)調(diào)用通過(guò)中斷向內(nèi)核發(fā)出請(qǐng)求,內(nèi)核調(diào)用相關(guān)函數(shù)來(lái)完成指令,例如sys_read(),sys_write(),sys_fork();
2.2.2 電源管理模塊測(cè)試對(duì)象分析
高級(jí)電源管理(Advanced Power Manager),簡(jiǎn)稱電源管理模塊APM。在整機(jī)兼容性測(cè)試中,電源管理模塊主要功能體現(xiàn)為:系統(tǒng)電源管理與設(shè)備電源管理。
(1)系統(tǒng)電源管理。linxu系統(tǒng)的電源管理掛起的實(shí)現(xiàn)原理為系統(tǒng)收到掛起指令后首先凍結(jié)用戶態(tài)進(jìn)程和內(nèi)核態(tài)任務(wù),按照注冊(cè)設(shè)備的注冊(cè)順序調(diào)用suspend的回調(diào)函數(shù),掛起核心設(shè)備和使CPU進(jìn)入掛起態(tài)由內(nèi)核將所有進(jìn)程設(shè)置為停止并保存所有進(jìn)程的相關(guān)信息。
掛起的具體流程見(jiàn)圖 1。
系統(tǒng)電源管理為掛起提供了兩種方式;
1)suspend to mem(掛起到內(nèi)存)系統(tǒng)把當(dāng)前信息儲(chǔ)存在內(nèi)存中,只有內(nèi)存等幾個(gè)關(guān)鍵部件通電,這時(shí)計(jì)算機(jī)處在高度節(jié)電狀態(tài),按任意鍵后,計(jì)算機(jī)從內(nèi)存中讀取信息很快恢復(fù)到原來(lái)狀態(tài),在運(yùn)行掛起操作時(shí)增加mem參數(shù)即可執(zhí)行suspend to mem操作。
2)suspend to disk(掛起到硬盤(pán))計(jì)算機(jī)自動(dòng)關(guān)機(jī),關(guān)機(jī)前將當(dāng)前數(shù)據(jù)存儲(chǔ)在硬盤(pán)上,用戶下次按開(kāi)關(guān)鍵開(kāi)機(jī)時(shí)計(jì)算機(jī)將無(wú)須啟動(dòng)系統(tǒng),直接從硬盤(pán)讀取數(shù)據(jù),恢復(fù)原來(lái)狀態(tài),在運(yùn)行掛起操作時(shí)增加disk參數(shù)即可執(zhí)行suspend to disk操作。endprint
(2)設(shè)備電源管理。在Linux系統(tǒng)的硬件設(shè)備管理方面,電源管理系統(tǒng)已經(jīng)封裝好了統(tǒng)一的接口,各種類型的設(shè)備驅(qū)動(dòng)只需要實(shí)現(xiàn)相關(guān)的接口函數(shù),操作系統(tǒng)在收到操作信號(hào)的時(shí)候就會(huì)通知驅(qū)動(dòng)完成這些操作。在一般設(shè)備驅(qū)動(dòng)基礎(chǔ)之上,使用pm_register和pm_unregister進(jìn)行注冊(cè)和注銷(xiāo),使用pm_access進(jìn)行掛起的可行性檢測(cè),使用pm_callback函數(shù)執(zhí)行狀態(tài)通知后的回調(diào)響應(yīng),以此來(lái)控制設(shè)備的供電。
2.2.3 明確測(cè)試對(duì)象
通過(guò)了以上分析,我們對(duì)操作系統(tǒng)的硬件管理功能有了更深入的了解,有了理論的支持,接下來(lái)就可以做整機(jī)硬件兼容性的測(cè)試需求分析了。整機(jī)兼容性涉及到的硬件測(cè)試對(duì)象為:
(1)中央處理器;
(2)主存儲(chǔ)器:內(nèi)存;
(3)外存儲(chǔ)器:硬盤(pán),光驅(qū),U盤(pán);
(4)輸出設(shè)備:顯卡等;
以上設(shè)備為普通臺(tái)式計(jì)算機(jī)包含的基本硬件,可以概括為一個(gè)測(cè)試對(duì)象既整機(jī)硬件,進(jìn)行整機(jī)兼容性測(cè)試時(shí)測(cè)試點(diǎn)與測(cè)試用例均應(yīng)涵蓋以上硬件的測(cè)試。
(5)電源管理功能作為內(nèi)核的一個(gè)重要功能獨(dú)立作為一個(gè)測(cè)試對(duì)象,對(duì)于該測(cè)試對(duì)象的測(cè)試用例既要涵蓋電源管理功能里的系統(tǒng)電源管理中不同掛起方式的測(cè)試,還有設(shè)備管理的功能實(shí)現(xiàn)。
2.3 測(cè)試點(diǎn)歸納
通過(guò)上述對(duì)測(cè)試對(duì)象的分析我們可得出結(jié)論,整機(jī)兼容性測(cè)試的測(cè)試點(diǎn)可歸納為:
(1)對(duì)硬件資源的兼容性測(cè)試可通過(guò)硬件的功能是否實(shí)現(xiàn)來(lái)驗(yàn)證。1)CPU可正常進(jìn)行處理指令、執(zhí)行操作、控制時(shí)間,處理數(shù)據(jù)等操作;2)內(nèi)存可對(duì)數(shù)據(jù)進(jìn)行讀寫(xiě);3)硬盤(pán),光驅(qū),U盤(pán)均可實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě);4)顯卡可正常顯示;
(2)對(duì)電源管理模塊的兼容性測(cè)試可通過(guò)兩部分來(lái)測(cè)試:1)系統(tǒng)電源管理可通過(guò)掛起功能是否實(shí)現(xiàn)來(lái)驗(yàn)證;2)設(shè)備電源管理可通過(guò)掛起喚醒后設(shè)備是否加電來(lái)驗(yàn)證。
3 測(cè)試設(shè)計(jì)
3.1 確定測(cè)試方法
整機(jī)的兼容性測(cè)試需要操作系統(tǒng)長(zhǎng)時(shí)間在硬件平臺(tái)上運(yùn)行,與整機(jī)的硬件進(jìn)行充分的“磨合”,以便容易發(fā)現(xiàn)兼容性問(wèn)題。通過(guò)對(duì)歸納的測(cè)試點(diǎn)分析,發(fā)現(xiàn)以下特點(diǎn):
(1)硬件資源的測(cè)試方法固定而且為單一的長(zhǎng)時(shí)間重復(fù)性操作;
(2)電源管理模塊的測(cè)試方法為單一的長(zhǎng)時(shí)間重復(fù)性操作;
針對(duì)上述特點(diǎn),本次測(cè)試比較符合使用自動(dòng)化工具進(jìn)行測(cè)試的條件,所以可以選擇采用自動(dòng)化測(cè)試工具進(jìn)行測(cè)試,好處是可以自動(dòng)化工具模擬手動(dòng)測(cè)試并施加測(cè)試負(fù)載,達(dá)到長(zhǎng)時(shí)間手動(dòng)測(cè)試的效果。
硬件資源的自動(dòng)化測(cè)試可以選擇適合linux系統(tǒng)的“燒機(jī)”軟件進(jìn)行測(cè)試,“燒機(jī)”軟件的測(cè)試項(xiàng)基本都包含了整機(jī)的常用硬件設(shè)備,并且相應(yīng)設(shè)備的測(cè)試套件可覆蓋該硬件設(shè)備的功能測(cè)試點(diǎn)。
電源管理模塊可使用rtcwake命令來(lái)實(shí)現(xiàn)測(cè)試實(shí)施。Rtcwake命令可以用來(lái)是系統(tǒng)進(jìn)入睡眠狀態(tài),也可以在制定的時(shí)間喚醒系統(tǒng),可通過(guò)腳本的形式使用rtawake命令進(jìn)行循環(huán)來(lái)測(cè)試電源模塊的功能。關(guān)于設(shè)備電源管理測(cè)試時(shí)可著重關(guān)注板載USB接口的喚醒加電測(cè)試,所以可以在使用腳本進(jìn)行掛起測(cè)試時(shí)將板載USB接口滿插U盤(pán)測(cè)試喚醒后的加電狀態(tài)。
3.2 測(cè)試的可行性分析
在確定了整機(jī)兼容性測(cè)試方法后,我們要做的就是對(duì)該測(cè)試方法進(jìn)行可行性的分析;
適用于Linux的烤機(jī)軟件工具目前并不少見(jiàn),這類軟件可同時(shí)用于計(jì)算機(jī)所有及部分子系統(tǒng)的穩(wěn)定性和兼容性測(cè)試,它會(huì)通過(guò)對(duì)各個(gè)常用硬件設(shè)備進(jìn)行帶載的持續(xù)性測(cè)試使那些間歇出現(xiàn)或隱藏的問(wèn)題暴露出來(lái),以便在測(cè)試軟件運(yùn)行過(guò)后使系統(tǒng)與整機(jī)使用起來(lái)有更大的把握。
電源管理模塊的使用rtcwake命令編寫(xiě)腳本可以長(zhǎng)時(shí)間(時(shí)間可以由腳本設(shè)置)重復(fù)進(jìn)入和離開(kāi)掛起狀態(tài),并將運(yùn)行結(jié)果以日志的形式打印出來(lái),以便于人工讀取測(cè)試結(jié)果對(duì)其進(jìn)行判斷和分析。因?yàn)閞tcwake命令使用RTC架構(gòu),可驅(qū)動(dòng)任何支持標(biāo)準(zhǔn)驅(qū)動(dòng)模式的設(shè)備,所以在對(duì)設(shè)備電源管理測(cè)試時(shí)同樣可使用rtcwake命令,可通過(guò)腳本實(shí)現(xiàn)每次系統(tǒng)喚醒后U盤(pán)設(shè)備需加電自動(dòng)掛載,每成功掛載一次可向U盤(pán)中寫(xiě)入當(dāng)前掛載次數(shù),當(dāng)測(cè)試結(jié)束后將該掛載次數(shù)與喚醒次數(shù)進(jìn)行對(duì)比來(lái)檢查設(shè)備加電情況。
4 結(jié)語(yǔ)
本文按照軟件測(cè)試流程對(duì)整機(jī)兼容性測(cè)試的測(cè)試對(duì)象進(jìn)行分析,通過(guò)細(xì)化測(cè)試點(diǎn)并根據(jù)其特點(diǎn)制定了采用自動(dòng)化工具測(cè)試以及編寫(xiě)腳本輔助測(cè)試的方法,使測(cè)試方法覆蓋了對(duì)所有測(cè)試對(duì)象。
從理論上分析,本次研究歸納的測(cè)試點(diǎn)與測(cè)試項(xiàng)基本符合整機(jī)兼容性的測(cè)試需求,測(cè)試方法基本覆蓋了測(cè)試對(duì)象的功能點(diǎn),測(cè)試工具和腳本均可運(yùn)行在linux系統(tǒng)環(huán)境下運(yùn)行,所以該整機(jī)兼容性測(cè)試方法有一定的可行性。在今后的實(shí)際測(cè)試中,可以按照該方法與思路進(jìn)行測(cè)試并在實(shí)踐中不斷完善,以期為提高桌面linux系統(tǒng)測(cè)試質(zhì)量保駕護(hù)航。
參考文獻(xiàn)
[1][美] 博韋,西斯特.深入理解LINUX內(nèi)核(第3版)[M] .(陳莉君,張瓊聲,張宏偉,譯).北京:中國(guó)電力出版社,2008.01.01 .
[2]董峰.深入剖析Linux內(nèi)核與設(shè)備驅(qū)動(dòng)[M].北京:機(jī)械工業(yè)出版社,2015.03.01.
[3][英]薩莫維爾.軟件工程(第九版)[M].(程成等 譯).北京:機(jī)械工業(yè)出版社,2011.05.01.
[4][美]佩騰(Rom Patton).軟件測(cè)試(原書(shū)第二版)[M] .(張小松,王鈺,曹躍,譯).北京:機(jī)械工業(yè)出版社,2006.04.01.
[5]周煥來(lái),賈海濤.軟件功能測(cè)試自動(dòng)化實(shí)戰(zhàn)教程[M].北京:人民郵電出版社,2015.03.01.endprint
數(shù)字技術(shù)與應(yīng)用2017年5期