趙曉君?黃艷?鄧璐娟
摘要:針對“軟件測試理論”課程在教學過程中理論性較強、案例沒有實際應用價值,致使教學效果不好這些實際問題,提出將項目驅動法應用于“軟件測試理論”課程教學中的觀點;根據該課程的課程內容和教學目標,著重從項目的選擇和項目驅動法教學的具體實施兩個方面來介紹項目驅動法在該課程教學中的應用。
關鍵詞:項目驅動法;軟件測試;教學方法
作者簡介:趙曉君(1979-),女,河南南陽人,鄭州輕工業(yè)學院軟件學院,講師;黃艷(1976-),女,河南信陽人,鄭州輕工業(yè)學院軟件學院,副教授。(河南 鄭州 450002)
基金項目:本文系鄭州輕工業(yè)學院校級青年教師教學改革項目的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2013)07-0101-02
隨著軟件產業(yè)的快速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能實現(xiàn)也越來越復雜,導致軟件中存在的缺陷數量大大增加,這些缺陷將會帶來各種損失,甚至出現(xiàn)災難性的后果。因此,如何保證軟件質量已成為所有使用軟件和開發(fā)軟件的人們關注的焦點。軟件測試作為軟件工程的一個重要組成部分,是目前用來驗證軟件是否能夠滿足用戶需求功能的唯一有效方法,是保證和提高軟件質量的重要環(huán)節(jié)。為適應軟件產業(yè)的發(fā)展趨勢和滿足軟件測試人才的大量需求,目前已經有許多大學在軟件工程專業(yè)添加軟件測試課程或者添加軟件測試專業(yè)方向。
軟件測試專業(yè)包含多門專業(yè)課程,有“軟件測試理論”、“軟件測試技術”和“軟件缺陷管理”等,其中,“軟件測試理論”課程重點為初學測試的同學講解測試的基礎理論知識,主要包括軟件測試基本理論、軟件測試方法和技術等,在多門專業(yè)課程中占有舉足輕重的地位。
一、“軟件測試理論”教學現(xiàn)狀
“軟件測試理論”課程重點介紹軟件測試的基本理論,因此整個課程主要以教師講授為主,在教學的過程中存在以下問題:
1.教學內容理論性較強,難以調動學生學習的主動性
對于初學軟件測試的學生,首先要向其講授相關測試理論,使其建立系統(tǒng)的測試理念。
但是學測試的學生大都是理科生,喜歡操作性強的課程,“軟件測試理論”課程的理論性太強,需要背誦很多概念性的知識,這對于他們來說是比較困難,不能激發(fā)學習的主動性,教學效果不理想。
2.測試方法和技術案例實際應用價值不足,學生很迷茫
測試方法和技術是“軟件測試理論”課程學習的重點和難點,這部分內容僅靠老師的講解和書本上的案例很難讓學生深入理解掌握測試技術的內涵,學生在學習這部分知識時會產生迷茫:學習這些知識有什么用處,在具體的項目測試中,應該怎樣應用這些知識?沒有實際的項目案例做支撐,學生會失去繼續(xù)學習下去的興趣。
針對上面的問題,本文提出將項目驅動法應用于“軟件測試理論”課程的教學中,學生在進行項目實踐的同時,根據需要學習軟件測試相關理論知識,這樣有助于提高學生的學習主動性,有助于理論知識的牢固掌握,有助于提高學生的實踐技術能力,改善該課程的教學效果。
二、項目驅動法
項目驅動法是目前中國教育領域中一種比較新的教育教學方法。
所謂項目驅動法,是師生通過共同實施一個完整的項目工作而進行的教學活動,它既是一種課程模式,又是一種教學方法。[1]這里的項目根據課程教學內容的不同所包含的涵義也不同。在“軟件測試理論”課程教學中,項目即指一個已經開發(fā)完成的軟件測試工作。通常,項目教學都是實踐導向的和任務驅動式的教學。
在項目驅動模式的教學活動中,教師根據學生現(xiàn)有的知識水平和項目經驗選擇一個合適的項目,以項目實施為主線展開教學活動,把課程相關的知識點的講解融入項目操作的每個步驟中。在項目實施的過程中,以學生為中心,教師主要做組織和指導工作,學生在整個項目的實施過程中處于探索知識的情景中,充分發(fā)揮主動性、積極性和創(chuàng)新精神,綜合運用所學的知識和技能解決實際問題,最終達到有效地將所學知識系統(tǒng)化深入化的目的。
這種模式從根本上將傳統(tǒng)課堂中老師滿堂灌轉變?yōu)椤皩W生為主體,教師為主導”的教學模式。同時,學生通過一個具體項目的實踐,感受到了真實項目管理的思想和團隊協(xié)作的必要性,提高了學生的創(chuàng)新能力和項目實踐能力。擁有真實項目的實踐經驗使得學生在擇業(yè)時擁有很大競爭優(yōu)勢。
將項目驅動法應用于“軟件測試理論”課程教學中,在課程理論教學中加入一個完整的項目測試實踐環(huán)節(jié),通過項目實踐能夠很好地激發(fā)學生的學習主動性,使學生經歷了一個“先做,遇到問題,再學,解決問題,再做,獲得經驗”的學習過程,最終完成一個完整的軟件測試實踐,同時也學到了“軟件測試理論”課程應該掌握的理論知識。這樣,既解決了軟件測試理論課程理論性太強的問題,又解決了測試方法和技術案例實際應用價值不足的問題;而且豐富了學生的實踐經驗,提高了軟件測試理論課程的教學效果。
三、“軟件測試理論”課程教學目標和教學內容
1.教學目標
通過本門課程的學習和實踐,理解軟件測試理論與原則;掌握主流測試技術和方法,熟悉測試用例的編制、熟悉軟件測試的基本流程,熟悉軟件測試過程中各類技術文檔的編制規(guī)范,并能靈活運用測試技術解決實際問題。
對于一個具體項目軟件,每一個學生都能夠順利完成如下手工測試流程:根據軟件需求規(guī)格說明書撰寫測試計劃,設計測試用例、進行測試環(huán)境配置和測試數據準備工作、執(zhí)行各種測試,撰寫缺陷報告、跟蹤并修復缺陷、進行測試評測,最后提交測試總結報告,達到軟件企業(yè)對測試專業(yè)人才的要求。
2.教學內容
“軟件測試理論”課程的教學內容主要包括軟件測試基本理論、軟件測試基本技術、軟件測試過程和軟件測試工具。[2]
軟件測試基本理論包括軟件測試、軟件缺陷和測試用例的基本概念,測試的目的、測試模型、測試分類和測試流程。
軟件測試基本技術包括白盒測試和黑盒測試;其中白盒測試包括靜態(tài)測試和動態(tài)測試,動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。這些基本技術都是在進行測試用例設計時使用的。
軟件測試過程是指執(zhí)行測試的過程,通常分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。
軟件測試工具有多種:功能測試工具、性能測試工具和測試管理工具等。
四、項目驅動法的應用方案
1.項目的設計
實施項目驅動法,首先需要設計項目。項目的設計與選取直接影響到該教學模式的教學效果及學生的學習興趣?!败浖y試理論”課程項目的選取與其他課程又有所不同,學生要進行的操作是對現(xiàn)有的或者已經開發(fā)完成的軟件的測試工作,因此在設計項目時應遵循以下幾條原則:
第一,項目是現(xiàn)有的軟件或已經開發(fā)完成的軟件,軟件中有部分明顯錯誤,有部分隱藏錯誤;明顯錯誤有助于提高學生的測試積極性,隱藏錯誤有助于啟發(fā)學生進行更深入的測試。
第二,項目具有典型性,代表大部分軟件的共性。通過該項目的測試,學生可以掌握大多數軟件的測試流程和測試方法。
第三,項目中有多種情景元素,符合使用多種測試技術和方法,有助于學生在進行項目測試的同時,學習使用多種測試技術設計測試用例的方法。
第四,項目大小和難易適中。每個項目組的人數控制在3~5個人,設計的項目能使學生通過努力在一定的時間內完成。
根據以上原則,本課程目前選擇的項目是《企業(yè)薪酬管理系統(tǒng)》。
2.項目驅動法的實施
本課程通過讓學生進行企業(yè)薪酬管理系統(tǒng)完整的測試流程實踐的同時,講解測試需求編寫、測試計劃編寫、測試用例設計、測試環(huán)境配置、測試執(zhí)行、缺陷跟蹤和管理、測試報告撰寫等內容。課程授課方式主要是分階段講解測試過程和測試要求,每一個階段開始,老師先講原理,選擇部分內容做例子進行講解,然后學生比照例子跟著做;階段內容完成時,學生提交完成的文檔,老師選擇典型的問題進行講評,然后進行下一個階段的內容,如此類推直至測試結束。
企業(yè)薪酬管理系統(tǒng)測試流程設計如圖1所示。
本課程課時為60學時,根據圖1系統(tǒng)測試流程圖安排,基于項目驅動法的“軟件測試理論”課程安排如表1所示。
在課程進行的過程中,必須嚴格按照項目的測試流程進行,測試流程為:先獲取項目測試需求,撰寫測試計劃,設計測試用例,執(zhí)行測試,提交缺陷報告并跟蹤修復缺陷,最后提交測試總結報告。課程結束,要求學生提交項目測試報告,測試報告包括多個文檔,整個流程中每個階段的工作必須有撰寫規(guī)范的文檔提交,如:測試計劃、測試用例、測試執(zhí)行報告、缺陷報告和測試總結報告等等。
測試報告既體現(xiàn)了教師項目教學的結果,也體現(xiàn)了學生對測試知識技能的掌握水平。通過評價學生作品,找出學生在學習過程中的薄弱環(huán)節(jié),進一步改進項目驅動教學的教學安排,使其能夠發(fā)揮最大的教學效果。
五、結束語
本文針對軟件學院軟件工程專業(yè)的培養(yǎng)對象和教學特點,把真實項目引入“軟件測試理論”課程課堂教學中,采用項目驅動教學法,從項目的需求評審、測試計劃、測試用例設計、測試執(zhí)行、缺陷報告、測試評測到測試總結一個完整的測試流程,交給學生組建測試團隊,按照流程進行任務分配和管理,最終完成整個項目的測試工作。通過一個完整項目測試流程的完成,有效提高學生的學習和實踐能力、解決問題的能力、團隊協(xié)作能力等,使學生在掌握軟件測試的各種測試技術和基本流程的同時,積累了一定的項目測試經驗,為他們今后的就業(yè)打下了良好的基礎。
參考文獻:
[1]廖陳興.項目教學在職業(yè)教育教學中的實踐與研究[J].南昌高專學報,2010,25(1).
[2]佟偉光.軟件測試技術[M].第2版.北京:人民郵電出版社,2010.
(責任編輯:宋秀麗)