• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      國產(chǎn)操作系統(tǒng)自動化測試平臺技術(shù)研究

      2017-06-22 19:03:37王暉
      無線互聯(lián)科技 2017年10期
      關(guān)鍵詞:操作系統(tǒng)自動化測試

      王暉

      摘 要:自主可控是確保我國網(wǎng)絡(luò)空間安全可托底的基礎(chǔ),近年來,我國自主可控信息技術(shù)和產(chǎn)業(yè)持續(xù)跨越式前進(jìn),國產(chǎn)操作系統(tǒng)是構(gòu)建自主可控的信息安全體系的關(guān)鍵,其本身的穩(wěn)定性、可靠性和安全性至關(guān)重要。因此,操作系統(tǒng)在研發(fā)過程中,全面嚴(yán)格的測試驗證成為必需,同時,為減少手工測試的勞動量和出錯率,按照預(yù)定計劃實現(xiàn)自動化測試,是操作系統(tǒng)研發(fā)測試驗證的必然趨勢和要求。文章通過自主開發(fā)以及引入完善、綜合應(yīng)用主流商用或開源軟件測試工具,研究構(gòu)建由測試管理、自動化測試、缺陷管理等子系統(tǒng)組成的國產(chǎn)操作系統(tǒng)測試體系,實現(xiàn)測試全過程管理的統(tǒng)一高效的國產(chǎn)操作系統(tǒng)自動化測試平臺,以保證國產(chǎn)操作系統(tǒng)研發(fā)和維護(hù)時的質(zhì)量可靠性,滿足建立完整的國產(chǎn)操作系統(tǒng)生態(tài)鏈的需要。

      關(guān)鍵詞:操作系統(tǒng);自動化;測試;自主可控

      沒有網(wǎng)絡(luò)安全就沒有國家安全,自主可控是確保我國網(wǎng)絡(luò)空間安全可托底的基礎(chǔ)。近年來,隨著國家“863”計劃、核高基等重大科技專項的展開并逐漸取得成果,我國自主可控信息技術(shù)和產(chǎn)業(yè)持續(xù)跨越式前進(jìn),以龍芯等為代表的處理器,以及以中標(biāo)麒麟操作系統(tǒng)、達(dá)夢數(shù)據(jù)庫等為代表的基礎(chǔ)軟件,均已初步具備與國外同類產(chǎn)品競爭的規(guī)模和能力,并逐漸形成國產(chǎn)自主可控領(lǐng)域基礎(chǔ)軟硬件生態(tài)產(chǎn)業(yè)鏈,為我國構(gòu)建安全可靠的信息系統(tǒng)提供了強有力的基礎(chǔ)軟硬件環(huán)境支撐。

      操作系統(tǒng)是計算機軟件的基礎(chǔ)和靈魂,更是軟件產(chǎn)業(yè)的戰(zhàn)略制高點。操作系統(tǒng)研發(fā)工程浩大,其中涉及的技術(shù)方方面面,從底層各種各樣硬件設(shè)備的適配到種類繁多的上層應(yīng)用軟件的支持,過程復(fù)雜、歷時持久,整個項目中產(chǎn)品質(zhì)量控制顯得尤其重要。操作系統(tǒng)在研發(fā)、使用、升級等環(huán)節(jié),都需要對系統(tǒng)中每一個組件或功能模塊進(jìn)行全面嚴(yán)格的測試驗證。為達(dá)到提高操作系統(tǒng)軟件質(zhì)量的目的,減少手工測試的勞動量和出錯率,通過引用或自研工具,按照預(yù)定計劃,實現(xiàn)自動化測試,是操作系統(tǒng)研發(fā)測試驗證的必然趨勢和要求。

      因此,本文將針對在研發(fā)和維護(hù)國產(chǎn)操作系統(tǒng)過程,研究并構(gòu)建一個統(tǒng)一的、高效率的自動化測試平臺,以保證國產(chǎn)操作系統(tǒng)產(chǎn)品的質(zhì)量可靠性,同時,進(jìn)一步滿足打造和完善完整的國產(chǎn)操作系統(tǒng)生態(tài)鏈的需要。

      1 體系結(jié)構(gòu)

      通常情況下的軟件測試,測試人員首先設(shè)計合理的測試用例,按照預(yù)定測試計劃流程,實現(xiàn)基于測試用例的軟件測試并得到測試結(jié)果,最后與預(yù)期結(jié)果進(jìn)行比對,形成軟件測試結(jié)論。自動化測試,則實現(xiàn)上述軟件測試過程中盡量將手動的測試行為轉(zhuǎn)化為機器執(zhí)行,以達(dá)到減輕人工勞動量、節(jié)省時間、減少手動出錯率、提高測試效率的目的。

      對于滿足以下條件的軟件開發(fā),將更有利于實現(xiàn)自動化測試。

      (1)軟件需求明確具體、相對固化。

      自動化測試腳本的編寫實質(zhì)上也是一個軟件開發(fā)的過程,如果軟件需求模糊或變更頻繁,將直接造成測試腳本編寫和測試用例設(shè)計的難以形成或不斷調(diào)整,從而增加了自動化測試開發(fā)維護(hù)的成本和時間。

      (2)軟件生命周期階段清晰、時間長。

      軟件測試過程一般包括:測試計劃、設(shè)計開發(fā)(測試腳本編寫和測試用例設(shè)計)、測試執(zhí)行和測試評估,整個過程需要一定的時間周期,這就要求被測試軟件本身的生命周期各個階段劃分清晰明確、整個開發(fā)時間較長,否則,將難以支撐軟件測試過程的時間需要。

      (3)測試腳本、測試用例能夠復(fù)用。

      測試腳本的重復(fù)使用率越高,構(gòu)建自動化測試體系平臺的成本也就越低,效益發(fā)揮也就越明顯。另外,針對手工軟件測試無法完成或重復(fù)勞動的工作,比如性能壓力測試、大數(shù)據(jù)量測試用例輸入測試等,也可以考慮引入自動化測試。

      國產(chǎn)操作系統(tǒng)作為自主可控領(lǐng)域的基礎(chǔ)軟件,研制周期長,功能需求相對明確,針對龍芯、申威等國產(chǎn)化硬件平臺的各種不同版本,都是基于同一個版本針對不同CPU特點和需求延伸定制而來,大部分模塊功能穩(wěn)定、重用性高,測試過程中的回歸測試次數(shù)多,因此,通過自主開發(fā)以及引入完善、綜合應(yīng)用主流商用或開源軟件測試工具,制定有效可行的測試計劃、執(zhí)行準(zhǔn)確完整的測試用例,構(gòu)建全過程管理的統(tǒng)一高效的自動化測試平臺非常有必要,用以保證國產(chǎn)操作系統(tǒng)研發(fā)、使用和維護(hù)時的質(zhì)量可靠性,滿足建立完整的國產(chǎn)操作系統(tǒng)生態(tài)鏈的需要。

      國產(chǎn)操作系統(tǒng)自動化測試平臺由測試管理、自動化測試、缺陷管理等子系統(tǒng)組成,其體系結(jié)構(gòu)如圖1所示,包括測試需求規(guī)格說明、測試計劃制定、測試腳本編寫和測試用例設(shè)計、測試執(zhí)行結(jié)果獲取、測試評估報告撰寫和軟件缺陷改進(jìn)跟蹤等過程。

      2 設(shè)計實現(xiàn)

      2.1 缺陷管理子系統(tǒng)

      在整個缺陷的生命周期中,缺陷管理子系統(tǒng)實現(xiàn)將對缺陷進(jìn)行追蹤管理。主要包括以下功能:報告軟件缺陷、檢索功能、軟件缺陷變更郵件通知功能、軟件缺陷歷史變更記錄、跟蹤和描述處理軟件缺陷、軟件缺陷的相關(guān)附件管理、產(chǎn)品分類管理、軟件缺陷的審核機制、支持存儲大量軟件缺陷記錄、友好的用戶界面、靈活多樣的配置設(shè)定等。軟件缺陷管理子系統(tǒng)與測試管理子系統(tǒng)組合集成一個整體的自動化測試管理平臺,缺陷管理與測試管理兩個子系統(tǒng)之間通過增加設(shè)計的外部接口進(jìn)行彼此的關(guān)聯(lián)和統(tǒng)一,實現(xiàn)報告的軟件缺陷與操作系統(tǒng)的版本、測試用例多對一的對應(yīng)關(guān)系,即一個測試用例可提交多個軟件缺陷。

      2.2 測試管理子系統(tǒng)

      測試管理子系統(tǒng)包括以下功能:測試計劃制定、測試用例管理、測試執(zhí)行、測試用例與軟件缺陷關(guān)聯(lián)。測試計劃制定,實現(xiàn)對操作系統(tǒng)產(chǎn)品的測試規(guī)劃,劃分測試任務(wù)的范圍、方法和時間等,形成產(chǎn)品測試計劃,并具備測試計劃的復(fù)用機制;測試用例管理,對操作系統(tǒng)各個模塊的測試用例按制定的測試計劃分類創(chuàng)建和管理,具體包括:測試方案擬制、測試方法技術(shù)和策略選擇、測試目標(biāo)確定、測試環(huán)境配置、測試數(shù)據(jù)輸入、測試步驟選定、預(yù)期結(jié)果設(shè)定、是否自動化實現(xiàn)設(shè)置、附件文檔管理等,測試用例管理可實現(xiàn)用例評審標(biāo)記,并具備復(fù)用機制。

      測試執(zhí)行管理為動態(tài)過程,包括:手動測試執(zhí)行和自動測試執(zhí)行,能夠全方位地觀察測試用例的執(zhí)行結(jié)果,以及加強對測試過程的全時記錄,手動執(zhí)行測試?yán)檬止び涗浢恳淮螆?zhí)行測試用例后的結(jié)果,自動執(zhí)行測試在配置的測試環(huán)境下,將測試用例與自動化測試子系統(tǒng)中的測試腳本匹配關(guān)聯(lián),自動調(diào)用相應(yīng)的測試腳本執(zhí)行測試任務(wù);同時,通過測試用例與對應(yīng)的缺陷管理的關(guān)鍵字進(jìn)行匹配關(guān)聯(lián),實現(xiàn)缺陷管理子系統(tǒng)與測試管理子系統(tǒng)的有效整合。

      標(biāo)識測試用例是否能夠進(jìn)行自動化測試,是否可自動化主要通過對后臺數(shù)據(jù)庫中的標(biāo)記測試用例配置自動化狀態(tài)并添加唯一指定標(biāo)識來實現(xiàn);且優(yōu)先在自動化測試腳本庫中查詢指定的測試腳本名。

      配置執(zhí)行自動化測試用例時測試環(huán)境,需要標(biāo)明一個測試執(zhí)行對應(yīng)一個測試環(huán)境,一個測試環(huán)境中可包括全局測試環(huán)境與本地測試環(huán)境,可以通過IP和測試用戶配置實現(xiàn)多臺測試主機以及測試執(zhí)行的權(quán)限管理。

      2.3 自動化測試子系統(tǒng)

      自動化測試子系統(tǒng),根據(jù)測試管理子系統(tǒng)中是否自動化配置狀態(tài)和指定標(biāo)識,實現(xiàn)手動測試或自動化測試。根據(jù)實際測試需求,制定出相應(yīng)的測試策略,對操作系統(tǒng)測試環(huán)境進(jìn)行配置,包括測試環(huán)境的參數(shù)配置(主機網(wǎng)絡(luò)地址IP、操作系統(tǒng)等)、測試數(shù)據(jù)管理配置(測試腳本與數(shù)據(jù)的存放位置)、郵件提醒配置、測試結(jié)果數(shù)據(jù)配置(測試結(jié)果的原始數(shù)據(jù)及測試日志的存放位置),關(guān)聯(lián)測試管理子系統(tǒng)提供的測試用例,支持對操作系統(tǒng)自動化測試腳本和測試工具的統(tǒng)一管理和調(diào)用。另外,實現(xiàn)對測試結(jié)果數(shù)據(jù)、測試日志的處理分析,得到自動化測試執(zhí)行的結(jié)果,還可以對回歸測試中或者基準(zhǔn)測試中的一些對比測試結(jié)果數(shù)據(jù)進(jìn)行圖標(biāo)直觀輸出。主要功能模塊包括:單元測試、GUI測試、安全測試、性能測試、設(shè)備模擬框架及硬件兼容性測試、可靠性測試、命令測試等。操作系統(tǒng)自動化測試子系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖2所示。

      (1)單元測試:對操作系統(tǒng)軟件中的最小可測試單元進(jìn)行檢查和驗證。主要實現(xiàn):提供對源代碼的3種測試方式(白盒測試、黑盒測試以及回歸測試)、提供對于主流編程語言(例如C,C++,Java,Python等)不同的自動化測試。

      (2)GUI測試:對操作系統(tǒng)GUI界面進(jìn)行測試和驗證。主要實現(xiàn):支持腳本化語言、支持對操作系統(tǒng)界面中所有與對象的識別、支持函數(shù)的可重用、提供擴展接口。

      (3)安全測試:對現(xiàn)有的開源或者商業(yè)工具進(jìn)行研究或二次開發(fā),實現(xiàn)操作系統(tǒng)安全測試子系統(tǒng),包括分析檢查器、內(nèi)存泄漏檢測、二進(jìn)制代碼掃描器、應(yīng)用程序痕跡檢查(Application Footprinting,AF)、模糊測試(Fuzz Testing Tools and Techniques,F(xiàn)TTT)、靜態(tài)代碼分析(Static Code Analyzers,SCA)等功能。主要實現(xiàn):針對源代碼測試出靜態(tài)類型的弱點、對任何類型的補丁創(chuàng)建基線并進(jìn)行回歸測試、幫助測試人員找到可能觸發(fā)或隱含惡意代碼的地方、支持處理大容量的源代碼或很大的可執(zhí)行文件、不改變被測試的軟件和不影響源代碼、產(chǎn)生有價值的診斷預(yù)測和度量分析報告。

      (4)性能測試:實現(xiàn)針對操作系統(tǒng)的性能測試,用于查找軟件性能瓶頸,進(jìn)行優(yōu)化,保證提升操作系統(tǒng)的性能;實現(xiàn)針對應(yīng)用的性能測試,用戶常使用的應(yīng)用軟件,其性能直接影響了用戶對操作系統(tǒng)的評價和使用意愿性。主要實現(xiàn):支持對系統(tǒng)的整形運算、浮點運算能力和系統(tǒng)調(diào)用、編譯器性能、文件讀寫速度等性能參數(shù)進(jìn)行測試;支持對系統(tǒng)進(jìn)程處理能力、進(jìn)程切換開銷、文件處理能力和內(nèi)存調(diào)度等方面進(jìn)行測試;支持針對TCP/UDP請求/響應(yīng)的速率和吞吐率進(jìn)行測試;支持針對SMB文件服務(wù)器負(fù)載能力和吞吐量進(jìn)行測試;提供測試系統(tǒng)IO處理能力;支持實際用戶的操作行為模擬和實時性能監(jiān)測,實現(xiàn)對靜態(tài)的和動態(tài)的資源(文件、Servlet,Perl腳本、數(shù)據(jù)庫、FTP服務(wù)器、HTTP服務(wù)器等)的性能進(jìn)行測試;支持不同壓力類型下的整體性能分析,更快地確認(rèn)和查找問題,找到系統(tǒng)的瓶頸。

      (5)設(shè)備模擬框架及硬件兼容性測試:實現(xiàn)設(shè)備模擬框架,為所有設(shè)備提供一個易用的輸入輸出控制接口;該設(shè)備模擬框架可以加快測試用例的開發(fā),使調(diào)試和測試設(shè)備代碼變得更加容易。同時,提供各種常規(guī)硬件設(shè)備的測試方法,實現(xiàn)相應(yīng)的硬件兼容性測試;操作系統(tǒng)的硬件兼容性一直是困擾操作系統(tǒng)行業(yè)發(fā)展的一個重要問題,關(guān)于設(shè)備模擬框架和硬件兼容性測試的研究實現(xiàn),將有力支撐國產(chǎn)操作系統(tǒng)對多種外圍設(shè)備的支持和優(yōu)化。主要實現(xiàn):支持提供設(shè)備模擬框架;支持提供操作系統(tǒng)內(nèi)核空間到用戶空間的輸入輸出控制接口;支持內(nèi)核的特定目標(biāo)區(qū)域測試用例執(zhí)行;支持執(zhí)行可能不存在設(shè)備的驅(qū)動程序內(nèi)核代碼;支持硬件兼容性測試,包括硬件設(shè)備的識別、配置、加載以及性能等方面測試。

      (6)可靠性測試:驗證國產(chǎn)操作系統(tǒng)的需求是否被正確實現(xiàn),并找出所有對軟件可靠性影響較大的問題,通過使可靠性測試工作自動化來幫助改進(jìn)OS內(nèi)核。主要實現(xiàn):提供測試Linux內(nèi)核和相關(guān)部件的測試套件,完善并擴充相關(guān)的測試用例集;支持實現(xiàn)針對系統(tǒng)調(diào)用、內(nèi)存、IPC,I/O、文件系統(tǒng)和網(wǎng)絡(luò)等的測試。

      (7)命令測試:國產(chǎn)操作系統(tǒng)中,一切都是文件,系統(tǒng)管理的命令(內(nèi)置Shell命令和OS命令)是其正常運行的核心,實現(xiàn)操作系統(tǒng)命令測試,發(fā)現(xiàn)問題并改進(jìn)操作系統(tǒng)質(zhì)量可靠性。主要實現(xiàn):支持覆蓋命令測試用例的測試數(shù)據(jù)文件和測試腳本編寫及復(fù)用;支持測試實際結(jié)果與預(yù)期結(jié)果比較分析。

      3 結(jié)語

      國產(chǎn)操作系統(tǒng)作為構(gòu)建自主可控的信息安全體系的關(guān)鍵基礎(chǔ),構(gòu)建自動化的測試平臺,是其質(zhì)量可靠性的重要保證。自動化測試平臺應(yīng)支持對操作系統(tǒng)測試流程的全方位管理,具有嚴(yán)格控制用戶權(quán)限及系統(tǒng)靈活配置功能,支持測試用例可自動化設(shè)置,測試執(zhí)行提供手動執(zhí)行與自動執(zhí)行類型選擇,軟件缺陷與測試用例存在關(guān)聯(lián)統(tǒng)一的機制,通過配置可以使整個項目的參與人員及時地獲取軟件缺陷變化的信息,具備測試結(jié)果的統(tǒng)計功能以及支持多種類型的自動化測試。

      [參考文獻(xiàn)]

      [1]蔡開元.軟件可靠性工程基礎(chǔ)[M]. 北京:清華大學(xué)出版社,1995.

      [2]宮云戰(zhàn),劉海燕,萬琳,等.軟件測試性的分析與設(shè)計技術(shù)研究[C]. 北京:2000 年全國測試學(xué)術(shù)會議,2000:271-274.

      [3]JIN Z,OFFUTT J. Deriving tests from software architectures[C]. Hong Kong:International Symposium on Software Reliability Engineering,2001:308-313.

      [4]楊芙清,梅宏,呂建,等. 淺論軟件技術(shù)發(fā)展[J]. 電子學(xué)報,2002(12a):1 901-1906.

      [5]GAO JZ,TSAO J,WU Y. Testing and quality assurance for component-based software[M]. Boston:Artech House,2003.

      猜你喜歡
      操作系統(tǒng)自動化測試
      幽默大測試
      幽默大師(2020年11期)2020-11-26 06:12:12
      “攝問”測試
      “攝問”測試
      “攝問”測試
      智能手機操作系統(tǒng)的分析與比較
      卷宗(2016年10期)2017-01-21 14:04:15
      國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
      計算機維護(hù)中操作系統(tǒng)還原技術(shù)的分析
      對計算機進(jìn)行操作系統(tǒng)重裝的維護(hù)
      供熱站自動控制系統(tǒng)中PLC的應(yīng)用
      AGV小車在白酒行業(yè)自動化立體倉庫中的應(yīng)用
      中國市場(2016年36期)2016-10-19 03:40:15
      文水县| 察哈| 宝兴县| 霞浦县| 西昌市| 措美县| 宁河县| 兴仁县| 山丹县| 灵川县| 新乐市| 宜兰县| 葫芦岛市| 左贡县| 根河市| 登封市| 丹寨县| 宜春市| 三穗县| 郯城县| 天水市| 图木舒克市| 宽城| 青铜峡市| 东兴市| 昌都县| 白银市| 晋江市| 大安市| 濉溪县| 会宁县| 常德市| 阿拉尔市| 彭山县| 五莲县| 邛崃市| 商河县| 开鲁县| 镇宁| 绥棱县| 定襄县|