引論:我們?yōu)槟砹?3篇軟件測試實訓總結(jié)范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。
篇1
中圖分類號:G642.44 文獻標識碼:A 文章編號:1007-0079(2013)14-0126-02
近年來,隨著中國內(nèi)需市場的增長和國內(nèi)外外包企業(yè)的合作加深,我國的軟件外包行業(yè)得到了迅速發(fā)展。軟件測試作為軟件外包的主營業(yè)務之一,是加快軟件企業(yè)與國際接軌,實現(xiàn)產(chǎn)品國際化的重要手段。隨著軟件開發(fā)流程的系統(tǒng)化和規(guī)范化,我國軟件企業(yè)對軟件測試的需求逐步增大,因此高校計算機專業(yè)中的軟件測試人才具有良好的就業(yè)前景。
由于軟件測試工作的特殊性,需要從業(yè)者不僅掌握一定的軟件技術(shù),同時也要對軟件測試的方法和流程具備相當?shù)慕?jīng)驗。通過高校教育培養(yǎng)出來的計算機專業(yè)應屆畢業(yè)生,雖然能夠掌握基本的軟件開發(fā)技術(shù)和軟件測試理論,但是缺乏實際的測試經(jīng)驗和相應的行業(yè)背景知識,離企業(yè)的需求尚有一定的差距。目前高校計算機專業(yè)中軟件測試教學仍以理論為主,實踐動手能力和項目背景經(jīng)驗的培養(yǎng)相對不足,這些矛盾導致學生就業(yè)時很難適應企業(yè)的用人要求,企業(yè)也必須對招入的應屆畢業(yè)生進行培訓,花費相當?shù)娜肆臀锪Α?/p>
項目實訓是解決高校和企業(yè)之間供需矛盾的有效手段。在日常教學計劃中引入項目實訓,以實際測試任務為驅(qū)動,按照企業(yè)規(guī)范進行流程管理,讓學生掌握測試過程中各階段的技能,理論聯(lián)系實踐地接受企業(yè)化的鍛煉。通過實訓課程,使學生不但能夠?qū)W習到實際測試經(jīng)驗,而且能夠增強團隊意識,進一步縮小畢業(yè)生與職業(yè)測試工程師之間的差距。
一、軟件測試項目實施
1.測試項目簡介
本文所述的軟件測試實訓項目是基于校企共建模式,由南京工業(yè)大學(以下簡稱“我?!保┸浖獍鼘嶒炇姨峁┸浖y試的場所和專用的硬件設備,從合作的軟件公司引入相應的測試平臺、管理流程和測試報告文檔的測試項目。
本項目的內(nèi)容是針對前期開發(fā)的教師管理系統(tǒng)進行測試。該系統(tǒng)是教學部門的業(yè)務管理支撐系統(tǒng),測試主要圍繞教師信息的查詢和更新操作的管理。通過對這些功能模塊的測試,增強系統(tǒng)的易用性、穩(wěn)定性、可配置性,消除信息孤島,進一步提高數(shù)據(jù)信息的應用水平。
在測試環(huán)境搭建過程中,服務器的軟硬件配置要與該系統(tǒng)的實際運行環(huán)境保持一致。對于測試計劃、測試方案和測試用例等文檔的修改、更新操作,則采用svn版本管理工具來進行控制。學生可以通過svn服務器平臺,按照進度提交每日的測試用例文檔,并填寫日志記錄測試進度和每天的測試工作。
2.實訓計劃和人員管理
軟件測試實訓安排在我校外包實驗室中進行,采用與企業(yè)相同的管理模式集中訓練,由相關(guān)教師和企業(yè)工程師來指導測試流程。測試團隊的成員來自于我校電子與信息工程學院計算機專業(yè)的大三、大四學生,以及對軟件測試感興趣的相近專業(yè)的學生。這些學生具備基本的軟件編程能力,并且對測試的基本理論有一定的了解。根據(jù)學生自身水平和對項目的熟悉程度,可以將其劃分為不同角色,其中包括開發(fā)人員和測試人員。開發(fā)人員由原來參與系統(tǒng)開發(fā)的部分學生擔任。測試人員可以分成不同的小組測試不同的模塊,每個小組設置一個測試組長,負責測試項目管理,其余組員則負責執(zhí)行測試用例,各小組都有一名教師作為指導教師,控制模塊的測試進度。整個測試實訓項目安排在假期進行,用時半個月,每天工作8小時。每天早晨由測試組長安排當天的測試任務,并對前一天的測試結(jié)果進行總結(jié)。在每個時間節(jié)點,由指導教師和小組成員對相關(guān)測試文檔進行評審。
3.測試項目進程
本項目的實際流程圖如圖1所示,在項目初始階段,擔任開發(fā)人員角色的學生敘述產(chǎn)品需求和業(yè)務流程,為編寫測試計劃做準備。該測試項目主要分為5個階段:測試計劃制定、測試方案編寫、測試用例設計、多輪系統(tǒng)測試和測試系統(tǒng)報告提交。每個階段都力求達到規(guī)范化、細致化的測試目標,同時每個階段都要經(jīng)過教師和各個組員之間的評審,如果評審通過,可以開始下一階段的工作;如果不通過,則需要完善后繼續(xù)評審直到通過。
(1)測試計劃制定。在了解了教師管理系統(tǒng)的需求以后,結(jié)合學生的基本情況、系統(tǒng)模塊數(shù)量和測試的周期來制定測試計劃。測試計劃要涵蓋測試的范圍和環(huán)境、測試人員的管理和測試進度安排??紤]到參與實訓項目的學生缺乏相關(guān)經(jīng)驗,因此測試計劃要重點突出每個測試小組所對應的系統(tǒng)模塊,以及測試流程中每個階段所對應的完成日期。該測試計劃由各組組長和指導教師制定,最后需各小組評審后通過。
(2)測試方案編寫。測試方案是按照系統(tǒng)需求說明書詳細的分析測試的模塊,指導后續(xù)的測試用例的編寫工作,重點在于對模塊具體功能的理解和測試對象的分析。在這一階段,首先由擔任開發(fā)人員角色的學生來介紹系統(tǒng)模塊的基本功能,并以文檔的形式向?qū)獪y試組成員提交;然后由指導教師以具體測試點為例,介紹詳細的測試用例寫法;最后,由各組組長將測試任務分配給組員,各組員在理解的基礎上開始測試用例的設計。測試方案完成以后由各組組長匯總,并在組內(nèi)進行評審。
(3)測試用例設計。測試用例的編寫是針對各功能模塊測試而設計的一組測試輸入、執(zhí)行條件以及預期結(jié)果,也是本實訓項目的重點內(nèi)容。在對模塊的特性和功能了解的基礎上,設計系統(tǒng)的測試點,設計時應考慮角色權(quán)限、驗證點和測試描述。在設計驗證點的過程中,鼓勵學生展開討論,力求做到無疏漏;同時在測試描述時,可以將等價類劃分、邊界值、錯誤推測等常用方法與書本理論相結(jié)合,通過具體的實例加深學生對所學知識的理解。最終的測試用例以Excel表格形式列出,其中包括編號、重要級別、操作步驟、預期輸出和實際測試結(jié)果等條目。
(4)多輪系統(tǒng)測試。按照測試用例的具體內(nèi)容,可以進行多輪的系統(tǒng)測試。根據(jù)測試結(jié)果,扮演開發(fā)人員角色的學生對缺陷進行修改。通過這一過程,不但使學生認識到開發(fā)過程中存在的問題,而且積累了開發(fā)經(jīng)驗,為今后規(guī)范化的編程打下了基礎。
(5)測試報告提交。通過半個月的實訓,學生經(jīng)歷了規(guī)范化的測試流程,測試報告的編寫是對測試內(nèi)容的概括和總結(jié)。報告的內(nèi)容主要有以下三個方面:通過對測試結(jié)果的分析,得到對軟件質(zhì)量的評價;總結(jié)本次的測試過程,為制定以后的測試計劃提供參考;評估本次測試計劃和測試執(zhí)行是否符合規(guī)范。通過本次實訓,學生普遍體會到從理論知識到實踐的過程,明確了規(guī)范化的軟件測試方法,同時對軟件編寫中隱含的錯誤和缺陷也有了一定的認識,為今后的軟件開發(fā)打下一定的基礎。
二、軟件測試實訓存在的問題和解決辦法
本次軟件測試實訓基本達到了預期的效果,學生不但學到了規(guī)范化的測試流程,提高了職業(yè)軟件素養(yǎng),而且通過互動和交流,發(fā)現(xiàn)了教學中存在的一些需要解決的問題。首先,本次軟件測試實訓是針對上一次實訓開發(fā)的系統(tǒng),離企業(yè)的實際系統(tǒng)測試尚有一些差距;其次,參與的學生缺乏實際經(jīng)驗,對軟件測試認識不足,導致測試方案和測試用例編寫不夠規(guī)范、完善;另外,相應的管理需要加強,在實訓過程中存在遲到、早退以及缺席的現(xiàn)象,從而影響了測試進度。
針對以上問題,在今后的實訓過程中,測試項目要盡量切合企業(yè)的實際需求,同時在測試方案和測試用例的評審中,要加強教師和學生的溝通,強調(diào)測試流程的規(guī)范性,可以多鼓勵高水平的學生帶低水平的學生。另外,可以采取企業(yè)現(xiàn)行管理方式對實訓進行管理,如引入考勤制度、評審制度等。
三、結(jié)語
軟件測試是我國軟件產(chǎn)業(yè)高速發(fā)展中需求缺口較大的一個行業(yè),培養(yǎng)具有相關(guān)經(jīng)驗和符合企業(yè)需求的軟件測試人才是目前高校計算機專業(yè)需要解決的核心問題之一。本文通過研究軟件測試實訓項目,探索了軟件測試專業(yè)人才的培訓方式以及在此過程中遇到的問題,對研究校企聯(lián)合的人才培養(yǎng)模式具有重要意義。
參考文獻:
篇2
兩年制軟件測試人才培養(yǎng)的特點主要有:
(1) 學制短,只有兩年;
(2) 目標是培養(yǎng)實用型軟件測試技術(shù)人才;
(3) 要具備一定的編程能力。
上述特點決定了軟件測試人才的課程體系的特點:
(1) 方向即專業(yè)由于學制短(兩年),除了第四學期的畢業(yè)實訓,實際上真正上課時間只有三個學期。所以軟件職業(yè)技術(shù)人才不能像本科生培養(yǎng)一樣,到大三才分方向,而必須從入校就開始分,所以軟件測試方向?qū)嶋H上是按軟件測試專業(yè)來培養(yǎng)。
(2) 開發(fā)與測試兼?zhèn)湟粋€合格的軟件測試人員必須具備基本的編程能力和軟件開發(fā)人才的基本素養(yǎng)。所以軟件測試方向的課程除了測試課程外,還要掌握軟件技術(shù)的基本課程,包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、計算機網(wǎng)絡、軟件工程,以及至少一門主流程序設計語言等。
(3) 課程緊湊、課時多由于相對于其他專業(yè)來講,軟件測試方向的學生要學習更多的課程,所以課時就多,課程安排緊湊。
(4) 實用性和實時性作為實用型軟件測試人才,學生必須掌握當前主流的測試工具、實用測試技術(shù)和方法等。所以課程體系必須要具備實用性和實時性。
2課程的設置
在設置課程時,我們進行了大量的調(diào)研,經(jīng)過2004級和2005級兩屆學生的培養(yǎng)實踐,針對培養(yǎng)效果,進行了一些分析和課程改革。目前2006級的課程設置是在掌握基本的軟件技術(shù)基礎知識和一門主流程序設計語言的基礎上,開設了“軟件測試技術(shù)”、“功能測試與性能測試”、“測試管理”等軟件測試專業(yè)課程。
主要專業(yè)課程設置見表1。
從功能上講,課程的設置可以分成5個部分,對應學生不同層次能力的培養(yǎng)。
第一部分程序設計能力、工程化開發(fā)思想的培養(yǎng)。該部分的課程主要包括VB、Java、數(shù)據(jù)結(jié)構(gòu)、計算機網(wǎng)絡、數(shù)據(jù)庫、軟件工程等,主要是軟件技術(shù)基礎知識的學習,培養(yǎng)學生基本的程序設計能力,使之具備軟件技術(shù)人才的基本素養(yǎng),同時軟件工程等培養(yǎng)學生工程化和規(guī)范化的軟件開發(fā)思想。采用Java作為主要編程語言,將另一主流語言C#作為選修課,體現(xiàn)課程設置的靈活性。
在編程的課時和基礎訓練上和軟件技術(shù)專業(yè)編碼方向的學生一樣,設置的原則:首先是一個軟件測試人員必須具有基本的編程能力和經(jīng)驗,才能更好地搞好軟件測試工作。第二是根據(jù)當前軟件企業(yè)的人才需求考慮學生的就業(yè),因為河南省絕大多數(shù)軟件企業(yè)規(guī)模都較小,設置專職的軟件測試崗位的較少,程序員通常又是測試員,所以使學生既能編程又能測試,拓寬就業(yè)渠道。
第二部分軟件測試基礎知識。主要是“軟件測試技術(shù)”課程,側(cè)重于測試理論和技術(shù)的掌握、搭建測試環(huán)境、測試工程師的基本職業(yè)素養(yǎng)培養(yǎng)。使學生在學習編程的同時,掌握對應的測試技術(shù)概念和基本知識。為進一步的實際項目測試打下基礎。該部分對應有2周的一級集中實踐課題,進行基本的測試訓練。
第三部分主流測試技術(shù)和工具的掌握和使用、實際測試能力的強化和提高。對應的課程是“性能測試與功能測試”,該課程主要是結(jié)合實際的軟件項目,介紹主流的測試技術(shù)和測試工具的使用,但并不只是性能測試與功能測試。該部分對應有3周的二級集中實踐課題,分組進行實際的測試訓練。
第四部分測試項目管理能力培養(yǎng)。主要課程為“軟件測試管理”,培養(yǎng)學生工程化的測試思想,學習主流測試管理方法和工具的應用。該部分對應有3周的三級集中實踐課題,訓練項目的測試過程管理和測試管理工具的使用。
第五部分綜合測試能力培養(yǎng),即畢業(yè)實訓。該實訓為最后一個學期,學生到軟件企業(yè)或?qū)嵱柣貐⒓訉嶋H的軟件項目開發(fā)和測試,進行實境實習,綜合地運用所學的測試和編程技術(shù)。
3實踐環(huán)節(jié)
培養(yǎng)過程的實施可以歸結(jié)為“夯實基礎,強化訓練”,夯實基礎即培養(yǎng)基本的編程能力和掌握基本的測試技術(shù)。強化訓練即強調(diào)實際能力的培養(yǎng),通過對實際的軟件項目進行測試訓練,使學生熟練掌握主流的測試技術(shù)和測試工具的使用。
為了加強實際能力的培養(yǎng),在正常教學的實踐外,我們還在第1~3學期分別設置了一級、二級、三級集中實踐課題,并要求軟件測試方向的學生要與軟件編碼方向的學生組合協(xié)作進行,專門負責相應的軟件測試工作。使學生感受到測試工作的重要性,同時培養(yǎng)其協(xié)作能力。一級和二級實踐課題主要為驗證型,三級實踐課題則為設計型。
第4學期為畢業(yè)實訓,采用實地場景教學,對實際的應用項目進行測試,角色模擬,項目驅(qū)動。該階段從測試需求分析開始,一直到測試總結(jié)報告的撰寫,貫穿一個完整項目的開發(fā)和測試整個過程。是對學生所學知識的一個總結(jié)和綜合利用的強化。
各實踐環(huán)節(jié)環(huán)環(huán)相扣,循序漸進,由易到難,由單一到綜合,形成一個完整的實踐體系。
集中實踐環(huán)節(jié)安排見表2。
4測試工具的選擇
由于軟件測試工具較多,而兩年制課時太緊張,所以只能學習常用測試工具的使用。我們選用的主要自動化測試工具見表3。
通過測試工具的使用,可以加深對測試原理和理論的理解,掌握主流的測試技術(shù)和方法。
5遇到的問題及采取的措施
軟件測試人才作為剛興起的職業(yè)技術(shù)人才,在培養(yǎng)過程中必然會遇到許多問題,相信這些問題也是其他院校在培養(yǎng)軟件測試人才時遇到的共性問題,我們針對這些問題采取了許多有效的措施,不斷改進。
(1) 對口就業(yè)較難
主要原因是我國“重開發(fā),輕測試”的現(xiàn)象過于嚴重,很多軟件公司沒有專門的測試部門,測試工程師太少,開發(fā)人員兼作測試工作的現(xiàn)象十分普遍。但并不是說我們的培養(yǎng)方向不對,這正說明軟件測試工程師職業(yè)還沒形成規(guī)模,正在興起時期。據(jù)2006年12月國家信產(chǎn)部“2006中國軟件質(zhì)量年會”公布,軟件測試人才為2006年最緊缺的人才之一,在上海、北京等地,軟件測試工程師已成為“地位高,待遇高”的“雙高”人才。企業(yè)規(guī)范化需要規(guī)模和過程,軟件質(zhì)量問題將成為軟件企業(yè)能否繼續(xù)發(fā)展壯大的關(guān)鍵所在,越來越多的企業(yè)管理者意識到產(chǎn)品測試的重要性,所以軟件測試工程師屬于朝陽職業(yè)。
當然我們也采取了有效措施,如在前期強化基本的編程訓練,使學生既能搞開發(fā),也能搞測試,提高就業(yè)的靈活性。
(2) 教材少
軟件測試作為一個新的專業(yè)(方向),目前還沒有成體系的軟件測試系列教材,所以在選教材時只能選與教學大綱內(nèi)容相近的教材或技術(shù)書,或自己編寫講義。但給講師授課帶來許多困難。當然要很好地解決該問題需要教育管理部門和眾多同行的共同努力。
(3) 測試項目實例缺乏
由于測試項目都屬于公司內(nèi)部資料,一般很難獲得,不像通用應用程序模塊一樣在網(wǎng)上可隨意找到。對此我們組織設計了一些測試案例,同時從合作的軟件公司獲取了一些實際項目案例,使學生能在實境中實踐。畢業(yè)實訓時大部分學生則直接到軟件公司進行實地實習。
(4) 師資力量薄弱
篇3
1 背景
工信部近日印發(fā)《軟件和信息技術(shù)服務業(yè)“十二五”發(fā)展規(guī)劃》,規(guī)劃明確了“十二五”的發(fā)展思路和發(fā)展目標,確定了10項發(fā)展重點和8項重大工程。而據(jù)業(yè)界預計,到2015年,我國軟件行業(yè)收入將突破4萬億元,年均增長25%以上,出口突破600億美元。
2 項目實施的必要性和可行性分析
外包人才的缺口從結(jié)構(gòu)層次來看,不是局部的人才短缺,而是全方位的供應不足。正規(guī)院校培養(yǎng)出來的學生能掌握基本的軟件開發(fā)技術(shù),但缺乏軟件開發(fā)工作經(jīng)驗、項目交流和團隊合作鍛煉,需要經(jīng)過相當?shù)捻椖恐R與技能培訓。超過60%的高校開設了計算機專業(yè)。但是,適應外包企業(yè)需要的大學畢業(yè)生很少,大學畢業(yè)生常常需要企業(yè)花大力氣培養(yǎng),而企業(yè)希望招來就用,不愿自己培養(yǎng)人才增加成本。本軟件開發(fā)、測試實訓室應此目的設置,目標培養(yǎng)中低端軟件人才。
3 建設實訓中心項目的可行性
職業(yè)教育與普通教育相比有四個特點:一是教育性質(zhì)和目標不同。重在對準備就業(yè)的學生傳授職業(yè)知識,培養(yǎng)職業(yè)技能,陶冶職業(yè)道德,提高職業(yè)能力和勞動素質(zhì)教育。二是教育內(nèi)容與要求不同。以提高學生的專業(yè)知識與技術(shù)能力為主,重在讓學生懂得做什么、怎么做,使學生學有專長,畢業(yè)后投身于社會經(jīng)濟建設的實踐活動。目前盡管有部分學生升學,但就總體看,其教育內(nèi)容與要求未變。三是課程模式與結(jié)構(gòu)不同。其課程模式注重實踐教學環(huán)節(jié),課程結(jié)構(gòu)注重強化學生技能的應用性、針對性和職業(yè)性。四是學校功能與任務不同。要求實施職業(yè)教育的學校必須具有實訓實操的條件,否則職業(yè)教育很難獲得應有的效果。
4 軟件開發(fā)和測試實訓室建設目標
軟件開發(fā)技術(shù)實訓可以包含四類實訓課程:
軟件開發(fā)實訓:包括完整的生命周期的軟件開發(fā)過程
軟件階段實訓:選取軟件生命周期其中某個階段獨立工作(例如編碼工作)的實訓;
軟件測試實訓:包括軟件開發(fā)過程隨行測試和獨立的軟件測試技術(shù)實訓;
軟件項目管理:這是關(guān)于軟件技術(shù)高級培訓。
實訓裝備:
硬件設備:5組服務器;50臺工位電腦;網(wǎng)絡和交換設備;5組光盤刻錄、掃描儀和打印機等輔助設備;1套投影和無線擴音設備;互聯(lián)網(wǎng)接入;軟件平臺:Windows 和Linux服務器平臺,mySQl、SQL Server數(shù)據(jù)庫系統(tǒng)、J2EE和.net開發(fā)平臺和課程相關(guān)的軟件工具;LoadRunner 、WinRunner等常用測試工具;項目管理工具MS Project;辦公系統(tǒng) Ms Office 管理軟件:實訓管理軟件
實訓方法:采用模擬企業(yè)運營方式將教練和學員混編成項目組方式完成軟件開發(fā)和測試實訓;打破學科界線和知識體系,以項目目標驅(qū)動安排教學內(nèi)容,編制教材和教學課件,教學內(nèi)容來源于合作企業(yè)以往的實際項目,由企業(yè)和學校共同對原項目分解、重組、封裝形成教學課件,以實際項目文檔為基礎編制實訓文檔。
實訓課程:本實訓室分設以下類型實訓課程
素質(zhì)教育類課程:敬業(yè)精神、團隊合作
企業(yè)標準類課程:ISO9000和CMM認證,企業(yè)化管理制度
項目管理類課程:項目管理方法和項目管理系統(tǒng)使用;
軟件開發(fā)、測試類課程:包括軟件生命周期理論、文檔編制和理解、軟件工具、編碼和測試方法、系統(tǒng)部署、和版本管理等;
實訓過程:
先期培訓:素質(zhì)類、企業(yè)標準、項目管理、背景知識等
基礎培訓:由教師教授課題涉及的基本方法、工具和規(guī)范;
開題培訓:由專業(yè)項目管理人員做課題報告,解釋項目要點;
5 實訓課題:軟件開發(fā)實訓
本實訓室培訓軟件開發(fā)人員和軟件測試人員,實訓方法可以將學員分組,在同一項目中分別承擔軟件開發(fā)和軟件測試工作,也可以獨立執(zhí)行軟件開發(fā)和軟件測試實訓課程
軟件開發(fā)實訓包括一下實訓模塊:
1)背景和基礎知識:包括軟件開發(fā)規(guī)范,軟件企業(yè)ISO9000和CMM認證,學校軟件工具等;
2)搭建開發(fā)環(huán)境:能夠配置自己的軟件開發(fā)環(huán)境,包括安裝操作系統(tǒng)和開發(fā)工具包;能夠配置自己與別人的協(xié)同開發(fā)環(huán)境,包括網(wǎng)絡配置,文件共享,安裝遠程打印機等;
編寫代碼:使學員能夠讀懂詳細設計,掌握開發(fā)工具的配置與使用,掌握開發(fā)語言的基本知識和數(shù)據(jù)結(jié)構(gòu),了解簡單的算法,會設計簡單的界面,并應用常見控件,具有數(shù)據(jù)庫編程的初步能力;
圖1
3)測試:使學員除了掌握測試的理論知識外,還應該學會編寫單元測試案例,編寫單元測試文檔,在執(zhí)行單元測試的時候,記錄測試結(jié)果,并分析錯誤原因,以利于下一步的調(diào)試。
學員應掌握以下具體技術(shù)、平臺和工具,Windows系列和Linux操作系統(tǒng);Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,創(chuàng)建網(wǎng)絡連接,網(wǎng)絡打??;基于UML的詳細設計文檔,面向?qū)ο蠓治龊驮O計;單元測試,黑盒測試,白盒測試,設計測試案例等;執(zhí)行測試并調(diào)試錯誤,系統(tǒng)和配置技術(shù);
軟件測試實訓包括以下實訓模塊:
計算機及常見操作系統(tǒng)、軟件設計語言基礎、 數(shù)據(jù)庫基礎、軟件工程基礎、軟件測試基礎、自動化測試:包括OSI模型、TCP/IP模型及常見網(wǎng)絡協(xié)議,常用軟件平臺、工具使用LoadRunner 、WinRunner測試工具使用,各種測試規(guī)范
6 總結(jié)
在當今社會信息化的進程中,綜合應用各種新技術(shù)的系統(tǒng)軟件功不可沒的,軟件開發(fā)和測試使全社會的信息管理、信息檢索、信息分析達到了新的水平,因此,學習軟件開發(fā)、測試的相關(guān)基礎知識,對于信息時代的每一個成員都是十分必要的。
參考文獻:
[1] 楊文宏,李心輝.面向?qū)ο蟮能浖y試[M].北京:中信出版社,2002.
篇4
軟件測試課程教學中存在的問題主要有:(1)理論與實踐脫節(jié)導致學生學習興趣不濃;(2)軟件測試實驗室的環(huán)境搭建受限,課堂教學與實踐結(jié)合的不緊密;(3)課堂教學內(nèi)容與公司實際操作有出入,使得學生不受用人單位的歡迎;(4)學生缺乏完整項目的測試經(jīng)驗,無法掌握項目測試的流程和步驟[4]。(5)學生的開發(fā)經(jīng)驗不足,對于理解測試驅(qū)動開發(fā)有難度。
二創(chuàng)新模式的課程改革
針對目前軟件測試課程教學存在的問題和不足,對目前高校開設的《軟件測試》課程進行了調(diào)研、分析和研究,為了使授課內(nèi)容更接近實踐要求,我們深入企業(yè)并與軟件測試部門的人員進行溝通交流,從教材內(nèi)容、教學方法等方面對軟件測試課程的教學進行探討。
1教材的選擇
軟件測試實踐性非常強,而且課程開設較晚,更新較快,教材的選擇尤為重要。針對學生接受的實際情況和教材的實用性方面對教材進行選擇,經(jīng)過篩選,我們選擇兩篇外文教材:(美)佩騰(Patton,R.)著,張小松等譯的《軟件測試(原書第2版)》和(美)梅耶(Myers,G.J.)等著的《軟件測試的藝術(shù)(原書第3版)》,一本中文教材:朱少民老師主編的《軟件測試方法和技術(shù)(第二版)》,教學過程中把中文教材作為授課教材,外文教材作為參考書,來更好的擴大學生的視野[5]。
2課程內(nèi)容的選擇和改進
作為一個實踐要求非常高的課程,我們在選擇課程教學的內(nèi)容上做了很多探索。經(jīng)過實踐發(fā)現(xiàn),上課時在講解基本知識和概念的同時,如果穿插講解一些經(jīng)典案例,教學效果會更好。學生不但能夠掌握理解基本概念,又能結(jié)合實際應用,積累一些實踐經(jīng)驗,這對于以后從事軟件測試工作有著非常大的幫助。
在教學過程中,我們始終以學生為中心,讓他們參與到軟件測試的教學過程中來,調(diào)動其主觀能動性,使他們更容易接受所學知識。
3測試工具的選擇
在課堂教學和實踐教學過程中,測試工具的選擇很重要。如果建一個相當規(guī)模的測試實驗室,投入是很大的。如何選擇既能達到課程要求又能節(jié)省費用的測試工具就顯得尤為重要。在最大限度的接近業(yè)界實際使用的前提下,可以選擇一些開源的軟件。對于業(yè)界關(guān)注度不夠的測試環(huán)節(jié),在講授軟件測試時要重點講解,比如,靜態(tài)測試在企業(yè)中就重視度不足,認為無關(guān)緊要,實際上該方法能夠培養(yǎng)良好的編程風格。我們在授課時選擇PMD、FindBugs等工具讓學生熟悉,不但能培養(yǎng)學生的測試能力,同時也能督促學生養(yǎng)成良好的編程習慣[6]。對于單元測試部分,根據(jù)時下軟件開發(fā)的兩大趨勢,選擇Junit進行講解,掌握該軟件的使用,對于其他工具開發(fā)的軟件進行單元測試也是非常容易的。
4實踐環(huán)節(jié)的加強
除了課堂教學以外,實踐教學的開展對于軟件測試課程來說更重要。包括上機實踐課和企業(yè)實踐兩部分。
上機實踐環(huán)節(jié)應抓好以下環(huán)節(jié):⑴定好計劃,每次上機要明確任務,對于任務的選擇要有針對性,要更具有可操作性,要更貼近實際。比如對于Junit的實踐,每一次上課做什么都詳細制定,把各種斷言、套件測試、參數(shù)化測試等重要部分要重點關(guān)注,這樣對于學生掌握這部分知識能起到很好的作用。(2)加強考核,對于實踐環(huán)節(jié)所做的任務,要認真檢查,并對學生完成情況進行總結(jié),這樣才能提高學習的效果。(3)加強與學生的溝通,讓學生完成任務時,加入不同的小組,通過小組之間的溝通和交流,起到更好的促進作用。(4)完整項目的實踐,除了平時的練習外,整個課程結(jié)束后,通過完整項目的帶動,讓學生參與到整個測試過程中,使理論與實踐融合,知識掌握更牢固。
同時要深化企業(yè)實訓,加強與企業(yè)的合作,讓學生有機會深入到企業(yè)的軟件測試部門,了解軟件測試企業(yè)實際工作時如何開展的,與軟件測試部門人員溝通交流,增強學生學習的自信心,加強學生實踐能力的培養(yǎng)。學生每年9月份到北京實習,并與富士康簽訂了合作協(xié)議,這些舉措都是為了更好地提高學生的實踐能力。為了使效果更好,可以從以下幾個方面抓起:(1)學校擬定一個校外實綱,與實習企業(yè)一起制訂校企實習基地協(xié)議、實習安全協(xié)議、學生實習規(guī)范和學習實習鑒定表等,不斷促進校外實習制度化,規(guī)范化、完善化。(2)企業(yè)要提供良好的實訓場地,并配備資深的講授老師。在實訓前,講授教師先了解一下實訓生的情況,對講課計劃和講課內(nèi)容做適當?shù)恼{(diào)整。(3)在實訓期間,學??梢粤粢恍┙處煴O(jiān)督實訓過程,并實時地提出建議,保證學生訓有所獲。(4)實訓結(jié)束后,要對實訓生做一個項目式的考核,并認真填寫實習成績評定表。
5注重軟件測試人才的軟實力培養(yǎng)
軟件測試是一門熱門行業(yè),軟件企業(yè)在招聘人員時,不僅要求應聘人員有一定的理論知識和實踐動手能力,同時要求應聘人員有良好的職業(yè)素質(zhì)。而在當前的教學模式下,對職業(yè)素質(zhì)方面的教育還是比較欠缺。這需要對學生進行培訓,增加就業(yè)幾率。
(1)注重培養(yǎng)學生的團隊協(xié)作與溝通能力
對于軟件測試行業(yè)來說,測試人員的溝通能力非常重要。一個合格的軟件測試人才,應該具有較高的團隊協(xié)作與溝通能力,可以快速融入團隊,高效地展開團隊式工作。一個不善于表達自己思想的人不可能成為一名優(yōu)秀的測試工程師。我們在實踐課開展過程中,重視培養(yǎng)同學的溝通能力,團隊協(xié)作能力,在學生中樹立良好的團隊意識。
(2)培養(yǎng)學生的懷疑精神
軟件測試的目的就是為了找出軟件存在的不足,因此我們鼓勵學生懷疑一切可疑的地方,盡自己最大的努力來驗證自己的判斷。即使再簡單的功能,也要站在用戶的角度,多用一些邊界值進行測試,驗證系統(tǒng)是否有問題。
(3)搜索能力的培養(yǎng)
一個好的軟件測試工程師,要有很強的搜索發(fā)現(xiàn)新知識和技能的能力,這不僅指一般性知識的搜索和查閱,更多是指與本專業(yè)相關(guān)的測試工具軟件、插件、測試學習網(wǎng)站等的搜索與下載,比如51testing就是國內(nèi)比較好的測試學習網(wǎng)站,其上就有很多軟件測試方面比較成熟的知識和實踐技巧。在信息爆炸的當代社會,軟件的種類繁多,軟件技術(shù)的變化日新月異,所以大學生應該掌握軟件測試的檢索技術(shù),以滿足自己學習和工作的需要。這種能力是自己的充電器,會使自己終生受益。
此外,一個優(yōu)秀的測試工程師還應有高度的責任感、耐心、洞察力,在技術(shù)層次都相差不大的情況下,這些軟實力對于測試工程師的發(fā)展有著至關(guān)重要的作用。
總之,通過《軟件測試》課程的教學方法的探索,通過系統(tǒng)科學的知識傳授,并輔以上機實踐和企業(yè)實踐,學生的實踐動手能力有了很大提高,這直接反映到學生的就業(yè)和以后的學習中。有一部分學生在畢業(yè)后進入企業(yè)的軟件測試部門并得到用人單位的好評,一部分學生在考取研究生之后選擇了軟件測試方向作為自己的研究方向。如何在現(xiàn)有的探索的基礎上,更大限度的提高教學的效果,是我們下一步的研究重點。
參考文獻
[1]朱少民.軟件測試方法和技術(shù)(第二版)[M].清華大學出版社,2010.
[2]聶長海.關(guān)于軟件測試的幾點思考[J].計算機科學,2011,38(2):1-3.
[3]陳樹峰.面向?qū)ο筌浖囊蕾囆苑治雠c回歸測試[J].計算機應用,2009,29(11):3110-3113.
篇5
按照循序漸進,由淺入深,逐層推進的原則,鹽城師范學院信息科學與技術(shù)學院將軟件工程專業(yè)的實踐教學體系分為四個層次:課程實驗、課程設計、綜合實訓、畢業(yè)設計。其中,綜合實訓是以前期課程實驗和課程設計為基礎,綜合運用多門相關(guān)課程(群)知識完成一個工程項目的實戰(zhàn)訓練,并作為后續(xù)畢業(yè)設計的預演,是整個實踐教學體系中承上啟下的關(guān)鍵環(huán)節(jié)。在軟件工程領域,軟件開發(fā)與軟件測試是目前兩個主流的就業(yè)方向,也是綜合實訓課程訓練的重點。軟件開發(fā)綜合實訓要求以軟件生命周期為主線,綜合運用程序設計、數(shù)據(jù)庫應用、軟件工程、軟件項目管理等學科知識,嚴格遵守軟件開發(fā)的流程與規(guī)范,完成一個軟件項目的開發(fā),最后提交軟件產(chǎn)品和相關(guān)技術(shù)文檔;軟件測試綜合實訓要求學生以軟件開發(fā)綜合實訓所完成的軟件產(chǎn)品為被測對象,綜合運用軟件測試與質(zhì)量保證、軟件測試流程與方法、測試框架與自動化測試等學科知識,使用軟件測試的方法與技術(shù),設計測試用例和測試腳本,完成被測軟件的功能測試與性能測試,生成測試報告,并對測試結(jié)果進行分析。綜合實訓的培養(yǎng)目標為:通過軟件開發(fā)與軟件測試項目的實戰(zhàn)訓練,全面提升學生綜合運用所學知識與技術(shù)解決實際工程問題的素質(zhì)與能力,進一步加深學生對工程化、系統(tǒng)化原則與方法的理解,為勝任現(xiàn)代軟件工程環(huán)境下高質(zhì)量軟件的開發(fā)、測試和維護工作奠定堅實的基礎。
3CDIO模式下課程改革與實踐
根據(jù)綜合實訓課程的定位和培養(yǎng)目標,借鑒和吸收CDIO工程教育理念和標準,按照“以CDIO培養(yǎng)大綱為指南、以項目為載體任務為驅(qū)動、以工程能力培養(yǎng)為目標”的原則,對我們綜合實訓課程改革進行了探索與實踐。
3.1全真模擬企業(yè)環(huán)境,實施一體化訓練模式
軟件開發(fā)和軟件測試是綜合實訓的主體內(nèi)容,傳統(tǒng)的訓練模式將二者割裂開來,分兩個階段分別完成實訓項目,這種方式?jīng)]有考慮軟件開發(fā)與軟件測試的內(nèi)在關(guān)聯(lián)與協(xié)同性,與企業(yè)真實環(huán)境也不相符合;并且由于兩個實訓階段時間跨度較大,項目銜接性差,效率低下,實訓效果也大打折扣;而在真實的企業(yè)環(huán)境中,軟件開發(fā)小組和軟件測試小組共同對同一個項目負責,各司其職,協(xié)同完成整個項目。鑒于此,我們采取“全真模擬、同步協(xié)作、角色互換”的策略,實施軟件開發(fā)與軟件測試一體化的訓練模式。具體地說,整個實訓過程完全模擬企業(yè)真實環(huán)境,將某個項目分配給由若干學生臨時組成的項目組,該項目組又細分為開發(fā)小組和測試小組,分別負責軟件的開發(fā)與測試工作;項目完成后,開發(fā)小組和測試小組角色互換,重做該項目。實踐表明,一體化的訓練模式能實現(xiàn)軟件開發(fā)與軟件測試的無縫銜接,學生能在更為真實的環(huán)境中參與整個項目過程,體驗不同角色的職責范圍,并通過不同的角色轉(zhuǎn)換,使學生更深刻認識到開發(fā)人員與測試人員協(xié)同合作對完成整個軟件項目的重要性。
3.2項目驅(qū)動,全面實踐CDIO
CDIO的核心就是企業(yè)與社會環(huán)境下的構(gòu)思、設計、實現(xiàn)和運作系統(tǒng),它展示了一個產(chǎn)品或系統(tǒng)完整的開發(fā)過程,也體現(xiàn)了“做中學”和“基于項目的教育和學習”的精髓。從軟件開發(fā)與軟件測試的角度,無論是以軟件生命周期為主線的開發(fā)過程,還是以測試流程為主線的測試過程,無不體現(xiàn)著軟件產(chǎn)品從構(gòu)思到運作的整個生產(chǎn)過程,與CDIO理念不謀而合。這里,我們以項目為載體、任務為驅(qū)動,以CDIO方法論為指導,嚴格按照“構(gòu)思、設計、實現(xiàn)和運作”四個不同階段來開展實訓過程,以培養(yǎng)學生對產(chǎn)品、過程和系統(tǒng)的構(gòu)建能力,增強學生的工程化意識。CDIO與軟件開發(fā)、軟件測試過程的對應關(guān)系
3.3分組互學互助,培養(yǎng)團隊協(xié)作能力
團隊能力是CDIO大綱要求工程畢業(yè)生必備的一種能力,也是軟件企業(yè)非??粗氐囊环N職業(yè)能力。在實際實訓過程中,我們模擬企業(yè)真實環(huán)境,將所有學生分為若干項目組,每個項目組又細分為開發(fā)小組和測試小組,各小組由一名組長和若干名組員構(gòu)成。根據(jù)任務分工不同,每名學生都被賦予一定的角色,組員在組長的指揮協(xié)調(diào)下通力合作,共同完成實訓項目。實踐表明,分組模式能較好地激發(fā)學生的學習熱情,提高學習效率,而且也營造了良好的學習氛圍,組員之間分工協(xié)作,互學互助,學生的溝通能力、協(xié)作精神和團隊意識大為提升。
3.4面向全體,務實勿虛,促進共同進步
綜合實訓是一種典型的自主學習課程,學生在任務的驅(qū)動下以小組為單位協(xié)作完成實訓項目,但由于任務分工不合理、學生自制力差等原因,容易導致小組內(nèi)個別技術(shù)較好、自覺性高的學生承擔大部分甚至全部工作,而部分學生卻人浮于事,使團隊分工協(xié)作流于形式,不利于全體學生的共同進步與提高。為避免此類現(xiàn)象的發(fā)生,我們考慮在角色分配和任務分工時,盡量使學生都能承擔軟件設計、編碼、測試用例設計、腳本設計、測試實施等較為具體的工作,使學生通過具體的訓練來提高專業(yè)技能,而對于需求分析、計劃制定、總結(jié)報告等相對較“虛”的工作則由組長帶領全體組員共同完成;同時,任務分工也充分考慮學生原有的技術(shù)基礎、興趣愛好和特長。這種分工方式在尊重學生個體意愿的基礎上使得每個人都有具體明確而又力所能及的任務分工,能充分調(diào)動學生的學習積極性,激發(fā)學生的學習潛能,促進全體學生的共同進步與提高。
3.5實施多維度考評體系,注重過程考核和能力考核
考核是對學生學習成果的認定和評價,良好的考核機制能對學生的學習過程和學習動機產(chǎn)生正確的指引作用,促進培養(yǎng)目標的達成。在實訓課程的考核上,我們以CDIO大綱要求的能力培養(yǎng)為導向,學習過程與學習結(jié)果并舉,實施多維度的考評機制,每名學生的成績由平時成績、所在小組成績和個人成績?nèi)糠纸M成。其中,平時成績主要考評學生的職業(yè)態(tài)度與能力,小組成績主要考評學生所在小組的整體表現(xiàn)和工程實作能力,個人成績主要考評學生個體所承擔任務的完成質(zhì)量,且每項成績的考評方式也是多元的,力求做到公平、公正、合理。在小組內(nèi)部,同組學生的小組成績相同,但平時成績和個人成績各異,引導學生在努力完成各自任務的同時,重視組內(nèi)的協(xié)作互助,并通過各個個體的高質(zhì)量工作提高整個團隊的工作質(zhì)量。實踐表明,該考評體系既重視最終學習成果的呈現(xiàn)也關(guān)注學生學習過程中的表現(xiàn);既重視團隊整體的工作效率也關(guān)注學生個體在團隊中的價值;既強調(diào)學生專業(yè)技能的訓練和工程能力的培養(yǎng)也關(guān)注學生職業(yè)素養(yǎng)和個人能力的提高,有效避免了傳統(tǒng)評價方式只看結(jié)果不看過程、評價指標單一化、評價結(jié)果趨同化的弊端。
篇6
中圖分類號:G434
文獻標識碼:A文章編號:1672-7800(2016)012-0197-03
0 引言
隨著軟件技術(shù)在社會各領域的廣泛應用,人們開始越來越關(guān)注軟件產(chǎn)品質(zhì)量,軟件測試作為軟件質(zhì)量保證的重要途徑也因此受到行業(yè)領域的關(guān)注與重視,軟件測試崗位的就業(yè)前景也變得越來越好。在《國務院關(guān)于加快發(fā)展現(xiàn)代職業(yè)教育的決定》中,提出“深化產(chǎn)教融合、校企合作”[1]。隨著技術(shù)的發(fā)展、產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的不斷加快,持久深入的校企合作已經(jīng)逐漸成為高職院校課程開發(fā)質(zhì)量的關(guān)鍵要素之一。
《軟件測試基礎》課程大多在高職院校的計算機類專業(yè)中開設,但是普遍存在著課程內(nèi)容更新慢,教學方法、手段陳舊,課程評價考核單一的問題,導致學生學習興趣不大,學習效果不佳。該課程在蘇州健雄職業(yè)技術(shù)學院是軟件技術(shù)專業(yè)的一門專業(yè)基礎課,該院與上海博為峰軟件技術(shù)股份有限公司、上海澤眾軟件科技有限公司等從事軟件測試的IT企業(yè)緊密合作,對課程進行了一系列建設和改革,培養(yǎng)了一大批軟件測試人才,受到企業(yè)的一致認可。
1 以工作過程為導向的課程設計
課程組成員結(jié)合計算機等級考試、計算機軟件專業(yè)技術(shù)資格考試和國際軟件測試資質(zhì)認證(ISTQB)的考試大綱,以及行業(yè)、企業(yè)對軟件測試員的人才需求,與企業(yè)專家共同確定本課程的目標為:使學生了解軟件測試的發(fā)展前景,掌握測試的基礎知識,了解測試用例的概念、意義;能夠搭建測試環(huán)境,掌握常用的黑盒、白盒用例設計方法,能夠進行簡單的手動功能測試并撰寫測試報告與缺陷報告;了解常用的自動化測試工具、性能測試工具,理解測試工具的原理,了解測試管理的概念與流程等。
本課程以軟件測試工程師的工作過程為導向,按照軟件技術(shù)專業(yè)培養(yǎng)目標與高職學生的特點,將測試基礎知識、相關(guān)技術(shù)方法、測試管理貫穿在整個測試流程中,從而構(gòu)建測試各階段所需的知識與技能。在課程中以“虛擬公司”作為組織形式,在運作過程中充分體現(xiàn)職業(yè)教育行為導向和職業(yè)性原則。行為導向,即創(chuàng)造師生互動的仿真情境,使學生通過自主協(xié)作式學習方式,反復操練,從而形成符合企業(yè)要求的行為方式和職業(yè)能力。職業(yè)性原則,即要求實訓目標和就業(yè)目標高度一致[2]。學院與企業(yè)共建實訓平臺,通過具體工程項目及案例素材,使用測試管理工具從測試需求建起,測試模塊劃分、測試用例設計、測試用例執(zhí)行、缺陷管理,加強學生對測試管理工具的使用。
2 以工作項目為載體的學習情境創(chuàng)設
《軟件測試基礎》課程最好在第三學期開設,因為這時學生對軟件行業(yè)已有一定了解,并已具備初步的編程經(jīng)驗,課程共計64學時。依據(jù)軟件測試的工作過程可以將課程劃分為6個學習情境,共15個工作任務,具體如表 1所示。
學習情境1中主要讓學生認識缺陷并知道缺陷產(chǎn)生的原因,掌握軟件測試的定義、目的、分類和原則,熟悉V模型、W模型、H模型等軟件測試的常見模型;熟練掌握軟件質(zhì)量模型的分類和各個評價指標,并明確軟件質(zhì)量與軟件測試之間的關(guān)系;會查詢互聯(lián)網(wǎng)中的招聘信息,分析軟件測試工程師的崗位職責及發(fā)展路徑,并盡早做好職業(yè)生涯規(guī)劃。
學習情境2中讓學生能夠明確軟件測試的依據(jù),并閱讀需求規(guī)格說明書,理解測試需求的概念,會對測試需求進行挖掘;能夠理解測試計劃的重要性,知道測試計劃的一般組成要素。
學習情境3中讓學生能夠理解黑盒測試、白盒測試、灰盒測試的基本概念及它們之間的區(qū)別與聯(lián)系;能夠靈活地運用黑盒測試的常用方法,如等價類劃分、邊界值、決策表、因果圖、場景法、正交表等來設計測試用例;能夠靈活地運用白盒測試的常用方法,如邏輯覆蓋法、基本路徑法等設計測試用例。
學習情境4中讓學生學會測試環(huán)境的搭建,如在虛擬機中部署PHP、JSP、.NET等應用程序;理解單元測試、集成測試、系統(tǒng)測試、驗收測試的概念及基本流程,熟悉集成測試的策略,能夠使用JUnit 等工具來開展單元測試;能夠掌握缺陷的概念,會正確記錄缺陷,掌握缺陷報告的基本格式與內(nèi)容。
學習情境5中要讓學生理解測試總結(jié)的意義和重要性,并了解測試總結(jié)報告的格式與內(nèi)容。
學習情境6中能讓學生掌握手動測試與自動化測試的區(qū)別,了解自動化測試、性能測試等工具的原理,初步掌握腳本的錄制和參數(shù)的設定,為后續(xù)課程的學習奠定基礎。
3 “互聯(lián)網(wǎng)+教育”方式的課程改革深化
3.1 利用雨課堂平臺實施線上線下混合教學
合理運用互聯(lián)網(wǎng)新技術(shù),由傳統(tǒng)教學向線上線下混合式教學方式轉(zhuǎn)變,打破以往學生學習時空的限制,按需學習,讓教育教學資源得到最大化共享。由于本課程概念較多,課程學習后還需通過工信部的考證,線上教學教師通過清華大學研制的雨課堂平臺將PPT課件、微課、測試等資料上傳至云空間,并推送到學生的移動終端上,督促學生做好預習、復習工作,學生所有的學習行為數(shù)據(jù)均被自動完整采集,有助于量化了解學生學習效果并把握學生學習軌跡[3];傳統(tǒng)的線下面授,則重點解決學生的疑難困惑問題,提高教學效率。
篇7
Reform and Practice of Software Testing Professional Course in Higher Vocational Education
ZHANG Xiao-qin
(Anhui Vocational College of Electronics & Information Technology, Bengbu 233030, China)
Abstract: Software testing professionals are extremely deficient, training software testing professionals has already been one of the most urgent tasks in higher vocational education. This paper analyzes the teaching situation of the software testing professional curriculum in higher vocational education and analyzes the software testing professional practice of teaching reform form and achievement of Anhui Vocational College of Electronics & Information Technology, offer reference to other vocational colleges in software testing curriculum construction.
Key words: software testing; curriculum reform; practice teaching
近年來,中國軟件產(chǎn)業(yè)保持了迅猛發(fā)展的態(tài)勢,而與此同時,軟件缺陷帶來的影響也日益增多,軟件產(chǎn)品質(zhì)量也越來越受到人們的關(guān)注。軟件測試是減少軟件缺陷最有效的手段,然而,由于國內(nèi)軟件測試行業(yè)起步較晚,只是最近幾年才開始興起,這就使得軟件測試人才極度匱乏。51testing公司的《2010年中國軟件測試從業(yè)人員調(diào)查報告》顯示,中國軟件企業(yè)軟件測試人員與開發(fā)人員比例為1:1的只占10%,而比例為7:1以上的占了20%。而且這個數(shù)據(jù)調(diào)查的還是設有專門軟件測試人員的企業(yè)。有的企業(yè)甚至還沒有軟件測試部門和專門的軟件測試人員。而國外小一些的軟件企業(yè),軟件測試人員與軟件開發(fā)比例基本是1:1,微軟公司更達到了2:1。按照這個比例,國內(nèi)測試人才的缺口至少有20萬,在未來5到10年中這一數(shù)字還將繼續(xù)增大。如何盡快建立軟件測試人才的系統(tǒng)培養(yǎng)機制、進而保障軟件業(yè)的健康化發(fā)展已成為現(xiàn)階段亟需解決的當務之急。
1 高校軟件測試專業(yè)課程教學現(xiàn)狀
近兩年來,軟件測試人才的培養(yǎng)也受到了高校的重視,有的高職院校甚至本科院校也嘗試著開設軟件測試專業(yè)。然而卻存在著以下的缺點:
1.1 教學模式陳舊
“本來數(shù)量就不多,何況質(zhì)量又不好”,這兩句話可以概括現(xiàn)在高校開設軟件測試課程的現(xiàn)狀。很多學校本身并沒有軟件測試專業(yè),軟件測試課程的教學只是作為軟件工程專業(yè)的一門課程《軟件測試》。通過一門課程想要系統(tǒng)的講授軟件測試,讓學生畢業(yè)后從事軟件測試工作非常之困難。由于只有一門課程,課時畢竟有限,很多學校就選擇將軟件測試方法以理論講授的方式灌輸給學生,忽略了實踐教學或者實踐教學所占的比重很小。
1.2師資力量薄弱
51testing公司的《2010年中國軟件測試從業(yè)人員調(diào)查報告》顯示,“軟件測試從業(yè)人員的出生年代集中在20世紀80年代,所占比例為91%,出生于70年代的不到8%,60年代的比例不到1%”。這份數(shù)據(jù)從側(cè)面顯示,軟件測試行業(yè)在國內(nèi)是一個新興行業(yè)。這也說明了現(xiàn)在在高校從事軟件測試專業(yè)方面課程的教師并不是真正的軟件測試專業(yè)畢業(yè)的教師。這就使得大部分教師本身對這個專業(yè)并沒有進行過系統(tǒng)的學習。而且,由于教師主要在學校從事教學工作,參與到真正項目中的機會比較少,他們的項目經(jīng)驗不足。這也就導致教師在教學過程中并不能將真正的工作過程傳授給學生,使得學生掌握的技能和實際工作的要求有所偏差,甚至有很大偏差。
1.3 案例教學中案例庫案例過于簡單
很多高職院校在教學過程中也注意到這一點:軟件測試專業(yè)的課程不能只偏重理論,而應該將理論教學和實踐教學聯(lián)系起來,提出了“項目教學法”和“案例教學法”,這些方法確實取得了不錯的效果。然而卻也存在著這樣一個問題:項目和案例從何而來?從調(diào)查情況來看,項目和案例的來源主要有:
1)往屆學生畢業(yè)設計;
2)學生上機作業(yè)和課堂作業(yè);
3)教材和參考書;
4)互聯(lián)網(wǎng);
5)教師自己編寫的案例。
這些案例相對來說比較簡單,實用性不強。作為一門課程的實踐教學基本上可以,然而要想讓學生通過這些項目掌握真正的測試技術(shù),還是比較困難的。學生在測試這些項目時可能在老師的指導下能夠順利進行,而在實際工作中面對一個真正的項目時卻不知如何下手。
2 軟件測試專業(yè)課程實踐教學的改革
2003年,安徽電子信息職業(yè)技術(shù)學院成為全國35所國家級示范性軟件職業(yè)技術(shù)學院之一。2004年就有預見性地開設了軟件測試與維護專業(yè)并開始招生。這些年來,一直對軟件測試專業(yè)的課程建設進行探索,目前取得了不小的成果。
根據(jù)這幾年的探索與實踐,我們認識到,軟件測試專業(yè)課程教學的難點在于實踐教學。軟件測試的相關(guān)理論學生很好理解,例如黑盒測試方法中的等價類劃分法。學生對這種方法能夠理解,給出一段程序規(guī)格說明,他們能夠劃分出各個有效等價類和無效等價類。但是在實際項目測試中,在設計測試用例時,又往往設計不出合理的測試用例。要么冗余,要么沒有覆蓋到所有的等價類。所以,在教學過程中要把更多的時間與精力放在實踐教學上。
安徽電子信息職業(yè)技術(shù)學院軟件測試專業(yè)課程的實踐教學改革主要體現(xiàn)在兩個方面。
2.1 單個課程的實驗教學――案例教學法
在單個課程的實驗教學中我們采用的是案例教學法。例如《軟件測試》這門課程,我們的實踐教學主要體現(xiàn)在實驗教學上。在實驗教學中,選取學生熟悉的“學生管理信息系統(tǒng)”,首先對其需求分析說明書進行靜態(tài)測試,再對其中的重點模塊例如登錄模塊,用戶管理模塊等進行單元測試,然后將各個模塊組裝起來進行集成測試等。在教授理論的同時,讓學生能將其應用到實踐之中。
2.2 整個專業(yè)課程的綜合實訓――企業(yè)實際工作場景教學
單個課程實驗教學中的案例都很簡單,而且是學生熟悉的一些程序,主要是讓學生能夠更好地理解軟件測試的理論方法。然而,想讓學生通過這些項目的訓練掌握測試技能,畢業(yè)之后直接從事軟件測試工作基本上不可能。安徽電子信息職業(yè)技術(shù)學院前兩年的軟件測試與維護專業(yè)采用的就是這種教學模式,然而經(jīng)過對畢業(yè)生的跟蹤調(diào)查,發(fā)現(xiàn)學生對自己掌握的測試技術(shù)很不自信,畢業(yè)之后根本不敢進入軟件公司從事軟件測試工作。所以只有很少的學生做測試,其他同學都轉(zhuǎn)向了編程,等有了開發(fā)經(jīng)驗之后再轉(zhuǎn)向來做測試工作。
經(jīng)過我們課程組的討論,大家認為之所以造成這種現(xiàn)象,最主要的是學生實踐不夠,訓練不多,而且沒有接觸過真正的項目。而要讓學生測試真正的項目,熟悉工作流程,僅僅依靠學校的師資力量是遠遠不夠的。于是,2008年我們進行了教學改革。與中國科技大學軟件學院、安徽科大訊飛信息科技股份有限公司合作成立了“科大訊飛軟件測試實訓班”,聘請科大訊飛公司一線的高級軟件測試工程師來給學生上課。而且上課方式采用的是公司上班形式。學生每天8點準時“上班”,下午5點“下班”,有時還設有“加班”。在教學過程中,采用的是公司實際的項目,有的是以前做的項目,有的是正在進行中的項目。學生每天在“公司”上班,早上召開“晨會”,討論項目進展情況,并制定一天的工作計劃。下班前召開“晚會”,對工作進行總結(jié)并就遇到的問題探討解決方案。經(jīng)過三個月的實戰(zhàn)演練,學生的實踐能力得到了很大的提高,而且對自己充滿了自信。他們畢業(yè)后都能找到滿意的對口的工作。
3 軟件測試專業(yè)課程實踐教學改革取得的成效
2010年我們針對于08級學生又開辦“科大訊飛軟件測試實訓班”?,F(xiàn)在學生還沒畢業(yè)就已被用人單位“搶購”一空,就業(yè)效果非常好。
經(jīng)過這兩個階段的實踐教學,我們的學生對軟件測試工作已非常熟悉,在真正的崗位上能勝任軟件測試工作,并逐漸地在工作中起到骨干作用。
4 結(jié)束語
作為高職院校,軟件測試專業(yè)以培養(yǎng)軟件產(chǎn)業(yè)生產(chǎn)一線急需的高素質(zhì)技能型專門人才為目標,要求學生在畢業(yè)前掌握軟件測試的基本方法及常用測試工具的使用,具備較好的軟件綜合素質(zhì),滿足軟件產(chǎn)業(yè)快速發(fā)展對軟件測試人才的需求。而要達到這一目標,實踐教學必須得到高度的重視和合理的設計。
參考文獻:
[1] 程茂,溫靜,吳玉潔.《軟件測試》課程的教學研究[J].河北師范大學學報,2010,12(4):117-120.
[2] 胡冬萍.普通高校軟件測試課程建設初探[J].中國教育信息化,2007(12):70-72.
[3] {志升.軟件測試技術(shù)教學方法[J].電腦知識與技術(shù),2010,6(9):2275-2276.
篇8
該知識塊的教學組織與實施一般過程為:課堂設計――示范引導――模仿試做――糾錯重做――復述總結(jié)。主張課堂組織以學生小組為中心,內(nèi)容教學以任務為驅(qū)動,形成師生互動、生生合作的探究式學習氛圍。各環(huán)節(jié)具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養(yǎng)專業(yè)能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
示范引導――主講教師進行操作示范,在此過程中結(jié)合錄像、課件、網(wǎng)絡、軟件進一步向?qū)W生展示操作的全過程。
模仿試做――學生在觀看完老師的演示后開始動手實際操作,教師巡視指導,發(fā)現(xiàn)個別錯誤與一般錯誤。
糾錯重做――及時糾正個別錯誤,集體講評一般錯誤,之后讓學生重做一些步驟。
復述總結(jié)――最后老師對操作步驟進行復述,特別提醒容易出錯的步驟和環(huán)節(jié),總結(jié)整堂課技能要點、方法要點和社會需要要點。
例如,在“為系統(tǒng)安裝網(wǎng)絡硬件”課例中,抓住其中的網(wǎng)卡安裝、插槽選擇、金手指的接觸情況、網(wǎng)卡類型的選擇,IP地址的設置等幾項關(guān)鍵技術(shù),而在網(wǎng)絡原理、網(wǎng)絡ISO的分層則一帶而過只作簡單介紹。教師先講解示范,接著由學生試做,同時教師巡回指導,發(fā)現(xiàn)個別性問題,及時指導解決;針對一般性問題,教師則講評糾錯;之后對一般性問題容易出現(xiàn)的環(huán)節(jié),讓學生重做有關(guān)步驟。
2.“故障檢測”知識塊
“故障檢測”包括硬故障和軟故障的檢測,硬故障是指計算機硬件出現(xiàn)的問題,軟故障是指軟件運行出現(xiàn)的問題。該模式的一般過程為:課堂設計――預設故障――分組討論――嘗試修復――糾錯重試――分析總結(jié)。上課前教師提前預設若干個可控制故障,上課開始時分組討論每個故障產(chǎn)生的原因,在討論的基礎上小組嘗試排除故障。這種模式采用問題驅(qū)動來展開。各環(huán)節(jié)具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養(yǎng)專業(yè)能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
3.“軟件安裝”知識塊
“軟件安裝”包括系統(tǒng)軟件安裝和應用軟件安裝,以及多操作系統(tǒng)安裝?!败浖惭b”行為引導教學模式的一般過程為:課堂設計――軟件介紹――安裝提示――學生安裝――個別輔導――總結(jié)提高。本模式教學以問題或任務為驅(qū)動展開。各環(huán)節(jié)具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養(yǎng)專業(yè)能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
軟件介紹――介紹所要安裝的軟件背景知識,包括軟件的開發(fā)商、版本的演化、最新版本的功能等。
4.“軟件測試”知識塊
“軟件測試”就是用軟件對硬件系統(tǒng)進行性能測試,目的是觀察或比較不同品牌的組件的性能表現(xiàn)?!败浖y試”行為引導教學模式的一般過程為:課堂設計――布置任務――分組操作――結(jié)果報告――比較分析。這個過程采取任務驅(qū)動來展開。各環(huán)節(jié)具體操作要求如下:
課堂設計――將社會需要設計為相應的課堂學習行為,形成以培養(yǎng)專業(yè)能力為核心、學習能力和社會能力為兩翼的課堂教學預案。
布置任務――軟件測試包括兩類任務,一是匹配性測試,一是系統(tǒng)優(yōu)化測試。教學中可以選擇某一類任務或兩類任務組合進行。
分組操作――學生在明確任務后開始分組測試。
結(jié)果報告――對小組測試參數(shù)進行分析,形成一個有說服力的組件選擇方案或匹配優(yōu)化的測試報告。
在教學中可以充分利用學校的現(xiàn)有資源。現(xiàn)在計算機技術(shù)發(fā)展很快,各個學校都有許多淘汰的計算機,但它們都還可以正常使用。我們可以利用它們建立計算機組裝與維修實驗室,在加上一些典型的、比較新的演示教師機,基本就能滿足教學要求,解決學生的動手操作問題。上述大部分教學都應該在組裝與維修的實驗室進行才能達到教學目的。
在本課程中還有很重要的組成部分那就是實訓部分?!队嬎銠C組裝與維修》實訓的目的是鍛煉和培養(yǎng)學生實際操作技能和解決問題的動手綜合能力。學生可在基本掌握各部分內(nèi)容的基礎上集中進行相關(guān)實驗,以加深對知識的理解和掌握。在實驗的基礎上進行實訓,提高學生的軟硬件安裝水平和排除故障的能力。
本課程考試改革的目的旨在加強學生技能、能力培養(yǎng),使學生重視實踐性技能的學習。課程考試采用抽簽抽取問題決定操作考試和口試內(nèi)容的考試方法。通過建立涵蓋《計算機組裝與維修》各關(guān)鍵技術(shù)的項目庫,給出各操作項目的難度系數(shù),考試前將這些操作項目作為考試內(nèi)容公布給學生,讓他們?nèi)鏈蕚洌@些項目涉及組裝、測試、維護和維修的主要方面,目的是要學生全面掌握操作內(nèi)容??荚嚂r,讓每個學生隨機抽取一個項目,學生先口頭陳述本操作項目的原理、方法、步驟和過程等,然后再進行動手操作,操作完成后學生還可以再作補充陳述。教師根據(jù)操作與口試結(jié)果,以及所選擇項目的難度系數(shù),以操作與口試7:3的比例給學生評定本課程考核成績。具體安排為整個考試總時間為3小時,包括口試和操作考試??谠囮愂?、答問30分鐘,其余時間為操作考試時間,操作完成后學生還可以再作補充陳述。
考試程序為:
(1)學生抽取考試項目。
(2)根據(jù)項目名稱,口頭陳述本項目的原理、方法、步驟和過程,期間老師根據(jù)學生陳述情況隨時提出問題,學生口頭回答。老師做好相應口試記錄。
(3)學生進入操作考試,教師和輔導教師全程監(jiān)控,并做好相應的記錄。
(4)操作完畢,有需要再陳述的學生可以提出補充陳述要求,否則離開考場。監(jiān)考老師合議評定學生考試成績。
如上面的考題學生基本都能回答正確,這樣進入社會工作后,基本可以達到用人單位對中職計算機應用專業(yè)學生的要求。那我們的教學目的也就達到了。
附加:
篇9
軟件測試;應用型人才;案例式教學;教學產(chǎn)業(yè)化
隨著我國IT行業(yè)的發(fā)展,越來越多的企業(yè)意識到軟件測試的重要性,因此軟件測試人員成為當前IT業(yè)界亟需的熱門人才。面對軟件測試人員緊迫的需求形勢,應用型人才培養(yǎng)單位應該擴大軟件測試人員的人才培養(yǎng)規(guī)模,提高培養(yǎng)質(zhì)量。
一、《軟件測試》課程教育現(xiàn)狀
我國軟件測試技術(shù)發(fā)展已有十余年,但IT市場對于測試人員仍然呈現(xiàn)出供不應求的勢態(tài)。目前國內(nèi)高校對軟件工程專業(yè)幾乎都會開設軟件測試課程,甚至有些高校已經(jīng)設置有軟件測試專業(yè)。2011年11月,教育部主辦了“2011年高等學校軟件測試課程教學論壇”,對測試人才的培養(yǎng)及測試領域的全面發(fā)展起到了積極地推動作用[1]。高校系統(tǒng)化的專業(yè)教育體系為學生奠定了扎實而科學的學科基礎,并對軟件測試技術(shù)的理論化和系統(tǒng)化發(fā)展起到了不可替代的作用。利弊相依,傳統(tǒng)的人才培養(yǎng)模式對軟件測試課程設置和培養(yǎng)方案上還是會存在以下不足。
1.重理論輕實踐在傳統(tǒng)的軟件測試課程設置中,大多采用教師在課堂上講授理論知識,學生上機時完成實驗操作的教學方式。實驗的目的只是為了檢查學生知識點的理解和掌握,實驗題目大多比較陳舊,不能與時俱進地與當前的最新技術(shù)或最熱門的應用相結(jié)合,使得學生的測試知識體系過于單薄。
2.重學生個體知識積累,輕團隊協(xié)作能力培養(yǎng)團隊協(xié)作在軟件工程中的重要性無須多述。軟件測試作為軟件工程中重要一個環(huán)節(jié),貫穿于整個軟件生命周期,測試人員與系統(tǒng)分析員、軟件設計師、程序員、維護人員之間的溝通必不可少,良好的團隊協(xié)作才能有助于項目的進行,有助于高效、正確地開發(fā)出高質(zhì)量的軟件產(chǎn)品。傳統(tǒng)的教學模式中,很少引入分組協(xié)作的環(huán)節(jié)去鍛煉學生的溝通和交流能力,更不能設計出測試人員和開發(fā)人員的溝通場景,不能滿足學生在項目中去加深理解、鞏固提高的需求。
3.重即有知識,輕科學創(chuàng)新一直以來,軟件測試課程在高校的課程體系中受到重視并不多,課程結(jié)束后并沒有延續(xù)測試知識的后續(xù)課程。因此,學生不能在后面的學習和實踐中進行總結(jié)提升。知識在母體中是要經(jīng)過消化、適應、轉(zhuǎn)化、演進、創(chuàng)新、融合、活化,而后才稱為組織的“行動知識”,現(xiàn)有的教學模式不能很好的產(chǎn)生知識發(fā)酵效果。
二、《軟件測試》課程特點和培養(yǎng)目標
軟件測試是一門應用型較強的學科,應注重理論聯(lián)系實踐。一個合格的軟件評測師除了要掌握即有的測試理論和軟件知識外,還必須具備對軟件測試行業(yè)的深刻理解,必須具備對計算機專業(yè)知識,包括編程技能、數(shù)據(jù)庫、網(wǎng)絡、中間件等知識的系統(tǒng)掌握,必須具備溝通能力、團隊協(xié)作精神。軟件測試是為了盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯誤,最終把一個高質(zhì)量的軟件交給用戶,這并不是一項簡單的工作。要做好軟件測試,測試人員不僅需要站在客戶的角度思考問題,真正理解客戶的需求,具備良好的分析能力和創(chuàng)造性思維能力,完成功能測試和界面測試,而且要能理解軟件系統(tǒng)的實現(xiàn)原理和各種使用場景,具備扎實的技術(shù)功底,能使用測試工具完成相應的性能測試、安全性測試、兼容性測試和可靠性測試等更具挑戰(zhàn)性的任務[2]。從這個角度看,一個優(yōu)秀的測試工程師需要掌握更多的知識和技能。
三、《軟件測試》課程教學改革方案
以上可以看出,當前高校對于測試課程的不重視,以及當前的軟硬件設施及教學方法都不能滿足對應用型測試技術(shù)人才的培養(yǎng)要求。為了適應軟件產(chǎn)業(yè)發(fā)展對測試人才的迫切需要,實現(xiàn)軟件人才培養(yǎng)的持續(xù)性發(fā)展,針對軟件測試課程調(diào)整培養(yǎng)方案,展開深入的教學改革和實踐活動十分迫切和必要。
1.加大師資力量,構(gòu)建完善的軟硬件測試平臺教師素養(yǎng)的提高是軟件測試教學改革得以順利開展的前提。此前,國內(nèi)對軟件測試并不重視,致使國內(nèi)軟件測試人才短缺,大部分高校內(nèi)雖然有計算機系,但多以重開發(fā)輕測試,測試教師的專業(yè)素質(zhì)和數(shù)量都遠遠不夠。因此,不僅要重視對教師測試專業(yè)技術(shù)的培訓,提供更多的學習機會,也應該認真開展軟件測試教學研究,構(gòu)造專業(yè)的軟件測試教學團隊。作為一門實踐性較高的課程,軟件測試必須建議專門的、完備的實驗教學體系和環(huán)境。目前,高校普遍缺乏軟件測試的軟、硬件環(huán)境,致使學生無法通過項目實踐來深入理解和提高測試相關(guān)知識和技能。
2.運用案例教學,豐富軟件測試項目實戰(zhàn)案例在教學活動中,學生總是對最新、最流行的項目和案例感興趣,陳舊的案例既不能滿足當前市場上對測試人才的技術(shù)需求,又不能很好的激起學生的興趣。運用案例教學最重要的環(huán)節(jié)就是豐富案例素材,保持案例的“鮮活性”與“生命力”。高校可以采用歷年本科畢業(yè)設計中運用了流行的技術(shù)、難度適中、功能較為完整的應用作為軟件測試課程的測試案例,不但可以保證素材的延續(xù)性,也使得學生畢業(yè)設計完成的質(zhì)量有所提高。
3.加強校企合作,走教學產(chǎn)業(yè)化發(fā)展之路[3]企業(yè)需要人才,高校為企業(yè)輸送人才,校園中學習的技能最終要接收用人單位的考驗。所以與軟件企業(yè)合作,建立對口的學生實訓基地,是應用型人才培養(yǎng)的重要途徑。軟件測試技術(shù)的掌握與提高離不開項目實戰(zhàn),讓學生在真正的軟件工程過程中從事測試工作,不僅能使學生深刻體會到軟件測試在整個項目中的作用,掌握測試方法和技巧,對于學生的溝通交流能力、團隊協(xié)作能力都有積極的促進作用。
四、小結(jié)
軟件測試是保障軟件質(zhì)量,驗證軟件可靠性的重要環(huán)節(jié),其重要性不言而喻。重視軟件測試應從企業(yè)用人的實際需求出發(fā),高校應加強面向企業(yè)需求的軟件測試改革,切實培養(yǎng)學生的動手操作能力,使學生掌握最新的測試方法和技巧,讓企業(yè)需求促進和推動高校教學發(fā)展。
參考文獻:
[1]李靜趙志升.軟件測試專業(yè)課程體系建設和教學改革[J].教育與職業(yè),2014(1):136-137.
篇10
Employment-oriented Software Testing Practical Course Reform
MA Min-sheng, MA You-zhong, REN Gang
(Information Engineering Department of Chenggong College, Gongyi 451200, China)
Abstract: Based on the current requirement situation of the IT companies for software testing talents, the paper analyzed the shortcomings of software testing practice teaching and training of personnel in colleges. Concerning the current software testing teaching model、methods and means, we proposed the employment-oriented practical course reform,achieved the “zero distance” between practical teaching and employment, effectively filled up the deficiencies of graduates without working experiences. Finally analyzed and summarized the teaching reform.
Key words: software testing; practical course; employment
軟件測試課程是近年來才逐漸被社會廣泛認同和重視的一門軟件工程實踐類課程。軟件測試職業(yè)就業(yè)具有前景廣泛,薪資待遇高,競爭相對較小,無性別歧視,多元化發(fā)展等特點,應成為今后相當時期內(nèi)高校計算機類專業(yè)的一門重要課程?,F(xiàn)階段,我國軟件測試人才缺口已經(jīng)超過30萬,供求矛盾較為突出,造成此缺口的最大原因就是我國軟件測試人才培養(yǎng)途徑單一、培養(yǎng)體制不健全。
本文立足于當前大學生的就業(yè)問題,調(diào)研了目前社會上對軟件測試人才的需求情況,提出在高校中開展課程改革和人才培養(yǎng)方面的創(chuàng)新,著眼于學生畢業(yè)后能夠滿足各類IT企業(yè)對軟件測試人才的要求,強調(diào)實踐課要結(jié)合項目實戰(zhàn),運用教學案例,模擬實際的工作場景,鍛煉學生的實踐能力,為社會培養(yǎng)軟件測試方面的高級專業(yè)技術(shù)人才。
1 軟件測試實踐課教學現(xiàn)狀分析
國內(nèi)外對軟件測試人才的培養(yǎng)主要有三種模式:企業(yè)內(nèi)部、高等院校和IT培訓機構(gòu)。企業(yè)培養(yǎng)的人才大多是通過參與項目自己摸索的軟件開發(fā)人員,由于缺乏對軟件測試全面的認識,在測試思想、技能、思維方式、溝通能力等方面都需要進一步提高。
高校培養(yǎng)模式彌補了IT培訓機構(gòu)功利性強、培養(yǎng)目標單一、費用較高等缺點,但主要的缺陷是學生因為沒有實習機會而普遍缺乏工作經(jīng)驗,不能滿足公司對測試人才的要求,在正式入職前還需要公司組織培訓后才能上崗,這給企業(yè)帶來了一定的風險和成本。
目前,大學軟件測試教學中存在的問題有:對實踐課程的重視程度不夠,軟件測試開展的不夠深入、徹底。測試過程存在大量的不規(guī)范性和隨意性。教材質(zhì)量良莠不齊,教學上知識結(jié)構(gòu)不合理,缺乏具體的實踐和系統(tǒng)的培訓指導。教師資源缺乏,教學方法和手段因循守舊。高校中有講授軟件工程的主講教師能很好的講解軟件測試理論和介紹軟件測試方法,但缺乏較好的軟件測試案例和一定的工作經(jīng)驗。學生對軟件測試職業(yè)存在一些錯誤的和片面的理解等。
2 以就業(yè)為導向的軟件測試實踐課課程改革
高校的軟件測試教學改革的主要思路是,以學生就業(yè)為導向和中心目的,培養(yǎng)學生成為理論與實踐并重,綜合素質(zhì)過硬的復合型應用型人才。主要內(nèi)容和做法是:
2.1 建立軟件開發(fā)全程測試的思想
1) 重視軟件測試,規(guī)范化測試流程
主要內(nèi)容是,參照測試公司對測試人員的崗位描述和任職要求,借鑒公司內(nèi)部測試流程和測試方法,優(yōu)化當前課程體系和知識結(jié)構(gòu),搭建軟件測試工作環(huán)境和平臺,構(gòu)建測試實驗室,模擬真實的工作場景,進行完整的軟件測試流程實踐。
2) 建立學生測試團隊,模擬軟件公司開展測試工作
在實驗課教學中,教師合理分配各成員間的任務,培養(yǎng)學生崗位技能。測試實驗采用分組的形式完成。每組由5~7名成員組成,指定一名學生為項目組長,其余學生為開發(fā)人員和測試人員。組長負責項目進展、分工協(xié)作、測試計劃的制定等工作, 其他組員分別就相關(guān)模塊進行各自的測試策略、測試用例設計以及完成測試報告等。然后通過角色交換,充分發(fā)揮學生的溝通能力。
3) 軟件測試引領測試驅(qū)動開發(fā)
測試驅(qū)動開發(fā)實踐來源于敏捷式開發(fā)思想,其核心就是在開發(fā)代碼之前,先編寫測試代碼.也就是說明確開發(fā)某個功能后,首先思考如何對這個功能進行測試,并完成測試代碼的編寫,然后編寫相關(guān)的代碼滿足這些測試用例,循環(huán)進行添加其他功能,直到完成這種思想讓學生認識到測試是開發(fā)的重要組成部分,對于學生樹立牢固的測試理念是必不可缺的。
2.2 多種教學實踐綜合運用
1) 循序漸進式的教學體系 根據(jù)學生能力水平的高低和實際的崗位需求,將教學目標定位進行劃分?,F(xiàn)有IT公司在招聘測試人員時根據(jù)技能要求分為初級測試工程師、中級測試工程師和高級測試工程師。進一步分析初級、中級測試工程師的工作內(nèi)容和所需要的技能.將這些技能按照漸進的順序分為不同的組,當掌握了該組所需要的技能之后,就可以認為達到了一個新的測試工程師等級。這樣,在教學過程中可以循序漸進地讓學生掌握不同的技能組,每完成一個技能組,都可以完成對應的實際工作。
2) 開展“五步教學法” 根據(jù)軟件測試崗位實踐性強的特點,在教學中結(jié)合實際項目、開展“五步教學法”,按照以下五個步驟來組織教學:布置問題、動手實踐、分析和討論問題、理論講授、實踐提高。通過動手實踐,學生明確工作任務。通過教師的分析和學生的討論.學生能認識到自己動手實踐中存在的問題。經(jīng)過前三個環(huán)節(jié)的鋪墊,學生就比較容易接受理論講授,并能在實踐環(huán)節(jié)去消化、運用。
該教學法以完成職業(yè)培養(yǎng)為目標,并將目標細分為一個個漸進的具體目標,通過不斷地設置問題、解決問題,學生最終掌握一系列實際工作技能,達成培養(yǎng)目標?!拔宀浇虒W法”的開展,一方面通過先動手、后總結(jié)的方式,強調(diào)在實踐中學習,使學生對理論知識的學習有更清楚的目的,提高了學生的學習興趣;另一方面,通過個人思考和小組討論.鍛煉了學生的思維能力, 同時學生的自主學習能力得到進一步提升,而這也是學生從業(yè)后需要具備的基本素質(zhì)。
3) 框架式教學方法 給出實驗目的和簡略的實驗參考步驟,讓學生使用學過的軟件工程的方法來進行實驗。實驗過程中每一步的具體內(nèi)容需要學生自己完成,為學生充分發(fā)揮主觀能動性創(chuàng)造了條件,留下了思考的空間。
4) 項目驅(qū)動下的案例教學 案例教學更有利于提高學生分析問題和解決問題的能力,促進學生學會學習以及溝通合作。在教學的過程中,應當以可操作的軟件測試案例為中心,將測試理論貫穿開發(fā)全過程,指導軟件開發(fā)。讓學生能夠真正地體會到實際的測試流程。鑒于軟件測試由第三方進行的原則,可以由小組之間互相交換軟件進行測試,學生之間可以進一步交流,互相督促,共同進步。
2.3 開發(fā)軟件測試基線包用于教學
軟件測試實踐教學要借鑒IT公司開展測試項目的做法,面臨的重要問題是項目案例的組織和規(guī)劃,為此可以組織開發(fā)不同層次的軟件測試基線包用于教學。
測試基線包和案例的收集主要通過以下途徑:一是歷年典型的學生開發(fā)項目案例、畢業(yè)設計等;二是包含著人為設置的軟件缺陷的軟件系列,所設置的缺陷代表著在實際軟件開發(fā)過程中的典型問題;三是企業(yè)的項目資源,包括項目需求文檔、項目設計文檔以及項目軟件的不同版本,這些資源能夠讓學生接觸到完整的案例.并且由于基線包中包含了軟件的不同版本,從這些版本中.可以清晰地發(fā)現(xiàn)軟件缺陷是怎樣被不斷地發(fā)現(xiàn)和修復。此外,還可以從教材及參考書中收集、從互聯(lián)網(wǎng)中收集。在測試案例的選取上,要遵循典型性、針對性和系統(tǒng)性原則,收集到的案例可以作為理論課講解時的實例,也可以作為實驗課的基本素材。
為了使軟件測試基線包具有可移植性,可通過技術(shù)手段實現(xiàn)軟件測試基線包的快速部署,使學生能快速便捷地完成測試環(huán)境及測試軟件在不同場合的搭建。軟件測試基線包的開發(fā)為教學和實踐提供了有力保障.同時便于課程教學資源共享。
2.4 培養(yǎng)學生綜合素質(zhì)和職業(yè)技能
公司在招聘人才時,要求應聘者不僅要具有較強的理論知識和實踐經(jīng)驗,也要具備良好的職業(yè)素質(zhì)。由于軟件測試職業(yè)的特殊性,后者顯得尤為重要。目前的教學中,對于應試技巧的教學內(nèi)容幾乎沒有,因此很有必要就這方面組織培訓,使學生在入職前對軟件測試職業(yè)有一定的了解,贏得面試官的青睞,獲得更多的就業(yè)機會。
1) 加強學生面試技巧的鍛煉,例如面試中的儀表風度、專業(yè)知識、工作實踐經(jīng)驗、口頭表達能力、綜合分析能力、反應能力與應變能力、人際交往能力、工作態(tài)度、上進心與進取心、求職動機等方面。
2) 注重培養(yǎng)軟件測試必需的溝通能力、責任心、懷疑精神、發(fā)散思維和反向思維能力。在學生中樹立良好的測試團隊意識,例如目標意識、團隊意識、服務意識、競爭意識、危機意識等。
3) 搜集和整理一些知名軟件公司(例如中興、華為、IBM等)的軟件測試工程師面試和筆試題,利用教學間隙組織模擬考試,進行講解和點評。
4) 建立校外實訓基地,與IT公司聯(lián)合培養(yǎng),通過企業(yè)實習提高學生的崗位技能,形成定向培養(yǎng)的長效機制,彌補大學畢業(yè)生沒有工作經(jīng)驗的缺陷。聘請業(yè)界知名專家、IT公司經(jīng)理來校講座,了解測試行業(yè)最新動態(tài),就相關(guān)問題答疑解惑,激發(fā)學生對軟件測試學習的興趣。
總之,軟件測試教學應當與社會的真正需求相結(jié)合,實現(xiàn)就業(yè)崗位零距離。
3 總結(jié)和展望
以就業(yè)為導向的軟件測試實踐課教學改革改變了過去實踐課流于形式,開展不到位的缺點,增強了學生的社會實踐能力和崗位技能,實現(xiàn)了教學與就業(yè)的零距離,取得了一定的教學效果和社會效益。目前改革還未能形成完整的教學體系,在實踐課的組織和實際操作上有一定的難度,實驗形式的過于靈活會導致課堂教學效率降低。今后需要在目前的基礎上作進一步完善,以適應當前IT企業(yè)不斷變化的測試人才需求狀況。
參考文獻:
[1] 陳能技.軟件測試技術(shù)大全-測試基礎、流行工具、項目實戰(zhàn)[M].北京:電子工業(yè)出版社,2008.
[2] 古樂,史九林.軟件測試案例與實踐教程[M].北京:清華大學出版社,2007.
[3] 朱少民.軟件測試方法和技術(shù)[M].北京:清華大學出版社,2005.
篇11
軟件產(chǎn)業(yè)正成為信息產(chǎn)業(yè)和國民經(jīng)濟發(fā)展新的增長點,然而國內(nèi)的軟件企業(yè)一再強調(diào)軟件人才的不足,原因何在呢?軟件人才教育的相對落后是影響人才短缺的一個重要因素,學生在學校學到的知識不能直接應用到企業(yè)的軟件開發(fā)或測試上[1]。軟件企業(yè)要加大與高校及培訓機構(gòu)的合作,開展“訂單式”人才培養(yǎng),學校在教學過程中,更加注重實踐教學。廣州大學華軟軟件學院成立于2002年,是全國300多家獨立學院中唯一的一所軟件學院,學院在軟件技術(shù)人才培養(yǎng)方面的探索和實踐已取得一定的成效,其中實踐教學發(fā)揮了重要的作用。本文著重介紹學院軟件技術(shù)人才實踐教學體系的相關(guān)內(nèi)容。
1 軟件工程專業(yè)簡介
軟件技術(shù)人才的培養(yǎng)主要立足于軟件工程專業(yè)(專業(yè)方向包括軟件開發(fā)、移動互聯(lián)網(wǎng)絡應用及軟件測試技術(shù))和計算機科學與技術(shù)專業(yè)(筆者所在系的專業(yè)方向為企業(yè)級數(shù)據(jù)庫應用與開發(fā))。軟件工程專業(yè)重視基礎理論、工程訓練、職業(yè)發(fā)展及外語能力的培養(yǎng),實踐課程注重軟件系統(tǒng)分析與設計、軟件開發(fā)與測試、軟件質(zhì)量控制與項目管理等方面能力的培養(yǎng),要求本專業(yè)學生在掌握計算機軟件領域基本理論知識的前提下,通過與IBM、Microsoft、SUN等業(yè)內(nèi)大型企業(yè)合作,及時了解業(yè)界最新的軟件開發(fā)與設計和軟件項目管理技術(shù),并能熟練使用軟件工業(yè)界主
作者簡介:吳愛華,男,講師,研究方向為數(shù)據(jù)庫技術(shù)、軟件開發(fā)方法及軟件測試技術(shù)等。
流的開發(fā)工具以及開源軟件技術(shù)開發(fā)有一定質(zhì)量的軟件系統(tǒng)[2]。
1.1 專業(yè)方向
軟件工程專業(yè)包括三個專業(yè)方向:軟件開發(fā)、軟件測試及移動互聯(lián)網(wǎng)軟件應用與開發(fā)。軟件開發(fā)方向側(cè)重郵件交換技術(shù)、短信平臺應用及網(wǎng)絡應用編程,要求學生能搭建B/S動態(tài)交互網(wǎng)站,熟悉軟件開發(fā)方法,對軟件工程有一定的了解,能勝任應用軟件系統(tǒng)的設計、開發(fā)、測試、維護等工作。軟件測試方向要求學生具備一定的軟件開發(fā)能力,掌握軟件測試理論與技術(shù),側(cè)重于單元測試用例編寫,熟練應用軟件自動化測試工具,搭建不同的測試環(huán)境并在不同環(huán)境下進行軟件測試,了解測試管理的內(nèi)容并能編寫規(guī)范的測試報告。移動互聯(lián)網(wǎng)應用與軟件開發(fā)方向側(cè)重移動通信及移動互聯(lián)網(wǎng)基本理論知識,移動終端系統(tǒng)應用開發(fā)、維護及單元測試,移動互聯(lián)網(wǎng)通信開發(fā)技術(shù)及移動互聯(lián)網(wǎng)WAP平臺搭建和移動搜索引擎開發(fā)[2]。
1.2 軟件工程專業(yè)課程體系
軟件工程專業(yè)三個方向的課程包括共同的專業(yè)必修課和各自的必修課。共同的必修課主要有計算機科學導論、離散數(shù)學、C++程序設計、SQL Server數(shù)據(jù)庫、軟件工程概論、數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)、編譯原理、Web編程。表1列舉出三個專業(yè)方向相關(guān)的必修課程。
表1 各專業(yè)方向?qū)I(yè)必修課程一覽
2 實踐教學體系
軟件工程專業(yè)的專業(yè)課均是理論與實踐并重的課程,理論課和實踐課各占一半學時,通過實踐教學鞏固所學理論知識,培養(yǎng)學生解決實際問題的能力。在實踐教學過程中,啟發(fā)學生積極思維,利用所學理論確定實驗課題的解決方案,掌握解決實際問題的方法和思路,同時也是培養(yǎng)創(chuàng)新型應用人才的有效手段。
2.1 實驗課
軟件工程專業(yè)的實驗課分為基礎性實驗、綜合性實驗、設計性實驗三種形式。基礎性實驗是指圍繞課程某一章節(jié)的教學內(nèi)容所開展的實驗,是一種演示性或驗證性實驗。綜合性實驗是指實驗內(nèi)容涉及本課程的綜合知識或與本課程相關(guān)課程知識的實驗,一般以課程設計的形式進行。設計性實驗是指給定實驗目的、要求和實驗條件,學生自己設計實驗方案,并加以實現(xiàn)的實驗,一般以項目實訓(包括畢業(yè)設計)的方式進行[3]。專業(yè)基礎課程以基礎性實驗為主,各專業(yè)方向的專業(yè)必修課涵蓋基礎性實驗和綜合性實驗,畢業(yè)項目實訓和畢業(yè)實習為設計性實驗項目。
課程采用大小課相結(jié)合的方式,實行課程負責人負責制,課程負責人和課程組其他教師共同承擔該課程大小課的教學任務,大課即理論課,小課即實驗課,根據(jù)修讀的學生人數(shù)分配大小課的班級,大課教室一般是容納90至300人不等的多媒體教室,小課教室一般都是配備64臺電腦的機房。
2.2 項目實訓
項目實訓在軟件工程專業(yè)教學中占有重要的地位,主要包括兩種形式:三年級學生暑期的集中式項目實訓和大四第一學期的項目實訓課程。
項目實訓模擬軟件生產(chǎn)流程,結(jié)合一個模擬的軟件項目,讓學生體驗項目啟動、需求獲取、架構(gòu)設計、詳細設計與實現(xiàn)、測試、質(zhì)量管理等完整過程,是對專業(yè)學習的一次集中總結(jié)和實踐,教師通過實訓項目管理平臺對集中式的項目實訓進行有效的管理。集中式項目實訓邀請IBM、Microsoft、Parasoft等國際知名軟件企業(yè)的專家指導,在實訓項目中整合三個專業(yè)方向,軟件開發(fā)與軟件測試方向組隊,移動互聯(lián)網(wǎng)應用與軟件開發(fā)與軟件測試組隊,目的是模擬軟件企業(yè)的生產(chǎn)模式,使學生在未進入企業(yè)之前就對企業(yè)的生產(chǎn)方式有所了解,旨在培養(yǎng)學生軟件設計、開發(fā)及測試的能力以及溝通能力和團隊合作精神。
2.3 畢業(yè)設計
畢業(yè)設計是在專業(yè)課程的教學完成之后進行的一個重要環(huán)節(jié),著重培養(yǎng)學生綜合分析和解決問題的能力,通過綜合訓練深化、拓寬、運用所學知識,是學生從學校學習到崗位工作的過渡環(huán)節(jié),同時也是衡量高等教育質(zhì)量和辦學效益的重要評價內(nèi)容。教師結(jié)合業(yè)界新技術(shù)、新業(yè)務擬題,提供具有創(chuàng)新性的畢業(yè)設計課題以提高學生的創(chuàng)新能力,指導過程中啟發(fā)學生逐步解決問題的能力。
2.4 精英班
學院設有Java精英班和.NET精英班,由軟件研究所與軟件工程系共同承擔,成立專門的教研室負責日常管理和教學工作,通過有效的方式甄選出一批有志于從事軟件開發(fā)、學習能力較強的學生,精英班加大實踐教學力度,重點是項目實訓,并與企業(yè)有對接項目,學歷教育以外還增加了一系列專業(yè)課程,使優(yōu)秀的學生接觸到更多的專業(yè)知識,獲得更多的實踐機會,表2列舉的是Java精英班的主要專業(yè)課程,表3列舉的是.NET精英班的相關(guān)課程。
表2 Java精英班主要課程
(The Main Courses of Java Elite Class)
表3 .NET精英班主要課程
(The Main Courses of .NET Elite Class)
2.5 軟件設計競賽
我們組織學生參加各級專業(yè)競賽以促進實踐教學,擴大學生自主學習的時間和空間,調(diào)動學生學習的主觀能動性,培養(yǎng)學習興趣和創(chuàng)造性思維能力。學院提供開放式實驗室供參與競賽的學生使用,吸引學生在此進行實驗、實訓、技能訓練,歷年來我校學生在各級競賽中獲得較好的成績。
1)“高校杯”軟件設計大賽由廣東省計算機學會主辦,是省內(nèi)在校大學生軟件設計專項比賽的最高賽事,比賽每年舉辦一次,目前已成功舉辦20屆。2006年我校成功承辦第16屆“高校杯”軟件設計大賽,該項賽事首次由獨立學院承辦。本屆大賽全省19所高校的25件作品進入決賽,本院學生開發(fā)的“無線遠程終端”奪得大賽第一名和“創(chuàng)新獎”雙料大獎,另一個參賽作品“Soker搜索引擎”則獲得二等獎。
2)“國信藍點杯”全國軟件專業(yè)人才設計與開發(fā)大賽由教育部、工業(yè)和信息化部主辦。首屆比賽我校獲得Java組2個一等獎,5個二等獎,4個三等獎,C語言組獲得2個二等獎,4個三等獎,7個優(yōu)秀獎;2011年第二屆我院共有53名選手參賽,其中獲得一等獎6名,二等獎10名,三等獎21名,優(yōu)秀獎8名,同時我院還獲得優(yōu)勝學校獎和優(yōu)秀組織獎。
3)“微軟校園之星大賽”由微軟教育培訓合作伙伴ATA公司舉辦,旨在提高學生軟件開發(fā)的創(chuàng)新能力,選拔優(yōu)秀人才,是“微軟實習生計劃”的一部分。2009年軟件工程系第一次組織2006級學生參加了第三屆“微軟之星大賽”,兩個學生組隊入圍決賽,最終獲得全國三等獎,2010年組織2007級學生參賽,三個學生組隊闖入決賽,最終獲得全國一等獎。
4) 廣東大學生科技學術(shù)節(jié)由共青團廣東省委員會、廣東省教育廳、廣東省科技廳、廣東省學生聯(lián)合會聯(lián)合舉辦,以“營造學術(shù)氛圍、提升科技素質(zhì)、培養(yǎng)創(chuàng)新人才”為主題。我院軟件工程系4支代表隊分別闖入2011年第五屆廣東大學生科技學術(shù)節(jié)之首屆“創(chuàng)新杯”粵港澳大學生計算機軟件應用大賽總決賽,并最終獲得兩個二等獎和兩個三等獎。
2.6 實訓基地建設
學院的軟件研究所主要負責學校信息系統(tǒng)的開發(fā)和維護,同時也是學生的校內(nèi)實訓基地,每年都會選派大三學生到研究所實習,表現(xiàn)優(yōu)秀的留?;蛘咄扑]就業(yè)。學院自成立之初就著手與企業(yè)合作建立校外實訓基地,目前為止實訓基地數(shù)目達到30家,其中包括IBM、南天電腦系統(tǒng)有限公司、神州數(shù)碼、電訊盈科、華南資訊等。
3 實踐教師隊伍建設
作為教學活動的直接承擔及實施者,教師自身的科研實踐能力直接影響實踐教學的質(zhì)量,現(xiàn)階段獨立學院教師的科研實踐正是其薄弱環(huán)節(jié),究其原因有以下幾點:1)獨立學院乃民辦學校,缺乏吸引高端人才之優(yōu)勢;2)教師的來源一是退休的公辦學校的教師(教授或副教授),未必有足夠的精力再投入科研實踐,二是剛剛畢業(yè)的大學生(本科生和碩士生),三是來自企
業(yè),有一定的業(yè)務和工程經(jīng)驗,但缺乏科研能力。
加強實踐課程教師隊伍建設,提高教師的科研實踐能力,首先要合理使用資深教師的科研資源,指導青年教師積極開展科研實踐,申報各級課題;其次青年教師要緊跟理論和應用領域前沿,結(jié)合自己的專業(yè)方向努力鉆研,再則學校為教師提供寬松的科研環(huán)境,并予以積極支持,可考慮與科研院所建立合作關(guān)系,選拔青年教師去培訓或進修。教師在進行科研實踐時,選拔學有余力的學生參與,對學生的實踐和創(chuàng)新能力的培養(yǎng)是大有裨益的。
4 實踐教學質(zhì)量評價
為提高實踐課程的教學質(zhì)量,應該制定合理的質(zhì)量評價指標。結(jié)合教育部的評估要求與獨立學院的具體情況,主要從以下幾個方面進行評價:1)實踐課程的內(nèi)容是否符合專業(yè)特色;2)實踐課題能否培養(yǎng)學生的動手及創(chuàng)新能力;3)實踐課程的考核方式是否合理有效;4)教學督導的評價及學生的反饋意見。
5 結(jié)語
以上從6個方面介紹了我院軟件技術(shù)人才的實踐教學體系,實踐教師隊伍建設。實踐證明,遵循此教學體系培養(yǎng)出來的學生越來越多地受到企業(yè)的青睞。
參考文獻:
[1] 高素梅.當前我國軟件產(chǎn)業(yè)發(fā)展狀況及趨勢[N].中國電子報,2008-6-2(10).
[2] 廣州大學華軟軟件學院軟件工程專業(yè)介紹[EB/OL]. [2011-05-01]. /major01.aspx
[3] 廣州大學華軟軟件學院. 廣州大學華軟軟件學院實踐性課程建設實施辦法[S]. 廣大華軟[2011]10號文.
Practical Teaching System for Independent Colleges’ Talent of Software Technology
WU Aihua
篇12
Exploring about the Reform of Software Testing Course
in the Application-oriented Institutions
PANG Haibo, LI Zhanbo
(Software Technology School of Zhengzhou University, Zhengzhou, He'nan 450002)
Abstract This paper analyzes the software testing industry, and a number of issues that exist in teaching, summed up the software companies for software testing requirements and industry demand conditions talent for talent, summed up the software testing professionals should have the basic knowledge and quality requirements, focusing on the improve student software testing theory, technical capacity, a new model of software testing from the curriculum reform, teaching, engineering practice, school-enterprise cooperation and replacement programs, etc., to stimulate students' enthusiasm and motivation to learn and improve training quality of software testers.
Key words software testing; teaching reform; ability training; teaching process; course change
近年來,中國軟件產(chǎn)業(yè)保持了飛速發(fā)展的趨勢,軟件產(chǎn)品的質(zhì)量備受所有用戶特別是IT行業(yè)用戶的關(guān)注。軟件測試作為軟件開發(fā)過程中重要的一環(huán),對保證軟件質(zhì)量具有至關(guān)重要的意義,同時也是控制軟件質(zhì)量的重要手段之一。目前,國內(nèi)許多軟件開發(fā)企業(yè)對軟件開發(fā)仍然存在“重開發(fā)、輕測試”的思想,因此,盡快建立完善軟件測試人才的系統(tǒng)培養(yǎng)環(huán)境、提高軟件測試人才的培養(yǎng)質(zhì)量,為軟件產(chǎn)業(yè)的健康發(fā)展提供智力支持已成為軟件測試專業(yè)課程和教學改革的主要目標之一。
本文首先分析了我國軟件測試行業(yè)和教學存在的若干問題以及IT企業(yè)對軟件測試人才的素質(zhì)要求,接著討論了軟件測試專業(yè)課程的設置和定位問題,結(jié)合筆者的工作實際以及校企聯(lián)合開展大學生軟件測試技能競賽的效果,對軟件測試教學過程提出了一些建議。
1 軟件測試行業(yè)和教學現(xiàn)狀
軟件生產(chǎn)方式已經(jīng)越來越趨向于大規(guī)模集成化生產(chǎn),這一生產(chǎn)方式確立了軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理在軟件生產(chǎn)中至關(guān)重要的地位。調(diào)查顯示,我國軟件開發(fā)企業(yè)普遍缺少測試人員,而專職軟件測試人員與開發(fā)人員的比率更是偏低,遠遠達不到國外1:1甚至2:1的比例,整個軟件行業(yè)從業(yè)人員比例結(jié)構(gòu)很不合理。主要由于企業(yè)認知和軟件測試人員的培養(yǎng)過程存在以下一些問題和不足而導致:
1.1 重開發(fā),輕測試
很多企業(yè)和學生認為,軟件開發(fā)比軟件測試重要,軟件測試相關(guān)工作職位待遇不如軟件開發(fā)。他們認為軟件測試從業(yè)人員不需要深入的專業(yè)知識,只要會寫程序就能夠勝任軟件測試工作,從事軟件測試類的工作沒有前途,所以大部分傾向于做開發(fā)人員,而不喜歡做測試。同樣,絕大多數(shù)學生認為軟件測試比軟件開發(fā)容易,沒有較高的技術(shù)含量,只是能夠找出軟件中的錯誤就可以了。甚至有相當一部分軟件測試人員認為軟件的質(zhì)量的好壞是開發(fā)人員的事情,與軟件測試人員沒有關(guān)系。
1.2 底子薄、基礎差
大部分開設計算機課程的學校,學生都是到大學二年級后半學期才開始接觸軟件測試課程,缺少對軟件測試課程的系統(tǒng)學習,甚至很多學生只學習軟件工程課程,根本接觸不到軟件測試課程。
對離散數(shù)學、程序設計、軟件工程等軟件測試基礎課程的學習效果差。例如,軟件測試中黑盒測試用例的設計方法大都以數(shù)學知識為依據(jù)的,決策表驅(qū)動分析法與因果圖法對應命題邏輯知識。盡管學生之前已經(jīng)學習這些課程了,但是由于受行業(yè)認知的限制,學生經(jīng)常忽略一些重要的知識,導致在后續(xù)測試課程學習中感到力不從心,最終還是不能夠穩(wěn)固掌握軟件測試的相關(guān)知識和技能。
軟件測試貫穿軟件開發(fā)的全部過程,軟件測試的大部分階段都要求測試人員能夠編寫代碼并且進行調(diào)試,比如,在單元測試階段和進行白盒測試的時候都需要檢查和測試代碼,這就對軟件測試學院提出了更高的要求,要求學生不但要了解軟件測試技術(shù),還要能夠熟練對代碼進行分析和調(diào)試,甚至更多的時候要求測試人員能夠自己編寫代碼進行專項測試。但是,由于先導課程的課程設計、實踐和考查的脫節(jié),導致學生寫代碼能力較弱,不能靈活運用軟件測試中的技術(shù)和方法。
1.3 重技術(shù)、輕理論
現(xiàn)代社會快節(jié)奏的影響和急功近利心情的驅(qū)使,學生通常希望學習一些能夠馬上使用的技術(shù),而不愿意去學習復雜和理論性較強的工程管理內(nèi)容。軟件測試計劃、軟件測試管理等工程管理課程抽象和教條,并且理論性較強,教師如果單純通過課堂教學,學生很難真正掌握這些內(nèi)容,他們不能將所學知識馬上轉(zhuǎn)換為應用,或者不能立刻看到成效,會慢慢地失去對這些課程的興趣和熱情。同時,考慮到軟件測試需要與具體的開發(fā)模式和行業(yè)背景相結(jié)合,在學習階段容易受授課模式和知識結(jié)構(gòu)的限制,學生覺得學無所用,將來也很難結(jié)合具體場合恰當使用測試手段。
1.4 重個人,輕團隊
軟件的大規(guī)模集成化生產(chǎn)意味著個人獨立勞動已經(jīng)不能勝任大型軟件的開發(fā),并且對團體軟件開發(fā)中的協(xié)作和溝通提出了更高的要求。軟件測試作為軟件開發(fā)過程中一個不可或缺的環(huán)節(jié),也需要測試團隊分工合作。目前教學更多地采用教師講、學生聽這一學習模式,沒有實現(xiàn)雙向互動學習,老師總是面面俱到地傳授測試專業(yè)知識和技術(shù),希望學生能夠?qū)W得更全面。然而,當代學生普遍以自我為中心,缺少基本的溝通和團隊協(xié)作能力,單獨的個體又不能獨當一面,最終導致軟件測試工作不能順利進行。
2 軟件測試人員素質(zhì)要求及課程設置定位
軟件測試人員的工作職責是理解軟件產(chǎn)品的功能和性能需求,在軟件開發(fā)中擔任“質(zhì)量管理”角色,這種職責對軟件測試人員在技術(shù)、管理能力和個人綜合素質(zhì)等方面提出了更高的要求。主要包括以下方面:(1)全面技術(shù)能力。測試人員必須站在工程技術(shù)的角度對需要開發(fā)的產(chǎn)品進行理解,以工程技術(shù)產(chǎn)品應用為目的構(gòu)造合適的測試用例進行測試。這就要求測試人員必須掌握軟件生命周期、開發(fā)流程、軟件質(zhì)量管理知識,熟悉離散數(shù)學、工程經(jīng)濟等基礎知識,熟悉各種系統(tǒng)平臺、數(shù)據(jù)庫、常用軟件和網(wǎng)絡等軟硬件,掌握主流測試工具與測試管理工具,還有具備編程能力和相關(guān)行業(yè)的法規(guī)和外語等知識。(2)責任心。做測試工作,需要思維嚴密,具有懷疑與破壞的精神,測試人員要打破常規(guī)思路進行軟件測試,能夠設計一些非常規(guī)測試用例對軟件進行破壞性測試。(3)細心與耐心。軟件測試工作中發(fā)現(xiàn)缺陷的環(huán)節(jié)除了依仗測試人員的專業(yè)技術(shù)知識之外,還與測試人員的細心及耐心程度有很大關(guān)系。軟件測試工作相比較軟件開發(fā)工作而言,更加繁瑣和枯燥,如果沒有足夠的細心和耐心,就會留下很多潛伏的缺陷。(4)良好的溝通與組織協(xié)調(diào)能力。軟件測試不僅僅是測試人員和測試團隊內(nèi)部的事情,軟件測試人員要能夠與項目經(jīng)理、開發(fā)人員、客戶、市場人員等不同角色人員進行良好溝通,保持密切配合。這就要求測試人員具備良好的溝通技巧,當發(fā)現(xiàn)問題的時候,能夠積極有效組織協(xié)調(diào)開發(fā)人員、客戶等各方面來解決問題,并且能夠精準表達自己的觀點。
軟件測試人員的素質(zhì)培養(yǎng),需要從構(gòu)建合理的軟件課程著手。課程體系構(gòu)建根據(jù)測試內(nèi)涵來分析相應的知識、技能、素質(zhì)要求,以軟件測試這一職業(yè)所需的知識和技能為先導,強調(diào)當前及未來就業(yè)崗位所需基礎知識和基本技能的掌握運用,體現(xiàn)知識、能力、素質(zhì)培養(yǎng)的統(tǒng)一。精選教學內(nèi)容進行整合與優(yōu)化,使課程模塊化,明確每個模塊化課程對知識和技能的培養(yǎng)要求,構(gòu)建以掌握技術(shù)理論和技術(shù)應用為培養(yǎng)目的的課程體系,實現(xiàn)知識和技能同步培養(yǎng)和提高。
3 軟件測試教學過程的改進
教學過程是對軟件測試人員技能和素質(zhì)培養(yǎng)的關(guān)鍵環(huán)節(jié),教學方法起著至關(guān)重要的作用。教師在教學過程中應注意幾方面:
3.1 正確認識開發(fā)和測試的關(guān)系,激發(fā)學生學習動力
針對學生認為軟件測試不如軟件開發(fā)重要,或者認為軟件測試類崗位不如軟件開發(fā)類崗位有前途等片面認識,教師應注意正確引導。通常在第一節(jié)課上教師應該結(jié)合功能測試、性能測試等具體案例介紹軟件測試的重要性,讓學生了解該課程的重要性、必要性和當前的行業(yè)動態(tài)。另外,要讓學生認識到測試工作的豐富層次和內(nèi)涵,了解測試人員應該具備的知識和技能更加多樣,做測試工作比做開發(fā)更有挑戰(zhàn)性。最后,要給學生介紹行業(yè)對測試人員的需求,讓學生更清楚了解軟件測試工作的待遇和發(fā)展前景,樹立從事軟件測試工作的決心和信心,激發(fā)他們學習軟件測試的主觀能動性。
3.2 案例法教學貫穿全過程
針對軟件測試課程中測試計劃、管理等理論性較強的工程化管理知識部分,需要結(jié)合實際案例進行教學,因為單純課堂教條式的教學很難讓學生深刻掌握這些知識的精髓并應用于實際工作,更甚至會讓學生失去學習軟件測試的興趣。因此,應在教學過程中引領學生由易入難自己動手實踐,激發(fā)學生的學習主動性與熱情。通過課堂討論或分組討論的方式活躍課堂氣氛,在討論的過程中,讓學生擔任不同角色,模擬實際管理過程,切身感受管理知識的應用價值,同時,不同角色的輪換擔任還可以鍛煉學生的溝通能力,樹立團隊意識。教師要適時進行引導與總結(jié),指導學生按照工程化的文檔模板規(guī)范將思考分析的結(jié)果進行記錄,在鍛煉學生分析、解決問題能力的同時養(yǎng)成良好的學習工作習慣。
對于技術(shù)性較強的知識,也要注意實際案例的引入。加大實際案例實驗學時的的分配,引入規(guī)模適中的工程實例,讓學生利用所學的測試技術(shù)對實例設計測試計劃,測試用例,執(zhí)行測試,分析和討論測試結(jié)果,發(fā)現(xiàn)測試存在的問題,通過這樣的實踐教學活動,更容易讓學生產(chǎn)生成就感,激發(fā)學生興趣。
3.3 注重工程實踐課程和參與競賽
根據(jù)軟件測試行業(yè)對人才素質(zhì)需求定位測試專業(yè)方向人才培養(yǎng)目標。由于軟件測試課程與軟件開發(fā)課程的不同,軟件測試實驗教學應該設立實驗、實訓和實習等多層次的工程實踐課程,通過讓學生參與實際工程項目,提高學生專業(yè)技術(shù)應用、分析問題和解決問題的能力。同樣,教師需要設計和引入規(guī)模適中的工程實踐項目,要求學生現(xiàn)學現(xiàn)賣,完成制定測試計劃、設計測試用例、執(zhí)行測試和評估測試的全過程。通過項目的鍛煉,學生分析問題和解決問題的能力會逐漸得到提高。
鼓勵學生多參加軟件測試技能競賽等實戰(zhàn)性的實踐活動,提高學生的觀察、思考、交流、實踐和協(xié)作能力。本團隊組織學生參加河南省計算機學會主辦的首屆大學生軟件測試技能大賽,成績斐然:三個代表隊分別獲得了特等獎、一等獎和二等獎。事實證明,競賽類的實踐活動,能夠極大激發(fā)學生自己動手進行軟件測試的興趣,同時在動手操作的過程中培養(yǎng)了學生的創(chuàng)新能力,促進了學生思維的縱深發(fā)展;學生對軟件測試課程的學習熱情和積極性空前高漲,學習的自覺性極大提高。
3.4 開展校企合作和課程置換
校企合作的目的就是通過學校與軟件企業(yè)進行多方面的合作,建立企業(yè)實習基地,讓學生能夠親身參與企業(yè)軟件的開發(fā)和測試過程,校企合作是軟件測試人才培養(yǎng)最有效的辦法。在計算機行業(yè),校企合作有著至關(guān)重要的作用,學生通過參與企業(yè)實際產(chǎn)品的開發(fā)和測試,可以更好更快地融入到軟件開發(fā)過程中。學生不但能夠?qū)⑺鶎W的綜合知識進行實際應用,還能對軟件開發(fā)有一個更加深刻的認識。與企業(yè)交流不只是學生的事情,教師參與其中也是十分必要,教師到企業(yè)實習,參與軟件項目的測試,緊跟技術(shù)發(fā)展步伐,才能把握授課方向,才能以自身參與的項目為實例進行授課。
課程置換是將企業(yè)成熟的軟件測試培訓課程和教學體系替換掉學校的部分軟件測試課程,將企業(yè)以應用為目的的教學方式、科學、系統(tǒng)和實用的課程內(nèi)容引入學校教學?!八街?,可以攻玉”,課程置換就是要結(jié)合學校教學和企業(yè)培訓的優(yōu)勢方法和資源,彌補傳統(tǒng)學校教學方式存在的不足,緊緊結(jié)合市場需求,提高學生各個方面的能力。 同時,課程置換將學歷教育和職業(yè)教育相結(jié)合,學生在獲得學歷證書的同時,還能獲得相關(guān)企業(yè)行業(yè)證書和一線實踐經(jīng)驗,從而為學生畢業(yè)后服務于企業(yè)奠定良好的基礎。
4 結(jié)束語
軟件測試的重要性得到越來越廣泛的認可,創(chuàng)造一種課程內(nèi)容改革的引導機制,探索一套切實有效的大學生學習和實踐相結(jié)合的學習模式,轉(zhuǎn)變教師對傳統(tǒng)軟件測試課程的教育教學觀念,推動軟件測試教學改革,才是提高軟件測試學生的專業(yè)技能和創(chuàng)新能力,最終提高學生的核心競爭力的根本途徑。
參考文獻
[1] 鐘素芬,葉明芷.軟件測試應用性人才培養(yǎng)模式的探索與實踐[J].北京聯(lián)合大學學報,2007(9):90-91.
[2] 孫金華.軟件測試人才培養(yǎng)與課程構(gòu)建的探索[J].計算機時代,2009(6):68-71.
篇13
Abstract According to traditional vocational education computer major curriculum independent of each other, can not adapt to the students future career needs, to software testing technology as an example, analysis the cognitive law of the career needs and learning, the modular curriculum, the curriculum connection between, form the system of the professional curriculum system; through the project of the implementation of specific teaching, through knowledge and skills at the same time to strengthen the training of professional quality.
Key words curriculum system; project; modularization
高職計算機類專業(yè)時至今日依然存在著這樣一個現(xiàn)實:一方面,隨著現(xiàn)代化進程的不斷推進,IT類人才的社會需求不斷加大,每年IT人才的需求缺口達到一個龐大的數(shù)字,大量的用人單位求賢若渴;另一方面,幾乎所有的職業(yè)院校都開設了計算機類相關(guān)專業(yè),大量畢業(yè)生卻不容易找到自己滿意的工作。我們迫切需要尋找有效途徑,解決龐大的畢業(yè)生就業(yè)群體與就業(yè)崗位之間不對稱的問題。
“計算機類專業(yè)課程項目化模塊化研究”旨在從課程建設的角度,縮小企業(yè)需求與學校培養(yǎng)的人才之間的差距。學生的職業(yè)規(guī)劃需要從進校開始,貫穿始終,他們在學習的過程中就應該明確――當前所學課程和所學知識在整個專業(yè)體系中的地位。
下面我們以軟件測試技術(shù)專業(yè)為例,從計算機知識體系的分析出發(fā),結(jié)合IT職業(yè)崗位分析,研究如何將課程體系模塊化,如何以項目化的方式組織教學。
1 課程體系模塊化
課程體系模塊化是指,將計算機類專業(yè)課程編制成在深度和廣度上有差異的幾種模塊,各相近專業(yè)可以按照需要選擇適用的課程模塊,再加上少量自己開發(fā)的課程,組合成專業(yè)教學計劃。模塊化的課程結(jié)構(gòu),不但能及時體現(xiàn)新知識、新技術(shù)、新工藝和新方法 ,大大增強教學內(nèi)容的適用性,而且能在一定程度上適應不同學習基礎、發(fā)展需求各異的受教育者的需要。
我校軟件測試技術(shù)專業(yè),從專業(yè)的特征出發(fā),以構(gòu)建合理的模塊化、項目化課程為目標,以專業(yè)知識認知過程與基于工作過程的課程設置為著眼點,形成了具有職業(yè)教育特色的課程建設思路及課程結(jié)構(gòu)。
1.1 確定人才培養(yǎng)的目標及規(guī)格
我校軟件測試技術(shù)專業(yè)主要面向“武漢?中國光谷”核心圈、武漢都市圈、“1+8”城市圈的軟件測試和軟件開發(fā)的企業(yè),培養(yǎng)與社會主義現(xiàn)代化建設要求相適應的德、智、體、美全面發(fā)展,適應生產(chǎn)、建設、管理和服務第一線需要,具有良好的職業(yè)道德和敬業(yè)精神,掌握軟件測試、軟件開發(fā)所需的系統(tǒng)基礎知識,具備軟件測試環(huán)境裝配、調(diào)試、使用、維護及測試工具的操作、測試用例設計動手能力,能從事軟件測試、軟件測試管理、軟件開發(fā)、軟件產(chǎn)品售前售后服務、技術(shù)文檔編制和管理的高素質(zhì)技能型專門人才。
根據(jù)專業(yè)領域的要求及人才培養(yǎng)目標,我們確定了以下的人才培養(yǎng)規(guī)格,如表1所示。
根據(jù)近五年畢業(yè)跟蹤調(diào)查,軟件測試技術(shù)專業(yè)學生的工作崗位主要為軟件測試、軟件開發(fā)、軟件服務三個方向。三個方向的畢業(yè)生規(guī)格有一定的差異。
1.2 形成專業(yè)課程體系
根據(jù)前面得到的人才目標規(guī)格,以及專業(yè)技術(shù)領域的要求,我們擬定出六大課程模塊,如圖1所示:公共基礎、計算機軟硬件基礎、算法分析與設計、軟件工程、程序設計與開發(fā)、軟件測試。課程的模塊化有助于教學過程中緊扣目標,各課程之間有效銜接。
2 課程項目化
課程項目化,是指根據(jù)職業(yè)能力培養(yǎng)的需要,將教學內(nèi)容設計成集知識、體能力和素質(zhì)一體化的課程項目,以項目為媒介組織實施教學與考核,從而實現(xiàn)專業(yè)人才培養(yǎng)的目標。
課程項目化的教學目標是實現(xiàn)職業(yè)技能和職業(yè)素質(zhì)的綜合培養(yǎng);教學方法強調(diào)學生自主性、師生互動性與成果應用性緊密結(jié)合。這樣的教學方法將職業(yè)體驗融入到學習過程中。
以“Java高級程序設計”課程為例,為實現(xiàn)課程目標,該課程設計了兩個項目:第一個項目桌面游戲“捕魚達人”,讓學生對Java高級的七個知識點有初步的認識;第二個項目“學生信息管理系統(tǒng)”進行強化認知,增強實踐能力。
在教學方法的運用上,該課程將學生劃分為若干小組,模擬軟件開發(fā)小組(公司),制定相應的公司管理說明,如表2所示;將業(yè)績作為學生平時成績評定標準。
通過項目化學習、項目化管理,學生的知識、技能及綜合素質(zhì)得到了很好的鍛煉,同時也充分發(fā)揮了學習過程中的互助作用,使得學生的自主學習能力得以提高。
3 結(jié)語
以上我們主要從課程建設方面,以軟件測試技術(shù)專業(yè)為例,對職業(yè)教育計算機類專業(yè)課程的改革提出了自己的觀點,旨在提升計算機類職業(yè)教育的實效,讓學生真正享受到職業(yè)教育的“實惠”。這樣的改革還涉及師資隊伍建設、實訓基地建設、教材建設等多個方面的內(nèi)容,有待我們進一步探索、實踐和總結(jié)。
參考文獻
[1] 姜榮,叢迎,曲桂.高職院校教師職業(yè)能力標準與評價體系研究[J].職教通訊,2013(2).
[2] 楊麗君,辛和金.高職院校教師職業(yè)能力構(gòu)成及提升策略[J].中國市場,2014(17).