前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件測試課程總結(jié)范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
中圖分類號:G64文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)14-3353-02
Course System Research of Software Testing Technology Based on Demand of Talent Market
ZHENG Hao, LIU Jian-fang
(Pingdingshan University, Pingdingshan 467000, China)
Abstract: This paper analyze the actual needs of talent market at first, and then set up the Curriculum system based on the software testing theory and technology. Paying more attention on the application, we want to construct course system to meet the market, which has deep foundation and strong skills. All of these promote the quality of the professional course.
Key words: Market requirement; software testing; Curriculum system
最近的年度軟件測試行業(yè)專項(xiàng)調(diào)查報(bào)告顯示,社會對軟件測試人才的需求越來越大,可人才市場提供的人力資源、實(shí)際能力卻不能滿足這種需求。目前國內(nèi)對測試人才職業(yè)化培養(yǎng)體系還不夠充分,現(xiàn)行的傳統(tǒng)教育體制重學(xué)歷教育,輕職業(yè)技能培訓(xùn),導(dǎo)致了軟件測試人才告急。如何結(jié)合人才市場的實(shí)際需求,構(gòu)建適合的課程培養(yǎng)體系,成為軟件測試課程改革迫在眉睫的問題。
1中國軟件測試行業(yè)的市場需求分析
在我國,軟件產(chǎn)業(yè)的興起和發(fā)展也就是這短短十幾年。在前面的興起和發(fā)展壯大階段,一般的軟件公司都是重開發(fā)輕測試,甚至存在把測試工作都放在用戶那里去做的錯誤思想;追求眼前功能的實(shí)現(xiàn),開發(fā)軟件追求“短”、“平”、“快”。不太考慮性能和功能的優(yōu)化。軟件測試以往一直被中小IT企業(yè)所忽視,只有一些知名企業(yè)才有專門的軟件測試人員。
現(xiàn)在,更多的國內(nèi)企業(yè)認(rèn)識到測試的重要性,但是由于國內(nèi)測試人才的儲備相對較少,據(jù)國家權(quán)威部門統(tǒng)計(jì),中國軟件人才缺口超過100萬人,其中很大一部分為軟件測試人才,缺口達(dá)到30~40萬。但由于軟件測試的重要性是近幾年才被充分認(rèn)識到的,高校教育和企業(yè)培養(yǎng)都還沒有跟上,致使軟件測試需求嚴(yán)重供不應(yīng)求。
分析年度軟件測試行業(yè)專項(xiàng)調(diào)查報(bào)告,目前對測試人員的素質(zhì)和要求逐步提高,測試人員不僅應(yīng)掌握相關(guān)計(jì)算機(jī)知識背景、軟件工程基本知識、熟悉項(xiàng)目編程語言、熟悉項(xiàng)目技術(shù)架構(gòu)及需求內(nèi)容,而且要求工作有責(zé)任感、獨(dú)立分析能力及團(tuán)隊(duì)精神等方面。其中“動手能力”和“實(shí)際經(jīng)驗(yàn)”是軟件企業(yè)在招聘軟件測試人員時最為看重的,而這也恰恰是很多求職者的“軟肋”。
2現(xiàn)有軟件測試課程體系存在的問題
2007年,我校軟件學(xué)院認(rèn)證管理中心被授予計(jì)算機(jī)軟件測試人才培養(yǎng)基地。軟件學(xué)院軟件工程專業(yè)以及軟件技術(shù)專業(yè)均開設(shè)有軟件測試相關(guān)課程。由于軟件測試是一門實(shí)踐性很強(qiáng)的課程,應(yīng)采用精講多練的原則開展教學(xué),即學(xué)生通過大量的上機(jī)實(shí)踐,循序漸進(jìn)地提高自身的軟件測試用例設(shè)計(jì)、開發(fā)、執(zhí)行能力以及軟件測試的管理能力。但在具體實(shí)踐教學(xué)組織中,教師普遍感覺有許多不如意的地方,具體存在的問題有:
1)對實(shí)踐課程的認(rèn)識程度和重視程度不夠,軟件測試開展的不夠徹底,測試過程中存在大量的不規(guī)范性;
2)缺乏合適的教材,同時教師缺乏相應(yīng)的實(shí)戰(zhàn)經(jīng)驗(yàn),導(dǎo)致教學(xué)上知識結(jié)構(gòu)不合理,教學(xué)內(nèi)容與具體應(yīng)用脫節(jié),盡管教師都能很好的講解軟件測試?yán)碚撝R,但卻由于缺乏合適的測試案例,沒有將理論教學(xué)內(nèi)容和最新相關(guān)技術(shù)結(jié)合,使得學(xué)生思維局限性大,并沒有真正提高學(xué)生自主思考的能力和創(chuàng)造性思維。
3)教學(xué)方法和手段因循守舊,學(xué)生對軟件測試職業(yè)存在一些片面的,甚至是錯誤的理解。
3基于人才市場需求的《軟件測試技術(shù)》課程體系研究
基于人才市場需求的軟件測試技術(shù)課程體系研究主要是分析目前人才市場對軟件測試行業(yè)人才的崗位需求,掌握軟件測試人才需要具備的職業(yè)素質(zhì),同時調(diào)查研究在學(xué)生對前續(xù)課程的掌握情況,以及目前所具備的相關(guān)職業(yè)素養(yǎng)的程度,計(jì)劃從技術(shù)、溝通協(xié)調(diào)能力、經(jīng)驗(yàn)和技能、綜合素質(zhì)能力等方面分別對崗位需求和學(xué)生水平展開調(diào)研。
3.1課程體系目標(biāo)定位
我校軟件工程專業(yè)的培養(yǎng)目標(biāo)是培養(yǎng)適應(yīng)社會發(fā)展需求,具有扎實(shí)的計(jì)算機(jī)知識基礎(chǔ),掌握軟件工程領(lǐng)域的前沿技術(shù)和軟件開發(fā)方法,具有較強(qiáng)的軟件實(shí)踐能力和創(chuàng)新精神,具備較強(qiáng)的軟件項(xiàng)目的分析、設(shè)計(jì)、開發(fā)和維護(hù)能力,能夠按照工程化的原則和方法從事軟件開發(fā)和管理的應(yīng)用型人才。
作為該專業(yè)的一門專業(yè)必修課,為構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。將以軟件技術(shù)為基礎(chǔ),測試?yán)碚撆c技術(shù)為核心,進(jìn)行課程體系設(shè)置。理論教學(xué)目的是讓學(xué)生深刻理解軟件測試思想和基本理論;熟悉多種軟件的測試方法、相關(guān)技術(shù)和系統(tǒng)地軟件測試過程;會熟練編寫測試計(jì)劃,測試用例,測試報(bào)告,并熟悉幾種自動化測試工具,從而從工程化角度提高和培養(yǎng)學(xué)生從事大型軟件的測試技術(shù)和能力。
同時在實(shí)踐環(huán)節(jié),要求學(xué)生通過實(shí)驗(yàn)學(xué)習(xí),培養(yǎng)與提高項(xiàng)目測試過程中采用的主要技術(shù)、設(shè)計(jì)測試用例、編寫測試總結(jié)報(bào)告等能力,激發(fā)學(xué)生創(chuàng)新精神和創(chuàng)新能力,具體應(yīng)達(dá)到下列基本要求。1)使學(xué)生掌握分析問題和解決問題的技巧,通過具體實(shí)驗(yàn)使學(xué)生掌握常用的黑盒測試技術(shù)、白盒測試技術(shù)、自動化測試工具。2)讓學(xué)生了解測試流程,掌握測試總結(jié)報(bào)告的編寫。通過實(shí)驗(yàn)使學(xué)生理解軟件缺陷的描述,并能結(jié)合項(xiàng)目設(shè)計(jì)出較完善的測試用例。
3)了解Web系統(tǒng)的測試范圍,使學(xué)生能在應(yīng)用場景下聯(lián)系實(shí)際和所學(xué)知識分析和解決問題,縮短理論和實(shí)踐的距離。
3.2課程教學(xué)內(nèi)容選取
結(jié)合課程體系目標(biāo)定位,該課程在教學(xué)內(nèi)容選取上主要是基于人才市場需求,厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用??倢W(xué)時共72學(xué)時,其中理論和實(shí)踐各36學(xué)時。結(jié)合課堂教學(xué)和實(shí)踐教學(xué),軟件測試技術(shù)課程包括以下幾部分:
1)軟件測試基本理論及方法:包括軟件測試的概念、測試的原則、用例的設(shè)計(jì)、各種測試方法及技巧,測試策略。同時通過實(shí)驗(yàn)掌握軟件測試的步驟、方法及常見問題的處理。
2)測試流程及文檔寫作:軟件測試流程、各階段的文檔編寫;書寫測試計(jì)、測試用例、測試報(bào)告、產(chǎn)品安裝手冊、產(chǎn)品使用手冊。在實(shí)踐環(huán)節(jié),通過SATM系統(tǒng)讓學(xué)生掌握軟件測試流程各個階段的相關(guān)技術(shù)、測試相關(guān)文檔的寫作技巧。
3)系統(tǒng)學(xué)習(xí)軟件測試的各種工具,包括:自動測試工具WinRunner;壓力測試工具LoadRunner;測試管理工具Testdirector;流程管理工具CVS;JAVA單元測試工具Junit。要求學(xué)生掌握自動化測試?yán)碚撆c方法,熟練使用常見測試工具。
4)軟件過程控制與質(zhì)量保證:軟件質(zhì)量的概念及軟件質(zhì)量管理的基本方法;測試項(xiàng)目的范圍管理、人員組織結(jié)構(gòu)、理解測試的配置管理、風(fēng)險(xiǎn)管理、成本管理等。
5)項(xiàng)目實(shí)訓(xùn):引入具有真實(shí)企業(yè)背景的軟件測試案例,充分考慮人才市場的需求,突出強(qiáng)調(diào)工學(xué)結(jié)合的重要性。通過實(shí)際項(xiàng)目掌握實(shí)際工作中開發(fā)和測試的流程,使用相關(guān)工具,完成各種測試目標(biāo),實(shí)現(xiàn)軟件測試實(shí)踐環(huán)節(jié)單項(xiàng)專業(yè)知識與整體技能綜合運(yùn)用的目標(biāo),提高測試能力和積累相關(guān)經(jīng)驗(yàn)。
3.3課程教學(xué)方法設(shè)計(jì)
為構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系,在教學(xué)過程中,需要把技能訓(xùn)練和職業(yè)素質(zhì)培養(yǎng)有機(jī)結(jié)合起來,注重學(xué)生綜合能力的培養(yǎng)與提高,突出強(qiáng)調(diào)職業(yè)崗位針對性。提高學(xué)生綜合運(yùn)用所學(xué)知識發(fā)現(xiàn)問題、分析問題、解決問題的能力,進(jìn)而培養(yǎng)學(xué)生的技術(shù)應(yīng)用和技術(shù)創(chuàng)新能力。在教學(xué)方法設(shè)計(jì)上做了一下改進(jìn):
1)突出工學(xué)結(jié)合:在講解基本理論知識的基礎(chǔ)上,引入具有真實(shí)背景的軟件測試案例,并結(jié)合理論知識講解將案例進(jìn)行改造,使案例的分析應(yīng)用與理論知識相呼應(yīng)。目前市場上IT公司在招聘測試人員時按照所需技能的不同,將測試人員分為三個等級,分別為初級測試工程師、中級測試工程師和高級測試工程師。分析不同等級的要求,在教學(xué)過程中,主要針對初級和中級的技能要求循序漸近的展開教學(xué)。使通過此教學(xué)改進(jìn),既彌補(bǔ)了教師缺乏實(shí)戰(zhàn)經(jīng)驗(yàn)帶來的不足,也使學(xué)生能較真實(shí)的接觸到實(shí)際應(yīng)用,從一定程度上實(shí)現(xiàn)了人才培養(yǎng)與市場需求的接軌。
2)強(qiáng)調(diào)團(tuán)隊(duì)合作:在教學(xué)過程中實(shí)施“1-7”模式,即在實(shí)驗(yàn)課教學(xué)中,采用團(tuán)隊(duì)合作的方式,分組完成各項(xiàng)任務(wù)。在實(shí)驗(yàn)初期由教師合理分配各團(tuán)隊(duì)成員間的任務(wù),培養(yǎng)學(xué)生的基本崗位技能。經(jīng)過兩個實(shí)驗(yàn)任務(wù)的完成,每個團(tuán)隊(duì)挑出一名同學(xué)為項(xiàng)目組長,模擬公司招聘的形式,招聘4~6個組員組建自己的團(tuán)隊(duì)。后期實(shí)驗(yàn)任務(wù)的分工由團(tuán)隊(duì)組長負(fù)責(zé)項(xiàng)目進(jìn)展、分工協(xié)作、制定測試計(jì)劃等工作,其他小組成員則按要求完成自己的工作,如編寫測試策略、設(shè)計(jì)測試用例、撰寫測試報(bào)告等,教師主要起引導(dǎo)作用,充分發(fā)揮以學(xué)生為主體。為了全面培養(yǎng)學(xué)生,在不同的任務(wù)中,組員通過角色互換,充分發(fā)揮其溝通能力及綜合技術(shù)能力。在學(xué)期末,通過團(tuán)隊(duì)評比,以提高平時成績的形式對表現(xiàn)優(yōu)秀的團(tuán)隊(duì)進(jìn)行獎勵。通過此教學(xué)手段,可以培養(yǎng)加強(qiáng)學(xué)生面試技巧、溝通能力、團(tuán)隊(duì)意識、競爭意識等職業(yè)素質(zhì)的培養(yǎng)。
4結(jié)束語
基于人才市場需求的《軟件測試技術(shù)》課程體系研究定位在對人才市場的實(shí)際需求分析之上,針對軟件測試人才的特點(diǎn)要求,把行業(yè)、企業(yè)對人才的要求轉(zhuǎn)化為教學(xué)中的具體目標(biāo)。構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。
參考文獻(xiàn):
[1]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學(xué)出版社,2010.
[2]古樂.軟件測試案例與實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
[3]馬民生,馬友忠,任剛.以就業(yè)為導(dǎo)向的軟件測試實(shí)踐課課程改革[J].電腦知識與技術(shù),2010(4):241-242.
[4]劉偉.獨(dú)立學(xué)院軟件測試課程的教學(xué)探索與實(shí)踐[J].廣西教育.2009(24):31-33.
本文針對軟件測試課程的教育現(xiàn)狀,結(jié)合軟件測試的課程特點(diǎn)和培養(yǎng)目標(biāo),從面向應(yīng)用型人才的培養(yǎng)方式出發(fā),提出了以案例式教學(xué)為主導(dǎo),走教學(xué)產(chǎn)業(yè)化發(fā)展的軟件測試改革方案。
關(guān)鍵詞:
軟件測試;應(yīng)用型人才;案例式教學(xué);教學(xué)產(chǎn)業(yè)化
隨著我國IT行業(yè)的發(fā)展,越來越多的企業(yè)意識到軟件測試的重要性,因此軟件測試人員成為當(dāng)前IT業(yè)界亟需的熱門人才。面對軟件測試人員緊迫的需求形勢,應(yīng)用型人才培養(yǎng)單位應(yīng)該擴(kuò)大軟件測試人員的人才培養(yǎng)規(guī)模,提高培養(yǎng)質(zhì)量。
一、《軟件測試》課程教育現(xiàn)狀
我國軟件測試技術(shù)發(fā)展已有十余年,但I(xiàn)T市場對于測試人員仍然呈現(xiàn)出供不應(yīng)求的勢態(tài)。目前國內(nèi)高校對軟件工程專業(yè)幾乎都會開設(shè)軟件測試課程,甚至有些高校已經(jīng)設(shè)置有軟件測試專業(yè)。2011年11月,教育部主辦了“2011年高等學(xué)校軟件測試課程教學(xué)論壇”,對測試人才的培養(yǎng)及測試領(lǐng)域的全面發(fā)展起到了積極地推動作用[1]。高校系統(tǒng)化的專業(yè)教育體系為學(xué)生奠定了扎實(shí)而科學(xué)的學(xué)科基礎(chǔ),并對軟件測試技術(shù)的理論化和系統(tǒng)化發(fā)展起到了不可替代的作用。利弊相依,傳統(tǒng)的人才培養(yǎng)模式對軟件測試課程設(shè)置和培養(yǎng)方案上還是會存在以下不足。
1.重理論輕實(shí)踐在傳統(tǒng)的軟件測試課程設(shè)置中,大多采用教師在課堂上講授理論知識,學(xué)生上機(jī)時完成實(shí)驗(yàn)操作的教學(xué)方式。實(shí)驗(yàn)的目的只是為了檢查學(xué)生知識點(diǎn)的理解和掌握,實(shí)驗(yàn)題目大多比較陳舊,不能與時俱進(jìn)地與當(dāng)前的最新技術(shù)或最熱門的應(yīng)用相結(jié)合,使得學(xué)生的測試知識體系過于單薄。
2.重學(xué)生個體知識積累,輕團(tuán)隊(duì)協(xié)作能力培養(yǎng)團(tuán)隊(duì)協(xié)作在軟件工程中的重要性無須多述。軟件測試作為軟件工程中重要一個環(huán)節(jié),貫穿于整個軟件生命周期,測試人員與系統(tǒng)分析員、軟件設(shè)計(jì)師、程序員、維護(hù)人員之間的溝通必不可少,良好的團(tuán)隊(duì)協(xié)作才能有助于項(xiàng)目的進(jìn)行,有助于高效、正確地開發(fā)出高質(zhì)量的軟件產(chǎn)品。傳統(tǒng)的教學(xué)模式中,很少引入分組協(xié)作的環(huán)節(jié)去鍛煉學(xué)生的溝通和交流能力,更不能設(shè)計(jì)出測試人員和開發(fā)人員的溝通場景,不能滿足學(xué)生在項(xiàng)目中去加深理解、鞏固提高的需求。
3.重即有知識,輕科學(xué)創(chuàng)新一直以來,軟件測試課程在高校的課程體系中受到重視并不多,課程結(jié)束后并沒有延續(xù)測試知識的后續(xù)課程。因此,學(xué)生不能在后面的學(xué)習(xí)和實(shí)踐中進(jìn)行總結(jié)提升。知識在母體中是要經(jīng)過消化、適應(yīng)、轉(zhuǎn)化、演進(jìn)、創(chuàng)新、融合、活化,而后才稱為組織的“行動知識”,現(xiàn)有的教學(xué)模式不能很好的產(chǎn)生知識發(fā)酵效果。
二、《軟件測試》課程特點(diǎn)和培養(yǎng)目標(biāo)
軟件測試是一門應(yīng)用型較強(qiáng)的學(xué)科,應(yīng)注重理論聯(lián)系實(shí)踐。一個合格的軟件評測師除了要掌握即有的測試?yán)碚摵蛙浖R外,還必須具備對軟件測試行業(yè)的深刻理解,必須具備對計(jì)算機(jī)專業(yè)知識,包括編程技能、數(shù)據(jù)庫、網(wǎng)絡(luò)、中間件等知識的系統(tǒng)掌握,必須具備溝通能力、團(tuán)隊(duì)協(xié)作精神。軟件測試是為了盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質(zhì)量的軟件交給用戶,這并不是一項(xiàng)簡單的工作。要做好軟件測試,測試人員不僅需要站在客戶的角度思考問題,真正理解客戶的需求,具備良好的分析能力和創(chuàng)造性思維能力,完成功能測試和界面測試,而且要能理解軟件系統(tǒng)的實(shí)現(xiàn)原理和各種使用場景,具備扎實(shí)的技術(shù)功底,能使用測試工具完成相應(yīng)的性能測試、安全性測試、兼容性測試和可靠性測試等更具挑戰(zhàn)性的任務(wù)[2]。從這個角度看,一個優(yōu)秀的測試工程師需要掌握更多的知識和技能。
三、《軟件測試》課程教學(xué)改革方案
以上可以看出,當(dāng)前高校對于測試課程的不重視,以及當(dāng)前的軟硬件設(shè)施及教學(xué)方法都不能滿足對應(yīng)用型測試技術(shù)人才的培養(yǎng)要求。為了適應(yīng)軟件產(chǎn)業(yè)發(fā)展對測試人才的迫切需要,實(shí)現(xiàn)軟件人才培養(yǎng)的持續(xù)性發(fā)展,針對軟件測試課程調(diào)整培養(yǎng)方案,展開深入的教學(xué)改革和實(shí)踐活動十分迫切和必要。
1.加大師資力量,構(gòu)建完善的軟硬件測試平臺教師素養(yǎng)的提高是軟件測試教學(xué)改革得以順利開展的前提。此前,國內(nèi)對軟件測試并不重視,致使國內(nèi)軟件測試人才短缺,大部分高校內(nèi)雖然有計(jì)算機(jī)系,但多以重開發(fā)輕測試,測試教師的專業(yè)素質(zhì)和數(shù)量都遠(yuǎn)遠(yuǎn)不夠。因此,不僅要重視對教師測試專業(yè)技術(shù)的培訓(xùn),提供更多的學(xué)習(xí)機(jī)會,也應(yīng)該認(rèn)真開展軟件測試教學(xué)研究,構(gòu)造專業(yè)的軟件測試教學(xué)團(tuán)隊(duì)。作為一門實(shí)踐性較高的課程,軟件測試必須建議專門的、完備的實(shí)驗(yàn)教學(xué)體系和環(huán)境。目前,高校普遍缺乏軟件測試的軟、硬件環(huán)境,致使學(xué)生無法通過項(xiàng)目實(shí)踐來深入理解和提高測試相關(guān)知識和技能。
2.運(yùn)用案例教學(xué),豐富軟件測試項(xiàng)目實(shí)戰(zhàn)案例在教學(xué)活動中,學(xué)生總是對最新、最流行的項(xiàng)目和案例感興趣,陳舊的案例既不能滿足當(dāng)前市場上對測試人才的技術(shù)需求,又不能很好的激起學(xué)生的興趣。運(yùn)用案例教學(xué)最重要的環(huán)節(jié)就是豐富案例素材,保持案例的“鮮活性”與“生命力”。高??梢圆捎脷v年本科畢業(yè)設(shè)計(jì)中運(yùn)用了流行的技術(shù)、難度適中、功能較為完整的應(yīng)用作為軟件測試課程的測試案例,不但可以保證素材的延續(xù)性,也使得學(xué)生畢業(yè)設(shè)計(jì)完成的質(zhì)量有所提高。
3.加強(qiáng)校企合作,走教學(xué)產(chǎn)業(yè)化發(fā)展之路[3]企業(yè)需要人才,高校為企業(yè)輸送人才,校園中學(xué)習(xí)的技能最終要接收用人單位的考驗(yàn)。所以與軟件企業(yè)合作,建立對口的學(xué)生實(shí)訓(xùn)基地,是應(yīng)用型人才培養(yǎng)的重要途徑。軟件測試技術(shù)的掌握與提高離不開項(xiàng)目實(shí)戰(zhàn),讓學(xué)生在真正的軟件工程過程中從事測試工作,不僅能使學(xué)生深刻體會到軟件測試在整個項(xiàng)目中的作用,掌握測試方法和技巧,對于學(xué)生的溝通交流能力、團(tuán)隊(duì)協(xié)作能力都有積極的促進(jìn)作用。
四、小結(jié)
軟件測試是保障軟件質(zhì)量,驗(yàn)證軟件可靠性的重要環(huán)節(jié),其重要性不言而喻。重視軟件測試應(yīng)從企業(yè)用人的實(shí)際需求出發(fā),高校應(yīng)加強(qiáng)面向企業(yè)需求的軟件測試改革,切實(shí)培養(yǎng)學(xué)生的動手操作能力,使學(xué)生掌握最新的測試方法和技巧,讓企業(yè)需求促進(jìn)和推動高校教學(xué)發(fā)展。
參考文獻(xiàn):
[1]李靜趙志升.軟件測試專業(yè)課程體系建設(shè)和教學(xué)改革[J].教育與職業(yè),2014(1):136-137.
[2]朱少民.軟件測試方法和技術(shù)[M].北京清華大學(xué)出版社,2005.
關(guān)鍵詞: 軟件測試; 項(xiàng)目驅(qū)動; 教學(xué)模式; 測試流
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2013)03-62-02
0 引言
軟件測試形成了一個新興的行業(yè)。軟件測試的工作貫穿于整個軟件產(chǎn)品生產(chǎn)過程的始終,是保證軟件質(zhì)量的有效手段。軟件測試課程是軟件工程專業(yè)的必修課程之一,是一門理論性和實(shí)踐性都很強(qiáng)的專業(yè)課。該課程對于人才的培養(yǎng)目標(biāo)是:掌握軟件測試和軟件質(zhì)量的基本理論、常用的測試方法和自動化測試工具,能夠編寫測試計(jì)劃、設(shè)計(jì)測試用例、完成軟件初步測試。
目前軟件測試行業(yè)人才嚴(yán)重不足。據(jù)企業(yè)專職軟件測試人員分布調(diào)查,27.5%的企業(yè)目前沒有專業(yè)的軟件測試人員,43.5%的企業(yè)軟件測試人員的數(shù)量在1~10人之間。為了適應(yīng)行業(yè)人才需求,國內(nèi)高校紛紛開設(shè)軟件測試課程。但軟件測試在國內(nèi)高校中尚屬一門新興的課程,缺少對不同開發(fā)方式和應(yīng)用場景的軟件測試方法介紹,學(xué)生對軟件測試過程缺乏完整的認(rèn)識,學(xué)習(xí)主動性不高,甚至認(rèn)為軟件測試是一門文字性課程。如何進(jìn)行軟件測試教學(xué)方法調(diào)整以適應(yīng)業(yè)界需求已成為一個亟待解決的問題。
1 軟件測試課程教學(xué)存在的主要問題
1.1 學(xué)生學(xué)情分析
軟件測試是對軟件形成過程中的文檔、數(shù)據(jù)和程序等內(nèi)容進(jìn)行測試,而不僅僅是對程序進(jìn)行測試,這需要學(xué)生對軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計(jì),軟件的開發(fā)技術(shù)等有一定的了解。
在還沒有完全理解軟件工程相關(guān)理論時,就開始進(jìn)行軟件測試課程的學(xué)習(xí),會導(dǎo)致學(xué)生對軟件測試?yán)斫獾钠?。例如,認(rèn)為軟件測試就是找出軟件項(xiàng)目中的錯誤,是簡單而枯燥的工作,因而只重視開發(fā)技術(shù)的培養(yǎng),不重視甚至忽略測試技術(shù)的掌握。
1.2 教學(xué)材料分析
軟件測試方面的書籍大多是翻譯的,而且多是培訓(xùn)用書或介紹軟件測試工具的書,而能夠滿足高校軟件測試課程的教材較少。在當(dāng)前市面上的軟件測試教材中,大部分也只是闡述空洞的理論,附加簡單而又陳舊的工具介紹,這些理念和工具很多已經(jīng)被業(yè)界淘汰,這樣的教材難以適應(yīng)當(dāng)前市場對軟件測試人才的需求。
軟件測試工具較多、范圍廣、不易把握重點(diǎn),而大部分測試工具如:LoadRunner、WinRunner、JUnit、C++Test等都是英文版本,工具書較難讀懂。教學(xué)過程中沒有相關(guān)的軟件產(chǎn)品供學(xué)生測試,以驗(yàn)證所學(xué)的理論,達(dá)不到理想的教學(xué)效果。
1.3 教學(xué)方法分析
傳統(tǒng)教學(xué)手段是以課堂教授為主的“灌輸式”教學(xué)。教師授課時主要是在分析一門課程知識結(jié)構(gòu)的基礎(chǔ)上,循序漸進(jìn)地講授一門課程的知識點(diǎn),學(xué)生按部就班地學(xué)習(xí)知識點(diǎn)。傳統(tǒng)教學(xué)法過于理論,學(xué)生往往在學(xué)了一堆理論知識后對如何測試實(shí)際項(xiàng)目還是很茫然。雖然傳統(tǒng)教學(xué)法在某些教學(xué)環(huán)節(jié)也會給出一些實(shí)例或小項(xiàng)目,但是對于整個課程來說,這些實(shí)例或小項(xiàng)目是孤立的、彼此沒有聯(lián)系的,以至學(xué)生掌握的知識也是零散的,不系統(tǒng)的,缺乏對課程的整體把握。
1.4 考核方式分析
課程考核是課程教學(xué)過程中的重要一環(huán),是檢測和促進(jìn)學(xué)生學(xué)習(xí)效果的重要手段。目前學(xué)生考核體系基本以閉卷形式的終結(jié)性考核成績?yōu)橹鳎钥记?、課堂表現(xiàn)、作業(yè)等組成的平時成績?yōu)檩o的考核方式。這種方式存在的問題主要是:以期末考試成績?yōu)橹兀己藘?nèi)容相對片面,注重的是軟件測試基礎(chǔ)理論知識,對軟件測試應(yīng)用知識的能力考查不夠,過分注重書本知識而忽略了軟件測試綜合應(yīng)用能力的整體考查。
2 基于項(xiàng)目驅(qū)動的軟件測試教學(xué)法探索
欲改善上述局面,就應(yīng)結(jié)合學(xué)生的專業(yè)特色,在教學(xué)過程中以實(shí)際工程項(xiàng)目為主線,把軟件項(xiàng)目的整體思想納入到本課程中來,讓學(xué)生在學(xué)習(xí)過程中積累項(xiàng)目測試經(jīng)驗(yàn),掌握項(xiàng)目測試的流程,增加學(xué)生對課程目的性的認(rèn)識,提高學(xué)生的積極性。
項(xiàng)目驅(qū)動式教學(xué)法是一種建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的、有別于傳統(tǒng)教學(xué)的新型教學(xué)方法。建構(gòu)既是對新知識的理解與掌握,同時又包含對原有經(jīng)驗(yàn)和知識的改造和重組,綜合形成新的知識建構(gòu)。該方法提倡以學(xué)生為中心的學(xué)習(xí)。在整個教學(xué)過程中教師起組織者、指導(dǎo)者、幫助者和促進(jìn)者的作用,教師利用情境、協(xié)作、會話等學(xué)習(xí)環(huán)境要素充分發(fā)揮學(xué)生的主動性、積極性和創(chuàng)造性,最終使學(xué)生有效地掌握當(dāng)前所學(xué)知識。
2.1 軟件項(xiàng)目前期準(zhǔn)備階段
項(xiàng)目是項(xiàng)目驅(qū)動教學(xué)的核心,整個教學(xué)過程都始終圍繞項(xiàng)目展開。項(xiàng)目設(shè)置的好壞將直接影響到教學(xué)效果,因此在設(shè)計(jì)項(xiàng)目上應(yīng)注意以下幾點(diǎn)。
2.1.1 項(xiàng)目具有典型性
項(xiàng)目教學(xué)法中應(yīng)選擇以解決身邊的現(xiàn)實(shí)問題為背景材料,從熟悉項(xiàng)目著手能充分激發(fā)學(xué)生的學(xué)習(xí)熱情。項(xiàng)目能覆蓋學(xué)生已經(jīng)學(xué)習(xí)過的知識點(diǎn),如:軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計(jì),軟件的開發(fā)技術(shù),從源頭上保證知識的完整性。
2.1.2 項(xiàng)目規(guī)模、難度適中
項(xiàng)目教學(xué)法中選擇的項(xiàng)目規(guī)模和難度都應(yīng)適中。如果項(xiàng)目規(guī)模和難度過大,軟件測試用例的設(shè)計(jì)難度大,學(xué)生不容易完成。項(xiàng)目規(guī)模和難度過小,則涉及的知識點(diǎn)少,不能反映學(xué)生對軟件測試用例設(shè)計(jì)的理解程度。因此,設(shè)計(jì)的項(xiàng)目應(yīng)保證學(xué)生通過努力能夠完成,這樣可以樹立學(xué)生完成任務(wù)的信心,充分調(diào)動學(xué)生的積極性和主觀能動性。
2.1.3 項(xiàng)目規(guī)范
由于軟件測試是對軟件形成過程中的文檔、數(shù)據(jù)、程序,以及所有相關(guān)文檔進(jìn)行測試,所以被測軟件應(yīng)該是按照軟件工程思想設(shè)計(jì)開發(fā)的,每個階段的工作都應(yīng)當(dāng)在文檔中體現(xiàn)出來,文檔撰寫有嚴(yán)格的標(biāo)準(zhǔn)和規(guī)范。
項(xiàng)目來源:
途徑1:所在學(xué)院的每門課程都有多名教師建立的課程群,測試案例可以由教授面向?qū)ο蟪绦蛟O(shè)計(jì)、綜合課程設(shè)計(jì)、系統(tǒng)分析與設(shè)計(jì)等課程的教師提出要求,選擇典型的作品充實(shí)案例庫。
途徑2:從畢業(yè)設(shè)計(jì)中選擇,大四的學(xué)生都要作畢業(yè)設(shè)計(jì),教師可以從其提取一些典型系統(tǒng),充實(shí)案例庫。
途徑3:來自學(xué)生科研項(xiàng)目,每年都有大量的學(xué)生申報(bào)科研項(xiàng)目,教師可以收集其優(yōu)秀作品,充實(shí)案例庫。
途徑4:來自校企合作項(xiàng)目,教師在和企業(yè)合作開發(fā)項(xiàng)目時,在合同允許的情況下,將開發(fā)系統(tǒng)作為實(shí)際案例,充實(shí)案例庫。
2.2 基于項(xiàng)目驅(qū)動的軟件測試教學(xué)法實(shí)施
基于項(xiàng)目驅(qū)動的軟件測試教學(xué)法實(shí)施是在學(xué)生已完成軟件系統(tǒng)分析與設(shè)計(jì)的實(shí)踐,并有一定的編程能力的基礎(chǔ)上設(shè)計(jì)的,涉及兩種活動流:教學(xué)流和測試流。
⑴ 教學(xué)流
由于軟件測試課程的知識點(diǎn)前后關(guān)聯(lián)關(guān)系不大,教師在教學(xué)流過程中,不必在講清楚課程的基礎(chǔ)知識和基本技能后再進(jìn)行項(xiàng)目的教學(xué),可直接面對具體任務(wù)進(jìn)行教學(xué)。在教師帶領(lǐng)學(xué)生分析解決具體項(xiàng)目的方法時,將相關(guān)聯(lián)的知識點(diǎn)串聯(lián)起來,讓學(xué)生在學(xué)習(xí)各階段的理論知識同時,完成軟件相應(yīng)的測試活動。
基于項(xiàng)目驅(qū)動的教學(xué)流按照項(xiàng)目測試流程大體可分為三個階段:軟件測試基礎(chǔ)、軟件測試技術(shù)和軟件測試管理。
第一階段,學(xué)生主要進(jìn)行部分軟件開發(fā)和相應(yīng)產(chǎn)品的靜態(tài)測試。在開發(fā)的過程中通過規(guī)范的開發(fā)文檔和測試文檔,給學(xué)生展示單元測試、集成測試和系統(tǒng)測試的密切關(guān)系,讓學(xué)生深刻認(rèn)識到軟件測試是緊密伴隨軟件開發(fā)過程而進(jìn)行的活動。
第二階段,主要進(jìn)行測試設(shè)計(jì)和實(shí)現(xiàn)。軟件測試中對具體項(xiàng)目常常有多種測試方法,教師可只講解其中最實(shí)用的方法。其他方法的應(yīng)用作為討論、實(shí)驗(yàn)、課外作業(yè)的形式由學(xué)生完成,讓學(xué)生在完成項(xiàng)目實(shí)踐的過程中學(xué)習(xí)知識、解決問題、提高技能。本階段的教學(xué)應(yīng)只包括對重點(diǎn)教學(xué)內(nèi)容的講解,其過程應(yīng)該精練,以便為學(xué)生學(xué)習(xí)提供廣泛的空間,為學(xué)生順利完成項(xiàng)目打下良好的基礎(chǔ)。
第三階段,主要進(jìn)行測試管理和報(bào)告。通過測試用例管理工具、案例以及規(guī)范的軟件測試報(bào)告的介紹和展示,讓學(xué)生深刻認(rèn)識軟件測試需要規(guī)范的測試管理過程,軟件測試中測試需求、測試用例、測試業(yè)務(wù)組件、測試計(jì)劃、測試執(zhí)行、測試結(jié)果、缺陷都需要進(jìn)行合理的規(guī)劃和管理。
⑵ 測試流
基于項(xiàng)目驅(qū)動的測試流是由教師給定多個項(xiàng)目,并提出測試要求,教學(xué)過程中將團(tuán)隊(duì)測試的思想貫穿始終,將學(xué)生分成若干小組,以小組為單位完成項(xiàng)目測試。每個小組由1個項(xiàng)目組長、1個測試組長和3個測試組員構(gòu)成。小組內(nèi)部責(zé)任明確,選擇有較強(qiáng)實(shí)踐能力和溝通能力學(xué)生擔(dān)任項(xiàng)目組長,負(fù)責(zé)制定測試方案、任務(wù)分配和人員協(xié)調(diào)工作。選擇有較強(qiáng)學(xué)習(xí)能力和技術(shù)能力學(xué)生擔(dān)任測試組長,負(fù)責(zé)分析軟件需求、獲得測試需求、制定測試策略方案、確定測試方法。小組內(nèi)每個學(xué)生必須完成最基本的任務(wù),即測試用例的設(shè)計(jì)、編寫、執(zhí)行和維護(hù)等各項(xiàng)任務(wù)。
測試流執(zhí)行過程中,學(xué)生探究性地學(xué)習(xí)相關(guān)的知識和技能,在知識運(yùn)用中掌握實(shí)踐技能。通過任務(wù)的實(shí)施和完成,讓學(xué)生體驗(yàn)到知識應(yīng)用的成就感,增強(qiáng)學(xué)習(xí)的積極性,促使學(xué)生更加主動地、探索性地學(xué)習(xí)相關(guān)的知識和技能,使知識技能的掌握更加牢固。測試流執(zhí)行過程中,教師為項(xiàng)目組提供相關(guān)的學(xué)習(xí)資料資源,引導(dǎo)學(xué)生有目的性、有針對性地學(xué)習(xí),同時關(guān)注學(xué)生開展項(xiàng)目的全過程,嚴(yán)格要求按照項(xiàng)目的具體實(shí)施流程進(jìn)行,比如軟件測試項(xiàng)目必須按照測試計(jì)劃、測試設(shè)計(jì)、測試執(zhí)行和測試結(jié)果分析來進(jìn)行,每個階段的工作必須撰寫規(guī)范的技術(shù)報(bào)告。
測試流的最后階段,教師組織各測試小組進(jìn)行課程設(shè)計(jì)答辯。答辯時,組間相互評價,從文檔規(guī)范性、測試方法的正確性和有效性、測試技術(shù)應(yīng)用的廣泛性等方面選出最優(yōu)測試小組。最終經(jīng)過教師對學(xué)生單人考核,結(jié)束本次測試流教學(xué)。
3 結(jié)束語
本文針對軟件測試課程教學(xué)中存在的問題,提出采用項(xiàng)目驅(qū)動的教學(xué)模式,通過教學(xué)流、測試流兩種活動流,將軟件測試?yán)碚撝R融入到實(shí)踐活動中。該教學(xué)模式打破了傳統(tǒng),激發(fā)了學(xué)生的學(xué)習(xí)興趣,有利于學(xué)生對測試過程形成一個整體認(rèn)識,符合軟件工程系統(tǒng)化思想。由于軟件測試相關(guān)理論還在不斷完善,實(shí)驗(yàn)理論、實(shí)驗(yàn)方法手段、實(shí)驗(yàn)技術(shù)正在飛速發(fā)展,這就需要我們在教學(xué)過程中不斷地探索、總結(jié)、完善軟件測試教學(xué)的內(nèi)容和方法,進(jìn)一步提高課程的教學(xué)效果和質(zhì)量。
參考文獻(xiàn):
[1] 龔宇輝.軟件測試課程教學(xué)改革研究[J].教育與職業(yè),2010.24:
130-131
[2] 張向宏.軟件測試?yán)碚撆c實(shí)踐教程[M].人民郵電出版社,2009.
[3] 聶長海.關(guān)于軟件測試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011.38(2):1-3
[4] 程茂,溫靜,吳玉潔.軟件測試課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào)
Abstract: With the increasing complexity of software engineering, software engineering quality requirements continue to improve. The teaching of the traditional software testing course can't meet the needs of the times. From the traditional software testing experimental teaching, aiming at the existing problems and the overall objectives of the experimental teaching requirements, this paper explores the significance of project driven software testing and experimental teaching reform, which with reasonable distribution of the curriculum system, the distribution of appropriate experimental content, can meet the requirements of personnel training program.
關(guān)鍵詞:軟件測試;項(xiàng)目驅(qū)動;實(shí)驗(yàn)教學(xué);教學(xué)改革
Key words: software testing;project driven;experimental teaching;teaching reform
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2017)03-0226-03
0 引言
軟件測試在很早以前就是軟件工程里的一個課程。但近幾年來才被國內(nèi)的軟件行業(yè)及軟件公司所重視。因而出現(xiàn)需要大量軟件測試人員的需求。所以國內(nèi)的很多高校因市場的需求,開設(shè)了相關(guān)的軟件測試專業(yè)或方向。但很多學(xué)校的開設(shè)的軟件測試的課程只停留在基本理論的學(xué)習(xí),或者測試工具的介紹上,以至于畢業(yè)出來的學(xué)生只能滿足最底層的測試工作。而較高要求的測試崗位很難招到人。所以培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測試人才,是學(xué)校的當(dāng)務(wù)之急,軟件測試的教學(xué)改革勢在必行[1]。
1 傳統(tǒng)測試課程教學(xué)存在的問題
教學(xué)課時少,課程結(jié)構(gòu)單一。傳統(tǒng)軟件測試是以軟件工程原理的一個章節(jié)來講的。講課的課時也就4個學(xué)分。老師授課只是對測試基本的概念及流程作講解,內(nèi)容偏重理論且抽象。學(xué)生理解和掌握難度比較大,在實(shí)際測試工作中無法入手。現(xiàn)如今對軟件測試的工作越來越重視,對軟件測試的工作要求越來越高。如此單一教學(xué)內(nèi)容,讓學(xué)生今后勝任軟件測試的相關(guān)工作是不現(xiàn)實(shí)的。
重理論,輕實(shí)踐。傳統(tǒng)軟件測試課程的教學(xué)一直以任課老師講授以主,學(xué)生被動接受知識,在理論的教學(xué)過程中,授課老師重點(diǎn)講解軟件測試的基本概念、原理及方法。但軟件測試的相關(guān)課程在實(shí)踐方面要求有較強(qiáng)的動手的實(shí)踐能力。如在講解黑盒測試、白盒測試中的測試方法來設(shè)計(jì)測試用例時,實(shí)際使用過程中需要結(jié)合多種方法來保證測試用例的完整性,這需要引入實(shí)際的生產(chǎn)案例來練習(xí)。再如在講解單元測試、集成測試時,在講解單一類的測試、容器內(nèi)的測試、數(shù)據(jù)庫持久層的測試時,如果老師在授課時只是講理論,沒有引入實(shí)際的生產(chǎn)案例,學(xué)生很難體會到課程的挑戰(zhàn)和樂趣,缺少主觀主動性,學(xué)習(xí)效果較差。這樣的教學(xué)質(zhì)量難以保證,學(xué)生很難學(xué)以致用。
2 項(xiàng)目驅(qū)動教學(xué)的內(nèi)涵
“項(xiàng)目教學(xué)法”最早見于美國教育家凱茲和加拿大教育家查德合著的《項(xiàng)目教學(xué)法》?!绊?xiàng)目教學(xué)法”的理論認(rèn)為:知識可以在一定的條件下自主建構(gòu)獲得;學(xué)習(xí)是知識、技能與行為、態(tài)度與價值觀等方面的長進(jìn);教育是滿足長進(jìn)需要的有意識、有系統(tǒng)、有組織的持續(xù)交流活動。教育家陶行知先生說過:教、學(xué)、做應(yīng)是一體化的,教、學(xué)、做是一件事,不是三件事[2]。
項(xiàng)目教學(xué)法由以下內(nèi)容組成:有一定的教學(xué)內(nèi)容,具有實(shí)際應(yīng)用價值;能將理論知識和實(shí)際崗位技能結(jié)合起來;與企業(yè)實(shí)際生產(chǎn)或商業(yè)經(jīng)營等活動有關(guān)系;學(xué)生可以獨(dú)立制定計(jì)劃并實(shí)施;學(xué)生可以運(yùn)用所學(xué)知識克服、處理在項(xiàng)目工作中出現(xiàn)的困難和問題;有一定的難度,學(xué)生在完成過程中能掌握和運(yùn)用新的知識和技能;要滲透情感、態(tài)度、價值觀的培養(yǎng);有明確而具體的成果展示,師生能共同評價項(xiàng)目完成情況和工作成果[3][4]。
3 項(xiàng)目驅(qū)動的軟件測試實(shí)驗(yàn)教學(xué)的意義
以軟件行業(yè)發(fā)展需要為依托,面向軟件開發(fā)(敏捷開發(fā))過程中對軟件測試人才的迫切需求,以提高教學(xué)質(zhì)量為核心,以教學(xué)改革為動力,以實(shí)現(xiàn)軟件開發(fā)與測試的學(xué)生知識、能力與素質(zhì)協(xié)同發(fā)展為原則,以培養(yǎng)學(xué)生實(shí)踐能力為目標(biāo),結(jié)合學(xué)科優(yōu)勢,以主干課程建設(shè)為突破點(diǎn),開展項(xiàng)目驅(qū)動軟件測試實(shí)驗(yàn)教學(xué)改革與研究,構(gòu)建和實(shí)踐面向應(yīng)用型本科軟件測試人才的專業(yè)實(shí)驗(yàn)教學(xué)體系。具體的意義可歸納為以下四點(diǎn):
①優(yōu)化測試相關(guān)專業(yè)主干課程體系,打造以項(xiàng)目驅(qū)動軟件測試實(shí)驗(yàn)教學(xué)的專業(yè)特色。測試相關(guān)主干課程體系優(yōu)化與專業(yè)課程實(shí)驗(yàn)教學(xué)改革是項(xiàng)目的核心。專業(yè)主干課程體系的建設(shè)能直接反映專業(yè)課程建設(shè)的目的和培養(yǎng)目標(biāo),是提高人才素質(zhì)和保障教育質(zhì)量的核心環(huán)節(jié),也是衡量教學(xué)水平和教學(xué)質(zhì)量的重要標(biāo)志[5]。因此,面向軟件工程和軟件實(shí)踐背景,開展“項(xiàng)目驅(qū)動軟件測試實(shí)驗(yàn)教學(xué)”,對于豐富和完善軟件測試課程教學(xué)改革,培養(yǎng)適應(yīng)軟件測試行業(yè)中“高素質(zhì),高要求”的復(fù)合型、應(yīng)用型管理人才,打造學(xué)科專業(yè)特色,形成學(xué)科專業(yè)競爭力,具有重要價值。
②以主干課程教學(xué)組織與團(tuán)隊(duì)建設(shè)為著手點(diǎn)。制定主干課程建設(shè)的方案和措施,通過課程示范作用,帶動本專業(yè)相關(guān)其他課程的建設(shè)與改革。狠抓主干課程教材的選用與編寫、教學(xué)大綱的制定、應(yīng)用案例的編寫、教學(xué)內(nèi)容的精選、教學(xué)手段與教學(xué)方法的改革等環(huán)節(jié),夯實(shí)了主干課程建設(shè)的基礎(chǔ),并為該專業(yè)今后教學(xué)改革奠定基礎(chǔ)。
③以點(diǎn)帶面,擴(kuò)展軟件工程專業(yè)實(shí)驗(yàn)教學(xué)體系。通過在主干課程中適當(dāng)引入綜合性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)、軟件工程案例分析,可加強(qiáng)學(xué)生的實(shí)踐技能、創(chuàng)新意識和團(tuán)隊(duì)精神的培養(yǎng),提高學(xué)生的綜合運(yùn)用能力和競爭力。從長遠(yuǎn)來講,這項(xiàng)成果會進(jìn)一步提高我校該專業(yè)的人才綜合素質(zhì), 進(jìn)一步提高該學(xué)科專業(yè)綜合競爭力。
④擴(kuò)大畢業(yè)生就業(yè)率及提高就業(yè)檔次。通過該項(xiàng)目的建設(shè),希望能推動該學(xué)科專業(yè)課程體系的優(yōu)化,改善廣州大學(xué)該專業(yè)本科學(xué)生的知識結(jié)構(gòu),提高軟件測試學(xué)生的綜合素質(zhì)和專業(yè)技能,擴(kuò)大畢業(yè)生就業(yè)率及提高就業(yè)檔次。
不管是站在專業(yè)學(xué)科建設(shè)的角度,還是站在學(xué)生培養(yǎng)的角度,從培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測試人才、解決學(xué)生就業(yè)的目標(biāo)來看,教學(xué)改革研究均具有重要的意義,有必要開展系統(tǒng)、深入的研究。
4 項(xiàng)目驅(qū)動的軟件測試實(shí)驗(yàn)教學(xué)改革方案
以培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測試人才為目標(biāo),以專業(yè)主干課程體系優(yōu)化主干課程教學(xué)團(tuán)隊(duì),強(qiáng)化主干課程配套的實(shí)踐教學(xué)環(huán)節(jié),構(gòu)建了理論教學(xué)和實(shí)踐教學(xué)相結(jié)合的、 “測試?yán)碚?測試方法+測試工程”三位一體的主干課程培養(yǎng)體系,并開展長期的跟蹤實(shí)踐,努力在應(yīng)用型創(chuàng)新人才培養(yǎng)模式上形成自身的專業(yè)特色,完善“強(qiáng)基礎(chǔ)、重能力、多樣性、個性化”的人才培養(yǎng)方案。
4.1 軟件測試的課程體系的建立
隨著軟件行業(yè)對軟件測試重視,軟件測試對從業(yè)人員的要求也越來越高。傳統(tǒng)的教學(xué)內(nèi)容已經(jīng)不能滿足就業(yè)人員的需要。需對軟件測試的課程體系進(jìn)行擴(kuò)展、優(yōu)化。如圖1軟件測試教改實(shí)踐課程體系所示。
軟件測試基礎(chǔ):本課程從理論和實(shí)踐兩個層面引導(dǎo)學(xué)生學(xué)習(xí)軟件測試的基礎(chǔ)知識,涵蓋軟件測試的思想、流程和方法,主要內(nèi)容包括軟件測試的基本概念和基本原理、白盒測試方法、黑盒測試方法以及面向?qū)ο筌浖y試等知識點(diǎn)。
高效單元測試:課程以最典型的單元測試框架JUnit為例講述了單元測試的方法和最佳實(shí)踐,介紹了在java軟件開發(fā)中使用junit進(jìn)行測試的原則、技巧與實(shí)踐,深入闡述如何編寫自動測試。課程討論了實(shí)踐中的測試技術(shù),主要內(nèi)容包括:用mock objects進(jìn)行隔離測試、用ant和maven進(jìn)行自動構(gòu)建、Cactus進(jìn)行容器內(nèi)測試的方法、對java應(yīng)用程序、數(shù)據(jù)庫應(yīng)用程序等進(jìn)行單元測試,以及Parasoft Jtest的使用。
WEB項(xiàng)目應(yīng)用測試:由淺入深、全面、細(xì)致地闡述了如何使用開源測試工具來完成Web自動化測試,便于學(xué)生輕松掌握Web自動化測試的原理、方法和實(shí)際操作。課程將教如何使用Selenium、WebDriver、Jmeter、Badboy搭建起一整套穩(wěn)定、高效、低成本的自動化測試平臺。結(jié)合應(yīng)用實(shí)例展示web應(yīng)用項(xiàng)目測試的過程。
軟件測試質(zhì)量與保證:軟件測試質(zhì)量與保證是面向軟件測試方向一門專業(yè)必修課,在學(xué)習(xí)軟件測試基礎(chǔ)理論與技術(shù)的基礎(chǔ)上,加強(qiáng)對軟件質(zhì)量的認(rèn)識及質(zhì)量保證的重視,主要從軟件質(zhì)量的概述、軟件質(zhì)量工程體系、軟件質(zhì)量度量、軟件可靠性測試、軟件質(zhì)量標(biāo)準(zhǔn)、全面質(zhì)量控制等多方面展開對軟件質(zhì)量保證的深入學(xué)習(xí)。
性能測試與優(yōu)化管理:從測試項(xiàng)目實(shí)戰(zhàn)需求出發(fā),講述了性能測試技術(shù)和軟件性能測試工具應(yīng)用的實(shí)戰(zhàn)知識。引入項(xiàng)目案例,詳細(xì)講述性能測試方案實(shí)施、性能測試計(jì)劃制定、性能測試用例設(shè)計(jì)、性能測試腳本開發(fā)、性能總結(jié)、性能優(yōu)化管理及相關(guān)交付文檔。
軟件測試綜合項(xiàng)目實(shí)訓(xùn):本課程綜合應(yīng)用軟件測試方向各門專業(yè)課程,以一個實(shí)際案例貫穿整個教學(xué)過程,使學(xué)生對軟件測試的過程有深刻地理解,包括測試需求的獲取、制定測試計(jì)劃,設(shè)計(jì)測試用例,測試執(zhí)行、測試缺陷、測試評估及報(bào)告,并在實(shí)訓(xùn)過程中加強(qiáng)對團(tuán)隊(duì)協(xié)作的體會及文檔的協(xié)作能力。
移動應(yīng)用程序測試:本課程將從實(shí)際應(yīng)用角度出發(fā),以智能終端和4G業(yè)務(wù)規(guī)劃為基礎(chǔ),介紹手機(jī)測試的方法和實(shí)踐技術(shù),主要內(nèi)容;手機(jī)設(shè)備軟硬件的現(xiàn)狀與趨勢,手機(jī)軟件測試用例設(shè)計(jì)技術(shù)與方法,手機(jī)軟件體系結(jié)構(gòu)與手機(jī)軟件測試技術(shù)和常用測試工具。
4.2 項(xiàng)目驅(qū)動實(shí)驗(yàn)教學(xué)的實(shí)施方針
由于課程深度的不同,項(xiàng)目驅(qū)動實(shí)驗(yàn)教學(xué)的方針與過程也不同。其主干課程項(xiàng)目驅(qū)動實(shí)驗(yàn)教學(xué)的實(shí)施方針如下:
《軟件測試基礎(chǔ)》由于是基礎(chǔ)課程,課程涉及的基礎(chǔ)概念比較多,且為低年級的學(xué)生。所以實(shí)驗(yàn)教學(xué)的案例要以單獨(dú)、經(jīng)典的小應(yīng)用實(shí)例為主,以鞏固和強(qiáng)化理論知識為目的。
《高效單元測試》軟件測試專業(yè)課。課程涉及代碼級軟件測試方法與技術(shù)。課程從應(yīng)用程序的角度可分為三個方面的單元測試:表示層單元測試、運(yùn)用層單元測試、數(shù)據(jù)層單元測試。從這三個方面再拆散成若干個小實(shí)驗(yàn)以便對應(yīng)相應(yīng)的理論知識。在實(shí)驗(yàn)案例選擇的原則要以高年級完成的課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)為主,其原因是這樣的項(xiàng)目實(shí)例學(xué)生能更好的理解,上課的更有效果。
《WEB應(yīng)用項(xiàng)目測試》軟件測試專業(yè)課。課程主要講解Web自動化測試的原理、方法和實(shí)際操作及測試工具的使用。在項(xiàng)目驅(qū)動實(shí)驗(yàn)教學(xué)實(shí)例的選取了一些比較完善并同學(xué)比較熟悉的系統(tǒng),比如學(xué)院的信息管理系統(tǒng)或?qū)W院的郵件系統(tǒng)。學(xué)生對這些系統(tǒng)的業(yè)務(wù)比較了解。做自動化測試比較容易上手。
《軟件測試綜合項(xiàng)目實(shí)訓(xùn)》是一個以實(shí)際案例貫穿整個教學(xué)過程,以學(xué)生為主,教師為輔的綜合項(xiàng)目實(shí)訓(xùn)課程。在實(shí)驗(yàn)教學(xué)的實(shí)例選取上要求要接近企業(yè)的工作要求。所以項(xiàng)目組在設(shè)計(jì)用例時,直接向相關(guān)校企合作單位,要來需求和被測項(xiàng)目,并設(shè)計(jì)成實(shí)驗(yàn)教學(xué),以便學(xué)生在最接近現(xiàn)實(shí)的環(huán)境中作項(xiàng)目實(shí)訓(xùn)。
《移動應(yīng)用程序測試》軟件測試選修課。課程主要講解移動測試的原理、方法和實(shí)際操作及測試工具的使用。在項(xiàng)目驅(qū)動實(shí)驗(yàn)教學(xué)實(shí)例的選取上,把學(xué)校組織參加比賽的移動應(yīng)用項(xiàng)目拿來測試,這個項(xiàng)目影響較廣,學(xué)生對業(yè)務(wù)比較了解也比較。
5 小結(jié)
如何正確處理系統(tǒng)性理論知識體系與學(xué)生實(shí)際能力培養(yǎng)之間的矛盾?其解決的基本途徑是:重視實(shí)際能力培養(yǎng),強(qiáng)化軟件測試工程案例教學(xué),重視課程配套的課內(nèi)課外各種實(shí)踐教學(xué),強(qiáng)化學(xué)生人文素質(zhì)培養(yǎng)。只有這樣,才能解決學(xué)生專業(yè)知識面過窄、適應(yīng)能力差、滿足不了高要求的根本問題。如何搞好主干課程體系建設(shè)和主干課程師資隊(duì)伍建設(shè),其解決的基本途徑是:以測試相關(guān)主干課程和教學(xué)團(tuán)隊(duì)建設(shè)著手點(diǎn),建立完善的主干課程體系,發(fā)揮主干課程的帶動效應(yīng),可達(dá)到以點(diǎn)帶面效果,解決課程教學(xué)內(nèi)容不先進(jìn)、教學(xué)方法單一、教學(xué)手段落后、教師業(yè)務(wù)能力不強(qiáng)等問題。
參考文獻(xiàn):
[1]宰光軍,任兩品,劉燕.復(fù)合型軟件測試人才培養(yǎng)模式的探索與創(chuàng)新[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(20).
[2]張世澤,劉同先,丁升選,呂淑敏.淺議項(xiàng)目教學(xué)法在我國的發(fā)展、應(yīng)用和建議[J].教育教學(xué)論壇,2014(50):168-169.
[3]鄭春瑛,郭偉青.項(xiàng)目教學(xué)法在管理信息系統(tǒng)課程中的應(yīng)用探討[J].中國職業(yè)技術(shù)教育,2007(22).
一軟件測試課程教學(xué)存在的不足
目前,在很多高校計(jì)算機(jī)課程中,并沒有單獨(dú)開設(shè)軟件測試技術(shù)課程,只在“軟件工程”課程的某一章節(jié)進(jìn)行了介紹,而在“軟件工程”課程中,軟件測試只是在軟件開發(fā)進(jìn)行以后才開始進(jìn)行,這對于學(xué)生理解軟件測試是極為不利的[3]。軟件測試技術(shù)方面的教材不是很多,而且質(zhì)量良莠不齊。有些學(xué)校開設(shè)的軟件測試課程作為選修課,過多注重軟件測試?yán)碚摰闹v解和測試方法的介紹,對于實(shí)踐環(huán)節(jié)重視不夠,缺乏系統(tǒng)的訓(xùn)練,距離軟件公司對軟件測試人才的要求差距較大。
軟件測試課程教學(xué)中存在的問題主要有:(1)理論與實(shí)踐脫節(jié)導(dǎo)致學(xué)生學(xué)習(xí)興趣不濃;(2)軟件測試實(shí)驗(yàn)室的環(huán)境搭建受限,課堂教學(xué)與實(shí)踐結(jié)合的不緊密;(3)課堂教學(xué)內(nèi)容與公司實(shí)際操作有出入,使得學(xué)生不受用人單位的歡迎;(4)學(xué)生缺乏完整項(xiàng)目的測試經(jīng)驗(yàn),無法掌握項(xiàng)目測試的流程和步驟[4]。(5)學(xué)生的開發(fā)經(jīng)驗(yàn)不足,對于理解測試驅(qū)動開發(fā)有難度。
二創(chuàng)新模式的課程改革
針對目前軟件測試課程教學(xué)存在的問題和不足,對目前高校開設(shè)的《軟件測試》課程進(jìn)行了調(diào)研、分析和研究,為了使授課內(nèi)容更接近實(shí)踐要求,我們深入企業(yè)并與軟件測試部門的人員進(jìn)行溝通交流,從教材內(nèi)容、教學(xué)方法等方面對軟件測試課程的教學(xué)進(jìn)行探討。
1教材的選擇
軟件測試實(shí)踐性非常強(qiáng),而且課程開設(shè)較晚,更新較快,教材的選擇尤為重要。針對學(xué)生接受的實(shí)際情況和教材的實(shí)用性方面對教材進(jìn)行選擇,經(jīng)過篩選,我們選擇兩篇外文教材:(美)佩騰(Patton,R.)著,張小松等譯的《軟件測試(原書第2版)》和(美)梅耶(Myers,G.J.)等著的《軟件測試的藝術(shù)(原書第3版)》,一本中文教材:朱少民老師主編的《軟件測試方法和技術(shù)(第二版)》,教學(xué)過程中把中文教材作為授課教材,外文教材作為參考書,來更好的擴(kuò)大學(xué)生的視野[5]。
2課程內(nèi)容的選擇和改進(jìn)
作為一個實(shí)踐要求非常高的課程,我們在選擇課程教學(xué)的內(nèi)容上做了很多探索。經(jīng)過實(shí)踐發(fā)現(xiàn),上課時在講解基本知識和概念的同時,如果穿插講解一些經(jīng)典案例,教學(xué)效果會更好。學(xué)生不但能夠掌握理解基本概念,又能結(jié)合實(shí)際應(yīng)用,積累一些實(shí)踐經(jīng)驗(yàn),這對于以后從事軟件測試工作有著非常大的幫助。
在教學(xué)過程中,我們始終以學(xué)生為中心,讓他們參與到軟件測試的教學(xué)過程中來,調(diào)動其主觀能動性,使他們更容易接受所學(xué)知識。
3測試工具的選擇
在課堂教學(xué)和實(shí)踐教學(xué)過程中,測試工具的選擇很重要。如果建一個相當(dāng)規(guī)模的測試實(shí)驗(yàn)室,投入是很大的。如何選擇既能達(dá)到課程要求又能節(jié)省費(fèi)用的測試工具就顯得尤為重要。在最大限度的接近業(yè)界實(shí)際使用的前提下,可以選擇一些開源的軟件。對于業(yè)界關(guān)注度不夠的測試環(huán)節(jié),在講授軟件測試時要重點(diǎn)講解,比如,靜態(tài)測試在企業(yè)中就重視度不足,認(rèn)為無關(guān)緊要,實(shí)際上該方法能夠培養(yǎng)良好的編程風(fēng)格。我們在授課時選擇PMD、FindBugs等工具讓學(xué)生熟悉,不但能培養(yǎng)學(xué)生的測試能力,同時也能督促學(xué)生養(yǎng)成良好的編程習(xí)慣[6]。對于單元測試部分,根據(jù)時下軟件開發(fā)的兩大趨勢,選擇Junit進(jìn)行講解,掌握該軟件的使用,對于其他工具開發(fā)的軟件進(jìn)行單元測試也是非常容易的。
4實(shí)踐環(huán)節(jié)的加強(qiáng)
除了課堂教學(xué)以外,實(shí)踐教學(xué)的開展對于軟件測試課程來說更重要。包括上機(jī)實(shí)踐課和企業(yè)實(shí)踐兩部分。
上機(jī)實(shí)踐環(huán)節(jié)應(yīng)抓好以下環(huán)節(jié):⑴定好計(jì)劃,每次上機(jī)要明確任務(wù),對于任務(wù)的選擇要有針對性,要更具有可操作性,要更貼近實(shí)際。比如對于Junit的實(shí)踐,每一次上課做什么都詳細(xì)制定,把各種斷言、套件測試、參數(shù)化測試等重要部分要重點(diǎn)關(guān)注,這樣對于學(xué)生掌握這部分知識能起到很好的作用。(2)加強(qiáng)考核,對于實(shí)踐環(huán)節(jié)所做的任務(wù),要認(rèn)真檢查,并對學(xué)生完成情況進(jìn)行總結(jié),這樣才能提高學(xué)習(xí)的效果。(3)加強(qiáng)與學(xué)生的溝通,讓學(xué)生完成任務(wù)時,加入不同的小組,通過小組之間的溝通和交流,起到更好的促進(jìn)作用。(4)完整項(xiàng)目的實(shí)踐,除了平時的練習(xí)外,整個課程結(jié)束后,通過完整項(xiàng)目的帶動,讓學(xué)生參與到整個測試過程中,使理論與實(shí)踐融合,知識掌握更牢固。
同時要深化企業(yè)實(shí)訓(xùn),加強(qiáng)與企業(yè)的合作,讓學(xué)生有機(jī)會深入到企業(yè)的軟件測試部門,了解軟件測試企業(yè)實(shí)際工作時如何開展的,與軟件測試部門人員溝通交流,增強(qiáng)學(xué)生學(xué)習(xí)的自信心,加強(qiáng)學(xué)生實(shí)踐能力的培養(yǎng)。學(xué)生每年9月份到北京實(shí)習(xí),并與富士康簽訂了合作協(xié)議,這些舉措都是為了更好地提高學(xué)生的實(shí)踐能力。為了使效果更好,可以從以下幾個方面抓起:(1)學(xué)校擬定一個校外實(shí)綱,與實(shí)習(xí)企業(yè)一起制訂校企實(shí)習(xí)基地協(xié)議、實(shí)習(xí)安全協(xié)議、學(xué)生實(shí)習(xí)規(guī)范和學(xué)習(xí)實(shí)習(xí)鑒定表等,不斷促進(jìn)校外實(shí)習(xí)制度化,規(guī)范化、完善化。(2)企業(yè)要提供良好的實(shí)訓(xùn)場地,并配備資深的講授老師。在實(shí)訓(xùn)前,講授教師先了解一下實(shí)訓(xùn)生的情況,對講課計(jì)劃和講課內(nèi)容做適當(dāng)?shù)恼{(diào)整。(3)在實(shí)訓(xùn)期間,學(xué)??梢粤粢恍┙處煴O(jiān)督實(shí)訓(xùn)過程,并實(shí)時地提出建議,保證學(xué)生訓(xùn)有所獲。(4)實(shí)訓(xùn)結(jié)束后,要對實(shí)訓(xùn)生做一個項(xiàng)目式的考核,并認(rèn)真填寫實(shí)習(xí)成績評定表。
5注重軟件測試人才的軟實(shí)力培養(yǎng)
軟件測試是一門熱門行業(yè),軟件企業(yè)在招聘人員時,不僅要求應(yīng)聘人員有一定的理論知識和實(shí)踐動手能力,同時要求應(yīng)聘人員有良好的職業(yè)素質(zhì)。而在當(dāng)前的教學(xué)模式下,對職業(yè)素質(zhì)方面的教育還是比較欠缺。這需要對學(xué)生進(jìn)行培訓(xùn),增加就業(yè)幾率。
(1)注重培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作與溝通能力
對于軟件測試行業(yè)來說,測試人員的溝通能力非常重要。一個合格的軟件測試人才,應(yīng)該具有較高的團(tuán)隊(duì)協(xié)作與溝通能力,可以快速融入團(tuán)隊(duì),高效地展開團(tuán)隊(duì)式工作。一個不善于表達(dá)自己思想的人不可能成為一名優(yōu)秀的測試工程師。我們在實(shí)踐課開展過程中,重視培養(yǎng)同學(xué)的溝通能力,團(tuán)隊(duì)協(xié)作能力,在學(xué)生中樹立良好的團(tuán)隊(duì)意識。
(2)培養(yǎng)學(xué)生的懷疑精神
軟件測試的目的就是為了找出軟件存在的不足,因此我們鼓勵學(xué)生懷疑一切可疑的地方,盡自己最大的努力來驗(yàn)證自己的判斷。即使再簡單的功能,也要站在用戶的角度,多用一些邊界值進(jìn)行測試,驗(yàn)證系統(tǒng)是否有問題。
(3)搜索能力的培養(yǎng)
一個好的軟件測試工程師,要有很強(qiáng)的搜索發(fā)現(xiàn)新知識和技能的能力,這不僅指一般性知識的搜索和查閱,更多是指與本專業(yè)相關(guān)的測試工具軟件、插件、測試學(xué)習(xí)網(wǎng)站等的搜索與下載,比如51testing就是國內(nèi)比較好的測試學(xué)習(xí)網(wǎng)站,其上就有很多軟件測試方面比較成熟的知識和實(shí)踐技巧。在信息爆炸的當(dāng)代社會,軟件的種類繁多,軟件技術(shù)的變化日新月異,所以大學(xué)生應(yīng)該掌握軟件測試的檢索技術(shù),以滿足自己學(xué)習(xí)和工作的需要。這種能力是自己的充電器,會使自己終生受益。
此外,一個優(yōu)秀的測試工程師還應(yīng)有高度的責(zé)任感、耐心、洞察力,在技術(shù)層次都相差不大的情況下,這些軟實(shí)力對于測試工程師的發(fā)展有著至關(guān)重要的作用。
總之,通過《軟件測試》課程的教學(xué)方法的探索,通過系統(tǒng)科學(xué)的知識傳授,并輔以上機(jī)實(shí)踐和企業(yè)實(shí)踐,學(xué)生的實(shí)踐動手能力有了很大提高,這直接反映到學(xué)生的就業(yè)和以后的學(xué)習(xí)中。有一部分學(xué)生在畢業(yè)后進(jìn)入企業(yè)的軟件測試部門并得到用人單位的好評,一部分學(xué)生在考取研究生之后選擇了軟件測試方向作為自己的研究方向。如何在現(xiàn)有的探索的基礎(chǔ)上,更大限度的提高教學(xué)的效果,是我們下一步的研究重點(diǎn)。
參考文獻(xiàn)
[1]朱少民.軟件測試方法和技術(shù)(第二版)[M].清華大學(xué)出版社,2010.
[2]聶長海.關(guān)于軟件測試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011,38(2):1-3.
[3]陳樹峰.面向?qū)ο筌浖囊蕾囆苑治雠c回歸測試[J].計(jì)算機(jī)應(yīng)用,2009,29(11):3110-3113.
[4]李雯睿,張鵬程,楊種學(xué).基于主動學(xué)習(xí)策略的軟件測試教學(xué)方法初探[J].計(jì)算機(jī)教育,2012(8):54-57.