董宗然,樓偶俊,梁藝多


摘要:隨著計(jì)算機(jī)技術(shù)飛速發(fā)展,軟件質(zhì)量已成為業(yè)界關(guān)注重點(diǎn)。為了使高校培養(yǎng)的軟件測試人才能更好適應(yīng)測試工作崗位,提出基于就業(yè)需求和成果導(dǎo)向教育(OBE)理念對(duì)軟件測試課程進(jìn)行教學(xué)改革。以O(shè)BE理念為指導(dǎo)設(shè)計(jì)教學(xué)過程,根據(jù)就業(yè)需求確定課程培養(yǎng)目標(biāo),探討以學(xué)生參與為中心的教學(xué)和考核方法,并對(duì)課程實(shí)施中的重點(diǎn)事項(xiàng),如課時(shí)編排、資源建設(shè)、實(shí)驗(yàn)設(shè)計(jì)等進(jìn)行說明。課程評(píng)估結(jié)果表明基于就業(yè)需求和OBE理念的教學(xué)模式有助于提升軟件測試教學(xué)質(zhì)量,適用于業(yè)界需要的軟件測試人才培養(yǎng)。
關(guān)鍵詞:軟件測試; OBE; 就業(yè)需求; 教學(xué)改革; 課程改革
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)32-0122-03
1 概述
隨著計(jì)算機(jī)軟件廣泛應(yīng)用到各行業(yè)和領(lǐng)域,軟件質(zhì)量備受關(guān)注,軟件測試作為質(zhì)量保證和控制手段越發(fā)重要,軟件企業(yè)對(duì)專職測試人員需求旺盛。此外,隨著敏捷開發(fā)被廣泛采用,單元測試、測試驅(qū)動(dòng)開發(fā)、驗(yàn)收測試驅(qū)動(dòng)開發(fā)、持續(xù)集成測試等方法也成為開發(fā)人員的必備技能。
軟件測試是軟件工程專業(yè)的核心專業(yè)課,對(duì)培養(yǎng)合格的軟件工程師和測試工程師具有重要意義。傳統(tǒng)軟件測試課程教學(xué)中存在諸多問題[1],例如:教學(xué)內(nèi)容偏理論,對(duì)學(xué)生實(shí)踐能力訓(xùn)練不夠;教學(xué)內(nèi)容與業(yè)界需求脫節(jié),不能學(xué)以致用;課程設(shè)計(jì)不科學(xué),不能激發(fā)學(xué)生學(xué)習(xí)興趣;與軟件工程、軟件項(xiàng)目管理等專業(yè)課程銜接不好,存在知識(shí)點(diǎn)重復(fù);考核以筆試為主,不能全面考查學(xué)生能力。以上問題的主要原因一方面是課程培養(yǎng)目標(biāo)不能很好適應(yīng)學(xué)生就業(yè)需求,另一方面是教學(xué)內(nèi)容和方法設(shè)計(jì)不夠科學(xué)。目前隨著工程教育的推進(jìn),基于成果導(dǎo)向教育(Outcome-Based Education, OBE)的教學(xué)模式已在多個(gè)計(jì)算機(jī)教育發(fā)達(dá)國家廣泛開展,被證明是高等工程教育的先進(jìn)教學(xué)實(shí)踐[2-3],為此本文面向就業(yè)需求和OBE理念探索軟件測試課程教學(xué)改革,提升軟件測試人才培養(yǎng)質(zhì)量。
2 OBE理念的提出與應(yīng)用
成果導(dǎo)向教育(OBE),也稱能力導(dǎo)向教育、目標(biāo)導(dǎo)向教育或需求導(dǎo)向教育,最早出現(xiàn)于美國和澳大利亞的基礎(chǔ)教育改革,指教學(xué)設(shè)計(jì)和教學(xué)實(shí)施的目標(biāo)是學(xué)生通過教育過程最后所取得的學(xué)習(xí)成果。在OBE教育系統(tǒng)中,教育者必須對(duì)學(xué)生畢業(yè)時(shí)應(yīng)達(dá)到的能力及其水平有清楚的構(gòu)想,然后尋求設(shè)計(jì)適宜的教育結(jié)構(gòu)來保證學(xué)生達(dá)到這些預(yù)期目標(biāo)。學(xué)生產(chǎn)出而非教科書或教師經(jīng)驗(yàn)成為驅(qū)動(dòng)教育系統(tǒng)運(yùn)作的動(dòng)力,這顯然同傳統(tǒng)上內(nèi)容驅(qū)動(dòng)的教育形成了鮮明對(duì)比。從這個(gè)意義上說,OBE教育模式可被認(rèn)為是一種教育范式的革新。
OBE教育的三個(gè)關(guān)鍵是成果導(dǎo)向的教學(xué)設(shè)計(jì)、成果導(dǎo)向的教學(xué)實(shí)施以及成果導(dǎo)向的教學(xué)評(píng)價(jià)。成果導(dǎo)向要求反向設(shè)計(jì),即要求課程從學(xué)生就業(yè)需求的關(guān)鍵指標(biāo)反向倒推教學(xué)設(shè)計(jì)、教學(xué)實(shí)施和教學(xué)評(píng)價(jià),不是單純按照教師想法安排教學(xué)。目前已有國內(nèi)教育學(xué)者在計(jì)算機(jī)課程中嘗試基于OBE的教學(xué)改革,例如,劉強(qiáng)[4]結(jié)合清華大學(xué)軟件工程專業(yè)教學(xué)實(shí)際,基于OBE理念對(duì)軟件工程課程教學(xué)方案進(jìn)行優(yōu)化;向模軍[5],余燁等[6]將OBE理念引入Java程序設(shè)計(jì)課程,變以教學(xué)內(nèi)容驅(qū)動(dòng)為學(xué)習(xí)結(jié)果驅(qū)動(dòng);劉杰等[7]以O(shè)BE理念制定C程序設(shè)計(jì)課程教學(xué)目標(biāo),優(yōu)化教學(xué)內(nèi)容,構(gòu)建可持續(xù)改進(jìn)的考評(píng)體系;王駿美[8]、王鑫便[9]等以O(shè)BE理念探索軟件測試課程教學(xué)改革,在教學(xué)目標(biāo)、培養(yǎng)路徑、課程內(nèi)容和考核方式等方面進(jìn)行了初步設(shè)計(jì),但目前基于OBE的軟件測試類課程改革仍然缺少實(shí)證研究。
3 基于就業(yè)需求和OBE理念的課程培養(yǎng)目標(biāo)
OBE教學(xué)模式強(qiáng)調(diào)目標(biāo)導(dǎo)向,因此需要結(jié)合軟件測試行業(yè)需求精準(zhǔn)分析課程培養(yǎng)目標(biāo),逆推課程教學(xué)內(nèi)容、教學(xué)設(shè)計(jì)和考核方式,之后評(píng)價(jià)目標(biāo)達(dá)成度,找出差距后持續(xù)改進(jìn)相應(yīng)環(huán)節(jié)。此外,OBE課程非常看重持續(xù)改進(jìn),為此建立了回訪機(jī)制,設(shè)計(jì)調(diào)查問卷,與結(jié)束課程學(xué)生和已就業(yè)學(xué)生保持聯(lián)系,獲取他們對(duì)課程的改進(jìn)意見。基于OBE的軟件測試課程培養(yǎng)方案設(shè)計(jì)流程如圖1所示。
課程開始階段要向?qū)W生強(qiáng)調(diào)軟件測試課程在專業(yè)人才培養(yǎng)中的定位,它是軟件工程專業(yè)體系的核心課,調(diào)查數(shù)據(jù)顯示本專業(yè)就業(yè)中,測試相關(guān)崗位占比很高,職業(yè)發(fā)展前景廣闊,進(jìn)而激發(fā)學(xué)生對(duì)測試課程的學(xué)習(xí)熱情。通過分析軟件測試網(wǎng)(51Testing)行業(yè)調(diào)查報(bào)告[10],軟件企業(yè)招聘測試崗位的要求,以及對(duì)行業(yè)專家的訪談和調(diào)研,結(jié)合軟件工程專業(yè)人才培養(yǎng)目標(biāo),從軟件測試行業(yè)需求為出發(fā)點(diǎn),反向設(shè)計(jì)的測試人才培養(yǎng)目標(biāo)如表1所示。
表1中用5個(gè)等級(jí)衡量個(gè)體對(duì)知識(shí)和技能的掌握程度,1代表初步掌握,5代表精通,熟練程度逐級(jí)增強(qiáng),其中n+表示n及以上級(jí)別。從上表看出,一般情況下,企業(yè)對(duì)學(xué)生各方面能力要求要高于學(xué)校課程教育所能培養(yǎng)的水平,這之間的差距很大程度需要學(xué)生在工作實(shí)踐中補(bǔ)齊。基于OBE理念,課程培養(yǎng)目標(biāo)要對(duì)接就業(yè)目標(biāo),因此課程培養(yǎng)目標(biāo)要盡可能涉及必要領(lǐng)域,同時(shí)要科學(xué)設(shè)計(jì)教學(xué)內(nèi)容,以便能夠適應(yīng)基本就業(yè)需求,為后續(xù)能力提升打好基礎(chǔ)。需要說明的是表中部分技能的課程學(xué)習(xí)培養(yǎng)度,如軟件工程過程、程序開發(fā)基礎(chǔ)、問題分析能力、外語能力等是要建立在其他專業(yè)課程學(xué)習(xí)基礎(chǔ)之上的。
4 基于OBE理念的軟件測試課程教學(xué)改革
在課程學(xué)時(shí)內(nèi)有效完成教學(xué)目標(biāo),離不開科學(xué)的課程設(shè)計(jì)。本節(jié)討論基于OBE理念進(jìn)行理論教學(xué)、實(shí)踐教學(xué)和考核方式的設(shè)計(jì),以及教學(xué)效果評(píng)價(jià)。軟件測試課程理論和實(shí)踐內(nèi)容較豐富,推薦課時(shí)為48學(xué)時(shí)以上,建議理論學(xué)時(shí)與實(shí)踐學(xué)時(shí)比例相當(dāng),可選擇理論課和實(shí)驗(yàn)課穿插排課,也可先排理論課后排實(shí)驗(yàn)課。
4.1 理論教學(xué)設(shè)計(jì)
理論課的知識(shí)點(diǎn)需要面向測試崗位就業(yè)需求,以軟件測試核心概念和技術(shù)學(xué)習(xí)為主,結(jié)合當(dāng)前技術(shù)發(fā)展定期更新理論課件,重點(diǎn)覆蓋表1中類別1~4涉及的知識(shí)點(diǎn)。課件內(nèi)容力求實(shí)用,涵蓋核心知識(shí),并做到講練結(jié)合。教材可以根據(jù)各院校學(xué)生水平選擇,但教材更新周期一般較長,推薦選擇知識(shí)點(diǎn)全面的經(jīng)典教材,實(shí)驗(yàn)教材或?qū)嶒?yàn)資源可由教師自行開發(fā)或者根據(jù)教學(xué)需求單獨(dú)選擇。
即使軟件測試課程資源建設(shè)非常合理,也不能涵蓋測試領(lǐng)域的各方面,另外受到課程學(xué)時(shí)和學(xué)生個(gè)性化學(xué)習(xí)需求限制,課程采用線下與線上融合的教學(xué)模式,整理了一套適合軟件測試專業(yè)學(xué)習(xí)的線上資源庫,包括:測試技術(shù)學(xué)習(xí)書單和學(xué)習(xí)路線圖、測試教學(xué)開放視頻、測試專業(yè)學(xué)習(xí)網(wǎng)站、測試學(xué)習(xí)公眾號(hào)。正常情況以線下教學(xué)為主,學(xué)生課余時(shí)間通過線上資源擴(kuò)展知識(shí)面,但如遇疫情等突發(fā)狀況,可快速轉(zhuǎn)變?yōu)榫€上教學(xué)模式,此時(shí)線上資源將發(fā)揮更大作用。
為助力學(xué)生職業(yè)生涯發(fā)展,課程還建設(shè)了進(jìn)階的學(xué)習(xí)資源。包括:為計(jì)算機(jī)水平和資格認(rèn)證的軟件評(píng)測師考試和國際軟件測試工程師認(rèn)證(ISTQB)學(xué)習(xí)的題庫,研究生復(fù)試使用的軟件測試知識(shí)庫等。
理論課程的學(xué)習(xí)倡導(dǎo)以“翻轉(zhuǎn)課堂”形式開展,由教師課前根據(jù)學(xué)生能力布置學(xué)習(xí)任務(wù),讓學(xué)生提前預(yù)習(xí),之后在課堂中由教師指定學(xué)生或?qū)W生小組講解學(xué)習(xí)任務(wù)內(nèi)容,教師針對(duì)學(xué)生表現(xiàn)進(jìn)行點(diǎn)評(píng)和訂正,強(qiáng)調(diào)重點(diǎn)和易錯(cuò)點(diǎn)。借助超星學(xué)習(xí)通、智慧樹等App準(zhǔn)備的作業(yè)開展隨堂測試,及時(shí)了解學(xué)生學(xué)習(xí)效果。
4.2 實(shí)踐教學(xué)設(shè)計(jì)
軟件測試實(shí)踐需要結(jié)合具體軟件項(xiàng)目實(shí)施,因?yàn)閷W(xué)時(shí)限制,教師可提前準(zhǔn)備用于測試的軟件項(xiàng)目,例如:Web開發(fā)、移動(dòng)App、桌面應(yīng)用等項(xiàng)目,根據(jù)學(xué)生專業(yè)方向選擇相應(yīng)測試項(xiàng)目。面向測試崗位就業(yè)需求,遴選如下實(shí)踐內(nèi)容,重點(diǎn)覆蓋表1中類別1~4涉及的測試實(shí)踐。
4.2.1 測試用例設(shè)計(jì)要點(diǎn)
測試用例設(shè)計(jì)是測試工程師的基本業(yè)務(wù)能力,是開展其他測試活動(dòng)的基礎(chǔ),實(shí)驗(yàn)中基于黑盒測試方法(等價(jià)類劃分、邊界值分析、組合優(yōu)化)和白盒測試方法(邏輯覆蓋、基本路徑覆蓋)設(shè)計(jì)測試用例,教師可先在程序中預(yù)置錯(cuò)誤,方便評(píng)價(jià)學(xué)生的測試用例效果。本實(shí)驗(yàn)同樣要提供可運(yùn)行代碼,要求學(xué)生先自行部署環(huán)境,保證程序運(yùn)行。黑盒用例設(shè)計(jì)中,學(xué)生不看源碼設(shè)計(jì)測試用例,然后基于程序執(zhí)行測試用例,對(duì)比預(yù)期結(jié)果和實(shí)際結(jié)果。白盒用例設(shè)計(jì)中,學(xué)生查看源代碼設(shè)計(jì)用例,再運(yùn)行程序執(zhí)行用例,對(duì)比預(yù)期結(jié)果和實(shí)際結(jié)果。經(jīng)過對(duì)比,學(xué)生將對(duì)黑盒和白盒測試方法的理解更為深刻。
4.2.2 測試工具實(shí)驗(yàn)要點(diǎn)
為了提高測試效率或執(zhí)行不能依靠人工完成的測試,實(shí)際測試工作中常需借助測試工具,涉及單元測試、集成測試、功能測試、性能測試、安全性測試等方面。以往測試案例過于簡單化,與實(shí)際工作脫節(jié),為此課程重點(diǎn)培養(yǎng)學(xué)生對(duì)復(fù)雜系統(tǒng)部署和測試能力。例如,要求學(xué)生先部署一個(gè)較復(fù)雜的Web項(xiàng)目,測試課程一般安排在第6或第7學(xué)期,學(xué)生已具有專業(yè)課基礎(chǔ),在教師指導(dǎo)或參閱資料情況下可搭建起項(xiàng)目運(yùn)行環(huán)境。部署測試項(xiàng)目和搭建測試平臺(tái)同樣是測試工程師必備能力,建議學(xué)生在個(gè)人電腦或?qū)嶒?yàn)室機(jī)器自行完成。有了可運(yùn)行的軟件項(xiàng)目,后續(xù)的測試實(shí)踐以及測試管理都可以基于該軟件項(xiàng)目開展,讓學(xué)生體會(huì)不同測試階段的工作場景。
4.3 課程考核方式設(shè)計(jì)
課程考核兼顧理論與實(shí)踐,全面考查學(xué)生綜合能力。其中,理論成績占50%,以期末閉卷筆試形式考核;實(shí)驗(yàn)成績占40%,以實(shí)驗(yàn)上課表現(xiàn)和實(shí)驗(yàn)報(bào)告形式考核;出勤及課堂紀(jì)律占10%,用于約束學(xué)生養(yǎng)成良好習(xí)慣。理論考試卷面成績低于50分,或總成績低于60分判定為不及格。
在授課人數(shù)較多的情況下,教師僅通過實(shí)驗(yàn)報(bào)告很難鑒別學(xué)生真實(shí)的實(shí)踐能力,為此需要結(jié)合實(shí)驗(yàn)表現(xiàn)判斷,例如:鼓勵(lì)學(xué)生及時(shí)匯報(bào)實(shí)驗(yàn)完成情況,重點(diǎn)記錄和檢查頭幾組完成實(shí)驗(yàn)的學(xué)生;鼓勵(lì)自認(rèn)為實(shí)驗(yàn)完成出色的學(xué)生向老師匯報(bào)工作,由教師查看實(shí)驗(yàn)記錄并提問;結(jié)合實(shí)驗(yàn)中預(yù)置的陷阱向?qū)W生提問,記錄能自主發(fā)現(xiàn)陷阱的學(xué)生。將以上情況折合成實(shí)驗(yàn)表現(xiàn)與實(shí)驗(yàn)報(bào)告成績一同構(gòu)成實(shí)驗(yàn)成績。
關(guān)于人員組織形式,考慮到課程實(shí)驗(yàn)較多且部分難度較大,允許學(xué)生以團(tuán)隊(duì)形式提交實(shí)驗(yàn)報(bào)告,但團(tuán)隊(duì)規(guī)模限制為1~3人,能力強(qiáng)的同學(xué)可單人完成全部實(shí)驗(yàn),其他情況可酌情確定小組人數(shù),但必須在實(shí)驗(yàn)報(bào)告中準(zhǔn)確記錄協(xié)商一致的個(gè)人工作內(nèi)容和貢獻(xiàn)度,以便評(píng)定成績參考。
4.4 課程改革效果評(píng)價(jià)
基于提出的教改方法對(duì)大連外國語大學(xué)軟件工程專業(yè)2017級(jí)和2018級(jí)學(xué)生的軟件測試課程進(jìn)行教改實(shí)施,取得了較好效果,有近80%的同學(xué)可滿足表1提出的課程培養(yǎng)達(dá)成度,對(duì)未達(dá)標(biāo)的同學(xué)進(jìn)行調(diào)查,失敗的主要原因是課程培養(yǎng)目標(biāo)與學(xué)生個(gè)人發(fā)展方向不符或?qū)φn程重視程度不夠。此外,2017、2018級(jí)學(xué)生的整體學(xué)習(xí)表現(xiàn),如課堂參與度、學(xué)習(xí)熱情、期末考試合格率,相比2016級(jí)學(xué)生都有明顯提升。
對(duì)2017、2018級(jí)畢業(yè)生中從事軟件測試和軟件質(zhì)量保證工作的同學(xué)進(jìn)行調(diào)查回訪獲知,本課程所培養(yǎng)的知識(shí)和技能與企業(yè)軟件測試崗位需求有很高的契合度,不足之處更多體現(xiàn)在知識(shí)和技能的深入程度方面,這與課程學(xué)時(shí)限制和課堂教學(xué)需要考慮學(xué)生整體情況有關(guān)。
5 結(jié)束語
基于就業(yè)需求和OBE理念設(shè)計(jì)的軟件測試教學(xué)改革較好地解決了傳統(tǒng)軟件測試教學(xué)存在的諸多問題。以學(xué)生積極參與教學(xué)為中心,課程培養(yǎng)目標(biāo)、教學(xué)內(nèi)容以及考核方式均由企業(yè)崗位需求反向設(shè)計(jì)得出,體現(xiàn)了學(xué)以致用的特點(diǎn),在提升教學(xué)質(zhì)量的同時(shí)為學(xué)生打下良好就業(yè)基礎(chǔ)。此外,所提出的教改方法對(duì)其他專業(yè)課程建設(shè)具有參考意義,相信未來基于OBE理念的教學(xué)模式必將被廣泛推廣并完善。
參考文獻(xiàn):
[1] 董玉坤.“軟件測試”課程教學(xué)現(xiàn)狀分析[J].課程教育研究,2015(25):229.
[2] 朱永東,葉玉嘉.美國工程教育專業(yè)認(rèn)證標(biāo)準(zhǔn)研究[J].現(xiàn)代大學(xué)教育,2009(3):46-50,112.
[3] 中國工程教育專業(yè)認(rèn)證協(xié)會(huì). 工程教育專業(yè)認(rèn)證標(biāo)準(zhǔn)[EB/OL]. http://www.ceeaa.org.cn.
[4] 劉強(qiáng).基于OBE理念的“軟件工程”課程重塑[J].中國大學(xué)教學(xué),2018(10):25-31.
[5] 向模軍.基于OBE理念的Java課程教學(xué)改革研究[J].電腦知識(shí)與技術(shù),2020,16(12):169-171.
[6] 余燁,徐京濤,路強(qiáng),等.基于OBE的Java程序設(shè)計(jì)課程教學(xué)改革[J].計(jì)算機(jī)教育,2017(6):95-99.
[7] 劉杰,趙永強(qiáng),劉晉鋼.基于OBE理念的“C程序設(shè)計(jì)”課程教學(xué)改革與探索[J].教育理論與實(shí)踐,2022,42(3):61-63.
[8] 王駿美,吳吉紅,鄭東霞,等.基于OBE和CDIO的軟件測試課程混合式教學(xué)探究[J].軟件工程,2019,22(10):54-56.
[9] 王鑫便,劉仰光,程萍,等.基于OBE的軟件測試課程教學(xué)改革探索[J].計(jì)算機(jī)教育,2020(5):97-101.
[10] 軟件測試網(wǎng). 2007~2021軟件測試行業(yè)現(xiàn)狀調(diào)查報(bào)告[EB/OL]. http://www.51testing.com.
【通聯(lián)編輯:王力】