摘 要:討論式教學法與講授法、任務驅動法等結合,能夠充分調動學生學習的主動性,使課堂充滿活力。以“等價類黑盒測試法”一課的設計為實例,探討在軟件測試課堂中教學使用討論式教學法的策略,即拋出問題引導學生討論得出答案,通過不同的解題思路引導學生總結解題原則等。
關鍵詞:軟件測試;討論式教學法;策略
中圖分類號:G642.0 文獻標識碼:A 文章編號:1002-4107(2013)12-0031-02
教學方法是教師和學生為完成教學任務所采用的教授方法和學習方法的總體[1]。適當的教學方法可以達到事半功倍的效果。討論式教學法是一種為實現一定教學目標,通過預先的設計與組織,啟發學生就特定問題發表自己見解以激發學生學習興趣、培養學生獨立思考能力和創新精神的教學方法[2]。在實際的一節課中,以討論式教學法為主體,將講授法、任務驅動法和討論式教學法等各種方法結合起來[3],將教師、學生、知識、環境等因素有機融合,努力使課堂成為一個充滿活力和變化的由教師的精心導、各種道具與學生的自主演的共同體。
軟件測試是軟件在投入運行之前,對軟件需求分析、設計規格說明和編碼的最終復審,是保障和提高軟件質量的關鍵步驟和重要手段[4]。該課程涉及的基礎知識較廣,對學生的學習基礎要求高,理論知識也相對枯燥。下面以軟件測試中的“等價類黑盒測試法”一課為例,在現有的教學資源環境下,以討論式教學法為主體,將講授法、案例法等教學方法綜合運用到課堂中,努力提高軟件測試課堂教學效果。
一、討論式教學法在軟件測試課堂中運用實例
授課內容:等價類黑盒測試法。
教學目的:掌握等價類方法中類的劃分,會寫測試用例。
教學重點:理解等價類測試法劃分類的規則,根據等價類表寫測試用例。
教學難點:使用等價類劃分法對類的劃分。
教學方法:講授、討論式及案例教學法相結合,用實例及討論突破重點難點。
授課過程:
(一)復習提問
1.軟件測試的方法分為哪二類?
2.在軟件測試中,最重要的一項工作是什么?
3.什么是測試用例,測試用例的原則是什么?
此處提出三個問題,一個問題是新授課涉及的、以往學過的基礎內容;另兩個問題則是上節的核心內容,同時引出本節課學習的目標。復習的內容不能僅僅是上節學過的知識,更要對新授課內容起到鋪墊作用。
(二)新課的問題導入:寫出測試下面程序功能的測試用例
input “請輸入一個整數:“to x
if x>=0
y=x
else
y=-x
endif
?’|x|=’,y
問題導入的目的是要說明“做事需要講究方法”。我們可以寫出測試用例,但哪些是必需的、哪些是冗余的用例呢?一個看起來似乎很容易解決的問題,學生的答案各不相同,哪個是正確的答案?為什么是正確的?這大大地激發了學生的學習興趣。以此給出本節課的學習內容和學習目標。
(三)新課
1.等價類劃分法的含義。
2.講解基本概念:有效等價類、無效等價類,正面測試用例、負面測試用例。
3.例題:返回到新課導入的例子中,對程序的輸入進行等價類的劃分。
4.進一步引出:等價類測試法的關鍵是類的劃分原則。
分析導入時的問題,用講授法講解新授的理論知識,并進一步通過例題加深理解。在這一過程中,讓學生體會到測試用例設計的不唯一性,特別是無效等價類,更依賴于人的經驗和思維習慣。由此,進一步思考等價類法中類的劃分原則。
(四)學生分組討論:對等區間劃分的原則
1.如果某個輸入條件規定了取值范圍或值的個數,則可確定一個有效等價類(輸入值或數在此范圍內)和兩個無效等價類。
2.如果規定了輸入數據的一組值,而且程序對不同的輸入值作不同的處理,則每個允許輸入值是一個合理等價類。此外,對這組值以外的所有值確立一個無效等價類。
3.如果已劃分的等價類中各元素在程序中的處理
方式不同,則應將此等價類進一步劃分為更小的等價類。
4.如果規定了輸入數據必須遵循的規則,可確定一個合理等價類(符合規則)和若干個不合理等價類(從各種不同角度違反規則)。
在這一環節中,學生針對課件中的應用案例,討論各種情況下對等區間劃分的原則,并進一步總結歸納成規則。每組選出代表表述出各自總結的規則,并寫在黑板上,再綜合對比各組成果,歸納成相應的規則,最后,由教師總結及補充,歸納成完整的板書。經過充分的討論,學生不僅討論了教材中提及的情況,還進一步擴展討論了軟件測試時可能遇到的其他情況,使學生的主動性和創造性都得到了發展。
(五)實例練習
設有一個檔案管理系統,要求用戶輸入以年月表示的日期。假設日期限定在1990年1月—2049年12月,并規定日期由6位數字字符組成,前4位表示年,后2位表示月?,F用等價類劃分法設計測試用例,來測試程序的“日期檢查功能”。
在深刻理解等價類的劃分原則之后,要將理論運用到解決問題的實踐中去。此時,在熱烈的討論氛圍中,學生希望能運用上面所學的知識,各組獨立完成測試用例設計,再由教師評判打分,擊敗對方。
(六)總結測試用例設計的步驟
1.劃分等價類后,在列出的等價表中,為每一個等價類編號。
2.設計一個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的有效等價類。重復這一步,直到所有有效等價類被測試用例覆蓋。
3.設計一個測試用例,使其只覆蓋一個無效等價
類。
事實上,各組基本完成了任務,不過在軟件測試用例設計的步驟和細節處理上,仍有不足。此時,教師在點評的過程中講解軟件測試用例的設計步驟及規則,讓學生豁然開朗,達到事半功倍的效果。在教師的引導下,學生總結出設計測試用例的步驟。
(七)總結與作業
1.本節內容
(1)理解基本概念:等價類劃分法。
(2)理解兩對名詞:有效類和無效類;正面測試用例和負面測試用例。
(3)等價類的劃分原則:對等價類劃分的依據。
(4)確定測試用例設計的步驟。
2.作業
(1)用等價類法寫出測試城市電話號碼是否輸入正確的測試用例。
(2)預習常與等價類法配合使用的邊界值分析法。
最后,利用大約五分鐘的時間總結本節課的主要內容。黑板上重點內容一目了然,這是在講解過程中的板書。兩項作業,一項是對本節內容的實戰練習,另一項是對下次授課內容的預習。
二、運用討論式教學法應注意的問題
在高校的軟件測試教學中,傳統的講授式教學方法仍然是讓學生掌握基本的理論知識的最佳選擇,其地位無可取代。在本節課的學習中,學生在教師講授相關基礎知識后,才能有后面討論的基礎。在使用討論式教學法的過程中,教師通過精心準備的問題逐步引導學生自主進行辯論和思考,幫助學生梳理出解答問題的不同路徑,進而使學生得出結論。我們將學生分組,通過項目驅動教學,引導學生主動思考,系統探究知識原理、使用規則及注意事項等。在此過程中,每個學生都自主思考,通過激烈的、全神貫注的討論,提出問題和回答對方提問,在爭辯和討論中加深理解。再通過教師的點評和講解進一步理解掌握等價類法中類的劃分方法,并學會設計測試用例。討論的方式使教學重點漸漸清晰明了,各組討論成果的展示和對比激發了學生的學習熱情,也能更好地理解教學重點和難點——劃分類的原則,最后通過實例歸納總結的測試用例的設計步驟,使學生能夠真正設計出符合測試要求的軟件測試用例,達到本節的教學目的?!翱偨Y和作業”環節是對本節內容的總結和鞏固,讓學生在課后進一步消化理解,為后面的學習打下堅實基礎。
需要注意的是,在課堂教學中,無論是講授法的導入,還是討論式教學的問題討論,都要注意引導學生主動思考的問題難度一定要適宜,既不能過于簡單,要符合學習規律的認識梯度,讓學生感覺到挑戰;也不能太難,讓大部分學生即使絞盡腦汁也無計可施。為調動班級整體的學習積極性,課堂中的問題難度應根據實際授課內容按易、中、難設置,讓基礎差的學生有會答的題目,不失去聽課的興趣,讓基礎好的學生也能感覺到充滿挑戰。
教學無止境,它不僅僅是知識的更新,更是對教學效果孜孜不倦的追求。在授課過程中,教師只是引導者、組織者和合作者,要突出學生的主體作用。從學生角度綜合選擇教學方法、設計教學過程、安排教學活動,激發學生學習欲望,調動學生的積極性,引導學生主動思考,使學生的主觀能動性、觀察力和創造力得到充分的發展。
參考文獻:
[1]蔣宗珍.大學課堂教學中討論式教學的組織[J].重慶教
育學院學報,2011,(1).
[2]梁中賢.高校討論式教學之哲思[J].中國高等教育,
2011,(15/16).
[3]王明莉.大學課堂討論式教學法運用的策略研究[J].黑
龍江高教研究,2011,(11).
[4]賀平.軟件測試教程[M].北京:電子工業出版社,2008:
5.