發布時間:2022-11-26 01:36:19
序言:寫作是分享個人見解和探索未知領域的橋梁,我們為您精選了8篇的軟件測試課程總結樣本,期待這些樣本能夠為您提供豐富的參考和啟發,請盡情閱讀。
關鍵詞:軟件測試;能力培養;教學理念;培養模式;探索實踐
中圖分類號:TP311 文獻標識碼:A DoI: 10.3969/j.issn.1003-6970.2012.03.009
Explore and Practice of Training the Ability for Software Test Talent
CaI Jian-ping
(School of Software Engineering Beijing University of Technology, Beijing 100101, China)
【Abstract】According to the requirements of Ministry of Education for training software talents, Aim at the software engineering features, and as a breakthrough for shortage of talent on software test, the paper analysis the employing demand of IT enterprises, study the training target of software testing talents and the training demand on the ability, explore a good method of the ability training for software test talents. Based on this, we actively undertake many practice activities about the ability training for software test talents, for example, concise the teaching philosophy of training software testing talent, build the new pattern of training the ability for software test talents, constitute a general outline for software test course, write corresponding book, establish laboratory, etc.
【Key words】software testing; ability training; Teaching Philosophy; Training Pattern; Explore and Practice
0 引 言
軟件測試是軟件工程的一個重要分支,是軟件質量保證的重要基礎?,F代軟件測試與傳統的軟件測試不一樣,它是貫穿軟件工程整個生命周期(從需求分析、軟件設計、代碼開發,一直到最后測試、驗收和維護),涉及各種軟件開發技術、應用技術以及測試技術,覆蓋軟件各種應用領域(如桌面軟件、網絡應用、信息系統、電子服務、嵌入式系統、數字娛樂等),面臨不同的專業領域知識,所要求的投入與軟件開發相比規模同等甚至更高。另外,軟件測試是一項需具備較強專業技術、學習和創新能力的工作,軟件測試人員除了需要有一定的軟件測試實踐經驗外,必須要具有縝密的邏輯思維能力、全面的技術能力、各種測試工具的使用能力、敢想敢干的創新能力,要有較強的責任心和團隊合作精神以及出色的溝通能力等專業素質。要成為一名合格的軟件測試人才需要經過嚴格系統化的專業培養,并且在專業培養過程中一定要結合軟件測試專業化的特殊要求,強調軟件測試人員的工程實踐能力。
目前,很多高等學校僅僅是在計算機專業或軟件工程專業中設置一些軟件測試課程,還沒有提高到軟件測試專業化人才培養這個層面。北京工業大學軟件學院率先在這方面進行了探索和實踐,將能力培養作為軟件測試人才培養的重要內容和突破口,提出了“用工具,促能力”的教學理念,積極探索軟件測試課程的改革與實踐,最終建立通過學習和使用軟件測試工具進行軟件測試能力培養的新模式。并在此基礎上,開展課程建設、教材建設、實驗室建設等工作,取得了較好的效果。
1 “用工具,促能力”的教學理念
工程實踐能力是計算機專業,特別是軟件工程專業的基本要求之一。計算機技術或軟件工程技術涉及到大量的知識內容,包含各種開發和應用技術,覆蓋許多應用領域,需要有很強工程實踐能力。對于我們在校的本科學生,由于從高中到大學,一直在學習,缺乏實際項目經歷。如果按照傳統的課堂傳授理論知識的方法進行教學,輔助一般的實驗,會讓學生感到枯燥、乏味,提不起興趣。
為此,北京工業大學軟件學院要求在軟件工程本科專業的培養計劃中加大計算機基礎課程和軟件工程專業核心課程的實踐教學環節(包括配套的課程設計,獨立的實踐課程,以及小學期的集中實訓等),并特別在軟件測試課程的實踐教學上進行了大膽的改革和創新,提出了“用工具,促能力”進行軟件測試人才能力培養的教學理念。該教學理念的核心思想是通過要求學生熟練地使用各種軟件測試工具,來掌握軟件測試相關知識、技術、方法和管理流程,提高軟件測試的工程實踐能力,提升軟件測試的專業化水平。
熟練地使用軟件測試工具能帶來如下好處:
1)提高工作效率。
軟件測試的工作量很大(據統計,測試會占用到40%的開發時間;一些可靠性要求非常高的軟件,甚至會占到60%);另外,測試中的許多操作是重復的、非智力性的和非創造性的,但要求準確細致。最后,那些固定的、重復性的工作,可以由測試工具來完成,這樣就使得測試人員能有更多的時間來計劃測試過程,設計測試用例,使測試進行的更加完善。
2)保證測試的準確性。
手工測試常會犯一些人為錯誤。為此需要投入大量的時間和精力;而工具的特點是能保證測試的準確性,防止人為疏忽造成的錯誤。
3)有些測試很難開展,必須使用工具(如性能測試等)。
測試工具可以執行一些手工難于執行,或者是無法執行的測試。這是因為軟件測試工作相當復雜,要求非常嚴格,很多測試在手工測試環境是無法完成的。
4)測試工具很好地保證測試工作的規范性和一致性。
軟件工程最重要的內容就是管理,軟件測試同樣也是將管理放在第一位。
5)測試工具體現了先進的測試思想、方法和技術。
掌握并熟練地使用軟件測試工具,能夠快速和有效地掌握或鞏固所學的軟件測試的思想、方法和技術;運用軟件測試工具開展軟件測試工作,能夠有效地提升解決軟件測試中遇到的各種問題,增強軟件測試的實戰能力。
事實上,“用工具,促能力”的教學理念非常適合在工程化要求較高的軟件工程核心課程中進行示范,予以推廣。
2 探索軟件測試人才能力培養的新模式
我們在“用工具,促能力”的教學理念指導下,對以軟件測試人才能力培養為目標的教學方法與教學模式進行積極地探索和實踐,確定了軟件測試課程教學的知識體系以及學習和使用軟件測試工具進行軟件測試能力培養的實踐教學體系,制定了軟件測試課程教學大綱和實踐教學課程大綱,從而建立軟件測試課程教學及能力培養的新模式。
我們這里所說的軟件測試人才能力培養新模式主要是指我們在對軟件工程本科學生的軟件測試能力培養過程中,強調“用工具,促能力”的教學理念,以開源軟件測試工具為基礎,結合精選的教學案例,大膽地將測試工具的掌握和測試工具的應用作為實踐教學的重點,強化學生軟件測試專業知識的掌握,促進學生軟件測試實踐能力的培養。這種實踐教學的新模式,通過不斷的探索和實踐,充分得到學生的認可。學生通過軟件測試工具的使用,大大提高了參與實踐的興趣,對軟件測試相關的理論知識有了更深入的理解和掌握,運用工具解決測試項目實際問題的能力得到了加強。
2.1 軟件測試人才能力培養的課程建設
軟件測試人才培養專業性強,人員素質高,這要求我們必須科學地對軟件測試課程體系進行論證,并按照軟件測試人才能力培養新模式的要求制定出教學大綱。目前,學院在軟件測試課程體系的設置上分三個層次:理論課程―軟件測試,實踐課程―軟件測試課程設計,創新學分―軟件協同測試。貫穿這三個層次的主線是軟件測試工具,即通過軟件測試工具在不同軟件測試項目中的使用,強化學生知識的掌握和能力的培養,并按照工具使用流程要求,培養學生專業職業素質。
2.2 基于開源軟件的軟件測試實驗室建設
軟件測試課程對工程實踐要求極高,對學生動手能力要求極強,因此軟件測試實驗室的建設,軟件測試工具的配備除了支撐教學外,還是“用工具,促能力”教學理念的貫徹和通過學習和使用軟件測試工具進行軟件測試人才能力培養新模式的實施最重要的保證。
考慮到軟件測試貫穿軟件工程整個軟件生命周期,涉及各種軟件開發技術、應用技術以及測試技術,覆蓋軟件各種應用領域,需要用到多種測試技術、方法和測試類型。因此要建設能夠讓學生或受訓人員全面參與這些實驗或實踐的軟件測試實驗室,特別是全面配置商用軟件測試工具,這幾乎是不可能的。首先,除一次性投入滿足數十位學生同時上機進行實驗或實踐的要求外,經常性的升級維護費用就會讓條件優越的高?;蚺嘤枡C構難以承受,更不要說大多數條件不優越的高等院校。另外,如果完全依靠商用軟件測試工具開展軟件測試的實踐教學,除了面太窄、投入太高外,我們很難推廣和普及在這方面取得的實踐教學成果。
為此,我們提出了以主流的開源軟件測試工具為基礎,進行軟件測試實驗室建設的解決方案。該方案覆蓋軟件測試的各個階段和各種類型,保證了國內許多院校在辦學條件不足,實驗教學經費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠很好地開設軟件測試實踐類課程。
實際上,我們在軟件測試實踐能力培養過程中,一直是要求學生使用開源測試工具。這是因為:
①開源測試工具的使用,特別是測試環境的建立,能夠促使學生接觸各種開源工具,如操作系統、服務器、數據庫、頁面開發語言、繪圖、郵件等,培養他們搭建平臺的綜合能力。
②采用開源測試工具搭建測試環境開展測試工作,更有利于學生學習和理解軟件開發技術和軟件測試原理,提高學習興趣。
③學生通過使用開源測試工具,除了完成課程設計所規定的測試任務外,還能夠清楚地了解這些測試工具對測試技術和測試方法的支持以及這些工具在應用中存在的問題,并可以嘗試自己動手改進這些測試工具。
2.3 軟件測試課程配套的教材建設
為使教學理念真正得到貫徹,能力培養模式真正得到實施,必須解決與之配套的教材問題。為此,我們編寫了《軟件測試大學教程》、《軟件測試實驗指導教程》以及《嵌入式軟件測試實用技術》3本教材。這3本教材不僅是課程的配套教材,而且還是軟件測試課程建設和教學研究及改革等成果的最終表現,也是軟件測試能力培養新模式實施的基石?!盾浖y試大學教程》已被北京市教委推薦為“十二五”普通高等教育本科國家級規劃教材(待評審);另外,《軟件測試實驗指導教程》全面介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應用流程及實際案例,涉及到測試管理、缺陷管理、代碼分析、單元測試、系統測試、性能測試以及軟件綜合評測等重要實踐內容。該教材配套有近1GB內容的DVD光盤,光盤中存放有覆蓋軟件測試不同階段和不同類型的大量開源軟件測試工具及配套的實踐教學案例,保證了國內許多院校在辦學條件不足,實驗教學經費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠學習和推廣我們的教學成果;最后,學術專著《嵌入式軟件測試實用技術》對軟件工程應用領域嵌入式軟件的測試活動開展提供了專業支持。
上述教材的出版及使用,能夠使我們的教學理念真正得到貫徹,教學大綱真正得到落實,教學新模式真正得到實施,實踐教學的探索及改革有據可查,有跡可循。
2.4 軟件測試精品課程的建設
精品課程的建設能夠推動優質教育資源的共享、教學理念的宣傳和教學模式的普及與推廣,使學生得到最好的教育,從而全面提高教學質量。
軟件測試課程自2009年評為北京工業大學校級精品課程以來,一直在努力開展精品課程相關內容的建設,積極申報北京市精品課程。通過近幾年的軟件測試精品課程建設,很好地推動了優質教育資源的共享,以及實踐教學理念的宣傳和實踐教學模式的普及與推廣。
軟件測試課程在建設過程中,對教學內容、教學方法進行了如下的改革:
①在整個本科和工程碩士教學計劃和培養方案的基礎上,進行課程體系、教學內容及實驗和實踐環節整體配套和優化的教學改革;
②重視基礎理論,采用案例驅動式教學方式,加強實踐教學環節,注重基本技能訓練與工程能力的培養;
③密切軟件開發技術及測試技術應用最新動態,設計實踐教學案例,增強課程內容的針對性和時效性;
④將軟件測試課程理論教學與軟件測試課程設計、軟件協同測試等實踐教學和創新學分整體考慮,努力達到培養高素質、專業化軟件測試人才的要求;
⑤為使軟件測試課程達到既定目標,開展了配套的教材建設。
總之,精品課程教學內容突出全生命周期軟件測試概念、軟件質量分析手段、現代軟件測試技術、主流測試工具應用以及典型應用測試方法等,幫助學生了解和掌握現代軟件測試的各種原理、方法和技術,并能夠選擇合適的軟件測試工具進行相關測試。這些舉措為培養學生今后成為高素質、專業化的軟件測試人才打下很好的基礎,許多學生畢業后在IT企業能夠很好地從事軟件測試工作。
軟件測試精品課程網站是按照北京市精品課程網站建設要求建設的。網上的內容除了課程概況、課程內容、練習作業、教學課件、參考資料以及全程錄像。由于軟件測試課程包含有實踐性教學,因此本網站包括實踐教學指導等。除此之外,本網站還包括軟件測試課程全面教育教學研究和改革的思路、方案和成果??梢哉f,本網站內容完整、資源豐富,其成果具有可示范性和可推廣性。
軟件測試課程建設得到北京世紀超星信息技術發展有限責任公司的大力支持,該公司將本課程作為優秀學術成果(超星名師講壇――超星學術視頻)進行了全程的錄像和系統的整理,部分錄像資源可在超星網上觀看或下載,網址是: video.省略/playvideo.aspx?id=31475。另外,超星公司已授權我們可將本課程的完整學術視頻放在學校精品課程網站上,使教師和學生共享其資源。
3 軟件測試人才能力培養模式的實踐
軟件測試課程在不同的院校其設置是不一樣(如理論課或理論課+實驗課,學時、學分等)的,北京工業大學軟件學院在軟件工程專業本科生的教學計劃中將軟件測試課程設為專業必修課,其課程設置包括理論課及實驗課(課程設計)兩部分。理論課32學時,16周完成,每周2學時,最后參加學校考試周的閉卷考試。課程設計是期末小學期2周集中進行,共60學時。
3.1 課程設置情況
軟件測試課程自2005年開設以來,就依據“用工具,促能力”的教學理念開展本文所提到的軟件測試人才能力培養的新模式進行教學,講授了8輪次,學習人數達500多人。
無論是軟件測試理論課實驗、軟件測試課程設計,還是創新學分――軟件協同測試,都是以軟件測試工具為核心,結合精心設計的測試案例,使學生從測試需求、測試環境建立、測試策略、測試技術應用、測試用例設計與執行、測試結果分析,以及缺陷跟蹤管理與測試報告文檔撰寫等方面完成實驗內容和課程設計內容。
3.1.1 軟件測試理論課程的實驗大綱
軟件測試理論課中安排了6個學時的實驗內容,包括三個方面的內容(每部分內容2學時):代碼靜態檢測、Java單元測試Junit、Gtk+界面測試。
3.1.2 軟件測試課程設計大綱
軟件測試課程設計按照《軟件測試實驗指導教程》開設了6大類型的軟件測試項目,每個類型的測試項目要求學生同時使用主流的開源測試工具,體會先進和成熟的軟件測試技術,提高學生的實戰能力。
類型1:以測試過程管理為主,實驗重點是缺陷管理、測試管理以及缺陷管理與測試管理的集成。涉及到的開源工具主要有Mantis、Bugzilla、Testlink、Testopia等。
類型2:以程序的靜態分析為主,實驗內容是程序理解、代碼靜態分析。涉及到的開源工具主要有Oink,Eclipse PTP/ CDT,以及分析Java代碼的多種工具(如Findbugs、PMD、Checkstyle、Valgrind、Prefast等)。
類型3:以單元測試為主,實驗內容是基于支持測試驅動開發(TDD)的單元測試框架xUnit的C/C++功能測試和C/C++及Java的覆蓋測試。涉及到的開源工具主要有CppUnit、EclEmma、Gcov等。
類型4:以圖形界面測試為主,基于單元測試框架對Java GUI進行測試,對網頁進行測試。涉及到的開源工具主要有JFCUnit、HttpUnit、JWebUnit等。
類型5:以性能測試為主,除了繼續在單元測試框架的基礎上對Java應用進行單元性能測試外,重點是對Web應用系統進行整體的性能測試。涉及到的開源工具主要有p-unit、JMeter、WebLoad等。
類型6:以軟件綜合評測為主,對南京大學的EASTT工具進行綜合應用(可輔助使用Panorama++試用版),全面了解軟件評測的思想、方法和要求。
軟件測試課程設計的考核內容包括:建立測試環境,運行測試工具,編寫測試例子,加載被測程序,執行測試用例,分析測試結果,撰寫測試總結報告(報告字數不少于1萬字),最后登臺匯報(PPT演講)。
通過撰寫報告和登臺PPT匯報,培養學生的邏輯思維、歸納總結、論文撰寫、多媒體制作以及登臺演講能力。3.1.3 軟件協同測試創新學分大綱
軟件協同測試創新學分實踐課程主要是由教師布置具體的較大型軟件測試項目,模擬多人異地得測試活動,讓學生體驗軟件測試各個階段進行協同的關鍵要素。包括測試需求分析、測試計劃制定、測試用例設計、測試用例執行、測試結果收集以及測試資源和測試過程管理等各個環節的協同要求,學生通過協同分工完成整個課程任務,并在測試實踐中總結方法,創新性的提出軟件協同測試的解決方案。
3.2 實踐效果
基于“用工具,促能力” 的教學理念下的軟件測試人才能力培養的新模式在內容組織上做到了既能夠調動學生專業興趣,使其感到軟件測試的實用性和挑戰性,又加強了學生軟件測試的實際動手能力。軟件測試課程以主流的開源軟件測試工具應用為基礎,以實戰能力培養為目的,易于教師開展軟件測試的各項實踐教學活動,而且學生對這種形式的實踐教學反映非常好,學生參與實驗的熱情非常高,學生經過實踐后收獲非常大、能力提高非常快,學生為實踐收集或設計的案例非常豐富,部分學生撰寫的實踐總結報告水平也非常高。另外,學生結合分組實踐內容的安排,進行針對性地軟件測試實踐活動,同時也可以方便不同層次的學生根據自己的能力、時間和興趣選擇相關的實踐內容進行自學和實踐,進一步地拓展自己的專業知識和專業技能,為今后的職業生涯規劃打基礎。
企業對我們所取得的成果給予了認可。北京應用軟件產品質量監督檢驗中心與學院簽署了戰略合作協議,確定在軟件測試人才培養(如軟件測試培訓、實訓及實習)、軟件測試科研、軟件協同測試平臺建設以及嵌入式軟件測試等基礎建設方面開展合作。
2009年,北京工業大學軟件學院所獲得的北京市軟件工程實踐教學示范中心其建設內容主要是軟件工程及其相關專業核心課程的實踐教學及其學生的能力培養。按照什么樣的理念和模式開展這些課程的實踐教學,軟件測試課程“用工具,促能力”的教學理念和在該教學理念指導下的軟件測試人才能力培養模式做了一個很好的實踐和回答。
4 結束語
目前計算機學院或軟件學院學生的軟件測試人才培養一直是高等院校計算機人才或軟件人才培養的一個“短板”,一直缺少好的教學理念和教學模式。因此,開展軟件測試人才能力培養的教學理念及培養模式的探索與實踐是一件非常有意義的工作。對于這項工作,有關專家給與了充分的肯定,他們認為:軟件測試人才能力培養的教學理念和新模式強調軟件測試工具使用的重要性,同時重視教學實驗成本和教學的靈活性,所有實驗和實踐活動的內容組織均以開源軟件測試工具為主。通過實際測試項目的開展和工具的使用,能夠使學生掌握軟件測試的基本方法、技術和流程,提高他們的動手能力。而且這種教學理念和培養模式具有示范性和推廣性。
參考文獻
[1] 柳永坡. 讓軟件測試實驗和實訓課程輕松地走進高校或培訓機構――介紹《軟件測試實驗指導教程》[J].計算機教育,2010(13):158.
[2] 柳永坡. 軟件測試大學教程:軟件測試課程專業教材[J].計算機教育,2010(12):158.
[3] 蔡建平. 開源軟件測試實踐教學方案設計[J]. 計算機教育,2011(6):103-108.
[4] 蔡建平. 軟件測試大學教程[M]. 北京:清華大學出版社,2009,09.
關鍵詞:案例教學法;軟件測試過程;測試文檔
目前我國軟件測試人才嚴重匱乏,人才缺口達到30萬,造成這一結果的主要原因是國內軟件測試人才教育相對滯后[1]。但實際上,很多學習了軟件測試課程的學生卻找不到工作,業內專家稱之為人才的“結構性過剩”[2],而滯后的原因不僅僅是教育機構開設軟件測試課程時間的滯后,主要是教學內容和教學效果與實際需要的差距產生的滯后。外包開發行業快速發展,對人才在代碼和文檔方面的規范性、技能和工具的熟練程度要求越來越高[2],而這些要求正是軟件測試人才教育的薄弱環節。因此,如何順應市場需求,培養出企業所需的軟件測試人員,成為軟件測試課程改革創新的目標。
1教學現狀
隨著軟件測試人員市場需求的不斷增加,各大高校、職業技術學校及IT培訓機構紛紛開設了“軟件測試”課程。然而,在師資方面,講授軟件測試課程的教師多數是由軟件工程的教師承擔,這些主講教師能很好地講解軟件測試理論和介紹軟件測試方法,但缺乏軟件測試的系統案例和軟件測試經驗[3]。在理論教材方面,雖然各種軟件測試的教材相繼出版發行,但教材中技術實現的內容較多,對常用的軟件測試文檔書寫介紹很少,且缺乏文檔模板;對自動化測試工具,基本也是簡略介紹其功能。在實驗教材方面,目前還沒有配套的軟件測試實驗教材問世,在教學過程中基本是任課教師自行設計實驗教學內容。對于實踐性較強的課程,主講教師如果沒有大量的實際項目開發經驗作為支撐,就難于用恰當的實例來解釋相關理論,更難設計出實用有效的實驗內容,導致在校學習的知識與實際工作脫節的現象。要順應軟件測試人才市場的需求,軟件測試課程的教學必須面向企業的實際需要,使學生能學到實際工作中常用的技能,以“經驗者”的身份進入人才市場參與競爭。
2改革和創新
筆者以日企工程經驗為依據,針對軟件測試課程教學中缺乏系統案例、重技術實現輕文檔工作、測試工具流于產品說明等問題[4],設計了一套軟件測試實驗,幫助學生利用軟件測試技術搭建測試環境;根據測試規格說明書進行測試;練習測試用例的設計、執行與跟蹤并高效地進行回歸測試;熟悉常用測試文檔的書寫方法;掌握如何保存測試用例和有效的測試結果;準確地書寫缺陷報告;通過思考題的方式啟發學生利用計算機技術開發自動化測試工具。
2.1教學進度的調整
計算機課程的實驗教學,通常和理論課同步或延遲幾周進行。對于軟件測試這門課程的實驗教學,如果與理論課同步進行,前期的實驗內容安排就缺乏理論支持,如果比理論課遲后幾次,即在講述白盒測試和黑盒測試后開始實驗教學,就可以將各種測試方法融入實驗中進行,但由于軟件測試過程及技術、測試文檔書寫相關內容還未講述,實驗內容的安排顯得孤立,沒有整體感。為了讓學生體驗軟件測試在實際工作環境中的實施過程,將理論課講述的知識有機地融入到完整的案例中進行實驗,就需要系統地學習完理論知識后,再結合實際案例系統地進行實驗。
我們打破傳統的周四學時,即“理論2+實驗2”的排課模式,將一個學期分為理論上半學期,實驗下半學期,上半學期周四學時用于結合案例進行理論教學,下半學期周四學時針對理論課講述的案例進行實驗教學,以便學生能夠模擬實際工作環境進行系統的軟件測試實驗。
2.2實驗教學的創新
2.2.1實驗素材的創新
現有的軟件測試教材,通常會在最后章節給出一個案例,針對該案例利用教材上介紹的各種測試方法有針對性地進行測試用例設計。但是教材對案例的描述基本只限于項目背景介紹、子系統介紹、子系統功能分析、子系統性能及可用性要求方面的資料,基本沒有提供可運行案例系統的代碼,同時也缺乏必要的供測試使用的文檔。實際工作中,軟件測試過程與軟件設計周期有相互對應的關系,軟件測試過程中的單元測試、集成測試、系統測試、驗收測試分別對應軟件設計中的詳細設計、概要設計、系統設計和需求分析[5]。因此,要完成一個系統的較完整測試過程,不僅要提供被測系統的完整代碼及數據,還必須提供全套的設計文檔。
我們以一個開發完整的以C/S模式實現的“小區物業管理系統”和B/S模式實現的“圖書館管理系統”作為測試案例,在理論課教學中主要以“小區物業管理系統”作為案例進行理論知識的講解,與網站測試和面向對象測試相關的內容以“圖書館管理系統”作為案例進行講解。這樣,進行完理論教學,學生對案例系統的功能基本了解。在實驗教學中,我們提供給學生在測試中需要的代碼、開發規范、需求分析、系統設計書、概要設計書、詳細設計書,具備了以上資料,便可模擬實際工作模式,將理論教學中講述的測試策略和方法、測試文檔的書寫方法運用到該案例的測試實驗中。
2.2.2實驗內容的創新
由于實驗教學學時和學生能力的限制,在本實驗的設計中,我們主要針對初、中級測試工程師級別設計實驗內容,這些實驗內容就是同學們踏上測試崗位要動手干的實際工作。而針對高級測試工程師和測試管理者擔當的工作,比如測試計劃的制作、各種設計的驗證、測試評估和總結,需要經歷初中級測試工程師的實戰,積累大量經驗才能承擔,這一部分內容,我們只在理論教學中簡單講述,不在實驗教學中安排實驗內容。
我們設計了表1所示的實驗內容,本設計旨在讓學生經過實驗的訓練,以“經驗者”的角色參與求職應聘,因此,我們以項目管理者培養“新人”的方式來安排實驗內容和進度。雖然軟件測試貫穿于軟件生命周期的全過程,但對于剛畢業的大學生來說,從人才培養角度出發,項目管理者通常是按照以下流程在工作過程中培養人才:單純性測試的實施、測試設計(書寫測試規格說明書)、測試環境搭建等,按照單元測試、集成測試、系統測試的順序循序漸進地深入測試工作,因此我們按如下進度設計了以下實驗內容,并在提供的素材中人為地制造缺陷,以便學生發現缺陷、分析缺陷、修改缺陷。
通過上述8個實驗,讓學生牢固掌握單元測試和集成測試的設計和實現方法,了解常用測試工具的使用方法,同時對系統測試實施有基本了解。嚴格經過這8個實驗的訓練,學生基本能以初級測試工程師的身份投入到測試工作中。
關鍵詞:軟件測試;自動化測試工具;實踐教學;分組教學
1開課背景
軟件測試是提高軟件產品質量的關鍵步驟,它是伴隨著IT產業的發展而出現的。目前,越來越多的軟件企業設置了測試工程師崗位,但測試人才卻面臨巨大的缺口。高等院校作為軟件人才的重要輸出基地,每年為IT產業提供了充足的人力資源保障[1-2],但軟件測試起步比軟件工程要晚,所以國內高等院校幾乎沒有制定專門的軟件測試人才專業培養方案。而學生掌握軟件測試相關知識,也僅僅是通過軟件工程課程中關于軟件測試知識的介紹,或者是通過軟件測試課程。很多高校在軟件測試課程教學中以理論為主,學生很難在這類課程中掌握實用的軟件測試技術,進而在求職過程中也難以應聘對測試要求較高的測試工程師崗位?;谝陨媳尘埃以河?008年在軟件工程專業中設立軟件測試方向,制定了科學系統的軟件測試人才培養方案。自動化測試工具作為該專業方向的必修課,是學生了解和掌握自動化測試理論及工具使用方法的重要課程。本課程以軟件功能測試自動化和性能測試自動化為主要內容,介紹自動化測試理論及自動化工具的使用。課程以實踐為主,理論結合,學生通過實踐操作,可以掌握自動化測試理論及測試工具中的關鍵技術,為成為一名測試工程師打下基礎。
該課程在我國本科院校中開設面并不廣,相關教學經驗及教學資料缺乏。但從長遠來看,隨著軟件測試人才培養模式的不斷成熟,該類課程的開設必將成為趨勢。本文根據筆者自動化測試工具課程的教學實踐,總結課程教學經驗、課堂組織形式等內容,希望為將來開設該類課程的兄弟院校提供經驗支持。
2課程內容設置
測試過程中使用自動化測試工具是提高測試效率的重要手段,目前主流的自動化測試工具以功能測試和性能測試為主,其中應用比較廣泛的包括惠普公司系列的自動化測試工具以及IBM系列的自動化測試工具。本課程在教學中以惠普公司的功能測試工具和性能測試工具為主。在專業教學計劃中,該課程課時安排為64學時,其中理論課占18學時,實踐占48學時。本課程設置的出發點是讓學生通過課程掌握自動化測試工具的使用,因此實踐學時所占比例較大。在理論部分主要講授:自動化測試的產生、自動化測試的定義和引入、自動化測試工具的作用及優勢、自動化測試腳本、自動化測試生存周期方法學、軟件自動化測試工具簡述等內容,同時在學習自動化測試工具的使用之前,在理論學時部分講解該工具的工作原理。
3教學方法與組織形式
自動化測試工具課程實踐性較強,因此在整個教學過程中,應以學生自己動手操作為主,任課教師只是對學生進行必要的指導。在每一個實驗結束后,任課教師對實驗進行總結,講解實驗中存在的共性問題,同時講解每一個實驗中涉及的知識點,以加深學生的理解。
在“錄制、執行測試腳本,分析測試結果”實驗中,教師應有針對性地加強對學生的指導。這是學生使用QTP所做的第一個實驗,實驗過程中會遇到各種各樣的問題,舉例如下:
1) 錄制腳本完成后,執行不能成功。這個問題的出現,大多原因是學生在錄制腳本的過程中頻繁切換應用程序窗口,進行了與測試無關的應用程序操作,這些操作都錄制到了腳本中,但在執行腳本時QTP無法找到這些無關應用程序的對象,導致腳本執行失敗。該問題也屬于共性問題,教師在講解時應提醒學生在錄制腳本時的注意事項。
2) 腳本執行完成后,不會分析實驗結果。在教學參考資料中,可以引導學生去分析腳本執行結果。教師可以在課上統一講解測試結果的分析方法。
第一個實驗對整個自動化測試工具課程的學習是非常重要的,因此,授課教師一定要注意合理地引導學生,及時解決學生遇到的問題。當然,在學生遇到問題時,最好先提醒學生試著自己去解決,培養他們獨立分析和解決問題的能力[3-4]。
所有實驗在完成后要求學生提交實驗報告。實驗報告是考查學生完成實驗的重要參考,完整的實驗報告將體現學生在實驗過程中的思考過程。
在完成QTP和LoadRunner的學習后,我們通過一個實際Web項目案例“網上書店”進行完整的功能及性能測試。學生經歷項目測試計劃、測試設計、測試執行、結果分析、測試報告的完整測試流程,完成對該項目的性能和功能測試工作。對于最后大項目的測試工作,很顯然不能由一個人完成,教學過程中采用分組方式是比較合理的。將平時實驗中表現比較突出的同學,分配在各小組中擔任組長,每小組5~6人。由組長分配任務,督促團隊按時提交相關文檔。從教學實踐來看,這種方式取得的效果非常好,能夠充分調動同學們的積極性,增強學生的團隊合作意識[4-5]。
4考核方式
對于實踐性強的課程,考核方式以實驗成績為主[3]。按照教學計劃中的實驗設置,對每一個實驗在課堂上進行檢查,針對實驗內容對學生提問,要求學生對所做實驗用到的技術內容以及測試結果進行分析。根據學生的表述情況打分,單個實驗的成績還需要參考實驗報告,根據實驗報告的質量打分。對大項目的測試評定,依據小組的綜合表現、項目測試相關文檔質量打分,考核的總體標準如表2所示。這種考核方式,更加注重學生平時的課堂表現,脫離了傳統的期末考試給學生帶來的恐懼心理,使學生在平時課堂上能夠積極做實驗,取得更好的教學效果。
從最終考核成績來看,大部分學生基本掌握了QTP及LoadRunner的使用以及其中涉及的關鍵技術,能夠做到靈活運用,提高測試效率,為將來的求職打下了堅實的基礎。
5結語
根據國內某專業網站的最新調查顯示[1,6],軟件測試正逐漸成為IT行業的主導,人才需求越來越旺盛。這將促使我國高等院校在軟件測試人才培養方面加快步伐,通過制定專門的測試人才培養計劃來培養急需的測試人才。希望我們的教學實踐可為即將開設自動化測試工具類似課程的兄弟院校提供經驗支持。
參考文獻:
[1] 51testing. 2008年中國軟件測試從業人員調查報告[EB/OL]. [2011-05-01]. /ddimg/ uploadsoft/20090622/08cydcl.pdf,2009.6.
[2] 鐘素芬,葉明芷. 軟件測試應用性人才培養模式的探索與實踐[J]. 北京聯合大學學報:自然科學版,2007,21(3):89-92.
[3] 李繪卓,唐峻,范勇. 基于案例的軟件測試實驗教學[J]. 電腦知識與技術,2009,5(27):7820-7821.
[4] 屠紅蕾. 軟件測試教學的點滴體會[J]. 計算機教育,2008(10):124-125.
[5] 程寶雷. 基于Rational的軟件測試課程實驗教學方法探討[J]. 實驗室研究與探索,2007,26(12):310-312.
[6] 51testing. 2009年中國軟件測試從業人員調查報告[EB/OL]. [2011-05-01]. /ddimg/ uploadsoft/20100611/09cydc.pdf.
Teaching Scheme of Automatic Testing Tools
WANG Fasheng, ZHENG Dongxia, SHAO Ruifeng, XIONG Yaohua, GUO Quan
(Department of Computer Science & Technology, Dalian Neusoft Institute of Information, Dalian 116023, China)
關鍵詞:軟件測試;教學改革;人才培養
中圖分類號:G64
文獻標識碼:A
文章編號:1672-3198(2010)03-0237-01
軟件測試是保障軟件質量的重要環節,隨著中國軟件行業的不斷發展,企業對于軟件質量意識的逐步增強,促使國內軟件測試人員的地位不斷提升,軟件產品的質量要求與質量管理正逐漸成為企業生存與發展的核心。為了保證軟件在交付使用的時候能盡量完善,大多數IT企業在軟件產品前都需要做大量的質量控制工作。作為軟件質量控制中的重要一環,軟件測試重新顯示了它的重要位置。
由于中國高等教育往往落后于企業的實際發展,所以在很多高校重開發、輕測試的思想十分嚴重。許多學生對測試工作存在偏見,其中對軟件測試工作有三個認知誤區尤為突出:一、軟件測試是軟件開發完成之后才進行的,只是軟件編碼的最后一個階段。二、軟件測試無需具備很高的技能,是沒有前途的工作,工作枯燥,不具創造性。三、軟件后如果發現BUG就是測試人員的責任。這些認知缺陷導致軟件測試人才缺口進一步擴大,影響了企業對測試人員的招募工作,繼而影響到中國IT產業的發展。同時,國內軟件業因對軟件質量控制的重要作用認識較晚,尚未形成系統的軟件測試人才需求供應鏈。因此,高職院校有必要對此進行思考。
1 軟件測試課程教學現狀
根據各高職院校的專業設置情況來看,目前還沒有高職院校設置軟件測試專業,因此還沒有專門培養專業的軟件測試人才的體系。根據目前軟件企業對軟件測試技術人才的巨大需求,對于以培養滿足社會發展需求的應用型人才為辦學宗旨的高職院校來說,應該增加軟件測試專業的設置和軟件測試人才的培養。
目前,雖然很多高職院校增加了《軟件測試》課程,但在教學方法上一般采用傳統的灌輸式枯燥地講解測試理論和方法,使學生產生抵觸和厭學情緒。軟件測試是一項專業性較強的工作,它包括許多理論知識并要求測試人員具有一定的工程實踐經驗,缺少這些知識和經驗,測試的深度和廣度就不夠,測試工作的質量也就無法保證。因此在該門課程教學中需要提供豐富的實例和習題,并且采用實際軟件項目的測試案例,增加實訓環節,激發學生的學習興趣,促進了理論和實踐的教學,把對學生的應用能力的培養融匯于教學中。
2 軟件測試課程教學目標
根據目前軟件企業對軟件測試技術人才的能力需求,我們給軟件測試課程教學制定了兩個教學目標:其一,幫助學生熟練掌握規范化的軟件開發流程和軟件測試理論;其二,能進行一般的軟件測試,能編寫測試用例,能掌握至少一種軟件測試工具。因此,學生應掌握的知識主要包括:(1)掌握單元測試、集成測試、系統測試、性能測試、功能測試等測試方法。(2)熟悉黑盒測試和白盒測試技術。(3)能夠制定測試計劃和設計測試用例。(4)掌握常用的軟件自動化測試工具。(5)能夠編寫系統測試總結報告。
3 軟件測試課程教學改革方案
3.1 修正學子對軟件測試的認知誤區,提高對軟件測試重要性的意識
傳統的瀑布模型中,軟件項目主要有計劃、需求分析、概要設計、詳細設計、編碼、測試和運行維護這幾個階段。軟件測試處于運行維護階段之前,僅僅是軟件產品交付用戶使用之前保證軟件質量的重要手段。
隨著軟件業的發展,瀑布模型日益暴露出如下缺點:項目之間極少有反饋,在項目后期才能看到結果,這給經常發生需求變更的軟件研發工作產生很多不便,一旦在編碼階段結束才發現設計和需求階段的錯誤問題,修復的成本就會很高。因此測試人員應該在項目早期就介入,進行測試需求分析、制定測試計劃等。軟件測試應貫穿于整個軟件開發生命周期的全過程,以保證各個階段工作產品輸出的正確性。這要求測試人員有很好的溝通能力、理解能力、分析問題能力,同時還必須對該軟件服務的行業有一定的了解。
教師須結合軟件測試的最新趨勢,向學生普及新知識,新技術,以引起學生的學習興趣,擴展學生視野,提高對軟件測試崗位的理解,增強學生內在的學習動力,發揮學生的主動精神,將“要學生學習”變為“學生要學習”。
3.2 改革教學內容,強化實踐教學,促進理論與實踐教學的統一
關注新技術的發展,及時更新教學大綱,在課程內容安排上,注意理論與實踐并重,將《軟件測試》課程劃分為二個模塊組織教學。《軟件測試理論》課程是理論模塊,占60個學時,《軟件測試實訓》課程是實踐模塊,占60個學時。其中《軟件測試理論》課程涵蓋軟件測試的各項基本技術和知識,以學生較熟悉的應用背景和業務流程的項目開發和測試實踐為主線進行講解,提供豐富的實例和習題,激發學生的學習興趣,內容安排上由易到難,深入淺出。為了驗證理論,加深對理論的理解和掌握,安排需求分析和軟件設計的UML建模、單元測試、WEB系統的性能測試、系統集成測試等實驗。軟件測試實訓需要著重解決的問題是實驗的設計,既要考慮滿足教學的條件與要求,又要實現與實際測試工作的對接,并體現出軟件開發和測試的過程。
理論課和實訓課的講義,由參加了項目開發的專業老師和一些軟件公司的項目負責人編寫、整理出開發過程的所有文檔,包括用例圖、用例描述文本、時序圖、類圖、源代碼以及單元測試和系統測試的測試計劃和測試用例等。
3.3 建立了校外實訓基地, 通過企業實習提高學生的崗位技能,深化教學改革
學生到企業實習是軟件測試人才培養的重要組成部分。同學校周邊的軟件公司合作,建立校外實訓基地,讓學生在軟件開發隊伍中從事真正的軟件測試工作。學生在實習中不但能親身體會軟件測試在軟件開發流程中的作用,提高測試技術,而且可以培養測試人員必須具備的溝通能力、理解能力、分析問題的能力。一名好的測試人員必須能夠同軟件測試涉及的所有人進行溝通, 具有與技術開發者和客戶、管理人員等非技術人員的交流能力,這種能力在課程教學上無法培養的。
讓學生到企業實習還可以實現學生的職業能力與企業工作崗位的“零距離”,使學生根據自己的專業特長和愛好選擇自己在測試團隊的具體方向。掌握相關自動化測試工具的學生可以把自己定位于自動化測試人員,編程功底扎實的同學可以定位于腳本撰寫人員,對相關測試中最易發現問題的地方敏感的同學可以定位于手工測試人員。4 結語
軟件測試課程的教學難點在于對實踐能力的高要求上,我們引入案例教學,營造學生主動學習的氛圍,將課內學習和學生興趣融為一體,切實提高了學生的軟件測試能力,當然軟件測試教學改革方案還需要不斷根據軟件技術的發展和學生的特點不斷進行改進和調整,需要長期堅持不懈的探索。當前軟件測試的重要性已是軟件項目成敗的關鍵環節,當它的重要性已經被各家公司提升到一定高度的時候,高校學子們也應該與時俱進,對于有志從事IT崗位的高校畢業生來說,充分了解各個職位的真實情況,對于將來職業的選擇和規劃都有著莫大的好處。通過對軟件測試課程教學改革,可以看到教學效果明顯改善。學生的理論課成績顯著提高,畢業設計階段能夠應用軟件測試理論對自己的畢業設計進行測試,實驗課教學質量提高了,培養了學生自主創新能力。
參考文獻
[1]王中鳳.開放式實驗教學與創新型人才的培養[J].合肥學院學報(自然科學版),2009,(02).
[2]鐘元生.軟件測試實踐教學特色的構建實踐[J].電化教育研究,2006,(10).
[3]程寶雷.基于 Rational 的軟件測試課程實驗教學方法探討[J].實驗室研究與探索,2007,(12).
【關鍵詞】軟件測試;應用型人才;培養模式;課程群
據前程無憂網數據顯示,去年國內軟件測試人才缺口高達20萬,今年有望突破30萬人。目前國內軟件測試和開發人員比例大約在1:4-1:5,而國外測試和開發人員比例為1:1,微軟測試人員和開發人員的比例已達到2:1。軟件測試人才正在成為我國軟件行業目前最緊缺的人才之一。隨著我國軟件產業的迅速發展,軟件測試人才的地位正在逐年提升,這種供需矛盾將變得越發突出。
目前,國內軟件測試人才的培訓[1]主要有三種機構:企業、高等院校和IT培訓機構。企業培養的人才大多是通過參與項目自己摸索的軟件開發人員,由于缺乏對軟件測試全面的認識,在測試思想、技能、思維方式、溝通能力等方面都需要進一步提高。高校培養出來的人才具備一定理論知識,但動手能力較差,進入企業后需要再培養,不能立即到崗。培訓機構則能彌補前兩種方式的不足,但價格昂貴。
一、軟件測試課程教學現狀
(一)學生學習枯燥,興趣低
軟件測試是計算機專業課,課程內容理論性和操作性都很強,并且需要學習了解的自動化測試工具種類繁多。目前各個高校在開設這門課程時,大多數還停留在理論教學階段。教師準備好課件,學生拿著課本,首先給出書上官方的定義和自己的解釋,然后結合一些課本上或自己參與的項目,給出實例證明這些理論。學生容易感到內容空洞、枯燥乏味,學習時就缺少主動性,難對這門課程產生興趣。
(二)軟件測試實驗開展不充分,學生實踐能力弱
軟件測試知識點眾多,理論內容的授課量占絕大部分[2],實驗課時數僅占到四分之一左右。由于實驗時間、實踐環境有限,日常實驗教學都是驗證性的小實驗。由于沒有一個實際的面向企業的項目支撐,很多測試過程難以進行,比如集成測試、性能測試、驗收測試等等。通過對從事軟件測試方向工作的畢業生就業情況調查發現,軟件企業認為軟件測試課程理論豐富,但還存在學生實踐能力不足、測試工程師職業素質有待進一步提高等諸多問題。
(三)教師缺乏實際軟件測試經驗
軟件測試行業發展迅速,軟件測試工具種類多,更新快。軟件測試這門課程實踐性較強,高校計算機教師大多數軟件項目開發測試經驗不足[3],對軟件公司軟件項目研發測試過程沒有切身的體會。教師在講授這門課程時沒有實際的軟件項目案例可以操作,實踐教學顯得吃力,很難給學生軟件測試方面的經驗知識。
面對軟件測試人才的社會需求緊迫性和軟件測試教學現狀,人才培養單位應該擴大軟件測試人才培養規模,總結軟件測試知識點,改革教學方法,培養學生興趣,提高教學質量。
二、軟件測試工程師職業能力需求
為更好地培養學生的軟件測試工程師職業素質[4][5] [6],提高學生的就業率和用人單位的滿意度,充分分析軟件測試工程師的職業能力要求。
(一)素質要求[4][5]
1、具有團隊合作精神。
2、有較強的責任感及進取精神。
3、細心、耐心,具備逆向思維。
4、技術方面的基本素質,熟悉系統的應用,熟悉辦公軟件的應用,熟悉基本的測試流程;熟悉測試管理工具的應用。
5、具有測試人員的學習能力、領悟能力。
6、對行業具有信心,對測試的信心,相信軟件一直存在BUG。
7、良好的英語閱讀和寫作。
8、良好的語言及文字表達。
9、較好的溝通技巧。
10、懷疑精神具有測試人員必須保持的懷疑態度。
11、捕獲用戶觀點的能力,強烈的質量追求,對細節的關注。
(二)專業能力要求[6]
1、對Windows、Linux、Unix等大型主流操作系統的熟練掌握能力。
2、具備快速進行應用系統部署和測試環境搭建的能力。
3、測試人員必須掌握目前主流的程序設計語言,比如C、C++、JAVA、C#、VB等多種平臺下的一種或者多種語言,具備進行簡單應用開發的能力。
4、熟練掌握SQL Server、Oracle、DB2等一種或多種數據庫系統的使用,熟悉使用SQL語言。
5、對信息安全知識的基本掌握。
6、必須深刻理解和熟練掌握軟件測試基礎理論與技術。
7、精通各種測試技術,能夠手工或利用相關工具進行單元測試。
8、能夠進行測試用例設計、測試執行、編寫缺陷報告。
9、熟悉軟件測試流程和測試過程管理,能夠編寫測試計劃,具備組織測試工作的能力。
10、掌握測試管理相關知識和軟件。
11、掌握和熟練使用當前主流的功能、性能自動化測試工具以及測試管理工具,具備編寫測試腳本、進行功能和性能測試自動化測試的能力。
(三)知識結構要求
1、軟件知識:數據結構、操作系統、面向對象程序設計、數據庫原理、C程序設計語言、WEB技術、數據倉庫與數據挖掘、軟件工程。
2、硬件知識:數字邏輯、微機原理與接口、計算機組成原理、計算機系統結構。
3、網絡知識:計算機網絡技術、計算機網絡安全。
4、人文、社會學基礎:原理、道德與法律、中華民族歷史、大學語文、大學英語。
5、數學基礎:高等數學、線性代數、概率統計。
三、軟件測試課程設計理念和思路
根據軟件測試工程的職業能力要求,對軟件測試課程我們重新把握課程的設計理念和思路。
(一)課程設計理念
1、與企業共建基于工作過程的課程體系
根據專業辦學的定位及特色,《軟件測試》課程的設計理念是以軟件測試員/測試工程師崗位需求為依據,以培養學生使用自動化測試技術進行軟件測試的職業能力為主要目標,以測試工作的典型工作任務為導向,堅持以能力為本位的設計原則,制定突出企業應用能力和素養的課程標準,構建基于工作過程的系統化課程體系。課程組通過開展課程標準研討會和技術培訓會等形式,聽取企業專家的建議,修訂軟件測試課程的內容,保證課程內容與企業用人需求同步;在課程功能上注重學生應用能力的培養,構建以掌握軟件測試應用能力為特征的理實一體化的教學內容,做到強化技能、提升業務素質,提高學生的就業競爭力和實際工作能力。
2、和相關課程構成課程群,實現企業應用項目開發過程的案例教學環境
立足于培養滿足企業應用的軟件項目開發需要的應用型人才,本課程以真實的軟件實例項目測試任務和過程為依據,以現代教學理念為指導,精心進行教學設計。
在構建課程體系[7]時,由專業建設及教學指導委員會,充分調查分析不斷變化的市場,以企業應用軟件項目開發為切入點,構建基于軟件項目開發過程平臺。將《Java面向對象程序設計》、《數據庫原理及應用》、《軟件工程》、《軟件測試》、《軟件項目綜合實訓》這5門課程,按照專業培養目標,掌握計算機軟件技術所必需的理論知識和專業技能,具有較強實踐能力,能在軟件項目研發測試一線從事軟件項目需求分析、設計、編程、測試和軟件產品等工作的高素質應用型專業人才的要求,對應“軟件工程師”、“軟件測試師”“數據庫工程師”等行業職業特征,以項目為載體,形成一個有機整體,整合成“基于企業應用軟件項目開發過程”,組建了課程群。其中《Java面向對象程序設計》、《數據庫原理及應用》是專業核心基礎課程,《軟件工程》、《軟件測試》、《軟件項目綜合實訓》是專業核心必修課。通過“軟件項目的需求分析、設計、編程和測試技術”這個鏈將這五門課程緊緊聯系在一起,并能帶動軟件技術、網絡工程、計算機信息管理、計算機應用技術等幾個專業的協調發展。
(二)設計思路
1、以軟件測試工程師對軟件測試的能力要求為主線,設計課程體系,強化“工程屬性”,突出“項目色彩”。
在課程體系設計中,課程組以軟件測試工程師對軟件測試的能力要求為主線,整合“JAVA面向對象程序設計”、“數據庫原理及應用”、“軟件工程”并融合到以多種實際企業項目作為案例的“軟件項目綜合實訓”實踐課程中,經過優化,強化課程的“工程屬性”和“企業項目開發色彩”,將原來在傳統課堂教學中僅僅通過簡單實驗無法實現的“集成測試”、“性能測試”、“系統測試”、“驗收測試”等環節在實際工程項目實訓中得到實現,并努力培養學生崗位職業能力。在課程教學中,堅持以實際項目案例中的工作任務為目標,融理論教學與實踐教學為一體,以案例教學為導向,結合學生考取軟件測試工程師資格證書的實際需要,加強學生職業能力和綜合素質的培養,提高學生就業競爭力。
2、以企業工程能力培養為重點,實行分階段培養模式
根據企業工程能力的形成過程,課程組將教學內容劃分為基礎理論階段、技術應用階段、職業發展階段三個階段。其中,基礎理論階段包括測試基礎理論模塊,主要介紹軟件測試的基本理論與技術,測試用例設計和軟件測試流程,側重培養學生的測試思維,了解并掌握軟件產品質量保證的基本思想和基本測試流程,以及軟件測試的方法、技術,使學生能夠設計出測試案例并通過手動測試實現測試案例,為全面掌握軟件測試技術,后續實施測試和測試項目管理打下堅實的基礎。技術應用階段包括測試技術應用模塊,主要介紹主流的自動化測試工具,包括IBM系列測試工具、HP QTP、HP LoadRunner,企業級項目的測試實施,培養學生將測試知識和技術應用于自動化測試實施的能力。職業發展階段包括測試項目管理和職業素質教育兩個模塊,主要介紹軟件測試項目管理的相關技術和方法、運用工程項目方式管理軟件測試過程、測試企業工作模式和軟件測試人員必備素質,培養學生的項目管理能力、團隊協作能力和求職應聘能力。
適當加入游戲測試、手機測試、筆記本測試等學生感興趣的內容。我們了解到學生對游戲測試這部分內容很感興趣,那些平時聽課不太認真的學生在這個問題上都舉手要說上幾句,躍躍欲試,也都能說出一二。所以,課程組在軟件測試這門課程中經常討論一些游戲測試這部分內容,以引起學生的學習興趣。
四、改革教學模式和教學方法
(一)教學模式
本著“教師為主導,學生為主體”的思想,采用雙證培養、分階段培養和教學做評一體化教學模式[8]。
1、雙證培養教學模式
實行“雙證培養”教學模式,將學歷教育與技能學習無縫對接,學生畢業后不僅能獲得國家承認大學學歷證書,同時還將獲得國家勞動部高級職業技能認證證書。根據學生的能力特點,推薦學生考取軟件測試助理工程師、軟件測試工程師、軟件質量管理工程師、注冊軟件質量保證師(國際認證)等資格證書。雙證教育使學生專業能力更強、職業素養更高、綜合素質更好、更符合企業用人標準。
2、教學做評一體化教學模式
將教學場所直接設在實訓實驗室,師生雙方邊教邊學邊做,理論和實踐交替進行,把課堂教學轉向工作情境,課堂由教師為主轉向以學生為中心,突出學生動手能力和專業技能的培養,充分調動和激發學生學習興趣。學生真正變成了學習的主人,而老師只是一個引導者或答疑解惑者,可以培養學生的終生學習能力,對加強學生的計算機動手操作能力和解決實際問題的能力也有很大好處。
最后教師跟大家一起對實驗結果進行講評,并對表現優秀的學生給予鼓勵,同學們情緒高漲,學習積極性高。
(二)教學方法
根據學生的實際情況,綜合采用多種教學方法[9][10]。
1、項目導向教學法
以從企業精選的項目為載體,在授課過程中對項目進行分解,根據學生的個性和他們的意愿分配不同的角色,并引導學生練習操作,體驗項目流程,從而形成規范的開發意識和良好的IT職業素質。學生在校內所學習到的軟件開發中的各類案例,在實際工作中能夠及早地進行規劃。
本課程以物流信息網這個項目為主線,把整個課程的教學演變成一系列的教學情境。按照實際工作中項目開發流程的順序,依次展開,將“顯性”的知識灌輸,變為“隱性”的能力培養。通過具體項目的實施,引導學生在完成項目的過程中,掌握知識,培養能力。
2、任務驅動教學法
在課堂教學活動中,如果采用傳統教學方法,很難激發學生學習興趣。應該采用任務驅動教學方法,把一個項目分解為若干個大任務,每一個大任務,又分解為若干個小任務,將任務資料發給學生。學生在教師的引導下,課下先要進行消化,然后查閱各種必要的資料,理解知識并思考提出解決問題的方法。課上教師答復學生的問題,并引導學生更深層次的思考。通過這種方法充分調動學生的學習積極性,提高學習興趣,使學生既學會理論知識又學會用理論知識解決實際工程中的問題。
3、啟發式教學法
教師根據課程教學目的、內容、學生的知識水平和認知規律,采用啟發誘導方法傳授知識。該方法能夠充分調動學生學習的積極性、主動性,促使學生獨立思考、判斷、歸納解答。能較好的培養學生學習能力,達到觸類旁通的教學效果。
4、小組教學法
將班內學生分成若干個測試小組,每小組成員不超過7人,每組分配不同的軟件項目任務。小組成員模擬與體驗軟件測試全過程工作職位和角色,使學生全過程適應工作職位的要求。
各項目小組在測試項目過程中,針對不同的開發階段,撰寫各開發階段相應的文檔,并制定相應的測試計劃,設計典型測試用例,使用不同的軟件測試技術和測試工具,完成不同的測試目標,并進行回歸測試,以實現軟件測試各單項專業知識與技能整合運用的目標。在整個測試過程可以體現“學以致用”的思想,實現理論與實踐相結合。
通過演練項目開發測試,不僅讓同學們切身體會到軟件開發的整個過程,還讓同學們對軟件開發中各個角色有充分的了解,同時也更深刻的體會到團隊合作的重要性。
五、教師隊伍建設
加強雙師隊伍[11]建設,堅持“引進來,走出去”原則,積極引進具有企業開發經驗的高素質人才進行課程教學和實驗指導,同時注重本課題組青年教師隊伍的培養。采用分批次選派青年教師參加山東大學齊魯軟件學院暑期實訓和定期組織青年教師去軟件公司實習等方式,將企業的軟件測試經驗直接帶到教學中,提高教師的教學水平。
我們定期引進一些軟件公司的軟件測試人員或者聘請這方面的專業人士為教師、學生做定期講座,以彌補我們在教學實踐方面的缺陷。
六、實驗實訓條件建設
為培養應用型人才,本課程注重從不同側面提高學生的實踐能力。一方面,強化課內實驗教學,在校內建有多個實訓實驗室,另一方面,與校外多家企業建立合作關系,為學生提供實訓實習平臺,開展產學研合作,構建校企合作培養人才的新模式。
本課程組注重密切與行業和企業的聯系,與多家軟件公司進行長期合作,建立了校外實習實訓基地[12],為學生提供了生產性實訓和頂崗實習的場所,在真實的職業環境中完成真實軟件產品的開發,體驗企業文化,培養職業態度和習慣。學生畢業后可成為這些公司的正式員工,真正實現了學校、企業、學生三方受益。
七、改革考核方式
大膽改革課程考核方式[13],采用30%平時成績+30%實驗成績+10%項目考核成績+30%期末考試成績方式。平時成績主要考核學生的課堂討論情況、課后作業完成情況及課后自學情況。實驗成績根據學生在實驗中的測試用例設計和操作情況,以及測試小組的分工合作情況給以評分。項目考核主要采用項目答辯的形式考核學生對基礎知識的理解和掌握情況,由教師、行業專家、學生代表組成專家組給予評分。這種考核方式更注重的是對學生學習過程和實踐操作水平的考核,避免學生為考試而學習,死記硬背現象。
八、小結
通過對基于工作過程的軟件測試應用型人才培養模式的探索研究,學院已取得了實質性進展,建立了軟件測試課程教學團隊和軟件測試實驗實訓基地。學生的軟件測試綜合應用能力有明顯的提升,得到用人單位的好評,提高了學生的就業率。
參考文獻:
[1]龔宇輝.軟件測試課程教學改革研究[J].教育與職業,2010(24):130-131.
[2]溫艷冬,石冬凌.軟件測試課程三級項目教學實踐[J].計算機教育,2010(22):77-79.
[3]胡宏銀.軟件測試課程教學方法探討與實踐[J].計算機教育,2007(03):11-13.
[4]http:///link?url=5xO-IodKMsEhsyUjQhIeqybDGR-8AypYffsnAnZdMWpLRpgEhLehfzGEROxq9fIC.
[5]孫金華.軟件測試人才培養與課程構建的探索[J].計算機時代,2009(6):68-71.
[6]鐘素芬,葉明芷.軟件測試應用性人才培養模式的探索與實踐[J].北京聯合大學學報(自然科學版),2007(03) :89-92.
[7]田小霞.軟件測試人才培養的探索[J].福建電腦,2013(02):181-182.
[8]劉育熙,耿雪春.面向應用的軟件測試人才綜合能力培養模式研究[J].教育與職業,2009(11):111-112.
[9]范洪輝,朱洪錦,朱廣萍.“軟件測試技術與軟件質量”課程教學改革探索[J].江蘇技術師范學院學報,2012(12):151-153.
[10]周改云,馬麗.行動導向教學在軟件測試技術課程中的應用[J].電子測試,2013(04):192-194.
[11]蘭景英.構建應用型軟件測試人才培養實踐教學體系[J].黑龍江教育學院學報,2011,(05):78-80.
[12]蘭景英.應用型軟件測試人才培養模式探索與實踐[J].濰坊教育學院學報, 2011,(04):78-80.
[13]葉振,杜斌.開放式軟件測試教學實踐探索[J].現代企業教育,2011(01):140-141.
基金項目:
山東協和學院教改項目(2012xh01)。
作者簡介:
李兆翠(1980.1-),女,山東莒南人,碩士,講師,研究方向:軟件工程。
關鍵詞:軟件測試;項目實訓;實踐教學;人才培養
作者簡介:吳夢麟(1982-),男,江蘇南京人,南京工業大學電子信息與工程學院,講師。
中圖分類號:G642.44 文獻標識碼:A 文章編號:1007-0079(2013)14-0126-02
近年來,隨著中國內需市場的增長和國內外外包企業的合作加深,我國的軟件外包行業得到了迅速發展。軟件測試作為軟件外包的主營業務之一,是加快軟件企業與國際接軌,實現產品國際化的重要手段。隨著軟件開發流程的系統化和規范化,我國軟件企業對軟件測試的需求逐步增大,因此高校計算機專業中的軟件測試人才具有良好的就業前景。
由于軟件測試工作的特殊性,需要從業者不僅掌握一定的軟件技術,同時也要對軟件測試的方法和流程具備相當的經驗。通過高校教育培養出來的計算機專業應屆畢業生,雖然能夠掌握基本的軟件開發技術和軟件測試理論,但是缺乏實際的測試經驗和相應的行業背景知識,離企業的需求尚有一定的差距。目前高校計算機專業中軟件測試教學仍以理論為主,實踐動手能力和項目背景經驗的培養相對不足,這些矛盾導致學生就業時很難適應企業的用人要求,企業也必須對招入的應屆畢業生進行培訓,花費相當的人力和物力。
項目實訓是解決高校和企業之間供需矛盾的有效手段。在日常教學計劃中引入項目實訓,以實際測試任務為驅動,按照企業規范進行流程管理,讓學生掌握測試過程中各階段的技能,理論聯系實踐地接受企業化的鍛煉。通過實訓課程,使學生不但能夠學習到實際測試經驗,而且能夠增強團隊意識,進一步縮小畢業生與職業測試工程師之間的差距。
一、軟件測試項目實施
1.測試項目簡介
本文所述的軟件測試實訓項目是基于校企共建模式,由南京工業大學(以下簡稱“我校”)軟件外包實驗室提供軟件測試的場所和專用的硬件設備,從合作的軟件公司引入相應的測試平臺、管理流程和測試報告文檔的測試項目。
本項目的內容是針對前期開發的教師管理系統進行測試。該系統是教學部門的業務管理支撐系統,測試主要圍繞教師信息的查詢和更新操作的管理。通過對這些功能模塊的測試,增強系統的易用性、穩定性、可配置性,消除信息孤島,進一步提高數據信息的應用水平。
在測試環境搭建過程中,服務器的軟硬件配置要與該系統的實際運行環境保持一致。對于測試計劃、測試方案和測試用例等文檔的修改、更新操作,則采用svn版本管理工具來進行控制。學生可以通過svn服務器平臺,按照進度提交每日的測試用例文檔,并填寫日志記錄測試進度和每天的測試工作。
2.實訓計劃和人員管理
軟件測試實訓安排在我校外包實驗室中進行,采用與企業相同的管理模式集中訓練,由相關教師和企業工程師來指導測試流程。測試團隊的成員來自于我校電子與信息工程學院計算機專業的大三、大四學生,以及對軟件測試感興趣的相近專業的學生。這些學生具備基本的軟件編程能力,并且對測試的基本理論有一定的了解。根據學生自身水平和對項目的熟悉程度,可以將其劃分為不同角色,其中包括開發人員和測試人員。開發人員由原來參與系統開發的部分學生擔任。測試人員可以分成不同的小組測試不同的模塊,每個小組設置一個測試組長,負責測試項目管理,其余組員則負責執行測試用例,各小組都有一名教師作為指導教師,控制模塊的測試進度。整個測試實訓項目安排在假期進行,用時半個月,每天工作8小時。每天早晨由測試組長安排當天的測試任務,并對前一天的測試結果進行總結。在每個時間節點,由指導教師和小組成員對相關測試文檔進行評審。
3.測試項目進程
本項目的實際流程圖如圖1所示,在項目初始階段,擔任開發人員角色的學生敘述產品需求和業務流程,為編寫測試計劃做準備。該測試項目主要分為5個階段:測試計劃制定、測試方案編寫、測試用例設計、多輪系統測試和測試系統報告提交。每個階段都力求達到規范化、細致化的測試目標,同時每個階段都要經過教師和各個組員之間的評審,如果評審通過,可以開始下一階段的工作;如果不通過,則需要完善后繼續評審直到通過。
(1)測試計劃制定。在了解了教師管理系統的需求以后,結合學生的基本情況、系統模塊數量和測試的周期來制定測試計劃。測試計劃要涵蓋測試的范圍和環境、測試人員的管理和測試進度安排??紤]到參與實訓項目的學生缺乏相關經驗,因此測試計劃要重點突出每個測試小組所對應的系統模塊,以及測試流程中每個階段所對應的完成日期。該測試計劃由各組組長和指導教師制定,最后需各小組評審后通過。
(2)測試方案編寫。測試方案是按照系統需求說明書詳細的分析測試的模塊,指導后續的測試用例的編寫工作,重點在于對模塊具體功能的理解和測試對象的分析。在這一階段,首先由擔任開發人員角色的學生來介紹系統模塊的基本功能,并以文檔的形式向對應測試組成員提交;然后由指導教師以具體測試點為例,介紹詳細的測試用例寫法;最后,由各組組長將測試任務分配給組員,各組員在理解的基礎上開始測試用例的設計。測試方案完成以后由各組組長匯總,并在組內進行評審。
(3)測試用例設計。測試用例的編寫是針對各功能模塊測試而設計的一組測試輸入、執行條件以及預期結果,也是本實訓項目的重點內容。在對模塊的特性和功能了解的基礎上,設計系統的測試點,設計時應考慮角色權限、驗證點和測試描述。在設計驗證點的過程中,鼓勵學生展開討論,力求做到無疏漏;同時在測試描述時,可以將等價類劃分、邊界值、錯誤推測等常用方法與書本理論相結合,通過具體的實例加深學生對所學知識的理解。最終的測試用例以Excel表格形式列出,其中包括編號、重要級別、操作步驟、預期輸出和實際測試結果等條目。
(4)多輪系統測試。按照測試用例的具體內容,可以進行多輪的系統測試。根據測試結果,扮演開發人員角色的學生對缺陷進行修改。通過這一過程,不但使學生認識到開發過程中存在的問題,而且積累了開發經驗,為今后規范化的編程打下了基礎。
(5)測試報告提交。通過半個月的實訓,學生經歷了規范化的測試流程,測試報告的編寫是對測試內容的概括和總結。報告的內容主要有以下三個方面:通過對測試結果的分析,得到對軟件質量的評價;總結本次的測試過程,為制定以后的測試計劃提供參考;評估本次測試計劃和測試執行是否符合規范。通過本次實訓,學生普遍體會到從理論知識到實踐的過程,明確了規范化的軟件測試方法,同時對軟件編寫中隱含的錯誤和缺陷也有了一定的認識,為今后的軟件開發打下一定的基礎。
二、軟件測試實訓存在的問題和解決辦法
本次軟件測試實訓基本達到了預期的效果,學生不但學到了規范化的測試流程,提高了職業軟件素養,而且通過互動和交流,發現了教學中存在的一些需要解決的問題。首先,本次軟件測試實訓是針對上一次實訓開發的系統,離企業的實際系統測試尚有一些差距;其次,參與的學生缺乏實際經驗,對軟件測試認識不足,導致測試方案和測試用例編寫不夠規范、完善;另外,相應的管理需要加強,在實訓過程中存在遲到、早退以及缺席的現象,從而影響了測試進度。
針對以上問題,在今后的實訓過程中,測試項目要盡量切合企業的實際需求,同時在測試方案和測試用例的評審中,要加強教師和學生的溝通,強調測試流程的規范性,可以多鼓勵高水平的學生帶低水平的學生。另外,可以采取企業現行管理方式對實訓進行管理,如引入考勤制度、評審制度等。
三、結語
軟件測試是我國軟件產業高速發展中需求缺口較大的一個行業,培養具有相關經驗和符合企業需求的軟件測試人才是目前高校計算機專業需要解決的核心問題之一。本文通過研究軟件測試實訓項目,探索了軟件測試專業人才的培訓方式以及在此過程中遇到的問題,對研究校企聯合的人才培養模式具有重要意義。
參考文獻:
[1]徐瑾.中國軟件外包業研究綜述與展望[J].經濟學動態,2010,(11):75-78.
CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人與職業技能、人際團隊能力和工程系統能力四個層面,要求以綜合的培養方式使學生在這四個層面達到預定目標。CDIO不僅繼承和發展了歐美20多年來工程教育改革的理念,還提出了系統的能力培養、全面的實施指導、完整的實施過程和嚴格的結果檢驗的12條標準,具有很強的可操作性。
2綜合實訓課程的定位與培養目標
按照循序漸進,由淺入深,逐層推進的原則,鹽城師范學院信息科學與技術學院將軟件工程專業的實踐教學體系分為四個層次:課程實驗、課程設計、綜合實訓、畢業設計。其中,綜合實訓是以前期課程實驗和課程設計為基礎,綜合運用多門相關課程(群)知識完成一個工程項目的實戰訓練,并作為后續畢業設計的預演,是整個實踐教學體系中承上啟下的關鍵環節。在軟件工程領域,軟件開發與軟件測試是目前兩個主流的就業方向,也是綜合實訓課程訓練的重點。軟件開發綜合實訓要求以軟件生命周期為主線,綜合運用程序設計、數據庫應用、軟件工程、軟件項目管理等學科知識,嚴格遵守軟件開發的流程與規范,完成一個軟件項目的開發,最后提交軟件產品和相關技術文檔;軟件測試綜合實訓要求學生以軟件開發綜合實訓所完成的軟件產品為被測對象,綜合運用軟件測試與質量保證、軟件測試流程與方法、測試框架與自動化測試等學科知識,使用軟件測試的方法與技術,設計測試用例和測試腳本,完成被測軟件的功能測試與性能測試,生成測試報告,并對測試結果進行分析。綜合實訓的培養目標為:通過軟件開發與軟件測試項目的實戰訓練,全面提升學生綜合運用所學知識與技術解決實際工程問題的素質與能力,進一步加深學生對工程化、系統化原則與方法的理解,為勝任現代軟件工程環境下高質量軟件的開發、測試和維護工作奠定堅實的基礎。
3CDIO模式下課程改革與實踐
根據綜合實訓課程的定位和培養目標,借鑒和吸收CDIO工程教育理念和標準,按照“以CDIO培養大綱為指南、以項目為載體任務為驅動、以工程能力培養為目標”的原則,對我們綜合實訓課程改革進行了探索與實踐。
3.1全真模擬企業環境,實施一體化訓練模式
軟件開發和軟件測試是綜合實訓的主體內容,傳統的訓練模式將二者割裂開來,分兩個階段分別完成實訓項目,這種方式沒有考慮軟件開發與軟件測試的內在關聯與協同性,與企業真實環境也不相符合;并且由于兩個實訓階段時間跨度較大,項目銜接性差,效率低下,實訓效果也大打折扣;而在真實的企業環境中,軟件開發小組和軟件測試小組共同對同一個項目負責,各司其職,協同完成整個項目。鑒于此,我們采取“全真模擬、同步協作、角色互換”的策略,實施軟件開發與軟件測試一體化的訓練模式。具體地說,整個實訓過程完全模擬企業真實環境,將某個項目分配給由若干學生臨時組成的項目組,該項目組又細分為開發小組和測試小組,分別負責軟件的開發與測試工作;項目完成后,開發小組和測試小組角色互換,重做該項目。實踐表明,一體化的訓練模式能實現軟件開發與軟件測試的無縫銜接,學生能在更為真實的環境中參與整個項目過程,體驗不同角色的職責范圍,并通過不同的角色轉換,使學生更深刻認識到開發人員與測試人員協同合作對完成整個軟件項目的重要性。
3.2項目驅動,全面實踐CDIO
CDIO的核心就是企業與社會環境下的構思、設計、實現和運作系統,它展示了一個產品或系統完整的開發過程,也體現了“做中學”和“基于項目的教育和學習”的精髓。從軟件開發與軟件測試的角度,無論是以軟件生命周期為主線的開發過程,還是以測試流程為主線的測試過程,無不體現著軟件產品從構思到運作的整個生產過程,與CDIO理念不謀而合。這里,我們以項目為載體、任務為驅動,以CDIO方法論為指導,嚴格按照“構思、設計、實現和運作”四個不同階段來開展實訓過程,以培養學生對產品、過程和系統的構建能力,增強學生的工程化意識。CDIO與軟件開發、軟件測試過程的對應關系
3.3分組互學互助,培養團隊協作能力
團隊能力是CDIO大綱要求工程畢業生必備的一種能力,也是軟件企業非??粗氐囊环N職業能力。在實際實訓過程中,我們模擬企業真實環境,將所有學生分為若干項目組,每個項目組又細分為開發小組和測試小組,各小組由一名組長和若干名組員構成。根據任務分工不同,每名學生都被賦予一定的角色,組員在組長的指揮協調下通力合作,共同完成實訓項目。實踐表明,分組模式能較好地激發學生的學習熱情,提高學習效率,而且也營造了良好的學習氛圍,組員之間分工協作,互學互助,學生的溝通能力、協作精神和團隊意識大為提升。
3.4面向全體,務實勿虛,促進共同進步
綜合實訓是一種典型的自主學習課程,學生在任務的驅動下以小組為單位協作完成實訓項目,但由于任務分工不合理、學生自制力差等原因,容易導致小組內個別技術較好、自覺性高的學生承擔大部分甚至全部工作,而部分學生卻人浮于事,使團隊分工協作流于形式,不利于全體學生的共同進步與提高。為避免此類現象的發生,我們考慮在角色分配和任務分工時,盡量使學生都能承擔軟件設計、編碼、測試用例設計、腳本設計、測試實施等較為具體的工作,使學生通過具體的訓練來提高專業技能,而對于需求分析、計劃制定、總結報告等相對較“虛”的工作則由組長帶領全體組員共同完成;同時,任務分工也充分考慮學生原有的技術基礎、興趣愛好和特長。這種分工方式在尊重學生個體意愿的基礎上使得每個人都有具體明確而又力所能及的任務分工,能充分調動學生的學習積極性,激發學生的學習潛能,促進全體學生的共同進步與提高。
3.5實施多維度考評體系,注重過程考核和能力考核
考核是對學生學習成果的認定和評價,良好的考核機制能對學生的學習過程和學習動機產生正確的指引作用,促進培養目標的達成。在實訓課程的考核上,我們以CDIO大綱要求的能力培養為導向,學習過程與學習結果并舉,實施多維度的考評機制,每名學生的成績由平時成績、所在小組成績和個人成績三部分組成。其中,平時成績主要考評學生的職業態度與能力,小組成績主要考評學生所在小組的整體表現和工程實作能力,個人成績主要考評學生個體所承擔任務的完成質量,且每項成績的考評方式也是多元的,力求做到公平、公正、合理。在小組內部,同組學生的小組成績相同,但平時成績和個人成績各異,引導學生在努力完成各自任務的同時,重視組內的協作互助,并通過各個個體的高質量工作提高整個團隊的工作質量。實踐表明,該考評體系既重視最終學習成果的呈現也關注學生學習過程中的表現;既重視團隊整體的工作效率也關注學生個體在團隊中的價值;既強調學生專業技能的訓練和工程能力的培養也關注學生職業素養和個人能力的提高,有效避免了傳統評價方式只看結果不看過程、評價指標單一化、評價結果趨同化的弊端。
4結束語
【關鍵詞】計算機專業課程體系改革
計算機技術是飛速發展的一個領域,盡管各類高校開辦有計算機專業,但是計算機類人才缺口仍然很大,由于社會的需求與高校的人才培養模式不相符,導致出現了以下現象,一方面,用人單位卻反映人才緊缺,要找到合適的人才很難;另一方面,當計算機專業的學生就業時,往往感到工作難找,要找到專業對口的工作很難。因此,對計算機科學與技術專業的課程體系結構、課程教學內容、教學形式等方面將進行一系列的改革,是迫在眉睫的任務。
一、計算機科學與技術專業存在的主要問題
1、教學內容陳舊,跟不上計算機行業發展
計算機行業是飛速發展的行業,新理論、新技術日新月異,目前計算機專業在課程設置上普遍存在的問題是:教學內容總是滯后,不能體現專業發展的新技術,因此造成了教學內容陳舊。用人單位反映的最多問題之一是學生的專業知識結構落后。
2、重理論輕實踐,動手能力差
重視理論輕視實踐,理論與實踐脫節,很多實踐課程僅局限于幾個驗證性實驗,缺乏綜合性的實驗,缺乏足夠的實踐訓練,特別是針對職業崗位的實踐訓練,因此動手能力差,這也是用人單位反映比較多的問題,直接導致了培養的學生與社會需求脫節。
3、職業特色體現不夠,崗位適應性差
學生要么對職業崗位不適應,要么對職業的適應期較長,不能很快融入企業環境。雖然具備了勝任職業崗位的知識和能力,但是缺乏適應企業管理、人際關系的能力,很難在企業找準自己的位置,影響自己的才干發揮,最終面臨被企業淘汰的危機。
二、推進計算機科學與技術專業課程體系改革
由上面分析可知,對計算機科學與技術專業課程體系進行改革,是當前急需解決的問題,下面對如何推進計算機科學與技術專業課程體系改革談談自己的一點看法。
1、計算機專業課程設置的原則
計算機專業課程設置的原則是厚基礎、重實踐、求創新。計算機科學技術發展很快,但是其基本原理,基本方法是相對穩定的,因此,只有把基礎知識學好,才能為今后的發展打好良好的基礎,才能為學生可持續發展提供助力。計算機專業是一個實踐性很強的專業,因此不能滿足于原有的課程實驗,還要加大專題實驗,專題實訓,特別要重視針對性的職業崗位實習。計算機技術的發展可以說是日新月異,新技術新理論層出不窮,在有條件的情況下必須開設一些比較新的課程,從而實現培養人才與社會需求的對接。
2、計算機專業課程設置
計算機專業學生主要學習和運用計算機科學與技術基本理論及專業知識,接受計算機應用系統設計與開發的基本訓練,根據計算機目前的發展現狀和未來發展趨勢,本專業應分3G應用技術模塊、企業計算技術模塊和軟件測試工程技術模塊等三個子方向。
在課程設置上,三個子方向修讀同樣的專業基礎課和專業必修課,這些課程構建了本專業基礎課程體系,是專業核心部分;而在專業選修課上三個子方向各有側重,以不同的課程設置作為不同的修讀方向展開專業技術培養。著重培養計算機應用軟件設計、3G應用程序設計、企業ERP應用系統規劃設計和開發、軟件及應用系統的測試等不同方向的綜合知識和技能。下面我們分別以三個方向的專業必修課和專業選修課為例來展開討論。
專業必修課設置:軟件工程、軟件代碼開發技術、操作系統及應用、計算機網絡技術、數據庫原理及應用、形式語言與自動機、人機交互的軟件工程方法。
專業選修課設置:
A.3G應用技術方向
移動通信理論、3G通信技術基礎、移動增值業務分析與解讀、3G通信通信軟件設計與使用、MicrosoftMobile移動應用開發、流媒體技術制作及應用、手機應用開發(JAVAMe)、3G業務技術開發、終端技術開發實踐、3G業務與終端技術開發、手機游戲開發實踐、3G工程師認證強化訓練、3G終端增值業務分析與項目實踐、3G工程職業實踐。
B.企業計算方向
軟件設計與體系結構、MFC/C++應用技術開發、軟件質量保證與測試、軟件項目管理、大型數據庫系統、ERP技術及項目實踐、CIMS技術及應用、數據倉庫與數據挖掘技術、軟件設計師認證強化訓練、J2EE項目開發實踐、.NET項目開發實踐、ERP軟件項目職業實踐。
C.軟件測試技術方向
基于MFC/C++應用技術開發、J2EE應用技術開發、軟件測試過程與用例設計、LINUX/Windows平臺測試技術、數據庫應用開發與測試、軟件測試工具及應用、軟件測試工程師認證強化訓練。
三、計算機科學與技術專業課程體系改革實踐總結
根據以上課程體系改革方案,我們對2009級計算機科學與技術專業(應用技術方向)進行了改革試點,近三年的實踐表明,學生的學習目標明確,學習興趣比前幾屆濃厚,學習積極性高漲,我們又邀請了相關用人單位對我們的課程進行了討論,對學生進行了崗位技能測試,用人單位給予了很高的評價,認為學生所學能夠適應社會發展,看好他們的就業前景。
參考文獻