劉進(jìn) 亢艷芹 王勇 劉濤 張新楊
摘要:“學(xué)生為中心、產(chǎn)出為導(dǎo)向和持續(xù)改進(jìn)”工程教育認(rèn)證理念,為傳統(tǒng)的軟件測試技術(shù)課程教學(xué)提供了改革的指導(dǎo)性方向。為此,該文分別從課程定位、理論教學(xué)內(nèi)容、實驗教學(xué)內(nèi)容、考核方式四個角度對工程認(rèn)證教育理念下的軟件測試技術(shù)課程進(jìn)行研究,并提出一些改革思路和方法。
關(guān)鍵詞:工程教育認(rèn)證;軟件測試技術(shù);教學(xué)內(nèi)容
中圖分類號:G642.4 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)11-0047-02
1研究背景
隨著我國計算機技術(shù)、信息技術(shù)及軟件產(chǎn)業(yè)的迅速崛起,軟件測試工程師在諸多領(lǐng)域中越來越受到重視,培養(yǎng)軟件測試專業(yè)技術(shù)人才的軟件測試技術(shù)課程,顯得尤為重要。工程教育認(rèn)證最終是以輸出評價為依據(jù),針對軟件測試技術(shù)這門課程,以產(chǎn)業(yè)應(yīng)用為導(dǎo)向的培養(yǎng)人才模式是教學(xué)的核心思想,不僅需要具有扎實理論沉淀及豐富實踐積累的一線教師,還應(yīng)能充分發(fā)揮教師在專業(yè)技能傳授中的主導(dǎo)作用,關(guān)鍵就是如何結(jié)合工程教育理念及實際產(chǎn)業(yè)需求對課程進(jìn)行深化改革。
2課程定位分析
《軟件測試技術(shù)》課程是軟件工程專業(yè)學(xué)生的必修課程。通過本門課程的系統(tǒng)學(xué)習(xí)后,要求學(xué)生能夠掌握軟件測試的基本理論,熟練掌握軟件測試基本方法及運用相關(guān)技術(shù)對軟件項目進(jìn)行測試,并能設(shè)計軟件測試用例和撰寫測試報告,熟悉相關(guān)自動化測試工具的使用。課程的學(xué)習(xí)能夠為本專業(yè)學(xué)生從事軟件開發(fā)及測試工作和進(jìn)一步計算機領(lǐng)域深入研究提供基礎(chǔ)理論知識和基本實踐技能。
課程目標(biāo)對學(xué)生能力要求如下:
課程目標(biāo)1:掌握軟件測試的基本方法及充分陛度量準(zhǔn)則,掌握基于單元測試、集成測試等方法,能夠使用一種框架,選擇合適的測試方法對給定軟件進(jìn)行測試的能力。
課程目標(biāo)2:具備給定一種待測軟件,評估和分析測試任務(wù)、明確測試計劃、設(shè)計測試用例及運行測試用例的能力,并對該軟件的工程和社會影像進(jìn)行分析和評價。
課程目標(biāo)3:能夠針對軟件相關(guān)領(lǐng)域中的復(fù)雜工程問題與相關(guān)領(lǐng)域技術(shù)人員及社會公眾進(jìn)行交流,掌握相關(guān)的測試報告和測試文檔撰寫方法,能清晰表述及分析軟件中存在的缺陷。
在學(xué)生素質(zhì)提高、能力培養(yǎng)和知識獲取3個方面工程教育認(rèn)證都有對應(yīng)的明確任務(wù),專業(yè)所培養(yǎng)的學(xué)生在畢業(yè)時需要達(dá)到相對應(yīng)的12項要求。而本門軟件測試技術(shù)課程為專業(yè)核心課程,要求在12項畢業(yè)要求中能突出體現(xiàn)第5、6和10項要求,具體如表1所示。
3基于工程教育認(rèn)證的課程教學(xué)內(nèi)容研究
3.1理論教學(xué)內(nèi)容
1)教學(xué)內(nèi)容不夠合理
傳統(tǒng)教學(xué)中,教師更關(guān)注理論性知識點的講授,學(xué)生難以通過實踐做一個完整的軟件工程項目。目前,現(xiàn)有一些優(yōu)秀的軟件測試相關(guān)教學(xué)資源中,也僅包括專業(yè)教師所設(shè)計一些單一有限的測試示例,或者從相關(guān)學(xué)習(xí)網(wǎng)站(如討論論壇或開源社區(qū)等)中下載的一些簡單測試項目,這些教學(xué)資源之間往往是孤立的,并不能從根本上發(fā)揮培養(yǎng)學(xué)生實踐技能的作用。
2)能力培養(yǎng)目標(biāo)不達(dá)標(biāo)
軟件測試技術(shù)課程,在培養(yǎng)學(xué)生解決一定復(fù)雜工程問題能力中具有重要的地位。通過該課程的學(xué)習(xí),學(xué)生應(yīng)具有以下能力:獲取項目相關(guān)信息的能力、解決工程實際問題的能力、在具體的軟件工程項目中鍛煉測試技術(shù)、能利用團(tuán)隊合作的優(yōu)勢高效解決工程復(fù)雜問題、可持續(xù)發(fā)展的學(xué)習(xí)能力。但傳統(tǒng)教學(xué)重理論輕實踐,內(nèi)容陳舊,學(xué)生學(xué)習(xí)興趣不高,主動分析思考啟發(fā)不足,缺乏解決問題的內(nèi)在動力,最終導(dǎo)致工程應(yīng)用能力和創(chuàng)新能力的欠缺。
對軟件測試技術(shù)課程進(jìn)行工程教育認(rèn)證改革,需要轉(zhuǎn)變思想,更新教學(xué)理念,進(jìn)一步修改完善課程教學(xué)大綱,調(diào)整課程教學(xué)模式和內(nèi)容。作者所在高校結(jié)合軟件工程專業(yè)工程教育認(rèn)證建設(shè)要求和人才培養(yǎng)需要,對課程教學(xué)內(nèi)容進(jìn)行整合優(yōu)化,并引入翻轉(zhuǎn)課堂教學(xué)模式,通過軟件測試工程項目案例講授基本理論知識,采用智慧教學(xué)平臺“雨課堂”課前發(fā)布課程資源,課中開展主題討論,課堂測驗等,課后在線互動答疑,實現(xiàn)線上線下相結(jié)合。
理論教學(xué)內(nèi)容及要求如下:
1)軟件測試概述:了解軟件測試工程師的工作;掌握軟件測試過程;掌握軟件測試的基本思想;了解構(gòu)造測試用例的方法。
2)邊界值測試:掌握軟件測試中的邊界值分析方法;掌握圖模型進(jìn)行軟件測試的內(nèi)涵;理解邊界值分析,邊界值測試測試、健壯性邊界值測試等相關(guān)方法的選取及意義;掌握邊界值測試的基本原則。
3)等價類測試:掌握等價類的劃分;掌握傳統(tǒng)的等價類測試方法;掌握改進(jìn)的等價類測試方法;熟練運用等價類測試的方法實現(xiàn)實際程序的測試;了解邊緣測試;掌握等價類測試原則和注意事項。
4)基于決策表的測試:掌握決策表的定義;掌握決策表測試過程及策略;掌握因果圖法與輸入域劃分約束之間的關(guān)系;掌握決策表測試技巧;掌握決策表測試原則和注意事項。
5)路徑測試:了解程序圖;掌握DD路徑的劃分;掌握基路徑測試的基本步驟;掌握路徑測試的基本原則和注意事項。
6)數(shù)據(jù)流測試:掌握數(shù)據(jù)流測試的定義和使用方法;掌握基于程序切片的測試;掌握部分程序切片工具;了解基于程序切片的測試用例選擇算法。
7)集成測試:掌握軟件測試充分性度量的意義;熟悉測試中的樁及驅(qū)動程序的意義;掌握不同覆蓋的測試充分性;了解不同覆蓋標(biāo)準(zhǔn)之間的區(qū)別和聯(lián)系。
8)系統(tǒng)測試:掌握系統(tǒng)測試?yán)锩婢€索的意義;掌握基于模型的線索;系統(tǒng)測試的覆蓋指標(biāo);了解長用例與短用例測試的區(qū)別;了解系統(tǒng)測試的相關(guān)方法。
9)面向?qū)ο鬁y試:了解關(guān)于面向?qū)ο鬁y試的概念及基本方法;理解面向?qū)ο鬁y試與傳統(tǒng)測試的不同,熟悉面向?qū)ο鬁y試中不同層次的測試方法。
3.2實驗教學(xué)內(nèi)容
在工程教育認(rèn)證理念的指導(dǎo)下,為配合理論課程學(xué)習(xí),單獨開設(shè)《軟件測試技術(shù)實驗》課程。本課程包括1個驗證類實驗課題、5個設(shè)計類實驗課題和1個綜合類實驗課題。其中,驗證型課題側(cè)重于靜態(tài)測試,使學(xué)生理解完整的項目文檔以及邏輯嚴(yán)謹(jǐn)?shù)某绦虼a對于軟件質(zhì)量的重要性。設(shè)計型實驗課題能夠讓學(xué)生快速掌握測試的基本方法。綜合型實驗課題其目的是提高學(xué)生解決一定軟件復(fù)雜工程問題的能力,培養(yǎng)軟件測試技能的同時更側(cè)重于分析解決問題的能力。針對實驗內(nèi)容和實驗題目的設(shè)計其出發(fā)點要以本專業(yè)學(xué)生為中心,合理安排難易程度,能夠讓大部分學(xué)生得到充分鍛煉,從而提高學(xué)生對本專業(yè)課程學(xué)習(xí)認(rèn)識度。
3.3改革考核方式
改革后課程最終考核包括30%平時評分和70%期末考試評分,其中平時評分又由50%作業(yè)和50%課內(nèi)討論兩部分組成,課堂作業(yè)部分對應(yīng)完成軟件測試技術(shù)課程目標(biāo)1和2兩部分,課內(nèi)討論部分包括課堂情況、小組溝通、問題表達(dá)、回答問題,學(xué)習(xí)態(tài)度等,對應(yīng)課程目標(biāo)1和3。期末考核內(nèi)容改革為簡答題、分析題和綜合設(shè)計題,對應(yīng)完成軟件測試課程目標(biāo)1和2兩部分。在整個課程的考核結(jié)束后,課程教師將按照預(yù)定的課程目標(biāo)達(dá)成度進(jìn)行統(tǒng)計和分析,對該課程的教學(xué)效果進(jìn)行總結(jié)和評價,最后做到持續(xù)改進(jìn)的效果。
4結(jié)束語
本文以工程教育認(rèn)證為導(dǎo)向?qū)浖y試技術(shù)課程進(jìn)行教學(xué)改革研究,將軟件測試技術(shù)課堂教學(xué)內(nèi)容整合為基礎(chǔ)知識,實用技術(shù)和實踐解決問題三大模塊,完善實驗實踐學(xué)習(xí)內(nèi)容,增大學(xué)生實踐動手環(huán)節(jié),更重要的是改革了教學(xué)方法,采用了從演示工程實例,抽象出測試模型到理論知識分析,再到創(chuàng)設(shè)軟件項目測試場景,學(xué)生分組討論形成總結(jié),完成專業(yè)知識理解,有目的地培養(yǎng)軟件專業(yè)學(xué)生的工程實踐能力。