摘要:文章針對《軟件測試》課程在本科院校教學(xué)中存在的問題進(jìn)行了分析和探討,結(jié)合教學(xué)現(xiàn)實(shí)和企業(yè)需求分別從理論教學(xué)、實(shí)踐教學(xué)、教學(xué)方法三個方面,提出了《軟件測試》課程教學(xué)的措施和建議,以便更好的提高測試類課程的教學(xué)效果。
關(guān)鍵詞:軟件測試;企業(yè)需求;教學(xué)方法
中圖分類號:TP311.53—4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007—9599 (2012) 14—0000—02
隨著軟件產(chǎn)業(yè)迅速發(fā)展,軟件產(chǎn)品的質(zhì)量成為人們共同關(guān)注的焦點(diǎn),軟件測試的作用和地位越來越顯得突出,它是軟件產(chǎn)品質(zhì)量控制的具體實(shí)現(xiàn)環(huán)節(jié)及其根本保證[1],社會對軟件測試人才的需求量劇增,對軟件測試人員的綜合素質(zhì)要求也越來越高。
但由于我國的軟件測試技術(shù)起步比較晚,并由于主客觀方面的種種原因,在大學(xué)計算機(jī)教育中,軟件測試教育存在很多問題,無法達(dá)到《軟件測試》課程教學(xué)的目的和要求,也無法滿足業(yè)界對軟件測試人才的需求。
一、教學(xué)現(xiàn)狀
在目前的教學(xué)環(huán)境中,雖然《軟件測試》是一門理論性和實(shí)踐性都很強(qiáng)的專業(yè)課,但大多數(shù)院校在教學(xué)過程中,仍會忽視強(qiáng)調(diào)測試?yán)碚摵拖嚓P(guān)基礎(chǔ)的重要性。在理論教學(xué)過程中,不重視測試的基礎(chǔ)教學(xué),在培養(yǎng)過程中更多地停留在知識傳授,忽視軟件測試職業(yè)素質(zhì)的培養(yǎng),實(shí)際上,一個合格的測試人員除了具備測試專業(yè)知識外,嚴(yán)謹(jǐn)?shù)墓ぷ髁?xí)慣、良好的溝通能力和團(tuán)隊合作精神也是軟件測試人員所必需的[2]。在實(shí)驗教學(xué)過程中,一味依賴教材的理論內(nèi)容,忽略思考的智力技能培養(yǎng),所設(shè)計的實(shí)驗內(nèi)容不符合現(xiàn)實(shí)需求,軟件測試的實(shí)踐教學(xué)存在同社會脫節(jié)。在教學(xué)方法方面,傳統(tǒng)教學(xué)方法形式單一,學(xué)生學(xué)習(xí)興趣很低,自主學(xué)習(xí)能力較低。本文針對教學(xué)過程中理論教學(xué)、實(shí)踐教學(xué)、教學(xué)方法三個方面,對軟件測試人才的培養(yǎng)總結(jié)一些思考和心得。
二、思考和實(shí)踐
(一)重視并滲透理論教學(xué)
重視軟件測試課程的理論教學(xué),基礎(chǔ)的扎實(shí)與否直接影響了能力的可持續(xù)發(fā)展性。在制定課程大綱時,加大理論課時的分配,使學(xué)生從根本上認(rèn)識到理論在課程學(xué)習(xí)中的重要性,不再簡單的認(rèn)為軟件測試只是簡單的“點(diǎn)擊”等操作,而是一門對思考和邏輯要求很高的課程。好的軟件測試人員擁有高敏感能力,高發(fā)散能力,高分析能力,而這些都是以扎實(shí)的理論基礎(chǔ)為前提的。并在教學(xué)過程中,不僅僅以教材為理論傳授基準(zhǔn),應(yīng)結(jié)合項目中的實(shí)際測試場景和案例,加深對各個理論點(diǎn)的理解和運(yùn)用,以樹型結(jié)構(gòu)串聯(lián)零散的知識點(diǎn),注重知識的內(nèi)部體系結(jié)構(gòu),使學(xué)生系統(tǒng)的掌握測試的理論知識,鍛煉思維發(fā)散和思考能力,從而引導(dǎo)學(xué)生對知識和技能進(jìn)行舉一反三、觸類旁通的遷移。
將軟件測試的思想深入廣泛地滲透到所有的專業(yè)課程中。例如在各類程序設(shè)計語言基礎(chǔ)課程中引入單元測試的思想,在軟件工程課程中,強(qiáng)調(diào)軟件測試的重要性,增強(qiáng)軟件質(zhì)量管理意識,在面向?qū)ο蟮姆治龊驮O(shè)計課程中,強(qiáng)調(diào)測試和開發(fā)并行并重的思想[3]。
(二)以企業(yè)需求作為實(shí)驗教學(xué)的目標(biāo)
1.以企業(yè)項目為教學(xué)內(nèi)容
在傳統(tǒng)教學(xué)中,軟件測試實(shí)驗的內(nèi)容通常只單純的利用教材上介紹的不同測試方法來“設(shè)計”實(shí)驗,所設(shè)計的實(shí)驗內(nèi)容泛泛化,不僅不符合企業(yè)的需求,而且不符合項目測試中的完整性和規(guī)范化。在實(shí)際工作中,一個項目中所涉及到的測試技術(shù)和方法,以及這些技術(shù)的重難點(diǎn),都很難在現(xiàn)有的實(shí)驗教材中得以體現(xiàn)。而以項目為實(shí)驗教學(xué)的方法,是以企業(yè)的需求和實(shí)踐流程為出發(fā)點(diǎn),在實(shí)驗的教學(xué)過程中以項目為主線展開,以測試的流程由淺入深,把相關(guān)知識點(diǎn)融入到項目的各個環(huán)節(jié)中去,將項目完整的進(jìn)行剖析,循序漸進(jìn)[3]。
2.重視文檔和流程
在企業(yè)的實(shí)際測試工作中,文檔是非常重要的。我們以一個符合現(xiàn)實(shí)性的完整B/S模式的“圖書管理系統(tǒng)”作為測試案例,該項目涵蓋課程的主要知識要點(diǎn)和基本技能,項目大小和難易適中,提供給學(xué)生系統(tǒng)的代碼、需求分析、概要設(shè)計書、詳細(xì)設(shè)計書等必須文檔[4],只有具備以上資料,才可真實(shí)的模擬實(shí)際工作模式。通過文檔,使得學(xué)生明白所測軟件提供什么功能?是否符合用戶的需求,設(shè)計是否合理,結(jié)果與設(shè)計是否一致,通過文檔,使得學(xué)生一邊熟悉系統(tǒng)一邊思考軟件研發(fā)者在設(shè)計過程中的遺漏點(diǎn)。文檔,不僅是測試人員與開發(fā)人員之間溝通的直接橋梁,而且這種彼此的不斷溝通以及思考,直接影響了軟件測試的最終質(zhì)量。同時,除了以項目為教學(xué)的基本單位,并強(qiáng)調(diào)文檔在項目中的重要性,還要嚴(yán)格按照工作中的實(shí)際情況,將學(xué)生分成若干個項目組。項目組分別設(shè)置測試經(jīng)理、測試負(fù)責(zé)人、測試組員等角色,各盡其責(zé)。這種強(qiáng)調(diào)文檔,各盡其責(zé)的項目教學(xué)方式,更加符合企業(yè)的實(shí)際需求,并有效鍛煉了學(xué)生的團(tuán)隊合作能力。
其次,在以企業(yè)需求作為實(shí)驗教學(xué)出發(fā)點(diǎn)的過程中,必須嚴(yán)格按照項目的具體實(shí)施流程進(jìn)行。比如軟件測試項目必須按照測試計劃、測試設(shè)計、測試執(zhí)行、BUG報告、測試結(jié)果分析等來進(jìn)行,每個階段的工作必須有撰寫規(guī)范的技術(shù)報告。其中在該流程中,通過評審的方式,反復(fù)討論和修整中編寫完善《測試計劃》和《測試用例設(shè)計》,通過評審會議,鍛煉學(xué)生的溝通能力,表達(dá)能力和思考能力,評審在實(shí)際工作中應(yīng)用是非常廣泛的,而且其效率被廣泛認(rèn)可,在課堂上應(yīng)用的效果也很明顯,學(xué)生逐步養(yǎng)成認(rèn)真編寫文檔、實(shí)事求是和負(fù)責(zé)任的學(xué)習(xí)態(tài)度。在這個過程中,除了熟悉了測試的整個流程,而且還對常用的測試工具,如單元測試工具NUnit、管理工具QualityCenter、性能測試工具Loadrunner的應(yīng)用有了更深入的理解,避免了傳統(tǒng)教學(xué)中單獨(dú)以測試工具為實(shí)驗的教學(xué)內(nèi)容的諸多弊端,使得測試工具的學(xué)習(xí)不再停留在表面上,從而有效的加強(qiáng)了學(xué)生的理解力和實(shí)踐能力。
通過圍繞著以企業(yè)需求為目標(biāo)進(jìn)行實(shí)驗教學(xué),可將理論和實(shí)踐進(jìn)行反復(fù)的交叉,使得同學(xué)們再一次對測試?yán)碚搶W(xué)習(xí)的重要性有了更深入的認(rèn)識,并使學(xué)生在真實(shí)的項目流程中對軟件測試的流程、實(shí)施細(xì)節(jié)和注意事項等都有了全面的了解,從而通過這種以企業(yè)為需求的教學(xué),能輕易的過度到實(shí)際工作中去,不再出現(xiàn)教學(xué)與社會脫鉤的現(xiàn)象。
(三)多種教學(xué)方法作為輔助
在傳統(tǒng)的教學(xué)過程中,往往以教師“教”,學(xué)生“學(xué)”這種被動的學(xué)習(xí)方式為主,學(xué)生的學(xué)習(xí)興趣不高,可以通過一些輔助的教學(xué)手段,加強(qiáng)引導(dǎo)和監(jiān)督,以提高學(xué)習(xí)效果。
1.擴(kuò)充教學(xué)內(nèi)容
在理論教學(xué)中,不僅只傳授軟件測試的理論知識,其間還可以串講在實(shí)際工作或項目中,輔助的工作方法、工具以及相關(guān)行業(yè)知識,利用更多的資源,提高學(xué)生的學(xué)習(xí)興趣。
2.相互分享
以相互“分享”的方式,共同探討在學(xué)習(xí)過程中的收獲或者疑惑,每個同學(xué)都要進(jìn)行分享,互相交流思想。這種方式更好的提高了學(xué)生的主動性,并能鍛煉學(xué)生的表達(dá)能力。
3.重視過程考核
加強(qiáng)學(xué)習(xí)的過程考核,不僅僅檢查每個學(xué)生的階段性完成情況,同時要對階段性過程中涉及到的理論知識點(diǎn)的掌握、工作量、技術(shù)方法、溝通合作能力等多個方面進(jìn)行考核。堅持實(shí)踐和理論同步走,不再只通過階段性完成的“成果”對學(xué)生的學(xué)習(xí)情況進(jìn)行考評,通過嚴(yán)格的過程考核,使學(xué)習(xí)與現(xiàn)實(shí)工作更好的結(jié)合,同時該過程是教師與學(xué)生交流討論的良好機(jī)會,教師可以了解到學(xué)生的學(xué)習(xí)進(jìn)展和瓶頸,然后在流的過程中更好的引導(dǎo)學(xué)生找到問題的原因以及解決問題的不同方法。
4.引入校企合作
與企業(yè)建立學(xué)生實(shí)習(xí)合作,增強(qiáng)教師的項目經(jīng)驗。請企業(yè)和公司的專家與學(xué)生、老師進(jìn)行實(shí)際技術(shù)交流,讓學(xué)生和老師了解市場的實(shí)際情況以及學(xué)生需要掌握哪些技能才能滿足市場的需求[5]。
三、結(jié)束語
軟件測試是軟件工程專業(yè)的重要課程,目前社會對軟件測試行業(yè)的培養(yǎng)方向也有著比較明確的期望,目前通過在教學(xué)過程中的不斷思考和實(shí)踐,使學(xué)生對課本知識的理解更加深刻,自主思考問題能力和實(shí)踐能力也得到提高。但隨著社會對測試人員的要求越來越高,如何提高教學(xué)質(zhì)量和教學(xué)效果和如何培養(yǎng)符合社會需求的復(fù)合型人才仍是軟件測試教學(xué)不斷努力的方向和目標(biāo)。
參考文獻(xiàn):
[1]鐘久隆,路桂明.高職院?!盾浖y試》課程教學(xué)改革探索與實(shí)踐[J].教改創(chuàng)新,2012(1):130—132
[2]雷雁,凌寶慧,王鎣.淺議研究型學(xué)習(xí)在軟件測試教學(xué)中的運(yùn)用[J].科技信息,2011(30):255
[3]蘭景英,范勇.基于項目驅(qū)動的軟件測試人才培養(yǎng)模式[J].計算機(jī)教育,2011(6):32—35
[4]王敏,陳亞光.軟件測試實(shí)驗教學(xué)探索[J].計算機(jī)教育,2011(5):53—56
[5]李紅霞,陳再新.基于市場需求的軟件測試專業(yè)的教學(xué)改革[J].科技信息,2010(5):215