余久久
(安徽三聯(lián)學(xué)院計(jì)算機(jī)工程學(xué)院,合肥 230601)
近年來(lái),隨著軟件行業(yè)的高速發(fā)展和軟件市場(chǎng)的日漸成熟,軟件企業(yè)對(duì)于軟件測(cè)試人才的需求飛速增長(zhǎng)[1]。軟件測(cè)試也已發(fā)展為高校軟件類專業(yè)的一門主干課程,并受到教育界、產(chǎn)業(yè)界及學(xué)術(shù)界的高度重視。軟件測(cè)試也成為一門重要的職業(yè)。關(guān)于軟件測(cè)試課程的實(shí)踐教學(xué),近幾年很多高校一直在積極探索新的教學(xué)經(jīng)驗(yàn)與方法。由于不同高校的辦學(xué)定位及人才培養(yǎng)目標(biāo)有所不同,加之軟件測(cè)試自身的內(nèi)容又比較抽象,因此很難在教學(xué)內(nèi)容及教學(xué)手段上形成有效共識(shí)[2]。盡管目前國(guó)內(nèi)有很多高校積極開展各種教學(xué)改革活動(dòng),但主要還是以腳本化測(cè)試流程來(lái)安排實(shí)踐教學(xué)環(huán)節(jié),這與當(dāng)前IT行業(yè)中、?。ㄎⅲ┸浖?xiàng)目的敏捷測(cè)試方法所脫節(jié)。測(cè)試工具(開源的或付費(fèi)使用的)也具有復(fù)雜性與多樣性,市面上很多軟件測(cè)試教材大都缺乏對(duì)某一種或幾種測(cè)試工具的綜合應(yīng)用案例作詳細(xì)講解,而僅僅是從文字性的理論層面籠統(tǒng)介紹這些測(cè)試工具的使用方法,使得學(xué)生理解起來(lái)困難與抽象,無(wú)法與企業(yè)實(shí)際需求相銜接。此外,有些高校盡管會(huì)出資購(gòu)買(通常由第三方軟件企業(yè)研發(fā))一些現(xiàn)成的軟件測(cè)試實(shí)驗(yàn)(實(shí)訓(xùn))平臺(tái)輔助實(shí)踐教學(xué),以適應(yīng)學(xué)生數(shù)量多和軟件測(cè)試實(shí)踐教學(xué)的“測(cè)試多樣性”特點(diǎn)。然而在實(shí)驗(yàn)初期,無(wú)論是教師還是學(xué)生都要花費(fèi)大量的時(shí)間和精力去熟悉這些平臺(tái)的操作方法,工作量較大。然而,很多測(cè)試實(shí)驗(yàn)平臺(tái)中包含的測(cè)試案例資源沒有任何針對(duì)性,內(nèi)容也不完整,這對(duì)提升學(xué)生的軟件測(cè)試水平幫助不大[3]。
基于此,本文針對(duì)應(yīng)用型本科軟件測(cè)試課程的教學(xué)目標(biāo)、內(nèi)容與學(xué)生認(rèn)知特點(diǎn),以軟件企業(yè)中、?。ㄎⅲ?shí)際敏捷測(cè)試項(xiàng)目的運(yùn)作流程為導(dǎo)向,探索軟件敏捷測(cè)試實(shí)踐教學(xué)方法,強(qiáng)調(diào)對(duì)輕量級(jí)軟件項(xiàng)目的快速迭代測(cè)試與持續(xù)集成、相應(yīng)測(cè)試工具的熟練應(yīng)用,并把該方法充分應(yīng)用于作者所在高?!盾浖y(cè)試》課程的實(shí)踐教學(xué)中,取得良好的教學(xué)效果。
敏捷測(cè)試強(qiáng)調(diào)從用戶角度測(cè)試系統(tǒng),重點(diǎn)關(guān)注迭代測(cè)試新開發(fā)的功能[4]。敏捷測(cè)試強(qiáng)調(diào)測(cè)試速度與適應(yīng)性,通過(guò)不斷修正測(cè)試指標(biāo),實(shí)現(xiàn)用戶的有效需求,達(dá)到及時(shí)發(fā)布最終產(chǎn)品的目的。其克服了傳統(tǒng)測(cè)試流程中存在的問題,比如不適應(yīng)需求的頻繁變更,軟件周期縮短及繁雜流程制約等關(guān)鍵問題[5]。近年來(lái),隨著國(guó)內(nèi)外軟件行業(yè)的蓬勃發(fā)展,敏捷測(cè)試已廣泛應(yīng)用于各類輕量級(jí)軟件項(xiàng)目的測(cè)試實(shí)踐中。
軟件測(cè)試課程具有較強(qiáng)的綜合性與實(shí)踐性,以純理論的形式全面介紹各種過(guò)程化的測(cè)試方法與軟件測(cè)試質(zhì)量保證體系則不適宜。針對(duì)應(yīng)用型本科層次學(xué)生,需要掌握一門面向?qū)ο蟾呒?jí)程序設(shè)計(jì)語(yǔ)言(Java/C++/C#等)作為學(xué)習(xí)前提,在理論層面上需了解現(xiàn)代軟件測(cè)試的重要性、原理、方法、規(guī)范及管理過(guò)程,熟悉軟件測(cè)試的基本工作流程[6-7]。應(yīng)用型本科計(jì)算機(jī)類專業(yè)核心課程大都以專業(yè)應(yīng)用為主,對(duì)一些深厚的理論知識(shí)不做過(guò)多要求。劉強(qiáng)[8]等人進(jìn)一步提出了應(yīng)用型本科高校軟件測(cè)試課程的教學(xué)應(yīng)引導(dǎo)學(xué)生樹立快速迭代的測(cè)試思想,了解用戶的測(cè)試需求,具備閱讀與撰寫測(cè)試文檔的能力。在實(shí)踐環(huán)節(jié),要求學(xué)生能夠在特定的測(cè)試環(huán)境下熟練使用相應(yīng)的測(cè)試工具,完成對(duì)中、?。ㄎⅲy(cè)試項(xiàng)目快速開展敏捷測(cè)試活動(dòng),并對(duì)每日新增代碼完成持續(xù)集成測(cè)試,使得新增代碼組件具有可測(cè)試性,能撰寫出規(guī)范化的各類階段性測(cè)試文檔。當(dāng)然,良好的團(tuán)隊(duì)協(xié)作能力與溝通能力也不可或缺。結(jié)合教學(xué)實(shí)際,本文在文獻(xiàn)[7]的基礎(chǔ)上,由應(yīng)用型本科軟件測(cè)試課程的教學(xué)目標(biāo)所制定出的課程實(shí)踐教學(xué)內(nèi)容,如表1所示。
教師要能以一個(gè)完整的輕量級(jí)軟件測(cè)試項(xiàng)目來(lái)組織實(shí)踐教學(xué)內(nèi)容。應(yīng)用背景為學(xué)生所熟知,不宜過(guò)難,規(guī)模不宜過(guò)大,必須以用戶需求為測(cè)試目標(biāo),每一輪測(cè)試周期不能過(guò)長(zhǎng),要符合敏捷測(cè)試項(xiàng)目特點(diǎn)[9]。學(xué)生能運(yùn)用敏捷思想和最佳測(cè)試實(shí)踐技術(shù)解決用戶需求。
表1 軟件測(cè)試實(shí)踐教學(xué)內(nèi)容
敏捷測(cè)試在較短的迭代周期內(nèi),代碼的提交量相對(duì)于傳統(tǒng)測(cè)試大得多[10]。其測(cè)試核心是“快速迭代,持續(xù)集成,構(gòu)建驗(yàn)證”。敏捷測(cè)試目前已成為業(yè)內(nèi)輕量級(jí)軟件項(xiàng)目測(cè)試的主流方法。為了適應(yīng)這種新的變化,培養(yǎng)滿足企業(yè)實(shí)際需要的人才,有必要在軟件測(cè)試課程實(shí)踐教學(xué)中引入敏捷測(cè)試方法[9-11]。
敏捷測(cè)試的持續(xù)性迫切要求測(cè)試的高度自動(dòng)化,即自動(dòng)化測(cè)試是敏捷測(cè)試的基礎(chǔ)[12]。所以自動(dòng)化測(cè)試工具的學(xué)習(xí)與應(yīng)用是學(xué)生自始至終是測(cè)試實(shí)踐的內(nèi)容。此外,敏捷測(cè)試的迭代周期不能過(guò)長(zhǎng),通常不超過(guò)一周。本文所構(gòu)建的軟件敏捷測(cè)試實(shí)踐教學(xué)框架如表2所示。作者結(jié)合教學(xué)實(shí)際及測(cè)試項(xiàng)目難易度等特點(diǎn),在框架中制定出了四輪測(cè)試周期,每一輪測(cè)試周期為一周,整個(gè)敏捷項(xiàng)目測(cè)試完成時(shí)間一般不超過(guò)一個(gè)月。
表2 軟件敏捷測(cè)試實(shí)踐教學(xué)框架
軟件測(cè)試考核形式要求多樣化,旨在提升學(xué)生對(duì)實(shí)際測(cè)試項(xiàng)目的運(yùn)作能力。結(jié)合教學(xué)實(shí)際,在充分借鑒文獻(xiàn)[6]的基礎(chǔ)上,制定了一套完整的多元化的軟件測(cè)試課程實(shí)踐教學(xué)過(guò)程考核體系,如表3所示。當(dāng)然,教師可以根據(jù)測(cè)試項(xiàng)目的最終完成情況增設(shè)相應(yīng)幅度(1~5分)的額外獎(jiǎng)勵(lì)分?jǐn)?shù),例如,測(cè)試組能否提出測(cè)試新思路,能否撰寫出高水平科技論文等。建議適當(dāng)聘請(qǐng)一些企業(yè)測(cè)試人員參與考核中,保證考核的公正性。
表3 敏捷測(cè)試過(guò)程考核體系
作者及其教學(xué)團(tuán)隊(duì)自2014年起對(duì)所在高校計(jì)算機(jī)與軟件技術(shù)類本科專業(yè)的軟件測(cè)試課程開展敏捷測(cè)試實(shí)踐教學(xué)活動(dòng)。當(dāng)然,學(xué)校環(huán)境與軟件企業(yè)有所不同,在校學(xué)生的經(jīng)驗(yàn)、能力等方面也遠(yuǎn)不如企業(yè)員工,因此應(yīng)結(jié)合實(shí)際教學(xué)環(huán)境采取敏捷測(cè)試實(shí)踐教學(xué)方法指導(dǎo)實(shí)踐教學(xué)活動(dòng)。由于我院軟件測(cè)試課程實(shí)踐環(huán)節(jié)僅安排4周時(shí)間,所以劃分為四個(gè)敏捷測(cè)試周期(每個(gè)周期1周左右),這里主要介紹關(guān)鍵環(huán)節(jié)的實(shí)施情況。
教師緊密圍繞表1中的實(shí)踐教學(xué)內(nèi)容并通過(guò)對(duì)軟件企業(yè)實(shí)際調(diào)研,精心設(shè)計(jì)出若干個(gè)行業(yè)背景為學(xué)生所熟知、能與校園生活密切相關(guān)的敏捷測(cè)試項(xiàng)目,同時(shí)充當(dāng)用戶代表,并給出了用戶主要的測(cè)試需求,如表4所示。學(xué)生以分組形式(每組不超過(guò)4人)參與敏捷測(cè)試實(shí)踐活動(dòng)。在第一個(gè)敏捷測(cè)試周期中,測(cè)試組需要了解項(xiàng)目特點(diǎn),制定出敏捷測(cè)試計(jì)劃,確定團(tuán)隊(duì)人員分工與職責(zé),從用戶角度定義與分解出項(xiàng)目最主要的測(cè)試需求,明確每一條測(cè)試任務(wù)的驗(yàn)收標(biāo)準(zhǔn),完成測(cè)試工作量的基本估算。在第二個(gè)及第三個(gè)敏捷測(cè)試周期中,逐步明確一些用戶次要功能特性的測(cè)試任務(wù)與驗(yàn)收標(biāo)準(zhǔn),在主要功能模塊測(cè)試的基礎(chǔ)上,使用測(cè)試工具不斷完成相應(yīng)模塊的測(cè)試驅(qū)動(dòng)程序的開發(fā)及模塊單元測(cè)試,并進(jìn)行持續(xù)集成測(cè)試,提交階段性項(xiàng)目測(cè)試版本。在第四個(gè)敏捷測(cè)試周期中,不斷完善之前的單元測(cè)試及集成測(cè)試(框架),完成項(xiàng)目的驗(yàn)收測(cè)試。開發(fā)驗(yàn)收測(cè)試腳本,嘗試對(duì)一些新增功能進(jìn)行探索性測(cè)試,通過(guò)自動(dòng)化測(cè)試手段完成最終的驗(yàn)收測(cè)試,統(tǒng)一提交最終測(cè)試版本與相關(guān)測(cè)試文檔。實(shí)踐結(jié)束后,指導(dǎo)教師借鑒表3中的實(shí)踐過(guò)程考核體系,與來(lái)自企業(yè)的測(cè)試工程師一起參照考核條目對(duì)每個(gè)測(cè)試組綜合評(píng)定成績(jī)。
表4 敏捷測(cè)試項(xiàng)目及用戶主要測(cè)試需求
作者在近3 a的軟件測(cè)試課程實(shí)踐教學(xué)中,充分運(yùn)用了軟件敏捷測(cè)試實(shí)踐教學(xué)框架,以激發(fā)學(xué)生學(xué)習(xí)軟件測(cè)試興趣,教學(xué)效果良好。80%以上的學(xué)生認(rèn)為在以下幾個(gè)方面體現(xiàn)出學(xué)習(xí)效果:(1)增強(qiáng)了軟件測(cè)試的職業(yè)素養(yǎng),充分了解現(xiàn)代敏捷軟件測(cè)試項(xiàng)目的實(shí)踐方法,與企業(yè)需求形成無(wú)縫銜接,畢業(yè)后愿意從事軟件測(cè)試崗位相關(guān)工作。(2)學(xué)習(xí)主動(dòng)性與應(yīng)用創(chuàng)造性在實(shí)踐中得到提升。小組實(shí)踐使.自己更愿意積極而主動(dòng)地參與項(xiàng)目活動(dòng)。(3)編碼與測(cè)試能力顯著增強(qiáng),尤其對(duì)相應(yīng)的自動(dòng)化測(cè)試工具的應(yīng)用水平。
軟件敏捷測(cè)試實(shí)踐教學(xué)方法的實(shí)施對(duì)任課教師和學(xué)生均提出了新的挑戰(zhàn)。任課教師需要轉(zhuǎn)變傳統(tǒng)測(cè)試思想,即現(xiàn)代軟件測(cè)試不是軟件開發(fā)完畢之后的一個(gè)“附帶檢測(cè)”活動(dòng),也不是圍繞軟件缺陷所展開的一系列活動(dòng),而是關(guān)注測(cè)試對(duì)象的本身,關(guān)注用戶不斷變化的需求及快速交付用戶的產(chǎn)品價(jià)值。此外,教師還要熟悉敏捷測(cè)試中所用到的自動(dòng)化測(cè)試工具的使用方法,能夠指導(dǎo)學(xué)生快速搭建敏捷測(cè)試環(huán)境,關(guān)注持續(xù)迭代的新功能。學(xué)生在實(shí)驗(yàn)前不僅需要了解測(cè)試?yán)碚撝R(shí)之外,也要花費(fèi)額外的時(shí)間去熟悉相關(guān)軟件白盒及黑盒自動(dòng)化測(cè)試工具的使用方法,能夠熟練安裝與配置自動(dòng)化測(cè)試測(cè)試平臺(tái),了解敏捷測(cè)試項(xiàng)目功能特性的設(shè)計(jì)與代碼實(shí)現(xiàn)的驗(yàn)收標(biāo)準(zhǔn),需要具備一定的代碼編寫及文檔寫作能力。所以在實(shí)施軟件敏捷測(cè)試實(shí)踐教學(xué)環(huán)節(jié)的初期,無(wú)論是教師還是學(xué)生,工作量都是比較大的。
未來(lái)工作主要有:(1)任課教師需要深入軟件企業(yè)一線,參與到實(shí)際敏捷測(cè)試實(shí)踐中,多了解敏捷測(cè)試的最新應(yīng)用成果,多搜集敏捷測(cè)試在實(shí)際項(xiàng)目中的綜合案例資源。能夠結(jié)合本地化教學(xué)環(huán)境對(duì)一些來(lái)自企業(yè)的案例進(jìn)行適當(dāng)?shù)恼稀⒓庸?、?yōu)化以及再設(shè)計(jì),能夠模擬出符合應(yīng)用型本科學(xué)生認(rèn)知特點(diǎn)、難易度適中、服務(wù)于教學(xué)的實(shí)踐教學(xué)案例(包含有用戶需求、測(cè)試目標(biāo)、測(cè)試驅(qū)動(dòng)開發(fā)環(huán)境、組件源代碼、項(xiàng)目文檔等)。在此基礎(chǔ)上編寫出相關(guān)教材(講義)作為開展敏捷測(cè)試實(shí)踐教學(xué)的指導(dǎo)書。(2)自行開發(fā)并熟悉使用基于云架構(gòu)的軟件測(cè)試實(shí)驗(yàn)(實(shí)訓(xùn))平臺(tái),以適應(yīng)學(xué)生數(shù)量多、測(cè)試實(shí)驗(yàn)結(jié)果多樣化的需要。平臺(tái)要能夠服務(wù)于教學(xué)需要,具備團(tuán)隊(duì)管理功能,使教師了解開發(fā)小組的分工,實(shí)時(shí)監(jiān)視團(tuán)隊(duì)的運(yùn)行情況[13]。平臺(tái)要能夠承載教師所設(shè)計(jì)的各類敏捷測(cè)試項(xiàng)目案例,并具有動(dòng)態(tài)更新與維護(hù)功能。允許學(xué)生隨時(shí)隨地學(xué)習(xí)和選擇軟件敏捷測(cè)試實(shí)驗(yàn)任務(wù),使用測(cè)試工具,提交測(cè)試代碼和測(cè)試數(shù)據(jù),由平臺(tái)動(dòng)態(tài)地調(diào)用軟件測(cè)試資源和執(zhí)行云測(cè)試,完成敏捷自動(dòng)化測(cè)試[14]。當(dāng)然,平臺(tái)也還要具備完善的實(shí)踐效果評(píng)估功能。通過(guò)所制定的過(guò)程考核體系,能夠全方位的從專業(yè)技能、綜合能力和職業(yè)素養(yǎng)三個(gè)維度完成團(tuán)隊(duì)評(píng)估與個(gè)人實(shí)踐評(píng)估[13]。(3)開展敏捷測(cè)試實(shí)踐教學(xué)初期,需要學(xué)生系統(tǒng)了解一些諸如單元測(cè)試、自動(dòng)化測(cè)試等相關(guān)技術(shù),這些前期預(yù)備知識(shí)又是需要學(xué)生以課外自主學(xué)習(xí)方式所完成的。所以,在當(dāng)前“后MOOC”時(shí)代下如何把敏捷測(cè)試實(shí)踐教學(xué)環(huán)節(jié)有效的融入到學(xué)生對(duì)軟件測(cè)試課程的SPOC(小規(guī)模限制性在線課程)混合學(xué)習(xí)中,能充分體現(xiàn)出SPOC混合學(xué)習(xí)效果的優(yōu)越性,提高學(xué)生學(xué)習(xí)興趣,這也將是今后要做的工作。
圍繞敏捷測(cè)試實(shí)踐教學(xué)框架組織應(yīng)用型本科學(xué)生開展軟件測(cè)試實(shí)踐活動(dòng),培養(yǎng)學(xué)生的軟件測(cè)試職業(yè)素養(yǎng)及敏捷測(cè)試能力,成效明顯。我院每年都有大量計(jì)算機(jī)及軟件類專業(yè)畢業(yè)生即將從事軟件測(cè)試及管理崗位??梢?,軟件敏捷測(cè)試實(shí)踐教學(xué)框架的構(gòu)建是科學(xué)合理的,亦是可行的[9]。
西昌學(xué)院學(xué)報(bào)(自然科學(xué)版)2018年3期