時間:2021年07月05日 分類:電子論文 次數:
摘要:專業課程實驗內容設計既要體現重點知識的針對性,又要反映相關知識的綜合性。在圖形建模實驗中加入測試技術的應用,能具有更好的實踐效果。該文針對不同的建模工具,詳細描述了各自的界面組成、建模過程、建模效果及實施特點。并基于這些內容介紹了相關的測試方法,通過實際建模案例說明了測試方法的具體應用以及提高圖形建模效率的方法,還將圖形建模測試與程序代碼測試進行了詳細比較。建模工具的多樣化激發了學生的學習興趣,技術的多樣化提高了學生對知識綜合應用的重視程度。
關鍵詞:UML建模;靜態測試;動態測試;StarUML;PlantUML
實驗教學是計算機專業教學的重要組成部分。各種編程語言掌握、輔助工具應用、理論知識點理解都必須在相應的實驗課程中得到鍛煉與提升。實驗教學環節的良好設置應能體現專業知識點的特定性與綜合性,既要有助于對當前學習的知識點加深認識,又要與已有的知識技能形成一個整體。
軟件測試技術是軟件開發過程的重要內容,貫穿于軟件產品的整個生命周期,對軟件進行系統驗證和確認的目的是盡快盡早地發現在軟件產品中存在的各種問題[1-2]。同樣,在計算機專業課程實驗中,測試技術也一直貫穿其中,例如編程語言類的C/C++課程實驗,需要使用測試技術來驗證程序的正確性;圖形建模如UML需要使用測試技術來保證圖形的合理性;文檔編寫如需求規格說明書編寫需要使用測試技術驗證文檔的有效性等。測試技術在整個計算機專業學習過程中的作用是非常大的。
基于UML的面向對象分析與設計是一門專業主干課程,其實驗教學以UML建模工具使用為主,要求學生掌握常用模型的閱讀和繪制方法[3-5]。構建好的模型是否符合問題描述?圖形符號使用是否正確?彼此之間的關系是否恰當?回答這些問題則需要適當地運用已經學過的各種軟件測試技術。UML建模工具種類較多,可以簡單地分為拖放式建模和編程式建模。使用不同工具的建模在一定程度上決定了軟件測試方法、過程和技術的具體應用。結合這兩類工具的建模實例,本文將描述常用的軟件測試技術在實驗中的應用情況。
1圖形建模實驗的測試現狀及特點
完成UML建模實驗的過程包括閱讀問題描述、分析各類事物、分析事物之間的關系及類型、繪制圖形、測試與調整圖形等步驟。但實際建模實驗中,測試與調整圖形往往得不到重視,甚至直接被忽略,具體有以下幾種表現。(1)認為只要繪制出圖形即是結束。就像程序設計實驗過程一樣,認為只要通過開發工具的編譯器程序編寫就完成了,其實這僅僅說明程序沒有語法錯誤,并不表示它沒有邏輯錯誤。同樣,圖形繪制出來還需思考,有沒有可以改正或改進之處。(2)知道需要進行測試,但不知道如何進行測試。有的學生在建模之后會簡單地檢查一下,但不了解之前學過的軟件測試知識中的哪些啟發式規則、測試模型、測試步驟、測試技術可以具體應用到實際建模中。(3)知道如何測試,但難以形成習慣。實驗教學時間是有限的,到圖形建模測試步驟時,課內課時往往已用完,課后進行測試的完成率及效果明顯比課內要差。圖形建模的測試與一般程序設計實驗的測試相比,具有以下較為獨特之處。
(4)測試對象不同。程序設計的測試對象為一系列語句所構成的完整源代碼,而圖形建模的測試對象為多個圖形符號所構成的整體圖形,例如UML建模中的圖形符號有橢圓形、人形、矩形、線形等。(5)測試元素不同。程序設計的測試需要考慮數據和算法處理,而圖形建模的測試則需要考慮各個點以及點與點之間的連線,例如UML建模中的圖形基本就是由四類事物(點)和四種關系(線)所組成。
(6)測試結構不同。程序設計的測試涉及順序、選擇、循環三大基本結構,而圖形建模的測試涉及的結構以網狀結構和層次結構為主,例如UML建模中大部分圖形是網狀結構的,但其圖形結構又在一定程度上體現了程序的結構控制。(7)測試用例不同。程序設計的測試需要具體的數據作為輸入,用例有其固定格式和用法,而圖形建模的測試則沒有明確的用例可循,需要憑借一定的建模經驗。雖然圖形建模測試與程序設計測試有所不同,但二者之間也存在一定關聯。
(8)最終目的相同。都是驗證其最終結果的正確性及合理性。(9)測試過程類似。程序設計的測試過程是一個測試、調試、回歸測試的循環迭代過程,圖形建模的測試過程則是一個不斷反復調整的過程。(10)技術互通。圖形建模的測試技術可以很好地借鑒程序設計的測試技術,例如靜態測試、動態測試等。
2拖放式圖形建模的測試技術應用
計算機專業課程中的建模工具種類多、數量多,學生應根據自己的實際情況選擇合適的建模工具。例如UML建模課程中,從網絡是否連接可以分為在線建模工具如ProcessOn、離線建模工具如UMLet;從專業相關度可以分為通用建模工具如Visio、專業建模工具如RationalRose;從是否編碼可以分為拖放式建模工具如StarUML、編程式建模工具如PlantUML[6-7]。本文以StarUML和PlantUML為例進行說明。
主要由個區域構成,正中間面積最大的就是繪圖區,符合人們在現實生活中利用圖紙進行各種設計的行為和思考習慣[8]。建模過程也較為簡單,先閱讀問題描述,再根據題目要求添加需要繪制的圖形類型,將所需要的圖形符號逐個從工具箱拖放至繪圖區即可。
靜態測試是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來驗證程序的正確性。靜態測試技術包括代碼檢查、靜態結構分析、代碼質量度量等。其中代碼檢查就是研究源程序,并從中發現錯誤,最好在源程序編碼完成之后及編譯和動態測試之前進行[9-10]。在拖放式圖形建模測試中,主要借鑒的是程序靜態測試中的代碼檢查和結構分析,只不過檢查的對象換成了圖形。在分析錯誤時,將錯誤進行分類是有幫助的。UML圖形建模將錯誤分成五個類型。通過對錯誤分類,可以迅速找出哪一類錯誤的問題最大,然后集中精力預防和排除這一類錯誤。
3編程式圖形建模的測試技術應用
UML圖形建模除了可以使用拖放式方式實現,還可以使用編程方式實現。PlantUML是一個開源項目,支持快速繪制UML模型,同時還支持架構圖、SDL圖、甘特圖、思維導圖等非UML圖繪制。通過簡單直觀的語言來定義這些示意圖,可以生成PNG、SVG或LaTex格式的圖片。這里以在線PlantUML為例,說明編程式建模的實施和測試過程。在線PlantUML提供了各種模型的詳細語法介紹及相關示例,使讀者能夠快速入門,各類幫助信息的獲取也極為方便。與一般程序的開發界面相似,PantUMLWebServer的建模界面主要由兩個區域組成,一個是代碼編輯區,一個是結果顯示區,代碼通過“submit”按鈕提交。
計算機論文投稿刊物:《電腦知識與技術》雜志創刊于1994年,是經國家批準的旬刊雜志,主管單位:安徽出版集團有限責任公司,主辦單位:時代出版傳媒股份有限公司 、中國計算機函授學院。國內統一刊號:CN34-1205/TP,國際標準刊號:ISSN1009-3044。
4結語
計算機專業的實驗設計不應僅關注單個知識點的 應用,而應在細節上保持技術的連貫性和綜合性。在實驗內容設計上將軟件測試與軟件建模的內容融會貫通,能使學生思想上得到認識、理論上得到實踐、技能上得到提高,取得了很好的實驗教學效果。
參考文獻(References)
[1]張海藩,牟永敏.軟件工程導論[M].北京:清華大學出版社,2013.
[2]龍浩,王文樂,劉金,等.軟件工程軟件建模與文檔寫作[M].北京:人民郵電出版社,2016.
[3]呂云翔,趙天宇,叢碩.UML面向對象分析、建模與設計[M].北京:清華大學出版社,2018.
[4]侯愛民,歐陽驥,胡傳福.面向對象分析與設計(UML)[M].北京:清華大學出版社,2015.
[5]鄔卓恒,姜全坤.UML課程案例驅動教學研究[J].軟件導刊,2020,19(5):264266.
[6]劉秋香,劉振偉.淺析幾款主流的UML建模工具[J].電腦知識與技術,2018,14(32):245,253.
作者:戴莉萍,黃龍軍