◆劉舒婷
(吉林大學(xué)軟件學(xué)院)
軟件測(cè)試思維在“程序設(shè)計(jì)基礎(chǔ)”教學(xué)中的培養(yǎng)初探
◆劉舒婷
(吉林大學(xué)軟件學(xué)院)
針對(duì)“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)的現(xiàn)狀進(jìn)行了分析,提出了四點(diǎn)軟件測(cè)試思維與“程序設(shè)計(jì)基礎(chǔ)”課程知識(shí)點(diǎn)的結(jié)合的措施,同時(shí)以長(zhǎng)春建筑學(xué)院為例,通過(guò)實(shí)踐數(shù)據(jù)說(shuō)明了該教學(xué)思想有助于提高課堂的有效教學(xué),為程序設(shè)計(jì)基礎(chǔ)課程的教學(xué)改革提出了新的思想。
軟件測(cè)試思維 程序設(shè)計(jì)基礎(chǔ) 教學(xué)改革
《程序設(shè)計(jì)基礎(chǔ)》是各高校計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的專(zhuān)業(yè)基礎(chǔ)課之一,大多數(shù)高校通過(guò)講授C或C++ 語(yǔ)言來(lái)鍛煉培養(yǎng)學(xué)生的邏輯思維能力、計(jì)算能力和編程能力,為以后學(xué)生學(xué)習(xí)其他程序設(shè)計(jì)類(lèi)課程打下堅(jiān)實(shí)的基礎(chǔ)。探討如何通過(guò)軟件測(cè)試思維的引入提高學(xué)生的編程興趣,增強(qiáng)領(lǐng)域知識(shí)對(duì)教學(xué)具有實(shí)際意義。
當(dāng)前,大多數(shù)教師在教授該門(mén)課程時(shí)只重視語(yǔ)法和算法的講授,而不注重程序設(shè)計(jì)的綜合能力的培養(yǎng),學(xué)生沒(méi)有學(xué)習(xí)興趣,教學(xué)效果不好。分析造成該狀況的原因主要有以下三點(diǎn):(1)缺乏融合軟件工程思維的程序設(shè)計(jì)基礎(chǔ)教材。經(jīng)調(diào)查發(fā)現(xiàn),大多數(shù)的面向普通本科的C/C++教材的內(nèi)容的編排都是傳統(tǒng)模式,以講解語(yǔ)法為主,在講解循環(huán)結(jié)構(gòu)、結(jié)構(gòu)體、鏈表等章節(jié)時(shí)融入了數(shù)據(jù)結(jié)構(gòu)、算法的知識(shí),只有近幾年年出版的個(gè)別教材對(duì)內(nèi)容進(jìn)行了改革,從案例角度、軟件工程的角度、算法的角度來(lái)進(jìn)行講解,但這種教材使用范圍較小。(2)教師講授該課程的知識(shí)體系和思想意識(shí)落后。很多教師不喜歡改變?cè)械闹R(shí)體系,因循守舊,只考慮把課程教完就萬(wàn)事大吉,而沒(méi)有從學(xué)生角度考慮問(wèn)題。(3)部分教師自身知識(shí)體系不完整。由于高校教師除了從事日常教學(xué)外還承擔(dān)著科研的任務(wù),每個(gè)人都有自己的研究領(lǐng)域,所以對(duì)自身不擅長(zhǎng)的領(lǐng)域內(nèi)容欠缺或忽視,這也直接體現(xiàn)本門(mén)課程的教學(xué)中。
眾所周知,程序是構(gòu)成軟件的重要的組成部分,程序的正確性、健壯性問(wèn)題關(guān)系到整個(gè)軟件的質(zhì)量。所以應(yīng)該培養(yǎng)學(xué)生編程能力的同時(shí)加強(qiáng)對(duì)軟件測(cè)試能力的培養(yǎng),增強(qiáng)對(duì)軟件和程序的宏觀認(rèn)識(shí)。
首先,教師在教學(xué)過(guò)程中應(yīng)將軟件工程中強(qiáng)調(diào)的“5W+1H”的思想注入到學(xué)生的思想意識(shí)中,在此可解釋為Why(程序的作用)、What(程序的功能)、Who(開(kāi)發(fā)者)、When(開(kāi)發(fā)時(shí)間)、Where(開(kāi)發(fā)地點(diǎn))、How(程序的算法),使學(xué)生建立軟件的概念,強(qiáng)調(diào)在編寫(xiě)完程序后要選用恰當(dāng)?shù)臏y(cè)試數(shù)據(jù),進(jìn)行足夠多的測(cè)試,保證程序的正確性、健壯性,當(dāng)測(cè)試達(dá)到要求后才能夠提交程序。
其次,將軟件測(cè)試的思想、方法融入到程序設(shè)計(jì)基礎(chǔ)課程的講授中。部分軟件測(cè)試思想與C/C++各知識(shí)點(diǎn)的結(jié)合列舉如下:
(1)將黑盒、白盒測(cè)試技術(shù)融入到選擇、循環(huán)結(jié)構(gòu)內(nèi)容中。白盒測(cè)試重點(diǎn)測(cè)試程序的內(nèi)部結(jié)構(gòu)是否正確,C/C++課程中的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)有多條路徑,在判定節(jié)點(diǎn)擁有多個(gè)判定條件,在講解該結(jié)構(gòu)時(shí)應(yīng)將白盒測(cè)試中的邏輯覆蓋思想融入其中。在完善程序時(shí)可采用等價(jià)劃分和邊界值分析兩種思想選取測(cè)試數(shù)據(jù),利用等價(jià)劃分技術(shù)分析數(shù)據(jù)有利于提高程序的健壯性。
(2)單元測(cè)試、集成測(cè)試與函數(shù)的結(jié)合??梢詫語(yǔ)言中的函數(shù)理解成模塊,每一個(gè)函數(shù)完成一個(gè)獨(dú)立的功能,編寫(xiě)由多個(gè)函數(shù)構(gòu)成的程序時(shí),應(yīng)該對(duì)每個(gè)函數(shù)進(jìn)行單元測(cè)試,確認(rèn)每個(gè)函數(shù)的正確性,然后逐一集成,最終完成整個(gè)程序的測(cè)試。
(3)編寫(xiě)程序時(shí)應(yīng)融入的軟件測(cè)試意識(shí):在編寫(xiě)C/C++程序時(shí)要讓學(xué)生知道絕對(duì)正確的程序是不存在的,再小的程序也存在著錯(cuò)誤;在學(xué)生編寫(xiě)完程序后應(yīng)讓學(xué)生組成小組,互相測(cè)試對(duì)方的程序,這也是軟件測(cè)試中第三方測(cè)試的作用;鼓勵(lì)創(chuàng)造性思維,提出不合理數(shù)據(jù)進(jìn)行軟件測(cè)試。
該教學(xué)思想已經(jīng)應(yīng)用于長(zhǎng)春建筑學(xué)院14級(jí)信息安全專(zhuān)業(yè)學(xué)生的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)。該課程開(kāi)設(shè)于第一學(xué)期,學(xué)時(shí)均為84學(xué)時(shí),其中理論42學(xué)時(shí),上機(jī)42學(xué)時(shí),選用的教材相同。信息1401為改革班,信息1402為傳統(tǒng)班。在2014-2015學(xué)年一學(xué)期《程序設(shè)計(jì)基礎(chǔ)》期末考試中,信息1401平均分73.3分,優(yōu)秀率6%,及格率72%;信息1402平均分54.71分,優(yōu)秀率0%,及格率52%。在2014-2015學(xué)年二學(xué)期的《程序設(shè)計(jì)基礎(chǔ)》課程設(shè)計(jì)中,信息1401優(yōu)秀4人,良好8人,中等15人,及格3人,不及格0人;信息1402優(yōu)秀2人,良好5人,中等17人,及格5人,不及格0人。
以上數(shù)據(jù)說(shuō)明將軟件測(cè)試思想融入到程序設(shè)計(jì)課程的教學(xué)中可以提高教學(xué)效果,增強(qiáng)學(xué)生的學(xué)習(xí)興趣和學(xué)生解決問(wèn)題的能力,尤其在第二學(xué)期的程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)中,信息1401班學(xué)生更能夠從整體上考慮整個(gè)系統(tǒng)功能的劃分,完成各部分程序的設(shè)計(jì),整個(gè)系統(tǒng)的功能和性能更好,系統(tǒng)更穩(wěn)定。
以上改革實(shí)踐證明,在講授程序設(shè)計(jì)基礎(chǔ)課程時(shí),除了講授語(yǔ)法、算法之外,還應(yīng)該有意識(shí)的培養(yǎng)學(xué)生的測(cè)試能力,使學(xué)生對(duì)程序有更完整的認(rèn)識(shí)。在將軟件測(cè)試思想融入課程教學(xué)的同時(shí)要注意循序漸進(jìn),不能夠喧賓奪主,讓軟件測(cè)試的思想不知不覺(jué)進(jìn)入到學(xué)生的意識(shí)中。希望的這種教學(xué)思想能夠?yàn)槌绦蛟O(shè)計(jì)基礎(chǔ)課程教學(xué)注入新的活力。
[1]田紅磊.基于計(jì)算思維的計(jì)算機(jī)程序設(shè)計(jì)課程教學(xué)改革.[J].課程教育研究,2015,(3):73-74.
[2]沈濟(jì)南,梁芳.程序設(shè)計(jì)類(lèi)課程實(shí)踐教學(xué)方式改革研究[J].教育論壇,2014,(52):99-100.
[3]張進(jìn),葉慧婷.程序設(shè)計(jì)新型教學(xué)方法研究[J].中國(guó)現(xiàn)代教育裝備,2015,(1):104-106.
[4]張紅.軟件測(cè)試教學(xué)中思維能力的培養(yǎng)與探索[J].計(jì)算機(jī)教育,2013,(24):1-4.
[5]楊冬風(fēng).任務(wù)驅(qū)動(dòng)式教學(xué)模式在C語(yǔ)言程序設(shè)計(jì)課程中的應(yīng)用[J].現(xiàn)代農(nóng)業(yè)科技,2015,(4):326-327.
1.吉林省教育科學(xué)“十二五”規(guī)劃課題,批準(zhǔn)號(hào)GH150390。
課題名稱(chēng):基于軟件工程思維的計(jì)算機(jī)程序設(shè)計(jì)課程教學(xué)方法與評(píng)價(jià)體系改革實(shí)踐。
2.吉林省高等教育學(xué)會(huì)2015年度高教科研課題,課題編號(hào)JGJX2015D291。
課題名稱(chēng):基于軟件工程思維的C語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法與評(píng)價(jià)體系改革研究。