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