999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分組軟件測試教學法探討

2008-12-31 00:00:00許棣華朱立華
計算機教育 2008年14期

摘要:本文提出了一種新的教學手段——分組軟件測試教學法,并針對當前高等教育中的計算機語言教學的弊端,分析了分組軟件測試教學法的教學效果及意義。

關鍵詞:分組軟件測試;軟件測試;編程興趣;測試用例

中圖分類號:G642文獻標識碼:B

1分組軟件測試教學法

1.1軟件測試方法

軟件測試是伴隨著軟件的產生而產生的,它是一種歷史悠久的,用來評價軟件的正確性、健壯性、功效和易用性的方法。當學生在編寫完一個程序,并通過編譯過程(語法檢查),最想知道的是這個程序是否符合當初題目所提出的要求,是否完成了所規定的功能,這就需要對程序進行測試。從軟件工程的角度來講,這個過程就是要對軟件進行單元測試的過程。白盒測試和黑盒測試是目前兩種最主要的測試技術。盒子是指被測試的軟件(或程序),白盒指的是源代碼或內部邏輯結構是可見的,反之就被稱為黑盒。就低年級學生的實際知識面水平來看,我們主要通過黑盒測試來引導學生測試程序的正確性。

黑盒測試又稱功能測試或數據驅動測試,它的測試過程如圖1。

程序運行后,通過終端輸入測試數據,得到輸出結果(也稱測試結果)。根據測試結果和預期結果的比較,可以對程序是否正確作出判斷,對存在哪些缺陷作出分析和評價,進而思考采取何種相應措施。黑盒測試的過程簡單,思路清晰,易于學生接受。

1.2實例闡述

軟件測試是個很有趣的過程,可是在測試過程及其相關環節中會遇到很多問題。這些問題的解答有利于對學生的正確引導,培養他們的興趣。譬如,我們知道軟件測試的目的是為了發現程序中的錯誤,而不是證明程序沒有錯誤。對于這一點,很多學生無法理解。為了理解這個問題,首先要使學生正確認識軟件錯誤。就目前學生的知識,可以提出以下三個問題:

(1) 軟件能否徹底被測試?回答是否定的。可以以“一元二次方程ax2+bx+c=0求根”的程序為例(例1),該程序需要輸入a、b、c這3個實數,每輸入一組數據,都會有不同結果(無實根、有兩個相等的實根、有兩個不等的實根),顯然,測試用例可以有無限多組(視不同的計算機硬件)。應該指出的是,軟件不能被徹底的測試并不否認軟件測試的作用。

(2) 發現的錯誤越多,是否說明殘留的錯誤越少?回答是否定的。因為修改過的程序可能引起更多的其他錯誤。引導學生理解“回歸測試”的概念,教會學生耐心并細致地保留測試數據及結果,根據修改的程序適當改變測試用例集等問題。

(3) 程序中的有些錯誤是否能在較早的時候避免?回答是肯定的。如在“判斷三條邊a、b、c可以構成何種三角形”的程序中(例2),如果在編寫源代碼前畫出程序流程圖,弄清楚不同形狀三角形之間的邏輯關系(見圖2),那么這將給測試減少了很多不必要的麻煩。

通過圍繞測試及相關問題的解答,使學生明白了軟件錯誤的概念,進行軟件測試的目的、步驟和基本方法。并配合具體例題進行說明和比較,在“提問-回答-解答-討論-驗證”的過程中,不僅活躍了課堂氣氛,更重要的是拓寬了學生的知識面,打破原有的編程過程中“靜”的一面,而是在“動”的過程中激發學生對程序更深層次的理解,培養了學生的編程興趣,使學生真正成為學習的主體,從而提高了他們分析問題和解決問題的能力。具體表現在以下幾個方面:

第一,引導學生養成良好的編程習慣,教會學生遇到問題不要心急,而是在編寫源代碼前,分析問題,弄清事物之間的內在聯系,抓住問題的本質特點,提高他們將具體問題進行數學抽象的能力,將問題的解決用流程圖的方式體現出來。這部分工作時間會用得多一些,對于初學者來說也容易忽視的,應該鼓勵學生多作嘗試。

第二,引導學生在設計測試用例時學會區分測試用例之間的等價關系,適當減少測試用例,提高測試的效率。例如,在例1中,分別找到一元二次方程在無實根、有兩個相等的實根、有兩個不等的實根三種情況下的三組測試用例即可。而在例2中,只要找出普通三角形、直角三角形、等腰三角形、等腰直角三角形、等邊三角形這幾組測試用例即可。這樣使得測試輸入的數據大大減少,并且覆蓋了幾乎所有的測試數據。

第三,引導學生在測試時,適當增加對邊界條件的測試用例。例如,在例1中,在a=0時就構不成一元二次方程,而是一元一次方程。在a=0的情況下,又有b=0或者b!=0的不同情況,等等;在例2中,要考慮輸入的三角形的三個邊的邊長a、b、c是否能構成三角形,如果出現負數或零,程序該如何處理等問題。這些雖然不是程序的主要功能,但不可忽視,因為在實際應用中可能出現。如果程序中對這些邊界條件都進行了處理,顯然程序是健壯的。

第四,當發現測試結果與預期結果存在差異時,引導學生能正確判斷可能出現的問題。要會使用適當的調試工具,找出錯誤所在。這一步也極為關鍵。以VC++6.0為例,有設置斷點(Breakpoint)、跟蹤(Trace)和觀察(View)等步驟,學生只要掌握了這些步驟,幾乎可以找到程序開發中可能產生的所有錯誤。

1.3分組測試

由于在測試過程中,不斷使用“回歸測試”,使得測試和調試的時間大大增加,很s多學生可能出現不耐煩的心理,甚至喪失信心,這時可采用學生之間分組交換測試的方法,即第一組的學生的程序,由第二組學生來測試,第二組學生的程序由第一組學生來,互相記錄下各自的測試數據及結果,判斷是否與預期結果一致,分析可能出現的問題及解決方案。這樣既可以增強合作與競爭意識,又可以使他們換位思考,拓寬思路,活躍課堂氣氛從而提高學生的實際編程能力。

2教學效果和意義

實踐表明,采用分組軟件測試教學法來培養和激發學生的編程興趣,切實提高學生編程能力,存在以下幾個優勢。

(1) 彌補了學生之間的差距

眾所周知,學生應是教學的主體,但是大學生入學的計算機水平差距呈現加大的趨勢。城市的學生、初等教育比較發達的地區的學生,較早地接受了計算機,也具備學習計算機的物質條件,因此計算機基本知識多于邊遠、基礎教育不發達地區的學生。而且隨著時間的推移,這種差距還在擴大。

面對計算機學科這門實踐性很強的學科,需要具有動手能力和自我發現問題、獲取知識、解決問題的能力,采用分組軟件測試教學法,將學生按基礎水平高低搭配分組。學生之間就可以進行互相討論,互相學習,自我完善,有效地彌補了學生之間的差距,增強了學生彼此之間的感情,培養了學生的學習熱情。

(2) 教學模式轉為以學生為中心

采用分組軟件測試教學法,有效地將傳統的“以教師為中心”的教學模式轉變為“以學生為中心”,克服了傳統教學模式的弊端,使學生在獲取知識的過程中變被動為主動。體現在自己思考問題、自己去試著解決問題,通過不同方式嘗試失敗的痛苦與成功的喜悅,積極與教師之間進行信息傳達與交互。在教學過程中,教師在正常的理論授課的同時,更注重學生的個性,因材施教,對后面教學起到了積極推動和指導作用。

(3) 改善教學計劃安排

作為通識基礎課,有一個普遍的現象,就是教學內容多,課時相對少。以我校“高級語言程序設計”為例,講授的內容有14章之多,涉及到C語言的基本語法,結構化設計思想,數組、指針、文件等高級應用和一些經典算法等,知識點多,而理論課只有40課時。要在這么短的時間內讓學生掌握這門課,確實很難。

采用了分組軟件測試教學法,我們不要求教師在講授課程時面面俱到,而是要讓學生領會精神,從增強學生的學習熱情出發,從培養學生的編程興趣出發,領會程序設計的主要思想,變被動學習為主動學習,變單向傳授為正向互動。對學生在測試過程中遇到的共同問題,教師集中解答,有效提高了課堂使用率。

(4) 完善成績評價體系

目前計算機教育的評價與測量存在評價方式單一的問題。以考試為導向的評價體系而不是以能力為導向的評價體系依然占主導地位, 分數成為衡量學生學習效果的主要標志, 因此學生自主學習主動學習受到限制。

采用分組軟件測試教學法,讓學生分組,展開分組討論,進行分組協作學習,分組之間程序互查,校錯,而教師只對共同的疑點、難點給予相應的指導,對完成時間、功能實現、軟件性能等方面給予評價,作為最終成績的重要組成部分,這樣不僅對消除了當前成績評價體系帶來的弊端,也活躍了教學氣氛,大大提高了學生的積極性。

(5) 培養了師生之間的感情

大學生大多遠離家鄉,缺少親情,同時對中學老師的悉心照顧念念不忘,所以在走進大學校門后,特別需要教師的關心和重視。但是由于大學學習的特點就是鼓勵自學,發現自我價值,所以很多低年級的學生不能適應。

這要求我們教師在對低年級新生教學過程中,在注重知識的傳授的同時, 更要注重學生情感的培養。采用分組軟件測試教學法,使得教師能夠有效地注重學生的個性化發展,注重挖掘學生的潛力,有效傳達課堂知識,從而培養和增進了師生間的感情。其結果必然是學生興趣的提高和學生自主學習能力的提升。

(6) 培養了學生面對挫折勇往直前的品質

大學的教育更應該是人生的教育,面對大學生尤其是低年級的學生,挫折教育尤為重要。怎樣正確對待挫折,會影響他們的一生。

采用分組軟件測試教學法,使學生在和諧的氛圍中,遇到困難后不是逃避而是正視,不是置之不理,而是積極解決。這種精神正是當代大學生的應該具備的素質,是我們通向成功的必由之路。

3結束語

綜上所述,分組軟件測試教學法,這種從培養學生編程興趣出發,以軟件測試基本理論為依據,學生分組形式為輔助,以提高學生的實際編程能力為目的的教學手段,徹底改變了原有教學模式帶來的弊端。它更尊重學生的自我發展與完善,更能體現個性化教學。我們在實施過程中也深深體會到,分組軟件測試教學法,作為計算機“高級語言程序設計”等通識基礎課的有效教學手段,不僅為學生提供了新的學習動力和學習方法,更為師生互動提供了有利平臺,大大改善了實際教學效果。

參考文獻:

[1] 蘇小紅. C語言大學實用教程(第二版)[M]. 北京:電子工業出版社,2007.

[2] 潭浩強. C程序設計(第二版)[M]. 北京:清華大學出版社,2002.

[3] 古樂,史九林. 軟件測試技術[M]. 北京:清華大學出版社,2006.

[4] 鄭人杰. 實用軟件工程(第二版)[M]. 北京:清華大學出版社,2004.

[5] 韓雪. 高校公共計算機教學現狀及存在的問題[J]. 福建電腦,2005,(5).

[6] 劉勇賢. 淺論大學計算機的教學現狀及應對策略[J]. 黑龍江技術信息,2007,(7).

[7] 孟瑋. 如何提高學生學習計算機的興趣[J]. 遼寧教育,2006,(7).

主站蜘蛛池模板: 国产欧美日韩va另类在线播放 | 成人福利在线视频免费观看| 91久久偷偷做嫩草影院精品| 免费无码又爽又黄又刺激网站 | 91精品国产一区| 久久毛片网| 日日拍夜夜嗷嗷叫国产| 91亚洲精品第一| 99成人在线观看| 久久久久久久久久国产精品| 夜夜操狠狠操| 欧美色视频日本| 亚洲日韩每日更新| 成人综合在线观看| 欧美色综合网站| 国产一二三区在线| 成人午夜天| 亚洲成人动漫在线| 欧美成人一级| 中国一级特黄视频| 欧洲在线免费视频| 亚洲AV无码一区二区三区牲色| 国产精品污视频| 日韩精品亚洲一区中文字幕| 亚洲最新在线| 在线观看无码a∨| 区国产精品搜索视频| 亚洲免费黄色网| 97se亚洲综合不卡| 亚洲精品在线观看91| 久久国产精品77777| 欧美一区二区精品久久久| 一本一本大道香蕉久在线播放| 精品久久久久无码| 2020国产免费久久精品99| 亚洲av无码成人专区| 无码有码中文字幕| 久久亚洲精少妇毛片午夜无码 | 久操线在视频在线观看| 99在线视频免费观看| 国产一区二区三区日韩精品| 亚洲天堂日韩av电影| 一级毛片免费不卡在线| 久久人午夜亚洲精品无码区| 国产精品网拍在线| 欧美日韩动态图| 91午夜福利在线观看| 2048国产精品原创综合在线| 九色视频最新网址| 青青草国产精品久久久久| 国产在线视频欧美亚综合| 久久福利片| 亚洲天堂精品在线| 欧美一级在线| 2018日日摸夜夜添狠狠躁| 精品人妻一区二区三区蜜桃AⅤ| 国产玖玖视频| 日韩免费成人| 在线日韩日本国产亚洲| www.99精品视频在线播放| 国产产在线精品亚洲aavv| 国产精品亚洲综合久久小说| 亚洲综合极品香蕉久久网| 中文无码伦av中文字幕| 国产乱子伦精品视频| 日韩成人在线网站| 久久久久久久蜜桃| 欧美一级黄色影院| 中日韩一区二区三区中文免费视频 | 久久夜夜视频| 亚洲精品第一在线观看视频| 国产午夜福利在线小视频| 乱人伦99久久| 国产激情无码一区二区APP| 久久人人97超碰人人澡爱香蕉| 精品国产自在现线看久久| 国产成人成人一区二区| www.亚洲一区二区三区| 高清无码不卡视频| 久久亚洲国产视频| 中文字幕人妻av一区二区| 久久国产精品电影|