王法勝 熊耀華 康玲 董悅麗 任長寧
摘 要:文章結合TOPCARES-CDIO工程教育理念引導的人才培養(yǎng)模式,探討了軟件測試課程的設計,提出了基于TOPCARE-CDIO工程教育模式的軟件測試課程體設計,分別從課程目標和能力指標選擇、課程內容及學時設計、教學組織形式、考核方式等方面進行了深入的分析和介紹,同時對課程的實踐內容設計也進行了詳細的介紹。T-C模式下的軟件測試課程設計為軟件測試人才培養(yǎng)提供了有利的指導,并為同行院校的課程建設提供了經驗。
關鍵詞:軟件測試;TOPCARES-CDIO;課程設計
中圖分類號:TP311.52 文獻標識碼:A
1 引言(Introduction)
伴隨著軟件產業(yè)的發(fā)展,軟件測試在整個軟件生命周期的地位不斷的提高,軟件測試工作貫穿于整個軟件產品的生命周期[1]。隨之而來的是軟件測試人才的大量需求,國內高校充分注意到了軟件測試類人才的巨大需求[2],在軟件工程專業(yè)人才培養(yǎng)中,設置了軟件測試方向,專門培養(yǎng)軟件測試人才,例如,河北師范大學軟件學院、大連東軟信息學院、鄭州輕工業(yè)學院等高校[2]。在軟件測試人才培養(yǎng)中扮演重要角色的課程是《軟件測試》,作為一門必修課程,學生能夠通過學習了解和掌握軟件測試理論和技術,掌握自動化測試工具使用,并能熟練應用各種方法對各類應用系統(tǒng)進行測試。
我校自2004年開始開設《軟件測試》課程,經過十多年的教學實踐,形成了獨特的工程教育理念為基礎的課程體系。2010年,TOPCARES-CDIO工程教育理念被提出[3,4],并在國內多所高校進行了實踐。TOPCARES-CDIO(簡稱T-C)是以CDIO工程教育為基礎構建的具有八大能力指標體系的教育模式,即技術知識與推理能力(T)、開放式思維與創(chuàng)新(O)、個人職業(yè)能力(P)、溝通表達與團隊協作(C)、態(tài)度與習慣(A)、責任感(R)、價值觀(E)、實踐應用能力(S),T-C模式引導的人才培養(yǎng)方案能夠全方位的培養(yǎng)學生的能力?!盾浖y試》課程在T-C模式的引導下,經歷了多年的改革,形成了較為穩(wěn)定的內容體系,為軟件測試人才培養(yǎng)發(fā)揮了重要作用[5,6]。
2 課程目標及能力指標的選擇(Course object and
ability index selection)
本課程主要介紹軟件測試的基本原理和常用的測試技術,共64學時,其中理論學時44,實踐學時18。通過該課程的學習,使學生掌握軟件測試的基本理論和基本方法,能熟練使用常用的測試工具,了解工程項目中軟件測試的實施策略和實施過程,并進一步增強學生軟件質量管理的意識。通過本課程的學習,學生能夠根據需求規(guī)格說明書和程序代碼設計測試用例,并能運用測試工具進行測試。在T-C模式的八大能力共一百多個指標中,結合課程的特點,我們選擇了如表1所示的能力指標。
3 課程內容及學時安排(Course contents and hours)
本課程的目標是掌握軟件測試的理論、方法和技術,因此,在課程內容設置上,我們將課程分為8大模塊,分別是:軟件測試理論、測試用例設計方法、單元測試、集成測試、系統(tǒng)測試、回歸與驗收測試、自動化測試和測試過程管理,基本覆蓋了軟件測試中涉及的方法、技術和工具。在學時安排上,軟件測試理論部分共6學時,分為3次課,分別講授:軟件測試的基本問題、軟件缺陷的基本問題,以及軟件測試管理。課程的重點內容是第2模塊,講解黑盒測試用例設計方法和白盒測試用例設計方法;第7和第8模塊以實踐為主,其中第7模塊主要涉及惠普系列自動化測試工具的使用,有功能測試工具UFT和性能測試工具LoadRunner;第8模塊為課程三級項目實戰(zhàn)模塊,要求學生完成對我校國際合作平臺的功能及性能測試,并撰寫測試文檔。課程不同的內容模塊對應的能力指標如表2所示,其中CU即為課程單元(Course Unit)的縮寫。
《軟件測試》課程是一門實踐性較強的課程,因此,在內容設置上,我們也突出了實踐學時的設計,在表2中的“單元測試框架Xunit實踐”和“系統(tǒng)測試練習”部分都是實踐部分,要求學生編寫單元測試代碼和完成國合系統(tǒng)的界面測試、易用性測試和部分核心業(yè)務流程的功能測試。第7和第8模塊的實踐學時安排如表3所示,其中CP為課程項目(Course Project)的縮寫,UP為單元項目(Unit Project)的縮寫。
課程的三級項目為我校國際合作平臺的功能及性能測試(圖1),考查學生綜合運用測試技術、測試方法、測試工具對Web系統(tǒng)進行測試的能力和測試文檔撰寫能力。教師將為學生提供項目的用例模型和業(yè)務流程,由學生提取測試需求,并撰寫測試計劃,設計測試用例和撰寫測試報告、缺陷報告,所有的文檔模板均由教師提供。
自動化測試工具部分的實踐涉及到自動化測試工具Unified Function Tester(UFT)和LoadRunner的學習和使用,要求學生按照教師提供的實驗指導書,完成所有的實驗任務,UFT中涉及的知識點包括:腳本的錄制與執(zhí)行、檢查點技術、參數化、輸出值與參數化和測試對象庫等,LoadRunner中涉及的知識點包括:業(yè)務流程腳本的創(chuàng)建、場景的設計與執(zhí)行和性能測試結果分析,總的實驗次數為八次。
4 教學方法與組織形式(Teaching methods and
organization)
《軟件測試》課程是一門理論與實踐結合且具有較強實踐性的課程,因此在教學方法上,我們采用參與式教學和以慕課為載體的翻轉課堂。2014年開始,本課程組建設了軟件測試慕課平臺并制作了13個知識單元的慕課,供學生課下學習,培養(yǎng)學生自由探索知識的意識。教師在課上將不再重復講解慕課中的知識點,而以擴充性的知識點為主。另外,為充分調動學生的積極性,參與課堂教學,我們選擇部分章節(jié)的知識點交給學生準備教學資料,制作課件并講授。學生在查閱資料和準備教學資料的過程中,可以進一步提升創(chuàng)新意識。在學生完成講授之后,由教師進行知識點的補充。適用參與式教學的知識點安排在系統(tǒng)測試一章,將該章的知識點分解為:功能測試、性能測試、安全性測試、移動互聯網測試、本地化測試、兼容性測試等小模塊,教師為學生提供適當的資料并引導學生如何去查找資料。
經過近今年的實踐,這種參與式教學和慕課引導的翻轉課堂進一步調動了學生的積極性,提升了他們的創(chuàng)新意識,同時也解放了教師,將更多的精力放在創(chuàng)新意識的培養(yǎng)上。
5 考核方式(Evaluation method)
本課程的考核方式分為形成性考核和終結性考核,二者分別占總成績的40%和60%。形成性考核側重實踐的考核,三級項目的測試共10分,JUnit測試代碼編寫和自動化測試工具實踐共24分,至少完成8次,每次3分,如表4所示。終結性考核安排如表5所示,考試形式為閉卷考試,考試時間120分鐘,題型選擇較為豐富,涵蓋了選擇題、判斷題、簡答題和測試用例設計題(解答題)。試題將重點考查學生應用知識解決實際問題的能力,降低死記硬背的知識點,從實踐效果來看,這種考核方式更能考核出學生的真實水平,對提高學生學習興趣和學習的主動性、積極性大有裨益,為將來求職打下基礎。
6 結論(Conclusion)
本文介紹了TOPCARES-CDIO教育理念引導的軟件測試課程設計。課程的學習不僅重視學習的結果,也重視對過程的考核。通過對形成性考核的合理設計,對學習過程進行合理的考核,重點考察學生的實踐能力和知識應用能力。通過實踐項目的設置,使得學生的實踐水平得到進一步的鍛煉,為以后的求職打下堅實的基礎。
參考文獻(References)
[1] Lawanna A.An Effective Test Case Selection for Software Testing Improvement[C].Proceedings of the International Computer Science and Engineering Conference,2015:1-6.
[2] Soska A,Mottok J,Wolff C.An Experimental Card Game for Software Testing-Development,Design and Evaluation of a Physical Card Game to Deepen the Knowledge of Students in Academic Software Testing Education[C].Proceedings of the 2016 IEEE Global Engineering Education Conference,2016:576-584.
[3] Zhu B,Zhang S M.Experiment Teaching Reform for Software Testing Course Based On CDIO[C].Proceedings of the International Conference on Computer Science & Education,2014:488-491.
[4] 鄭東霞,王法勝,王明志.TOPCARES-CDIO工程教育的軟件測試方向人才培養(yǎng)模式[J].計算機教育,2013,16:4-8.
[5] 王法勝,等.自動化測試工具課程教學方案[J].計算機教育,
2011,11:61-63.
[6] 黃鵬宇,等.創(chuàng)新型人才培養(yǎng)中教學與科研工作實踐[J].軟件工程師,2014,17(8):41-44.
作者簡介:
王法勝(1983-),男,博士,副教授.研究領域:軟件測試.
熊耀華(1974-),男,碩士,副教授.研究領域:項目管理.
康 玲(1974-),女,博士,副教授.研究領域:軟件測試.
董悅麗(1973-),女,碩士,教授.研究領域:項目管理.
任長寧(1978-),男,碩士,副教授.研究領域:軟件開發(fā).