董玉坤
摘要:本文針對軟件測試課程培養(yǎng)的學(xué)生與卓越軟件測試工程師要求的差距,分析了目前軟件測試教學(xué)中存在的不足,提出了“方法—過程—工具—案例”四位一體的教學(xué)方法,旨在培養(yǎng)理論扎實、工程能力強的卓越軟件測試工程師,以實現(xiàn)與軟件測試行業(yè)的銜接。
關(guān)鍵詞:測試工程師;軟件測試;教學(xué)改革;工程能力
中圖分類號:G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2016)01-0078-02
隨著軟件產(chǎn)業(yè)的迅猛發(fā)展,軟件的復(fù)雜性也日益增加,導(dǎo)致對軟件產(chǎn)品的質(zhì)量提出了更高的要求,這也使得軟件測試工程師成為每個軟件企業(yè)都不可或缺的技術(shù)人才。目前許多軟件工程專業(yè)教育者進(jìn)行了積極的探索,許多學(xué)校也提出了一些方案,做了有益的嘗試。
中國石油大學(xué)(華東)的軟件工程專業(yè)入選了山東省卓越工程師培養(yǎng)計劃,為了執(zhí)行國家對軟件工程專業(yè)卓越工程師培養(yǎng)的精神,融合學(xué)校的“三三三”培養(yǎng)體系的頂層設(shè)計,為培養(yǎng)卓越的軟件測試工程師,我們也在軟件測試課程的培養(yǎng)方案、課程結(jié)構(gòu)、教學(xué)方法和考評體系等方面進(jìn)行了一系列的改革和探索。軟件測試課程作為軟件工程專業(yè)的一門核心課,是對理論性和工程性都有很高要求的課程,一方面要求學(xué)生必須有扎實的理論基礎(chǔ)知識,另一方面要求學(xué)生能夠熟練地應(yīng)用理論基礎(chǔ)知識轉(zhuǎn)化為實際的工程應(yīng)用。
雖然已有的教學(xué)改革改善了教學(xué)效果,但目前的軟件測試課程教學(xué)依然存在幾個比較突出的問題:第一,教學(xué)內(nèi)容抽象,學(xué)生學(xué)習(xí)興趣不高;第二,教學(xué)內(nèi)容碎片化,學(xué)生沒有完善的測試知識體系;第三,輕視測試工具應(yīng)用,培養(yǎng)的學(xué)生與企業(yè)需求難以銜接;第四,教學(xué)案例簡單,學(xué)生沒有完整的測試思路;第五,學(xué)生對軟件測試存在認(rèn)識偏差,缺乏從事軟件測試職業(yè)的意愿。
為了解決上述問題,我們提出了“方法為基、過程引導(dǎo)、工具跟進(jìn)、案例貫穿”的“方法—過程—工具—案例”四位一體的教學(xué)方法,旨在培養(yǎng)理論扎實、功能能力強的卓越軟件測試工程師,以實現(xiàn)與軟件測試行業(yè)的銜接。
一、課程體系與教學(xué)內(nèi)容設(shè)計
根據(jù)國際標(biāo)準(zhǔn)的SWEBOK軟件核心知識體系中軟件測試的知識域,充分調(diào)研軟件行業(yè)中對卓越軟件測試工程師的需求,建立軟件測試能力培養(yǎng)標(biāo)準(zhǔn),明確各培養(yǎng)標(biāo)準(zhǔn)與軟件測試課程內(nèi)容的對應(yīng)關(guān)系。表1為我們初步建立的軟件測試能力培養(yǎng)標(biāo)準(zhǔn)列表。
四位一體的教學(xué)方法,就是以講授軟件測試的基本理論與方法與基礎(chǔ),按照軟件開發(fā)過程與測試過程為主線引導(dǎo),輔以介紹典型軟件測試工程的應(yīng)用,并在課程教學(xué)中選擇一個案例貫穿整個教學(xué)。具體教學(xué)路線如圖1所示。
為此,我們重新規(guī)劃了教學(xué)內(nèi)容,教學(xué)內(nèi)容的組織如圖2所示。
二、具體教學(xué)內(nèi)容
四位一體的教學(xué)方法圍繞著測試方法、測試過程、測試工具以及測試案例進(jìn)行展開。在具體實施過程中,構(gòu)建了測試工具箱與測試案例庫,并編寫了適合該教學(xué)方法的教材。
(一)測試工具箱的構(gòu)建
工具的掌握是工程能力的重要一環(huán),因此在軟件測試課程及相應(yīng)實踐課上有必要掌握一些典型測試工具的使用。軟件測試方法體系龐大,造成軟件測試工具眾多,而且一些商業(yè)化的測試工具價格不菲,為了適應(yīng)課堂教學(xué)的實際,需要對各種測試工具進(jìn)行比較篩選,選擇合適的測試工具并構(gòu)造測試工具箱。在多年的軟件測試課程教學(xué)中我們已經(jīng)積累了一些適合教學(xué)的測試工具,包括測試管理工具TestCenter、功能測試工具AutoRunner、源代碼缺陷檢測工具在選擇測試工具FindBugs與DTS、性能測試工具Jmeter等。我們將繼續(xù)本著覆蓋多個測試方法、開源工具優(yōu)先等原則完善測試工具箱,并對工具箱的工具進(jìn)行分層次、分類別的維護(hù)更新。
(二)測試案例庫的建立
案例教學(xué)是促進(jìn)對理論知識消化、掌握實際問題解決策略的一種有效教學(xué)方法。軟件測試課程要求所選案例能夠體現(xiàn)測試方法與工具的應(yīng)用。為構(gòu)建適合教學(xué)的測試案例庫,我們一方面需要對已有的案例進(jìn)行刻意的改造,也選擇了一些新型示范應(yīng)用項目,另外選取了一些有代表意義的開源工程,以及教師科研轉(zhuǎn)化項目、學(xué)生優(yōu)秀實習(xí)項目與課外設(shè)計項目等完善測試案例庫。目前的軟件測試教學(xué)中,我們選擇了一個所在學(xué)院使用的本科畢業(yè)設(shè)計管理系統(tǒng)作為案例進(jìn)行了講解,起到了較好的教學(xué)效果。
(三)融合軟件測試的方法、過程、工具、案例的教材的編寫
為適應(yīng)四位一體教學(xué)方法,我們自主編寫了軟件測試教材。教材以RUP的四個階段為線,將測試方法與工具分化在不同階段進(jìn)行介紹,加強了測試管理內(nèi)容。軟件測試?yán)碚摪凑蒸~骨圖式的組織,例如對于白盒測試技術(shù)的介紹,分解為兩章,其中在RUP的細(xì)化階段介紹了邏輯覆蓋測試、基本路徑覆蓋測試,在RUP的構(gòu)造階段介紹了數(shù)據(jù)流測試、變異測試,這種組織安排有利于學(xué)生根據(jù)軟件測試過程循序漸進(jìn)地掌握相關(guān)知識。
(四)“方法—過程—工具—案例”四位一體教學(xué)方法
該方法基于所修訂的軟件測試教材與測試工具箱、測試案例庫,沿用RUP的四個階段進(jìn)行教學(xué)的安排,在教學(xué)中以測試?yán)碚撆c方法介紹為根本,并輔以案例介紹以加深對實際測試的理解,再選用合適的測試工具,具體實施如圖1所示?!胺椒榛?、過程引導(dǎo)、工具跟進(jìn)、案例貫穿”的教學(xué)將培養(yǎng)學(xué)生既具備扎實的理論基礎(chǔ),又擁有工程實踐能力,符合卓越軟件測試工程師的要求。
三、結(jié)語
該次軟件測試課程教學(xué)改革圍繞卓越軟件測試工程師的培養(yǎng)目標(biāo),注重理論素養(yǎng)與工程能力的雙重提高。教學(xué)實踐表明,“方法—過程—工具—案例”四位一體的教學(xué)方法,有一個圍繞軟件測試過程的邏輯性強的理論知識體系,輔以工具的訓(xùn)練,再以實際案例貫穿介紹測試方法與測試工具的應(yīng)用,學(xué)生學(xué)習(xí)的積極性和主動性都得到了大幅提升,有意識地增加了軟件測試的內(nèi)容,說明學(xué)生已經(jīng)意識到了軟件測試的重要性,并能夠在軟件項目開發(fā)中執(zhí)行軟件測試的諸多活動。初步的課程改革取得了一定的效果,筆者今后將對軟件測試適合敏捷等流行的軟件開發(fā)過程進(jìn)行改造已有的方法,并擴充完善已有的測試工具箱與案例庫,以培養(yǎng)卓越的軟件測試工程師,滿足軟件測試行業(yè)的需求。
參考文獻(xiàn):
[1]李月龍.高校軟件測試課程教學(xué)改革研究[J].計算機教育,2014,(7):16-18.
[2]鄧松.遞進(jìn)式軟件測試創(chuàng)新人才培養(yǎng)模式研究[J].計算機教育,2014,(7):5-7.