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