劉進 亢艷芹 王勇 劉濤 張新楊


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