關(guān)鍵詞:軟件測試與質(zhì)量;線上線下;混合式教學(xué);改革;實踐
0 引言
軟件測試作為保障軟件質(zhì)量的重要環(huán)節(jié),越來越受到社會和行業(yè)的關(guān)注。為了滿足社會對軟件測試人才的需求,許多高校開設(shè)有軟件測試課程或軟件測試專業(yè),旨在培養(yǎng)學(xué)生的軟件測試?yán)碚撝R和實踐技能[1]。然而,傳統(tǒng)的課堂教學(xué)利用PPT進行講解,在實驗室機房進行實踐教學(xué),由于受到時間、地點和教師資源的限制,往往難以滿足學(xué)生的學(xué)習(xí)需求。為了調(diào)動學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的自我管理和自主學(xué)習(xí)能力,為學(xué)生提供差異化、個性化教學(xué),需要對傳統(tǒng)的教學(xué)方式進行改革。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,各種MOOC、SPOC在線課程層出不窮,利用線上線下混合式教學(xué)方式,為軟件測試與質(zhì)量課程的教學(xué)改革提供了新的思路。
本文探討軟件測試與質(zhì)量課程的線上線下混合式教學(xué)方式的改革與實踐。首先,對傳統(tǒng)軟件測試與質(zhì)量課程教學(xué)的現(xiàn)狀和存在的問題進行了分析,闡述了線上線下混合式教學(xué)的必要性和優(yōu)勢;其次,詳細介紹線上線下混合式教學(xué)的實施方案,包括教學(xué)內(nèi)容設(shè)計、教學(xué)資源建設(shè)、教學(xué)模式改革、教學(xué)過程實施等方面;最后,分享教學(xué)實踐成果和經(jīng)驗,并探討未來軟件測試與質(zhì)量課程線上線下混合式教學(xué)的發(fā)展趨勢[2]。希望通過本文的探討,能夠?qū)浖y試課程的線上線下混合式教學(xué)改革提供一些有益的參考和啟示,推動軟件測試人才的培養(yǎng)向著更高水平邁進。同時也希望能夠?qū)ζ渌麑I(yè)的線上線下混合式教學(xué)改革的推進起到一定的借鑒作用,共同促進高等教育的發(fā)展。
1 存在的問題
軟件測試與質(zhì)量作為軟件工程專業(yè)的必修課,涉及的知識面非常廣,需要學(xué)生具備一定的計算機基礎(chǔ)知識。學(xué)生需要先修過計算機組成原理、操作系統(tǒng)原理、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫原理、程序設(shè)計語言等基本的軟硬件課程,才能學(xué)習(xí)軟件測試與質(zhì)量這門課。學(xué)生普遍認為該門課程知識內(nèi)容過多且枯燥、理論與實踐難以銜接、內(nèi)容過于空虛、知識邏輯性差、學(xué)完就忘等[3]。軟件測試與質(zhì)量課程在教學(xué)過程中存在以下一些問題。
1.1 理論與實踐脫節(jié)
軟件測試是一門實踐性很強的學(xué)科,但目前的教材和課堂教學(xué)往往偏重于理論,導(dǎo)致學(xué)生在實際操作中無法充分理解和應(yīng)用所學(xué)知識,出現(xiàn)理論學(xué)習(xí)與實際操作脫節(jié)的現(xiàn)象。例如講解靜態(tài)測試中代碼的走查、審查和評審時[4],老師及學(xué)生往往缺乏項目開發(fā)的實際經(jīng)驗,對代碼審查和評審的組織形式、組織方式及實施過程缺乏直觀的理解,認識與實踐有相當(dāng)?shù)牟罹啵蠖鄶?shù)的知識理解來源于課本,無實戰(zhàn)經(jīng)歷和經(jīng)驗。
1.2 缺乏真實的測試環(huán)境
由于軟件測試的實踐需要大量的時間和資源,學(xué)生往往無法真實地模擬測試環(huán)境進行實戰(zhàn)操作,這使得學(xué)生在實際操作中難以快速適應(yīng)真實的測試環(huán)境。真實的測試環(huán)境往往難以獲取,尤其是在做性能測試時,對真實環(huán)境的壓力非常大,往往會把測試過程當(dāng)作黑客的攻擊行為,測試的賬號很容易被管理員鎖死封存,無法繼續(xù)進行測試。
1.3 難以滿足學(xué)生的需求
目前軟件測試課程往往采用傳統(tǒng)的教學(xué)方法,如講授、演示和實踐等,這種單一的教學(xué)模式難以激發(fā)學(xué)生的學(xué)習(xí)主動性和學(xué)習(xí)興趣,也無法滿足不同學(xué)生差異化、個性化學(xué)習(xí)需求。這門課程開設(shè)在大學(xué)三年級的第二學(xué)期,很多學(xué)生面對自己的前途,選擇不同的就業(yè)途徑,如考公、考研、出國、就業(yè)等,學(xué)生的心態(tài)往往比較浮躁,受周圍同學(xué)的影響比較大,很難靜下心來學(xué)習(xí),請假之事時有發(fā)生。另外,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,社會上各種資源都可以利用,學(xué)生可以隨時隨地地查詢自己不懂的問題,強于詢問老師而經(jīng)常不能得到及時的回復(fù)。
2 具體改革措施
針對軟件測試與質(zhì)量課程使用傳統(tǒng)教學(xué)方法存在學(xué)生學(xué)習(xí)興趣不高、理論難懂、動手能力差等問題,提出在學(xué)校自建的勵儒云教學(xué)平臺上進行混合式教學(xué)改革與創(chuàng)新,重新組織和建設(shè)線上線下教學(xué)內(nèi)容、實踐任務(wù)及課程評價方式,建立以學(xué)生為中心的教學(xué)體系,實施預(yù)習(xí)、檢測、練習(xí)、評估、改進的一體化教學(xué)方法,同時引入課程思政,實現(xiàn)教書育人的目標(biāo),培養(yǎng)出具有豐富知識、創(chuàng)新能力和科學(xué)使命感的復(fù)合型高素質(zhì)人才。
2.1 提前布置教學(xué)任務(wù)
利用雨課堂提前一周發(fā)布下周的教學(xué)計劃及學(xué)習(xí)內(nèi)容,包括理論知識和實踐操作。引導(dǎo)學(xué)生提前預(yù)習(xí),主動學(xué)習(xí),帶著問題到課堂上學(xué)習(xí)。理論課上主要講解知識的難點和重點,預(yù)留更多時間與學(xué)生進行互動交流或討論問題。實驗課上要求學(xué)生根據(jù)老師布置的實驗任務(wù)先預(yù)看視頻再實踐,對實驗過程中遇到的特殊概念理解、性能指標(biāo)要求等進行講解,并解決同學(xué)們實踐過程中遇到的普遍性操作錯誤,過程理解不透等問題。
2.2 數(shù)字化資源建設(shè)
對課程進行大量充足的數(shù)字化資源建設(shè)是進行線上線下混合式教學(xué)改革的先決條件。在數(shù)字化課程的開發(fā)上,要充分對接課堂教學(xué)的需求,以課程教學(xué)目標(biāo)為導(dǎo)向,不斷優(yōu)化課程資源。除了傳統(tǒng)的教材、課件、作業(yè)等資源外,還開設(shè)了另外幾大模塊:理論知識重難點視頻、實驗操作視頻、階段性測試、互動交流問答、思維訓(xùn)練、其他資源、實驗大作業(yè)等。其中實驗操作視頻包括功能測試視頻和性能測試視頻。思維訓(xùn)練主要通過實際案例,訓(xùn)練學(xué)生的測試思維。整個教學(xué)過程中,通過提前布置任務(wù),學(xué)生任務(wù)引領(lǐng)的方式,為學(xué)生自主學(xué)習(xí)提供契機。利用課堂數(shù)字化資源,學(xué)生不受空間、時間、地點的限制,隨時隨地都可以利用手機、電腦、平板等進行學(xué)習(xí)。
2.3 學(xué)生項目為測試對象
軟件測試實驗過程中最大的困難來自尋找合適的測試對象。例如要做功能測試或性能測試,如果使用公開的門戶網(wǎng)站作為測試對象,由于學(xué)生上課時一般都有幾十人甚至上百人,若同時進行在線測試,對網(wǎng)站的壓力巨大,往往會被網(wǎng)站管理員當(dāng)成黑客惡意攻擊行為而被封號,無法繼續(xù)進行測試,這樣的事件在開設(shè)軟件測試課程的幾年前經(jīng)常發(fā)生。為了能讓測試實驗?zāi)軌蛲暾M行下去,決定選擇學(xué)生自己開發(fā)的網(wǎng)站作為測試對象。學(xué)生自己開發(fā)的網(wǎng)站主要來源于三個方面:學(xué)生進行《中級軟件實作》課程時開發(fā)的網(wǎng)站;學(xué)生在《Web前端開發(fā)》課程中完成的大作業(yè)時開發(fā)的網(wǎng)站;學(xué)生進行創(chuàng)新創(chuàng)業(yè)實踐項目時開發(fā)的網(wǎng)站。有些網(wǎng)站可能是幾個同學(xué)一起開發(fā)的,允許學(xué)生在軟件測試過程中組成測試團隊,對同一個網(wǎng)站進行功能測試和性能測試。這樣處理既能對學(xué)生自己開發(fā)的網(wǎng)站進行評估,及時發(fā)現(xiàn)不合理的地方進行改進完善,又能培養(yǎng)學(xué)生的團隊合作精神和科學(xué)精神。
2.4 體驗企業(yè)測試過程
為了讓學(xué)生感受真實的企業(yè)測試過程,學(xué)院與廣東省農(nóng)商銀行等企業(yè)進行校企合作,拉專線進入校園,建設(shè)單獨的軟件測試實驗室。每年利用兩周課程教學(xué)的時間引入企業(yè)導(dǎo)師來上課。通常企業(yè)拿出項目中需要簡單測試的模塊或者小的子項目,引導(dǎo)學(xué)生體驗真實的企業(yè)測試過程,主要執(zhí)行三個步驟,測試用例的撰寫、測試用例的執(zhí)行和評價,學(xué)生反饋良好,希望增加更多的課時。同時也讓企業(yè)有機會篩選出優(yōu)秀的學(xué)生,引入企業(yè)作為實習(xí)生,作為企業(yè)的后備力量。
2.5 定期小測
教學(xué)過程中實時掌握學(xué)生的學(xué)習(xí)狀況是教學(xué)執(zhí)行過程中的一個難點,傳統(tǒng)上往往通過批改學(xué)生作業(yè)來查看學(xué)生的知識掌握程度,隨著互聯(lián)網(wǎng)時代的發(fā)展,現(xiàn)在許多作業(yè)都實施無紙化,只交電子版作業(yè)。但電子版作業(yè)也有存在一些問題,復(fù)制粘貼很容易,很難分辨出學(xué)生是否有抄襲行為。另外,在傳統(tǒng)的課堂教學(xué)模式下,對學(xué)生的學(xué)習(xí)考核通常是在期末以“試卷”形式考查學(xué)生對知識的學(xué)習(xí)和掌握程度。這種終結(jié)性評價一般在課程學(xué)習(xí)結(jié)束之后進行,無論考試結(jié)果如何,學(xué)習(xí)過程都已經(jīng)完結(jié),因而很難通過終結(jié)性評價來糾正教學(xué)過程中的問題和不足[5]。為了實時檢驗學(xué)生的學(xué)習(xí)效果,課程將軟件測試的知識分為五大模塊:軟件測試基本知識、黑盒測試、白盒測試、綜合應(yīng)用、測試管理及工具應(yīng)用。每講完一個模塊的內(nèi)容,就進行一次隨堂測試,及時了解學(xué)生的學(xué)習(xí)狀態(tài)和知識掌握程度。對學(xué)生存在的普遍性問題進行集中講解,對測試成績不理想的同學(xué),進行面對面談話,及時了解學(xué)生的學(xué)習(xí)狀態(tài)并進行提醒,促進學(xué)生自覺學(xué)習(xí)。
2.6 師生交流改進教學(xué)
每到一個學(xué)期的第9周左右,老師就要求班級學(xué)習(xí)委員收集本班學(xué)生對課程的意見和建議,并隨機抽調(diào)部分學(xué)生代表在約定的時間與老師進行面對面深入交流,傾聽學(xué)生對本課程的建議,及時調(diào)整教學(xué)方法,滿足學(xué)生的合理需求,提高教學(xué)質(zhì)量。若由于客觀原因無法滿足的訴求,與學(xué)生進行充分討論,盡量給予學(xué)生滿意的答復(fù)。通過與學(xué)生面對面互動交流,不但能拉近師生的距離,增進師生情誼,還能了解不同學(xué)生的不同訴求和心理,給予學(xué)生正面的反饋和預(yù)期,及時改進教學(xué)方式方法,以學(xué)生為中心,適應(yīng)學(xué)生的變化,盡力提高教學(xué)質(zhì)量。
2.7 期末完成大作業(yè)
學(xué)期期末的最后4周時間,要求學(xué)生完成實驗為主的大作業(yè),可以選擇功能測試或性能測試。實驗大作業(yè)將本學(xué)期的實驗內(nèi)容全部串聯(lián)起來,為完成特定任務(wù)而進行的綜合性大實驗。這個過程能夠強化前期所學(xué)知識,以解決實際問題為目標(biāo),不斷克服困難,不斷學(xué)習(xí),培養(yǎng)學(xué)生的綜合能力和工程創(chuàng)新能力。例如,學(xué)生如果選擇性能測試作為大作業(yè),首先要明確測試對象,然后要確定測試的性能指標(biāo),之后還要學(xué)會搭建測試系統(tǒng),掌握不同操作系統(tǒng)之間如何通信,最后才進行基準(zhǔn)測試、并發(fā)測試、壓力測試、聯(lián)機測試等一系列測試操作,最后還要分析測試結(jié)果,分析測試中發(fā)現(xiàn)的系統(tǒng)瓶頸,并根據(jù)實際情況進行改進,再測試,再分析,不斷改進測試中發(fā)現(xiàn)的問題。最后將測試過程及結(jié)果撰寫成測試報告,總結(jié)個人的得失等等。整個大作業(yè)期間,需要反復(fù)地檢驗、校正、改進,耗時很多,學(xué)生經(jīng)常會額外增加時間才能完成,但對學(xué)生的能力提升大有益處。
2.8 課程中融入思政元素
在教學(xué)的過程中適當(dāng)加入思政元素,思政與知識相融合[6]。例如在講解軟件的缺陷時,提前要求學(xué)生組成團隊對我國軟件行業(yè)進行調(diào)研,了解我國軟件行業(yè)相較于國外的現(xiàn)實差距、薪資水平等,然后在教學(xué)中對我國軟件的現(xiàn)狀進行討論,并要求學(xué)生提出一些改變現(xiàn)狀的措施。通過團隊調(diào)研,了解我國軟件市場、薪酬等方面整體的落后面貌,讓學(xué)生認識到我國軟件行業(yè)的整體差距,增強學(xué)生的責(zé)任感、提升學(xué)生的愛國心,培養(yǎng)學(xué)生的團隊合作精神。
3 考核方式改革
不同于傳統(tǒng)的期末閉卷考核方式,混合式教學(xué)加大了平時過程化考核的分值,為調(diào)動學(xué)生參與學(xué)習(xí)的主動性、積極性,檢驗學(xué)生預(yù)習(xí)效果及學(xué)習(xí)成果的達成度,同時為教學(xué)的持續(xù)改進提供參考,課程考核方式拓展為線上和線下兩部分,不斷加強全過程、全方位考核,細化、量化學(xué)習(xí)成果[7]。同時為了避免學(xué)生期末突擊通過考試就能拿到學(xué)分,提高平時學(xué)生的參與度,把期末筆試的總成績比例降至40%。課程考核的細則如表1所示。
4 效果與反思
結(jié)合畢業(yè)生要求達到的能力和課程目標(biāo),構(gòu)建運用過程化評價體系。這樣的體系結(jié)構(gòu)既考慮了學(xué)生日常的過程學(xué)習(xí)、自主學(xué)習(xí)效果,又考慮了學(xué)生最后的知識掌握程度及能力提升效果。經(jīng)過3輪的教學(xué)實踐,對課程不斷進行評估和持續(xù)改進。在2021 至2023年度進行了三輪的教學(xué)實踐,通過對知識點的梳理、視頻錄制和學(xué)習(xí)資料的搜集,依據(jù)軟件測試與質(zhì)量課程大綱,利用學(xué)校的勵儒云平臺,建設(shè)軟件測試與質(zhì)量網(wǎng)上課程,整個課程線上設(shè)計14個任務(wù)點,要求學(xué)生課前必須完成,做到課前對知識點有所了解。線下授課過程中,每四周在實驗課的開始前20分鐘,通過勵儒云平臺,對學(xué)習(xí)效果進行檢驗。在測試中發(fā)現(xiàn)的普遍性問題,在課堂教學(xué)中進行集中講解。最后通過期末閉卷考試,檢驗學(xué)生的學(xué)習(xí)效果,合格率都有較大的提高。經(jīng)歷連續(xù)三年的混合式教學(xué)改革實踐,學(xué)生對老師的評教成績分別為96.24、96.79、97.12,而傳統(tǒng)的教學(xué)方法下,評教成績一直在93分以下,顯示混合式教學(xué)優(yōu)于傳統(tǒng)教學(xué)。
5 結(jié)束語
軟件測試與質(zhì)量課程在工程人才培養(yǎng)方面的教學(xué)改革與創(chuàng)新是需要長期探索的一項工作,本文闡述了該課程線上線下混合式教學(xué)模式的創(chuàng)新與教學(xué)實施過程,為實踐性教學(xué)提供了思路。課程結(jié)合當(dāng)今社會背景與國家需求,討論了混合式教學(xué)模式的課程資源建設(shè)、課前知識引導(dǎo)和自主預(yù)習(xí),課堂師生互動和隨堂測試,以及課后完成期末大作業(yè)、引入企業(yè)真實的測試體驗等具體措施,并在教學(xué)的過程中引入思政元素。通過對軟件測試與質(zhì)量課程的混合式教學(xué)改革,學(xué)生的學(xué)習(xí)效率與積極性得到了提高,極大地促進學(xué)生獨立思考和創(chuàng)新思維的培養(yǎng),有目的、有意識地培養(yǎng)了學(xué)生的健康人生觀、價值觀和世界觀[8],為學(xué)生畢業(yè)后的求職就業(yè)、升學(xué)等奠定了堅實的基礎(chǔ)。