孫晉永 蔡國永 汪華登 趙響
[摘 要] 該文分析當(dāng)前軟件測試課教學(xué)的現(xiàn)狀,提出了以學(xué)生為中心的教學(xué)改革方案。明確以學(xué)生為中心的教學(xué)理念,設(shè)計培養(yǎng)學(xué)生解決軟件系統(tǒng)測試問題能力的教學(xué)內(nèi)容;重點培養(yǎng)學(xué)生的測試需求分析與計劃能力、測試計劃執(zhí)行能力和結(jié)果分析能力。教學(xué)實踐證明,該方案提高了學(xué)生的軟件系統(tǒng)測試能力,對培養(yǎng)滿足IT企業(yè)需求的軟件測試人才有積極推進(jìn)作用。
[關(guān)鍵詞] 軟件測試;以學(xué)生為中心;能力培養(yǎng)
[基金項目] 2018年度廣西壯族自治區(qū)高等教育本科教學(xué)改革工程項目(2018JGB186,2018JGB180)
[作者簡介] 孫晉永(1978—),男,博士,山東棗莊人,桂林電子科技大學(xué)計算機(jī)與信息安全學(xué)院副教授,主要從事業(yè)務(wù)過程管理研究。
[中圖分類號] G642? ? [文獻(xiàn)標(biāo)識碼] A? ? [文章編號] 1674-9324(2020)38-0160-02? ? [收稿日期] 2020-02-17
一、引言
軟件測試是保障軟件質(zhì)量的唯一手段。目前所有高校的計算機(jī)相關(guān)專業(yè)都開設(shè)了軟件測試課程。然而,培養(yǎng)出的軟件測試人才與IT企業(yè)的實際需求還有一定差距。主要原因是目前軟件測試課教學(xué)主要講授軟件測試基本理論和方法,對學(xué)生的實踐訓(xùn)練不足,影響了學(xué)生軟件系統(tǒng)測試能力的培養(yǎng)。因此,有必要對目前軟件測試教學(xué)模式進(jìn)行改進(jìn)。
二、目前軟件測試課程教學(xué)存在的問題
1.目前計算機(jī)相關(guān)專業(yè)的培養(yǎng)方案普遍“重開發(fā)、輕測試”,一般把軟件測試安排為限選或任選課,學(xué)時較少。授課教師不夠重視;學(xué)生把這門課作為了解性知識,積極性不高。
2.理論課教師主要講授軟件測試的基本理論和方法,以講解軟件測試知識點為主,各知識點間的關(guān)聯(lián)不多。實踐課基本上是軟件測試基本方法的驗證、較小軟件單元的模擬測試、測試工具的簡單使用,較少涉及軟件系統(tǒng)的測試需求分析和測試計劃。
3.軟件測試的實踐性很強(qiáng),但授課教師大多沒有接受過專門的軟件測試技術(shù)訓(xùn)練;軟件測試工程實踐經(jīng)驗不足。
4.授課教師一般按教學(xué)計劃授課、考試和評定成績,而對學(xué)生在教學(xué)過程中的知識掌握程度缺少了解,也不夠重視。
基于產(chǎn)出的教育(Outcomes-based Education,OBE)模式理念,作者提出了“以學(xué)生為中心”的課程教學(xué)改革方案。“以學(xué)生為中心”,即任何有關(guān)教學(xué)的決策與措施應(yīng)該把學(xué)生作為第一受益者來考慮。第一步,明確以培養(yǎng)學(xué)生解決軟件系統(tǒng)測試問題的能力作為教學(xué)計劃制定、內(nèi)容設(shè)計和課堂教學(xué)的直接目標(biāo)。第二步,努力把課堂教學(xué)從“軟件測試基本理論和方法的知識傳遞”轉(zhuǎn)變?yōu)椤败浖到y(tǒng)的測試能力培養(yǎng)”。
三、以學(xué)生為中心的課程教學(xué)改革方案
1.明確課程培養(yǎng)目標(biāo),制定教學(xué)計劃。課程培養(yǎng)目標(biāo)為:學(xué)生具備解決軟件系統(tǒng)測試問題的能力,包括:測試需求分析與計劃、計劃執(zhí)行和結(jié)果分析能力。教學(xué)目標(biāo)1:理解軟件測試基本理論,掌握基本測試方法,并開展測試設(shè)計,熟悉常見測試工具;教學(xué)目標(biāo)2:能針對軟件系統(tǒng)的功能、性能要求等設(shè)計測試方案,選用適當(dāng)?shù)臏y試方法或工具進(jìn)行測試,采集測試結(jié)果,對預(yù)期結(jié)果和實際結(jié)果進(jìn)行比較、分析和解釋,得出有效結(jié)論。以32學(xué)時為例,制定教學(xué)計劃如下。
(1)理論課。i.軟件測試背景與基本概念,2學(xué)時,講授法,課堂考勤評估。ii.軟件需求評審,2學(xué)時,問題驅(qū)動討論法,課后作業(yè)和課堂演講評估。iii.軟件測試基本方法,4學(xué)時,案例法,課堂測試評估。iv.軟件測試流程、過程模型與標(biāo)準(zhǔn)規(guī)范,2學(xué)時,講授法,課堂演講評估。v.單元測試、功能測試與性能測試,6學(xué)時,案例法,課堂測試和課堂演講評估。vi.自動化測試及工具,2學(xué)時,講授法和體驗學(xué)習(xí)法,課堂演講評估。vii.測試用例設(shè)計、維護(hù)與測試報告,2學(xué)時,講授法和案例法,課后作業(yè)和課堂演講評估。viii.軟件測試報告、測試評估和軟件質(zhì)量保障,2學(xué)時,案例法,課程報告評估。
(2)實驗課。內(nèi)容:單元測試及工具JUnit應(yīng)用,Web自動化測試及性能測試,測試用例設(shè)計與測試管理,隨機(jī)測試,共8學(xué)時。現(xiàn)場指導(dǎo)教學(xué),采用實驗驗收和分析報告方式評估。
理論課的第i-iii,v-vii部分和實驗課主要培養(yǎng)測試計劃執(zhí)行能力;第ii,iv部分培養(yǎng)測試需求分析與計劃能力;第viii部分培養(yǎng)測試結(jié)果分析能力。
2.改進(jìn)理論課教學(xué)方法,提高教學(xué)效果。(1)采用Bloom學(xué)習(xí)分類法,減少講授記憶型的軟件測試基礎(chǔ)理論內(nèi)容,增加講授理解和應(yīng)用型的軟件測試技術(shù)內(nèi)容。結(jié)合多種教學(xué)方法引導(dǎo)學(xué)生進(jìn)行探索性學(xué)習(xí),同時評估學(xué)生的軟件測試能力水平。(2)提高課后作業(yè)復(fù)雜度,部分保留現(xiàn)有分析和計算題,把從基礎(chǔ)概念題改為有挑戰(zhàn)性的分析或應(yīng)用題。如:學(xué)會使用某測試工具,如代碼靜態(tài)分析工具PMD、單元和集成測試框架TestNG等,在課堂講解;針對某軟件單元模塊,分析測試需求,設(shè)計測試計劃和用例進(jìn)行測試,在課堂講解等。這樣可以加深對軟件測試方法的理解,提高測試計劃執(zhí)行能力。(3)在課程的每2-3章內(nèi)容結(jié)束時進(jìn)行一次開卷課堂測試。測試一般使用2-3個題目,耗時約30分鐘。這樣可以了解學(xué)生的知識掌握程度,據(jù)此調(diào)整教學(xué)內(nèi)容。測試內(nèi)容是需靈活運用教材中的基礎(chǔ)知識才可以解決的問題。具體類型有:使用黑盒/白盒方法進(jìn)行單元測試、測試場景分析、具體軟件模塊的測試需求分析和計劃、測試用例設(shè)計等。這種形式可以培養(yǎng)學(xué)生的測試需求分析與計劃,以及測試計劃執(zhí)行能力。
3.跟蹤軟件測試技術(shù)發(fā)展更新實驗課教學(xué)內(nèi)容,提高學(xué)生的測試計劃執(zhí)行能力。實驗課教師需要跟蹤軟件測試技術(shù)和工具的發(fā)展,更新教學(xué)內(nèi)容,如增加代碼靜態(tài)分析工具FindBugs,TestNG框架,移動APP測試,Web網(wǎng)站安全性測試工具,隨機(jī)測試等。在實驗教學(xué)過程中,還要求學(xué)生在慕測網(wǎng)(www.mooctest.net)上完成二個題目。這樣提高了學(xué)生的測試計劃執(zhí)行能力,也提高了測試結(jié)果分析能力。
4.開展多種形式的課外實踐活動,提高軟件測試技術(shù)自學(xué)習(xí)能力。為了擴(kuò)大學(xué)生的軟件測試技術(shù)知識面和開闊眼界,邀請知名IT企業(yè)的測試工程師來校做專題報告,介紹軟件測試工程師的必備素質(zhì)。這樣不但可以讓學(xué)生了解軟件測試方法在實際軟件項目測試中的應(yīng)用,還可以對學(xué)生關(guān)心的測試工程師的招聘條件及待遇問題進(jìn)行解答。教師還鼓勵學(xué)生考取軟件測試工程師職業(yè)資格證書,以考促學(xué);參加軟件測試比賽,以賽促學(xué),以此提高學(xué)習(xí)軟件測試的興趣和成就感,同時也提高軟件測試技術(shù)自學(xué)習(xí)能力。
筆者在2019年秋季學(xué)期的軟件測試課中實施了本方案。與2019年春季學(xué)期的軟件測試課進(jìn)行對比,在課程考核的復(fù)雜度基本不變,實驗課內(nèi)容的復(fù)雜度反而提高的前提下,秋季學(xué)期的軟件測試課的學(xué)生總評平均成績提高了17.8%;課程目標(biāo)達(dá)成度從69提高到77,提高了11.6%。成績優(yōu)良率從8.9%提高到37%,不及格率從28.5%下降到15.8%。以上數(shù)據(jù)說明了“以學(xué)生為中心”的軟件測試課程教學(xué)改革方案的有效性。
四、結(jié)論
本文從軟件測試教學(xué)的現(xiàn)狀出發(fā),探討了“以學(xué)生為中心”的軟件測試課程教學(xué)改革方案。該方案可以較好地把課程從軟件測試知識傳遞轉(zhuǎn)變?yōu)檐浖y試技術(shù)和能力培養(yǎng),提高了教學(xué)效果,較好地培養(yǎng)了學(xué)生的軟件系統(tǒng)測試能力,對培養(yǎng)滿足IT企業(yè)需求的軟件測試人才有積極推動作用。今后,授課教師還需要加強(qiáng)自身的軟件測試工程實踐訓(xùn)練,探索和嘗試時下流行的線下線上混合的教學(xué)模式,以更好地培養(yǎng)學(xué)生解決復(fù)雜軟件系統(tǒng)測試問題的潛力。
參考文獻(xiàn)
[1]張愛玲,周世生.新工科背景下軟件工程人才培養(yǎng)的研究與實踐[J].計算機(jī)教育,2018(06):29-32.
[2]張艷梅,王榮存,薛猛,等.專業(yè)認(rèn)證背景下的“軟件測試技術(shù)”課程教學(xué)改革探索[J].計算機(jī)教育,2019(09):155-158.
[3]鞠小林,陳翔,文萬志,等.“互聯(lián)網(wǎng)+”背景下的軟件測試課程教學(xué)體系構(gòu)建[J].計算機(jī)教育,2017(05):112-116.
[4]趙翀,高鵬.軟件測試課程工程實踐教學(xué)模式的探索與實施[J].計算機(jī)工程與科學(xué),2014,36(S1):51-55.
Teaching Reform and Practice in Student-centered Software Testing Course
SUN Jin-yonga,CAI Guo-yonga,WANG Hua-denga,ZHAO Xiangb
(a.College of Computer and Information Security,b.College of Information and Communication,Guilin University of Electronic Science and Technology,Guilin,Guangxi 541004,China)
Abstract:Based on the analysis of Software Testing teaching,the paper presents the student-centered reform program.It holds on the student-centered concept,and designs teaching content of cultivating students' ability to solve software system testing problems.It focuses on cultivating students' ability of testing requirements analysis and planning,testing plan execution,and testing result analysis.Teaching practice shows that the program improves the students' ability of software system testing,and has a positive role in promoting software testing talents to meet IT enterprises' requirements.
Key words:Software Testing;student-centered;ability cultivation