◆舒 挺 賈宇波 張華熊
(浙江理工大學信息電子學院)
案例驅動的通信軟件測試課程教學方法研究
◆舒 挺 賈宇波 張華熊
(浙江理工大學信息電子學院)
通信軟件測試課程具有概念繁多,理論抽象和實踐性要求較高的特點。本著通信協議測試理論研究和實踐能力并舉的復合型人才培養目標,提出了一個基于具體協議測試案例驅動的課程教學新方法。案例驅動的教學方法強調測試案例在理論和實踐兩者之間結合的重要性,遵循學習的本質規律,促使學生以知識探索者身份提升學習主動性,從而達到課程的教學目標。
協議工程 協議測試 教學研究 案例驅動
1.課程現狀和地位
通信軟件測試是計算機專業網絡方向本科生的專業課程之一,其教學目標為具體化計算機網絡原理課程所學的抽象概念,提高學生對網絡協議通信軟件開發與測試的認知度,使學生掌握通信軟件測試的基本概念、原理、流程和實踐技能。通信軟件測試是軟件測試的一個分支,但與普通的軟件測試相比又具有獨特性。通信軟件或稱為協議軟件,往往具有分布性和實時性要求高的特點。協議軟件的實現是對應協議規范的具體實現,由于同一協議規范的實現方可能不同,他們實現的通信軟件產品之間的細微差異或者錯誤,都有可能帶來災難性的后果。例如,動車控制通信軟件存在的瑕疵,造成了車毀人亡的追尾慘劇。這給通信軟件的測試技術提出了新的要求。隨著網絡技術的飛速發展,在網絡新技術轉化為產品的過程中,需要大量的既懂得網絡協議原理,又掌握通信軟件測試的技術人才。目前,這種測試人才的社會需求和高校培養的人才數量之間存在較大的缺口。因此,一些高校針對這種局面,陸續推出了系列課程來培養這類稀缺人才。
通信軟件測試課程與其他課程關聯度較大,它的先修課程包括:計算機網絡、離散數學、程序開發語言、數據結構和軟件工程等。傳統的脫離具體測試案例背景進行教學活動對教師和學生來說都是一種艱難和無趣的經歷。
2.面臨的挑戰
由于,通信軟件測試課程所涉及的內容具有概念多,難度大和實踐能力要求高的特點,導致了針對本科生開展課程教學的困難。傳統的填鴨式的教學模式很難適用于該課程的教學。加之,相關適合教學的教材的缺乏也照成了教學的難度。目前國內關于該主題的教材比較稀少,書籍主要以外文為主。國外經典書籍,如由Gerard J編著的《Design and validation of computer protocols》,Gyula Csopaki著的《Testing of Communicating Systems: Methods and Applications》和 Manuel Nú?ez編著的《Testing of Software and Communication Systems》均是該領域難得的經典書籍,這類教材強調原理、內容豐富。但是這些教材由于內容繁多,知識點較雜,沒有針對性,不適合本科教學使用。國內關于該主題主要有兩本教材:北方工業大學趙會群教授編寫的《通信軟件測試技術基礎》和桂林電子工業學院古天龍教授的《網絡協議的形式化分析與設計》。前者介紹軟件測試的基本概念、基本內容和測試方法的分類,作為軟件測試的基礎,重點介紹了軟件測試的白箱法和黑箱法,該書理論性較強,實踐內容相對較少,適合研究生教學。后者,就網絡協議分析與設計中的形式化方法與技術展開討論和介紹,該教材同樣更偏向于概念性內容。
對于計算機專業網絡工程方向的本科學生而言,在完成計算機網絡等相關專業方向基礎先導課程后,如何針對網絡通信軟件的特點,應用所學的軟件工程和網絡協議的知識,通過通信軟件測試課程的學習,掌握通信軟件測試的基本理論和實踐方法是長期困擾該課程教學的一個難題。
傳統的通信軟件測試課程教學往往是作為計算機網絡課程的進一步延伸,過分地強調理論知識的傳授,相對忽視了基于實際測試過程和測試案例的學生實踐能力的培養。針對網絡工程方向的本科生而言,畢業以后的出路主要為:繼續攻讀研究生或者就業。針對前者,課程教學應該在介紹完通信軟件測試技術基礎之后,深化測試序列生成相關算法的內容。而針對后者,教學還需結合實際項目背景,闡述一些具體的通信軟件測試工具的使用方法和完整的測試案例,增加有針對性的實踐環節。
針對課程概念枯燥、知識點多,實踐要求高的特點,本文提出了一種基于案例驅動的教學思路和教學方法。由于現行的計算機本科教學模式更注重學生理論基礎的培養,而對學生工程項目概念和經驗的積累強調較少。這直接導致了學生在學習工程相關課程時,由于沒有實踐的背景知識,對課本中概念和經驗知識的重要性和意義不敏感。為了彌補實踐經驗不足,給學生營造工程項目氛圍,讓學生能夠在教師的引導下,探索解決問題的思路,從而產生對相關知識和經驗性方法的學習渴望。遵循學習的本質規律,讓學生自己在主動性學習過程中建構相應的知識體系。只有這樣,學生的學習主動性才能被更好的激發,課程教學才能收到預期的效果。
浙江理工大學計算機科學與技術專業網絡方向的通信軟件測試課程,正是基于該教學思想來設計和實施教學活動。在整個課程教學過程中,以一個具體的通信協議測試仿真課題作為教學的工程背景環境,時刻聯系教學內容與測試課題之間的關聯,聯系實際的強調各知識點之間的內在關聯性和重要性。由于通信軟件通常規模龐大,系統較復雜,基于案例的教學過程設計中,測試課題的選擇是教學成功與否的關鍵之一。在有限的課時內既要完成測試基本軟件的教授,又要針對測試案例完成測試實踐方法和過程的培訓。如果案例選擇不合適,將直接影響教學過程的開展。本文提出的案例驅動教學方法中,選擇PPP協議作為測試對象,該協議既簡單又包含相對完整的通信協議軟件特性,便于案例教學方法的設計和實施。

圖1 課程教學概念設計
基于案例驅動的課程教學概念設計如圖1所示。整個課程的教學內容以PPP協議軟件測試案例為核心來設計,突出兩個教學重點:協議測試概念和理論與協議測試方法和實踐。在課程教學過程中,以該測試案例為中心議題,提出完成測試工作所需的理論概念和對應的測試實施策略和方法。有了具體的工程測試目標問題,學生面對全新的協議軟件測試概念就不會覺得空洞,從而由知識被動的接受者轉變為具有一定主動性的知識探索者的角色。作為教師,在基于案例的課程教授過程中,也找到了務實的落腳點,避免純粹“空對空”的教學過程。教師和學生之間這種基于共同問題的教學互動有利于良好的教學氛圍的營造,從而達到預期的教學目標。
通信軟件測試,是浙江理工大學計算機科學與技術專業網絡方向本科生的專業選修課之一。在課程體系安排中,總學時被設置為32學時,課內授課16學時,課外測試實驗16學時。課程學時設置強調了實踐環節的重要性,旨在針對學生繼續深造和就業兩方面的需求,在教授學生通信軟件測試基本理論知識的基礎上,強化實踐測試的技能。限于教學學時的限制,在教學內容安排上舍棄了一些技術理論枝節,而是針對解決PPP協議測試問題來構建教學內容。結合本人協議測試技術方面的積累,把一些最新的協議測試技術融合到日常教學內容中。課程教學圍繞PPP協議測試問題展開,首先介紹最基本的協議工程測試方面的理論知識(3學時),接著重點介紹擴展有限狀態機EFSM的原理和基于EFSM的協議測試方法(3學時)。然后,針對性的介紹典型的基于EFSM模型的測試例生成方法(3學時),和典型測試工具軟件的應用(2學時)。最后,綜合闡述PPP協議的測試方法(5學時)。課外實踐環節的16學時,學生將在教師的指導下獨立應用測試工具軟件進行針對PPP協議的測試實踐。
在課程期末考核中,設置了學生對課程滿意度和建議的調查環節。學生反饋信息的統計結果表明,80%以上的同學認可基于測試案例的教學方法,認為該方法可以有效提升學習的主動性。同時,在實例測試過程中可以持續的體驗到知識應用于實際的成就感。
通信軟件測試課程具有概念繁多,理論抽象和實踐性要求較高的特點。如何設計和實施課程的教學內容,培養可以從事網絡通信協議測試工作和理論研究的復合型人才,是一個富有挑戰的課題。本文提出了一個基于具體協議測試案例來開展教學的新方法。新方法強調課程教學過程以測試案例為中心議題,遵循學習的本質規律,以測試案例作為理論知識的仿真項目背景,可以有效提升學生學習的主動性,從而達到預期的教學目標。
[1]Holzmann G J,Company A T A T.Design and validation of computer protocols[M].Prentice Hall,1991.
[2]Gyula Csopaki,Margit Dibuz,Katalin Tarnay.Testing of Communicating Systems:Methods and Applications[M].Springer,1999.
[3]Manuel Nú?ez,Paul Baker,Mercedes G.Merayo.Testing of Software and Communication Systems[M].Springer,2009.
[4]趙會群.通信軟件測試技術基礎[M].人民郵電出版社,2004.
[5]古天龍,蔡國永.網絡協議的形式化分析與設計[M].電子工業出版社,2003.