摘 要: 軟件測(cè)試是軟件工程專(zhuān)業(yè)開(kāi)設(shè)的一門(mén)專(zhuān)業(yè)必修課程,針對(duì)軟件測(cè)試課程教學(xué)中存在的問(wèn)題,提出采用項(xiàng)目驅(qū)動(dòng)的教學(xué)模式。該模式基于真實(shí)的項(xiàng)目,以學(xué)生為主體,以項(xiàng)目驅(qū)動(dòng)進(jìn)行教學(xué),通過(guò)教學(xué)流、測(cè)試流兩種活動(dòng)流并行,將軟件測(cè)試?yán)碚撝R(shí)融入到實(shí)踐活動(dòng)中。該模式在軟件測(cè)試教學(xué)中取得了良好的效果。
關(guān)鍵詞: 軟件測(cè)試; 項(xiàng)目驅(qū)動(dòng); 教學(xué)模式; 測(cè)試流
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)03-62-02
0 引言
軟件測(cè)試形成了一個(gè)新興的行業(yè)。軟件測(cè)試的工作貫穿于整個(gè)軟件產(chǎn)品生產(chǎn)過(guò)程的始終,是保證軟件質(zhì)量的有效手段。軟件測(cè)試課程是軟件工程專(zhuān)業(yè)的必修課程之一,是一門(mén)理論性和實(shí)踐性都很強(qiáng)的專(zhuān)業(yè)課。該課程對(duì)于人才的培養(yǎng)目標(biāo)是:掌握軟件測(cè)試和軟件質(zhì)量的基本理論、常用的測(cè)試方法和自動(dòng)化測(cè)試工具,能夠編寫(xiě)測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試用例、完成軟件初步測(cè)試。
目前軟件測(cè)試行業(yè)人才嚴(yán)重不足。據(jù)企業(yè)專(zhuān)職軟件測(cè)試人員分布調(diào)查,27.5%的企業(yè)目前沒(méi)有專(zhuān)業(yè)的軟件測(cè)試人員,43.5%的企業(yè)軟件測(cè)試人員的數(shù)量在1~10人之間。為了適應(yīng)行業(yè)人才需求,國(guó)內(nèi)高校紛紛開(kāi)設(shè)軟件測(cè)試課程。但軟件測(cè)試在國(guó)內(nèi)高校中尚屬一門(mén)新興的課程,缺少對(duì)不同開(kāi)發(fā)方式和應(yīng)用場(chǎng)景的軟件測(cè)試方法介紹,學(xué)生對(duì)軟件測(cè)試過(guò)程缺乏完整的認(rèn)識(shí),學(xué)習(xí)主動(dòng)性不高,甚至認(rèn)為軟件測(cè)試是一門(mén)文字性課程。如何進(jìn)行軟件測(cè)試教學(xué)方法調(diào)整以適應(yīng)業(yè)界需求已成為一個(gè)亟待解決的問(wèn)題。
1 軟件測(cè)試課程教學(xué)存在的主要問(wèn)題
1.1 學(xué)生學(xué)情分析
軟件測(cè)試是對(duì)軟件形成過(guò)程中的文檔、數(shù)據(jù)和程序等內(nèi)容進(jìn)行測(cè)試,而不僅僅是對(duì)程序進(jìn)行測(cè)試,這需要學(xué)生對(duì)軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計(jì),軟件的開(kāi)發(fā)技術(shù)等有一定的了解。
在還沒(méi)有完全理解軟件工程相關(guān)理論時(shí),就開(kāi)始進(jìn)行軟件測(cè)試課程的學(xué)習(xí),會(huì)導(dǎo)致學(xué)生對(duì)軟件測(cè)試?yán)斫獾钠睢@?,認(rèn)為軟件測(cè)試就是找出軟件項(xiàng)目中的錯(cuò)誤,是簡(jiǎn)單而枯燥的工作,因而只重視開(kāi)發(fā)技術(shù)的培養(yǎng),不重視甚至忽略測(cè)試技術(shù)的掌握。
1.2 教學(xué)材料分析
軟件測(cè)試方面的書(shū)籍大多是翻譯的,而且多是培訓(xùn)用書(shū)或介紹軟件測(cè)試工具的書(shū),而能夠滿足高校軟件測(cè)試課程的教材較少。在當(dāng)前市面上的軟件測(cè)試教材中,大部分也只是闡述空洞的理論,附加簡(jiǎn)單而又陳舊的工具介紹,這些理念和工具很多已經(jīng)被業(yè)界淘汰,這樣的教材難以適應(yīng)當(dāng)前市場(chǎng)對(duì)軟件測(cè)試人才的需求。
軟件測(cè)試工具較多、范圍廣、不易把握重點(diǎn),而大部分測(cè)試工具如:LoadRunner、WinRunner、JUnit、C++Test等都是英文版本,工具書(shū)較難讀懂。教學(xué)過(guò)程中沒(méi)有相關(guān)的軟件產(chǎn)品供學(xué)生測(cè)試,以驗(yàn)證所學(xué)的理論,達(dá)不到理想的教學(xué)效果。
1.3 教學(xué)方法分析
傳統(tǒng)教學(xué)手段是以課堂教授為主的“灌輸式”教學(xué)。教師授課時(shí)主要是在分析一門(mén)課程知識(shí)結(jié)構(gòu)的基礎(chǔ)上,循序漸進(jìn)地講授一門(mén)課程的知識(shí)點(diǎn),學(xué)生按部就班地學(xué)習(xí)知識(shí)點(diǎn)。傳統(tǒng)教學(xué)法過(guò)于理論,學(xué)生往往在學(xué)了一堆理論知識(shí)后對(duì)如何測(cè)試實(shí)際項(xiàng)目還是很茫然。雖然傳統(tǒng)教學(xué)法在某些教學(xué)環(huán)節(jié)也會(huì)給出一些實(shí)例或小項(xiàng)目,但是對(duì)于整個(gè)課程來(lái)說(shuō),這些實(shí)例或小項(xiàng)目是孤立的、彼此沒(méi)有聯(lián)系的,以至學(xué)生掌握的知識(shí)也是零散的,不系統(tǒng)的,缺乏對(duì)課程的整體把握。
1.4 考核方式分析
課程考核是課程教學(xué)過(guò)程中的重要一環(huán),是檢測(cè)和促進(jìn)學(xué)生學(xué)習(xí)效果的重要手段。目前學(xué)生考核體系基本以閉卷形式的終結(jié)性考核成績(jī)?yōu)橹?,以考勤、課堂表現(xiàn)、作業(yè)等組成的平時(shí)成績(jī)?yōu)檩o的考核方式。這種方式存在的問(wèn)題主要是:以期末考試成績(jī)?yōu)橹兀己藘?nèi)容相對(duì)片面,注重的是軟件測(cè)試基礎(chǔ)理論知識(shí),對(duì)軟件測(cè)試應(yīng)用知識(shí)的能力考查不夠,過(guò)分注重書(shū)本知識(shí)而忽略了軟件測(cè)試綜合應(yīng)用能力的整體考查。
2 基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試教學(xué)法探索
欲改善上述局面,就應(yīng)結(jié)合學(xué)生的專(zhuān)業(yè)特色,在教學(xué)過(guò)程中以實(shí)際工程項(xiàng)目為主線,把軟件項(xiàng)目的整體思想納入到本課程中來(lái),讓學(xué)生在學(xué)習(xí)過(guò)程中積累項(xiàng)目測(cè)試經(jīng)驗(yàn),掌握項(xiàng)目測(cè)試的流程,增加學(xué)生對(duì)課程目的性的認(rèn)識(shí),提高學(xué)生的積極性。
項(xiàng)目驅(qū)動(dòng)式教學(xué)法是一種建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的、有別于傳統(tǒng)教學(xué)的新型教學(xué)方法。建構(gòu)既是對(duì)新知識(shí)的理解與掌握,同時(shí)又包含對(duì)原有經(jīng)驗(yàn)和知識(shí)的改造和重組,綜合形成新的知識(shí)建構(gòu)。該方法提倡以學(xué)生為中心的學(xué)習(xí)。在整個(gè)教學(xué)過(guò)程中教師起組織者、指導(dǎo)者、幫助者和促進(jìn)者的作用,教師利用情境、協(xié)作、會(huì)話等學(xué)習(xí)環(huán)境要素充分發(fā)揮學(xué)生的主動(dòng)性、積極性和創(chuàng)造性,最終使學(xué)生有效地掌握當(dāng)前所學(xué)知識(shí)。
2.1 軟件項(xiàng)目前期準(zhǔn)備階段
項(xiàng)目是項(xiàng)目驅(qū)動(dòng)教學(xué)的核心,整個(gè)教學(xué)過(guò)程都始終圍繞項(xiàng)目展開(kāi)。項(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í)問(wèn)題為背景材料,從熟悉項(xiàng)目著手能充分激發(fā)學(xué)生的學(xué)習(xí)熱情。項(xiàng)目能覆蓋學(xué)生已經(jīng)學(xué)習(xí)過(guò)的知識(shí)點(diǎn),如:軟件工程的基礎(chǔ)理論,系統(tǒng)的分析設(shè)計(jì),軟件的開(kāi)發(fā)技術(shù),從源頭上保證知識(shí)的完整性。
2.1.2 項(xiàng)目規(guī)模、難度適中
項(xiàng)目教學(xué)法中選擇的項(xiàng)目規(guī)模和難度都應(yīng)適中。如果項(xiàng)目規(guī)模和難度過(guò)大,軟件測(cè)試用例的設(shè)計(jì)難度大,學(xué)生不容易完成。項(xiàng)目規(guī)模和難度過(guò)小,則涉及的知識(shí)點(diǎn)少,不能反映學(xué)生對(duì)軟件測(cè)試用例設(shè)計(jì)的理解程度。因此,設(shè)計(jì)的項(xiàng)目應(yīng)保證學(xué)生通過(guò)努力能夠完成,這樣可以樹(shù)立學(xué)生完成任務(wù)的信心,充分調(diào)動(dòng)學(xué)生的積極性和主觀能動(dòng)性。
2.1.3 項(xiàng)目規(guī)范
由于軟件測(cè)試是對(duì)軟件形成過(guò)程中的文檔、數(shù)據(jù)、程序,以及所有相關(guān)文檔進(jìn)行測(cè)試,所以被測(cè)軟件應(yīng)該是按照軟件工程思想設(shè)計(jì)開(kāi)發(fā)的,每個(gè)階段的工作都應(yīng)當(dāng)在文檔中體現(xiàn)出來(lái),文檔撰寫(xiě)有嚴(yán)格的標(biāo)準(zhǔn)和規(guī)范。
項(xiàng)目來(lái)源:
途徑1:所在學(xué)院的每門(mén)課程都有多名教師建立的課程群,測(cè)試案例可以由教授面向?qū)ο蟪绦蛟O(shè)計(jì)、綜合課程設(shè)計(jì)、系統(tǒng)分析與設(shè)計(jì)等課程的教師提出要求,選擇典型的作品充實(shí)案例庫(kù)。
途徑2:從畢業(yè)設(shè)計(jì)中選擇,大四的學(xué)生都要作畢業(yè)設(shè)計(jì),教師可以從其提取一些典型系統(tǒng),充實(shí)案例庫(kù)。
途徑3:來(lái)自學(xué)生科研項(xiàng)目,每年都有大量的學(xué)生申報(bào)科研項(xiàng)目,教師可以收集其優(yōu)秀作品,充實(shí)案例庫(kù)。
途徑4:來(lái)自校企合作項(xiàng)目,教師在和企業(yè)合作開(kāi)發(fā)項(xiàng)目時(shí),在合同允許的情況下,將開(kāi)發(fā)系統(tǒng)作為實(shí)際案例,充實(shí)案例庫(kù)。
2.2 基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試教學(xué)法實(shí)施
基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試教學(xué)法實(shí)施是在學(xué)生已完成軟件系統(tǒng)分析與設(shè)計(jì)的實(shí)踐,并有一定的編程能力的基礎(chǔ)上設(shè)計(jì)的,涉及兩種活動(dòng)流:教學(xué)流和測(cè)試流。
⑴ 教學(xué)流
由于軟件測(cè)試課程的知識(shí)點(diǎn)前后關(guān)聯(lián)關(guān)系不大,教師在教學(xué)流過(guò)程中,不必在講清楚課程的基礎(chǔ)知識(shí)和基本技能后再進(jìn)行項(xiàng)目的教學(xué),可直接面對(duì)具體任務(wù)進(jìn)行教學(xué)。在教師帶領(lǐng)學(xué)生分析解決具體項(xiàng)目的方法時(shí),將相關(guān)聯(lián)的知識(shí)點(diǎn)串聯(lián)起來(lái),讓學(xué)生在學(xué)習(xí)各階段的理論知識(shí)同時(shí),完成軟件相應(yīng)的測(cè)試活動(dòng)。
基于項(xiàng)目驅(qū)動(dòng)的教學(xué)流按照項(xiàng)目測(cè)試流程大體可分為三個(gè)階段:軟件測(cè)試基礎(chǔ)、軟件測(cè)試技術(shù)和軟件測(cè)試管理。
第一階段,學(xué)生主要進(jìn)行部分軟件開(kāi)發(fā)和相應(yīng)產(chǎn)品的靜態(tài)測(cè)試。在開(kāi)發(fā)的過(guò)程中通過(guò)規(guī)范的開(kāi)發(fā)文檔和測(cè)試文檔,給學(xué)生展示單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試的密切關(guān)系,讓學(xué)生深刻認(rèn)識(shí)到軟件測(cè)試是緊密伴隨軟件開(kāi)發(fā)過(guò)程而進(jìn)行的活動(dòng)。
第二階段,主要進(jìn)行測(cè)試設(shè)計(jì)和實(shí)現(xiàn)。軟件測(cè)試中對(duì)具體項(xiàng)目常常有多種測(cè)試方法,教師可只講解其中最實(shí)用的方法。其他方法的應(yīng)用作為討論、實(shí)驗(yàn)、課外作業(yè)的形式由學(xué)生完成,讓學(xué)生在完成項(xiàng)目實(shí)踐的過(guò)程中學(xué)習(xí)知識(shí)、解決問(wèn)題、提高技能。本階段的教學(xué)應(yīng)只包括對(duì)重點(diǎn)教學(xué)內(nèi)容的講解,其過(guò)程應(yīng)該精練,以便為學(xué)生學(xué)習(xí)提供廣泛的空間,為學(xué)生順利完成項(xiàng)目打下良好的基礎(chǔ)。
第三階段,主要進(jìn)行測(cè)試管理和報(bào)告。通過(guò)測(cè)試用例管理工具、案例以及規(guī)范的軟件測(cè)試報(bào)告的介紹和展示,讓學(xué)生深刻認(rèn)識(shí)軟件測(cè)試需要規(guī)范的測(cè)試管理過(guò)程,軟件測(cè)試中測(cè)試需求、測(cè)試用例、測(cè)試業(yè)務(wù)組件、測(cè)試計(jì)劃、測(cè)試執(zhí)行、測(cè)試結(jié)果、缺陷都需要進(jìn)行合理的規(guī)劃和管理。
⑵ 測(cè)試流
基于項(xiàng)目驅(qū)動(dòng)的測(cè)試流是由教師給定多個(gè)項(xiàng)目,并提出測(cè)試要求,教學(xué)過(guò)程中將團(tuán)隊(duì)測(cè)試的思想貫穿始終,將學(xué)生分成若干小組,以小組為單位完成項(xiàng)目測(cè)試。每個(gè)小組由1個(gè)項(xiàng)目組長(zhǎng)、1個(gè)測(cè)試組長(zhǎng)和3個(gè)測(cè)試組員構(gòu)成。小組內(nèi)部責(zé)任明確,選擇有較強(qiáng)實(shí)踐能力和溝通能力學(xué)生擔(dān)任項(xiàng)目組長(zhǎng),負(fù)責(zé)制定測(cè)試方案、任務(wù)分配和人員協(xié)調(diào)工作。選擇有較強(qiáng)學(xué)習(xí)能力和技術(shù)能力學(xué)生擔(dān)任測(cè)試組長(zhǎng),負(fù)責(zé)分析軟件需求、獲得測(cè)試需求、制定測(cè)試策略方案、確定測(cè)試方法。小組內(nèi)每個(gè)學(xué)生必須完成最基本的任務(wù),即測(cè)試用例的設(shè)計(jì)、編寫(xiě)、執(zhí)行和維護(hù)等各項(xiàng)任務(wù)。
測(cè)試流執(zhí)行過(guò)程中,學(xué)生探究性地學(xué)習(xí)相關(guān)的知識(shí)和技能,在知識(shí)運(yùn)用中掌握實(shí)踐技能。通過(guò)任務(wù)的實(shí)施和完成,讓學(xué)生體驗(yàn)到知識(shí)應(yīng)用的成就感,增強(qiáng)學(xué)習(xí)的積極性,促使學(xué)生更加主動(dòng)地、探索性地學(xué)習(xí)相關(guān)的知識(shí)和技能,使知識(shí)技能的掌握更加牢固。測(cè)試流執(zhí)行過(guò)程中,教師為項(xiàng)目組提供相關(guān)的學(xué)習(xí)資料資源,引導(dǎo)學(xué)生有目的性、有針對(duì)性地學(xué)習(xí),同時(shí)關(guān)注學(xué)生開(kāi)展項(xiàng)目的全過(guò)程,嚴(yán)格要求按照項(xiàng)目的具體實(shí)施流程進(jìn)行,比如軟件測(cè)試項(xiàng)目必須按照測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行和測(cè)試結(jié)果分析來(lái)進(jìn)行,每個(gè)階段的工作必須撰寫(xiě)規(guī)范的技術(shù)報(bào)告。
測(cè)試流的最后階段,教師組織各測(cè)試小組進(jìn)行課程設(shè)計(jì)答辯。答辯時(shí),組間相互評(píng)價(jià),從文檔規(guī)范性、測(cè)試方法的正確性和有效性、測(cè)試技術(shù)應(yīng)用的廣泛性等方面選出最優(yōu)測(cè)試小組。最終經(jīng)過(guò)教師對(duì)學(xué)生單人考核,結(jié)束本次測(cè)試流教學(xué)。
3 結(jié)束語(yǔ)
本文針對(duì)軟件測(cè)試課程教學(xué)中存在的問(wèn)題,提出采用項(xiàng)目驅(qū)動(dòng)的教學(xué)模式,通過(guò)教學(xué)流、測(cè)試流兩種活動(dòng)流,將軟件測(cè)試?yán)碚撝R(shí)融入到實(shí)踐活動(dòng)中。該教學(xué)模式打破了傳統(tǒng),激發(fā)了學(xué)生的學(xué)習(xí)興趣,有利于學(xué)生對(duì)測(cè)試過(guò)程形成一個(gè)整體認(rèn)識(shí),符合軟件工程系統(tǒng)化思想。由于軟件測(cè)試相關(guān)理論還在不斷完善,實(shí)驗(yàn)理論、實(shí)驗(yàn)方法手段、實(shí)驗(yàn)技術(shù)正在飛速發(fā)展,這就需要我們?cè)诮虒W(xué)過(guò)程中不斷地探索、總結(jié)、完善軟件測(cè)試教學(xué)的內(nèi)容和方法,進(jìn)一步提高課程的教學(xué)效果和質(zhì)量。
參考文獻(xiàn):
[1] 龔宇輝.軟件測(cè)試課程教學(xué)改革研究[J].教育與職業(yè),2010.24:
130-131
[2] 張向宏.軟件測(cè)試?yán)碚撆c實(shí)踐教程[M].人民郵電出版社,2009.
[3] 聶長(zhǎng)海.關(guān)于軟件測(cè)試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011.38(2):1-3
[4] 程茂,溫靜,吳玉潔.軟件測(cè)試課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào)
(教育科學(xué)版),2010.12(4):117-120
[5] 于秀山,于洪敏.軟件測(cè)試新技術(shù)與實(shí)踐[M].電子工業(yè)出版社,2006.