董瑞志
摘要:為培養(yǎng)卓越軟件測試人才,常熟理工學院進行了十余年的《軟件測試與質(zhì)量保證》課程建設(shè)探索。本文分析國內(nèi)軟件測試教學存在的不足,從教學內(nèi)容組織、實驗教學改革和工程實踐能力培養(yǎng)等方面闡述常熟理工學院《軟件測試與質(zhì)量保證》課程改革的各項措施。
關(guān)鍵詞:軟件測試;軟件質(zhì)量保證;教學改革;卓越工程師
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2015)06-0160-02
一、引言
為培養(yǎng)創(chuàng)新能力強、適應(yīng)社會經(jīng)濟發(fā)展需要的軟件測試人才,適應(yīng)卓越軟件工程師培養(yǎng)要求,軟件測試課程亟須改變傳統(tǒng)的教學理念,更新教學內(nèi)容,改進教學方法。筆者結(jié)合自己10余年軟件測試課程的教學科研和工程實踐經(jīng)驗,分別從教學內(nèi)容組織、實驗教學改革和工程實踐能力培養(yǎng)等方面論述《軟件測試與質(zhì)量保證》課程改革的措施和體會。
二、國內(nèi)高校在軟件測試教育方面存在的問題
通過多年軟件測試教學實踐和調(diào)研,發(fā)現(xiàn)國內(nèi)高校在軟件測試教學中普遍存在如下問題:
(一)教材選擇取舍兩難
企業(yè)要求軟件測試工程師掌握軟件測試及軟件質(zhì)量保證知識及技能。但是,在售中文圖書中(以2014年6月7日當當網(wǎng)在售中文圖書作為基礎(chǔ)數(shù)據(jù)),與軟件測試相關(guān)的書籍居多達300多種,軟件質(zhì)量保證方面圖書有10種,同時包含軟件測試與軟件質(zhì)量保證知識的中文圖書僅有6種。分析僅有的6種軟件測試與質(zhì)量保證教材,發(fā)現(xiàn)這幾種教材都偏重軟件測試理論和方法的講解,很少涉及軟件測試工具、軟件測試項目實踐等,難以適應(yīng)軟件測試人才培養(yǎng)的要求。
(二)實驗教學存在知識點遺漏
統(tǒng)計分析與軟件測試、質(zhì)量保證相關(guān)的中文圖書發(fā)現(xiàn):作為發(fā)現(xiàn)軟件缺陷最高效的靜態(tài)測試技術(shù)現(xiàn)有的中文圖書很少系統(tǒng)講述。除了軟件測試工程師認證考試培訓教材之外,其他圖書均未闡述軟件測試人才必需的專業(yè)外語知識。在內(nèi)容組織上,上述教材普遍均未按照軟件測試項目實踐的過程進行系統(tǒng)化的組織,兄弟院校在軟件測試與質(zhì)量保證教學過程中也存在上述知識點遺漏情況。
(三)思維鍛煉不足
自主學習能力培養(yǎng)有助于學生自主學習掌握軟件測試新的方法、技術(shù)和工具,使學生盡快適應(yīng)新的軟件測試環(huán)境;逆商是積極應(yīng)對挫折、擺脫困境和超越困難的能力,逆商培養(yǎng)有利于學生積累軟件測試項目實踐的經(jīng)驗教訓,從而促進其軟件測試工程師職業(yè)素養(yǎng)的形成。但是,國內(nèi)高校在軟件測試與質(zhì)量保證教學時,很少關(guān)注學生自主學習能力和逆商的培養(yǎng)。
三、教學改革內(nèi)容
在卓越工程師計劃驅(qū)動下,以軟件企業(yè)對軟件測試人才的需求和國家軟件測試工程師認證要求為導(dǎo)向,我們整合已有的校企合作課程資源,按照軟件測試三要素組織課堂教學內(nèi)容,強化實驗教學環(huán)節(jié),采用項目驅(qū)動的案例教學法開展教學活動,取得了較好的教學效果。
(一)課堂教學改革
1.教材選擇。我們選擇同濟大學朱少民教授編寫的《全程軟件測試》作為課程教材,該書按照軟件測試項目實踐的實際過程組織軟件測試的基本概念、原理、方法、技術(shù)以及最佳實踐等知識,為學生系統(tǒng)化學習軟件測試技術(shù)、開展軟件測試實踐提供具有高度可操作性的指南;選擇NIIT培訓教程《Software Testing and Quality Assurance:Student Guide》,作為專業(yè)英語教程,學生閱讀該教程可以了解印度在軟件測試職業(yè)教育方面的成功經(jīng)驗,為學生專業(yè)英語水平的提高提供便利。
2.教學內(nèi)容的組織。教學內(nèi)容組織方面,圍繞軟件質(zhì)量,把課堂教學內(nèi)容劃分成軟件質(zhì)量管理、軟件質(zhì)量保證、軟件測試基礎(chǔ)和軟件測試技術(shù)等課程模塊。(1)軟件質(zhì)量管理模塊,介紹軟件問題的分類、軟件缺陷管理、軟件質(zhì)量基礎(chǔ)和軟件質(zhì)量管理等知識;(2)軟件質(zhì)量保證模塊,講解常用的軟件質(zhì)量保證措施(包括軟件質(zhì)量保證團隊的組織、軟件質(zhì)量管理措施、軟件質(zhì)量標準、項目早期階段的質(zhì)量保證措施、軟件開發(fā)維護階段的質(zhì)量保證措施等),讓學生認識到軟件質(zhì)量的提高需要綜合運用軟件質(zhì)量保證的各項措施;(3)軟件測試基礎(chǔ)模塊,介紹軟件測試的定義與目的、軟件測試原則、軟件測試過程模型、軟件測試停止標準、軟件測試類型的劃分、軟件測試自動化以及軟件測試人才的職業(yè)素質(zhì)等。(4)軟件測試技術(shù)模塊,突出軟件測試用例的作用,按照軟件測試項目實施過程組織,包括軟件測試計劃、測試設(shè)計(包括測試過程設(shè)計、測試用例設(shè)計、驅(qū)動模塊及樁模塊的設(shè)計)、測試實施(包括測試腳本編寫、編碼實現(xiàn)驅(qū)動模塊和樁模塊)、測試執(zhí)行、測試評估、軟件缺陷管理等知識點。軟件測試執(zhí)行方面,根據(jù)軟件測試執(zhí)行的層次劃分為單元測試、集成測試、確認測試和系統(tǒng)測試。
(二)實驗教學改革
如何在有限的實驗課時內(nèi),最大限度地加深學生對軟件測試技術(shù)的理解,增強其軟件測試實踐能力,是實驗教學的主要任務(wù)。根據(jù)軟件測試項目實施過程編排教學內(nèi)容,突出軟件測試與質(zhì)量保證的基本方法、原理和業(yè)界常用工具的使用,以反映中小企業(yè)軟件測試項目實踐的經(jīng)驗。
1.基于Microsoft Project的軟件項目計劃。軟件項目計劃及進度管理,既是軟件質(zhì)量保證中重要的管理部件,也是開展軟件測試活動的前提。為此,安排軟件項目計劃實驗,要求學生使用Microsoft Project建立軟件項目計劃。實驗內(nèi)容包括使用“資源工作表”定義軟件測試項目所需的各類資源、使用甘特圖制定軟件測試計劃、運用跟蹤甘特圖跟蹤項目進展,等等。
2.軟件測試與軟件調(diào)試。軟件測試的目的是發(fā)現(xiàn)軟件系統(tǒng)中潛在缺陷,而缺陷解決則通過軟件調(diào)試手段實現(xiàn)。本次實驗以員工工資核算軟件Employee作為測試對象,要求學生在Eclipse開發(fā)環(huán)境中用Java語言描述軟件測試過程,發(fā)現(xiàn)Employee中人為注入的軟件缺陷,然后應(yīng)用Java調(diào)試器的斷點調(diào)試功能,結(jié)合回歸測試手段修訂所發(fā)現(xiàn)的缺陷。endprint
3.BugFree軟件缺陷管理。軟件缺陷管理貫穿軟件測試項目的始終,記錄軟件缺陷從發(fā)現(xiàn)、修復(fù)、回歸測試直至關(guān)閉軟件缺陷的全過程。“BugFree軟件缺陷管理”介紹開源缺陷管理軟件BugFree的軟件缺陷管理思想,要求學生掌握BugFree安裝與配置、軟件缺陷管理等技能。
4.軟件靜態(tài)測試。軟件靜態(tài)測試是軟件測試技術(shù)中發(fā)現(xiàn)軟件缺陷效率最高的技術(shù)。我們安排“軟件靜態(tài)測試實驗”,講解軟件制品閱讀、靜態(tài)分析的技巧,還介紹如何運用CheckStyle、FindBugs等靜態(tài)測試工具分析程序源代碼、目標程序中潛在缺陷。
5.JUnit單元測試?!癑Unit單元測試”實驗要求學生編寫Triangle類描述三角形問題,使用等價類劃分方法、邊界值分析方法為三角形問題設(shè)計測試用例,把測試用例編碼成為基于JUnit框架的測試腳本,執(zhí)行測試腳本以發(fā)現(xiàn)潛在缺陷。推薦學有余力的學生自學JMock,綜合應(yīng)用JUnit和JMock進行對Java應(yīng)用系統(tǒng)進行集成測試。
6.QuickTest Professional功能測試。安排“QuickTest Professional(簡稱QTP)功能測試”實驗,要求學生為機票預(yù)訂系統(tǒng)設(shè)計測試用例,錄用人工測試的過程形成機票預(yù)訂系統(tǒng)的測試腳本框架,把測試用例中軟件預(yù)期執(zhí)行結(jié)果和測試實際執(zhí)行結(jié)果的比較編碼成為QTP檢查點,產(chǎn)生測試腳本。然后,在回放測試腳本,產(chǎn)生功能測試執(zhí)行報告。
7.LoadRunner性能測試。該實驗講述如何運用HP Mercury LoadRunner對Web系統(tǒng)進行性能測試,讓學生在實驗過程中理解虛擬用戶技術(shù),掌握基于LoadRunner的性能測試技術(shù)的過程及技巧。
(三)工程實踐能力培養(yǎng)
課程開篇即向?qū)W生介紹軟件測試人員的就業(yè)前景、能力要求。利用我校網(wǎng)絡(luò)課程平臺BlackBoard把講稿、實驗講義、實驗視頻、參考文獻等課程素材發(fā)布到BlackBoard,要求學生在學有余力的前提下利用課外時間完成課程擴展任務(wù),鍛煉學生的自主學習能力。通過臨時調(diào)整實驗地點,要求學生在新的測試環(huán)境中快速完成測試環(huán)境構(gòu)建,引導(dǎo)學生漸進地解決測試實踐過程中遇到的各類問題,鍛煉學生的逆商能力。
四、結(jié)束語
《軟件測試與質(zhì)量保證》通過十余年的建設(shè)已形成了較完善的課程體系,十多輪的授課實踐積累了豐富的教學經(jīng)驗。本課程作為軟件工程專業(yè)卓越工程師課程已進行了2輪教學,最近一輪的課程教學評價學生評分為98.19,教學效果較好。
當前,我校正轉(zhuǎn)型應(yīng)用技術(shù)大學,這將對本課程的教學內(nèi)容、教學方法、教學手段等提出更多、更高的要求。鑒于此,本課題的教學團隊正積極更新課程體系,以適合長三角地區(qū)中小型軟件企業(yè)對軟件測試人才的能力要求。
參考文獻:
[1]陳翔,鞠小林.卓越計劃驅(qū)動下的軟件測試技術(shù)課程教學改革[J].計算教育,2013,(13).
[2]張紅,劉京志,胡景凡,侯霞.軟件測試教學中思維能力的培養(yǎng)與探索[J].計算教育,2013,(24).
[3]宋佩維.卓越工程師創(chuàng)新能力培養(yǎng)的思路與途徑[J].中國電力教學,2011,(7).
[4]唐新華.CDIO工程教育在推進工程應(yīng)用型本科學生逆商教育中的作用[J].教育與職業(yè),2010,(3).endprint