

摘要:基于開(kāi)源的軟件測(cè)試實(shí)踐教學(xué)方案是軟件測(cè)試實(shí)踐教學(xué)的一種大膽嘗試,具有示范性和推廣性,北京工業(yè)大學(xué)軟件學(xué)院在這方面開(kāi)展了多年的實(shí)踐活動(dòng)。文章介紹了開(kāi)源軟件測(cè)試實(shí)踐教學(xué)的方案、對(duì)應(yīng)的大綱和具體實(shí)施情況。
關(guān)鍵詞:開(kāi)源軟件;軟件測(cè)試;實(shí)踐教學(xué)
軟件測(cè)試是軟件工程的一個(gè)重要分支,是軟件質(zhì)量保證的重要基礎(chǔ)?,F(xiàn)代軟件測(cè)試與傳統(tǒng)的軟件測(cè)試不一樣,它貫穿軟件工程整個(gè)生命周期(從需求分析、軟件設(shè)計(jì)、代碼開(kāi)發(fā),一直到最后測(cè)試、驗(yàn)收和維護(hù)),涉及各種軟件開(kāi)發(fā)技術(shù)、應(yīng)用技術(shù)以及測(cè)試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域(如桌面軟件、網(wǎng)絡(luò)應(yīng)用、信息系統(tǒng)、電子服務(wù)、嵌入式系統(tǒng)、數(shù)字娛樂(lè)等),面臨不同的專(zhuān)業(yè)領(lǐng)域知識(shí),所要求的投入與軟件開(kāi)發(fā)相比規(guī)模同等甚至更高。另外,軟件測(cè)試是一項(xiàng)需具備較強(qiáng)專(zhuān)業(yè)技術(shù)、學(xué)習(xí)和創(chuàng)新能力的工作,軟件測(cè)試人員除了需要有一定的軟件測(cè)試實(shí)踐經(jīng)驗(yàn)外,必須要具有縝密的邏輯思維能力、全面的技術(shù)能力、各種測(cè)試工具的使用能力、敢想敢干的創(chuàng)新能力,要有較強(qiáng)的責(zé)任心和團(tuán)隊(duì)合作精神以及出色的溝通能力等專(zhuān)業(yè)素質(zhì)。要成為一名合格的軟件測(cè)試人才需要經(jīng)過(guò)嚴(yán)格系統(tǒng)化的專(zhuān)業(yè)培養(yǎng),并且在專(zhuān)業(yè)培養(yǎng)過(guò)程中一定要結(jié)合軟件測(cè)試專(zhuān)業(yè)化的特殊要求,強(qiáng)調(diào)軟件測(cè)試人員的工程實(shí)踐能力。最后,要真正實(shí)現(xiàn)軟件測(cè)試的工程化,其基礎(chǔ)之一就是要有一大批支持軟件測(cè)試工程化的工具,軟件測(cè)試工具對(duì)于實(shí)現(xiàn)軟件測(cè)試的工程化是至關(guān)重要的。
終上所述,我們得出結(jié)論:軟件測(cè)試是一門(mén)對(duì)工程實(shí)踐要求極高,對(duì)學(xué)生動(dòng)手能力要求極強(qiáng)的軟件工程核心課程。目前許多高校不同學(xué)歷教育的計(jì)算機(jī)專(zhuān)業(yè)或軟件工程專(zhuān)業(yè)均開(kāi)設(shè)了這門(mén)課程,并配套有大量學(xué)時(shí)的實(shí)驗(yàn)課程和課程設(shè)計(jì)課程。社會(huì)上許多培訓(xùn)機(jī)構(gòu)針對(duì)軟件測(cè)試人才短缺、職業(yè)穩(wěn)定等因素產(chǎn)生的就業(yè)需求,競(jìng)相開(kāi)展軟件測(cè)試的職業(yè)培訓(xùn)/職業(yè)實(shí)訓(xùn)。在這種前提或背景下,軟件測(cè)試實(shí)踐教學(xué)的實(shí)驗(yàn)方案設(shè)計(jì)、實(shí)驗(yàn)大綱制定、實(shí)驗(yàn)室建設(shè),測(cè)試工具配備、以及測(cè)試活動(dòng)開(kāi)展等就成了高等學(xué)校和培訓(xùn)機(jī)構(gòu)非常重視和亟待解決的問(wèn)題。
1基于開(kāi)源的軟件測(cè)試實(shí)驗(yàn)方案
如何開(kāi)展軟件測(cè)試的實(shí)驗(yàn),不同學(xué)校、不同培訓(xùn)機(jī)構(gòu)、不同授課老師或?qū)嶒?yàn)指導(dǎo)老師都有著各自的方法和實(shí)驗(yàn)內(nèi)容,但他們都有著大致同樣的感受。這是因?yàn)椋?br/> 1) 軟件測(cè)試貫穿軟件工程整個(gè)軟件生命周期,涉及各種軟件開(kāi)發(fā)技術(shù)、應(yīng)用技術(shù)以及測(cè)試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域,需要用到多種測(cè)試技術(shù)、方法和測(cè)試類(lèi)型。
2) 要建設(shè)能夠讓學(xué)生或受訓(xùn)人員全面參與這些實(shí)驗(yàn)或?qū)嵺`的軟件測(cè)試實(shí)驗(yàn)室,特別是全面配置商用軟件測(cè)試工具,這幾乎是不可能的。除一次性投入滿足數(shù)十位學(xué)生同時(shí)上機(jī)進(jìn)行實(shí)驗(yàn)或?qū)嵺`的要求外,經(jīng)常性的升級(jí)維護(hù)費(fèi)用就會(huì)讓條件優(yōu)越的高?;蚺嘤?xùn)機(jī)構(gòu)難以承受,更不要說(shuō)大多數(shù)條件不優(yōu)越的高等院校。
3) 如果我們完全依靠商用軟件測(cè)試工具開(kāi)展軟件測(cè)試的實(shí)踐教學(xué),除了面太窄、投入太高外,主要是很難對(duì)在這方面取得的實(shí)踐教學(xué)成果進(jìn)行推廣和普及。
基于以上原因,我們就要考慮是否利用
l3YKp01+sNDo5hOnN5EJPRNuA5IdzVFuUOEqQSY9gc8=開(kāi)源軟件資源進(jìn)行軟件測(cè)試實(shí)驗(yàn)室的建設(shè),開(kāi)源軟件資源能否支持軟件測(cè)試實(shí)驗(yàn)室的建設(shè),基于開(kāi)源的軟件測(cè)試實(shí)驗(yàn)室能否很好地支持軟件測(cè)試課程的實(shí)驗(yàn)教學(xué),以及是否有配套的實(shí)驗(yàn)教程支持測(cè)試課程實(shí)驗(yàn)教學(xué)的開(kāi)展。
1.1軟件測(cè)試課程的系列教材建設(shè)情況
北京工業(yè)大學(xué)軟件學(xué)院作為第一批國(guó)家示范性軟件學(xué)院,積極面向IT產(chǎn)業(yè),努力為北京服務(wù)。近幾年來(lái),學(xué)院結(jié)合北京市及學(xué)校大力開(kāi)展的質(zhì)量工程,以教育部特色專(zhuān)業(yè)建設(shè)、國(guó)家人才培養(yǎng)模式創(chuàng)新試驗(yàn)區(qū)建設(shè)以及北京市軟件工程實(shí)踐教學(xué)示范中心建設(shè)為契機(jī),將課程建設(shè)、教材建設(shè)(包括實(shí)驗(yàn)教材)作為學(xué)院的一項(xiàng)重要工作來(lái)抓,并對(duì)精品課程建設(shè)以及配套的教材建設(shè)進(jìn)行規(guī)劃。結(jié)合學(xué)院的師資隊(duì)伍情況,以軟件工程核心課程建設(shè)為突破口,開(kāi)展軟件測(cè)試的精品課程建設(shè),并與清華大學(xué)出版社合作,陸續(xù)推出軟件測(cè)試系列教材——《軟件測(cè)試大學(xué)教程》、《軟件測(cè)試實(shí)驗(yàn)指導(dǎo)教程》以及《嵌入式軟件測(cè)試實(shí)用技術(shù)》。
1.2基于實(shí)驗(yàn)教材的軟件測(cè)試實(shí)驗(yàn)方案
《軟件測(cè)試實(shí)驗(yàn)指導(dǎo)教程》是一個(gè)很好的基于開(kāi)源軟件測(cè)試工具的軟件測(cè)試實(shí)驗(yàn)開(kāi)展解決方案。盡管該教材是《軟件測(cè)試大學(xué)教程》配套的實(shí)驗(yàn)教材,但實(shí)際上是一本獨(dú)立的軟件測(cè)試實(shí)驗(yàn)教材,覆蓋了軟件評(píng)測(cè)的各個(gè)環(huán)節(jié)和知識(shí)點(diǎn)。
該教材最突出的特點(diǎn)有如下幾個(gè)方面:
1) 以主流的開(kāi)源軟件測(cè)試工具應(yīng)用為基礎(chǔ),以實(shí)戰(zhàn)能力培養(yǎng)為目的,為高等院校不同學(xué)歷教育的軟件工程專(zhuān)業(yè)和計(jì)算機(jī)相近專(zhuān)業(yè)開(kāi)設(shè)軟件測(cè)試課程提供了全方位的、并且可行或可用的實(shí)踐教學(xué)方案和實(shí)踐教學(xué)平臺(tái),并提供了配套的實(shí)踐教學(xué)案例。
2) 該教材在設(shè)計(jì)實(shí)驗(yàn)教學(xué)重點(diǎn)和實(shí)踐能力要求時(shí),充分考慮了國(guó)內(nèi)大多數(shù)院校實(shí)驗(yàn)教學(xué)經(jīng)費(fèi)有限,無(wú)法全方位引進(jìn)商用軟件測(cè)試工具,無(wú)法開(kāi)展軟件測(cè)試實(shí)驗(yàn)室建設(shè)的實(shí)際情況,對(duì)國(guó)內(nèi)外主流的開(kāi)源軟件測(cè)試工具進(jìn)行全面分析、研究和優(yōu)選,并經(jīng)過(guò)北京工業(yè)大學(xué)軟件學(xué)院6輪實(shí)踐教學(xué)的檢驗(yàn)。
3) 該書(shū)的實(shí)驗(yàn)內(nèi)容廣,涉及的軟件測(cè)試知識(shí)多,全面介紹開(kāi)源軟件測(cè)試工具。無(wú)論是教師進(jìn)行實(shí)驗(yàn)指導(dǎo),還是培訓(xùn)機(jī)構(gòu)進(jìn)行實(shí)戰(zhàn)訓(xùn)練或者學(xué)生進(jìn)行自學(xué)自練,都是不可多得的實(shí)驗(yàn)教材。
4) 該教材與國(guó)內(nèi)常見(jiàn)的軟件測(cè)試實(shí)踐教材重點(diǎn)講授某個(gè)或某幾個(gè)商用軟件測(cè)試工具的方法不同,它是以現(xiàn)代IT企業(yè)軟件測(cè)試需求為背景,以主流的軟件測(cè)試技術(shù)和方法為基礎(chǔ),以當(dāng)前的軟件測(cè)試應(yīng)用為實(shí)例,全面介紹了支持各種軟件測(cè)試類(lèi)型的開(kāi)源軟件測(cè)試工具的主要功能、應(yīng)用流程及實(shí)際案例,涉及到測(cè)試管理、缺陷管理、代碼分析、單元測(cè)試、系統(tǒng)測(cè)試、性能測(cè)試以及軟件綜合評(píng)測(cè)等重要實(shí)踐內(nèi)容,所選擇的開(kāi)源測(cè)試軟件工具覆蓋軟件測(cè)試的各個(gè)測(cè)試階段和各種測(cè)試類(lèi)型,保證了國(guó)內(nèi)許多院校在辦學(xué)條件不足,實(shí)驗(yàn)教學(xué)經(jīng)費(fèi)有限,無(wú)法全方位引進(jìn)商用軟件測(cè)試工具的情況下,仍然能夠開(kāi)設(shè)出軟件測(cè)試實(shí)踐類(lèi)課程[1]。
2基于開(kāi)源的軟件測(cè)試實(shí)驗(yàn)大綱設(shè)計(jì)
盡管各個(gè)院校軟件測(cè)試課程的設(shè)置不一樣(如理論課或理論課+實(shí)驗(yàn)課,學(xué)時(shí)、學(xué)分等),但由于《軟件測(cè)試實(shí)驗(yàn)指導(dǎo)教程》的實(shí)驗(yàn)內(nèi)容相當(dāng)豐富、齊全和完整,且難度不一,軟件測(cè)試實(shí)驗(yàn)大綱完全可以依據(jù)該教材中的實(shí)驗(yàn)內(nèi)容來(lái)制定。下面我們以北京工業(yè)大學(xué)軟件學(xué)院的軟件測(cè)試課程為例介紹軟件測(cè)試實(shí)驗(yàn)大綱。
北京工業(yè)大學(xué)軟件學(xué)院的軟件測(cè)試課程包括理論課及課程設(shè)計(jì)兩部分。理論課32學(xué)時(shí),16周完成,每周2學(xué)時(shí),最后參加學(xué)校考試周的閉卷考試。課程設(shè)計(jì)是期末小學(xué)期2周集中進(jìn)行,共60學(xué)時(shí)。
無(wú)論是理論課實(shí)驗(yàn)還是課程設(shè)計(jì),都是以軟件測(cè)試工具為核心,結(jié)合精心設(shè)計(jì)的測(cè)試案例,使學(xué)生從測(cè)試需求、測(cè)試環(huán)境建立、測(cè)試策略、測(cè)試技術(shù)應(yīng)用、測(cè)試用例設(shè)計(jì)、測(cè)試用例執(zhí)行和測(cè)試結(jié)果分析以及缺陷跟蹤管理與測(cè)試報(bào)告文檔撰寫(xiě)等方面完成實(shí)驗(yàn)內(nèi)容和課程設(shè)計(jì)內(nèi)容。
2.1理論課程的實(shí)驗(yàn)大綱
軟件測(cè)試?yán)碚撜n中安排了6個(gè)學(xué)時(shí)的實(shí)驗(yàn)內(nèi)容,包括三個(gè)方面的內(nèi)容(每部分內(nèi)容2學(xué)時(shí)):代碼靜態(tài)檢測(cè)、Java單元測(cè)試、Gtk+界面測(cè)試。其實(shí)驗(yàn)內(nèi)容如表1、表2和表3所示。
2.2課程設(shè)計(jì)大綱
軟件測(cè)試課程設(shè)計(jì)按照《軟件測(cè)試實(shí)驗(yàn)指導(dǎo)教程》開(kāi)設(shè)了6大類(lèi)型的軟件測(cè)試項(xiàng)目,每個(gè)類(lèi)型的測(cè)試項(xiàng)目要求學(xué)生同時(shí)使用主流的開(kāi)源測(cè)試工具,體會(huì)先進(jìn)和成熟的軟件測(cè)試技術(shù),提高學(xué)生的實(shí)戰(zhàn)能力。
類(lèi)型1:以測(cè)試過(guò)程管理為主,實(shí)驗(yàn)重點(diǎn)是缺陷管理、測(cè)試管理以及缺陷管理與測(cè)試管理的集成。涉及到的開(kāi)源工具主要有Mantis、Bugzilla、Testlink、Testopia等。
類(lèi)型2:以程序的靜態(tài)分析為主,實(shí)驗(yàn)內(nèi)容是程序理解、代碼靜態(tài)分析。涉及到的開(kāi)源工具主要有O