黃紅艷 陳嶷瑛
摘要:為了扭轉(zhuǎn)高校對軟件測試人才培養(yǎng)存在的一些意識誤區(qū),通過闡述軟件測試的專業(yè)內(nèi)涵,提出高校在教學(xué)中引入軟件測試課程必要而可行,只要轉(zhuǎn)變思想,在教學(xué)中模擬企業(yè)的測試案例,鍛煉學(xué)生的綜合素質(zhì),就可以培養(yǎng)出深受企業(yè)喜愛的軟件測試綜合性人才。
關(guān)鍵詞:軟件測試;測試工具;測試管理;企業(yè)需求
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)32-7664-02
Abstract: In order to reverse the misunderstanding in College of Software Testing Talents Training, through explains the intension of software testing,proposes the teaching was in the software testing course necessary and feasible, as long as the change of thoughts, simulation test case of enterprises in the process of teaching, students' comprehensive quality training, can cultivatecomprehensive talent of software testing by enterprise love.
Key words: Software testing; test tool; test management; enterprise demand
自上世紀(jì)80年代,伴隨著軟件行業(yè)的發(fā)展需要,軟件測試的基礎(chǔ)理論和實(shí)用技術(shù)開始形成,經(jīng)過三十多年的發(fā)展,軟件測試在軟件開發(fā)行業(yè)中的角色越來越重要,我們目前評價(jià)軟件測試,它即需要工具和技術(shù)的支持,更需要有科學(xué)的管理體制,它既要保證軟件能夠健壯運(yùn)行,又要保證軟件的功能完全符合客戶的需求,一個(gè)好的測試隊(duì)伍,是軟件開發(fā)必不可少的依靠,尤其是復(fù)雜的軟件項(xiàng)目,開發(fā)和測試要親如手足,才能保證項(xiàng)目的順利進(jìn)行。
目前高校的軟件相關(guān)專業(yè)的畢業(yè)生,大約有1/5的人在5年之內(nèi)從事過或最終從事軟件測試相關(guān)的職業(yè),這是一個(gè)相當(dāng)大的比重,同時(shí)也反應(yīng)出社會上對軟件測試職業(yè)的缺口很大,眾所周知,高等教育往往落后于企業(yè)的實(shí)際發(fā)展,這種“厚基礎(chǔ),寬口徑”的辦學(xué)宗旨已經(jīng)盛行了很多年,當(dāng)然,在許多專業(yè)領(lǐng)域,這種以不變應(yīng)萬變的培養(yǎng)體系是最明智的選擇,但在計(jì)算機(jī)軟件教學(xué)領(lǐng)域,因?yàn)檫@個(gè)學(xué)科的發(fā)展速度幾乎超乎人類的想象,因此我們必須讓學(xué)生在校園里感受到計(jì)算機(jī)企業(yè)中對計(jì)算機(jī)技術(shù)的需求方向,這樣才不至于在學(xué)生走出校園時(shí)無所適從。軟件測試職業(yè)的職位待遇穩(wěn)步提升,而且其職業(yè)壽命要遠(yuǎn)遠(yuǎn)長于軟件開發(fā),從學(xué)生的職業(yè)規(guī)劃角度來看,在高校進(jìn)行軟件測試中高級人才的培養(yǎng)是一條可行之路。
1 高校開設(shè)軟件測試課程的必要性
事實(shí)上,在高校計(jì)算機(jī)教學(xué)體系中開設(shè)軟件測試課程,并不單單是為了迎合企業(yè)的需求,軟件測試是軟件工程課程的延伸,是軟件開發(fā)課程的補(bǔ)充,是軟件管理課程的實(shí)踐。
軟件測試課程的基礎(chǔ)學(xué)科涉及數(shù)學(xué)、計(jì)算機(jī)導(dǎo)論、軟件工程、計(jì)算機(jī)組成、管理學(xué)和信息技術(shù)等,如果沒有這些學(xué)科的支撐,軟件測試無法深入學(xué)習(xí)。
軟件測試課程的開設(shè),對高校計(jì)算機(jī)軟件專業(yè)的學(xué)生來講,是有著非常大的意義的,目前很多大型的軟件企業(yè)并不擔(dān)心開發(fā)人員的招聘,而對熟練掌握軟件測試技術(shù)和管理方法的高級測試人員求賢若渴,這一方向的職業(yè)缺口確實(shí)非常之大,究其原因就是目前幾乎所有高校的軟件相關(guān)專業(yè)都開設(shè)了軟件開發(fā)從技術(shù)到管理的全套課程,而軟件測試的相關(guān)課程幾乎為零,這樣的學(xué)生走出去,很難迅速掌握測試的理念,也無力制定宏觀測試計(jì)劃,不得不從測試行業(yè)最低端的測試員開始做起,這對于高校畢業(yè)生來講這是一種人才的浪費(fèi),在高校的計(jì)算機(jī)課程體系加入軟件測試內(nèi)容已經(jīng)迫在眉睫。
在任何一個(gè)行業(yè),從業(yè)人員對行業(yè)的成熟度區(qū)分,是企業(yè)招聘首先要考慮的問題,我們經(jīng)常在招聘信息中看到“有工作經(jīng)驗(yàn)”這樣的條款,在軟件測試行業(yè)也是如此,一般給出5種分級:1級我們稱之為用戶級測試人員,這一級別的測試人員直接扮演客戶的角色來使用軟件,看是否能發(fā)現(xiàn)問題;2級是軟件測試操作員,這類人群受過一定程度軟件測試的專門訓(xùn)練,可以執(zhí)行上級下達(dá)的具體測試任務(wù);3級是軟件測試技術(shù)員,這一職位人群有很多軟件測試的經(jīng)驗(yàn),能夠非常熟練的使用某些軟件測試專門技術(shù),能夠設(shè)計(jì)測試用例;4級是軟件測試系統(tǒng)工程師,他們具有相當(dāng)廣泛的計(jì)算機(jī)相關(guān)專業(yè)知識,熟悉軟件開發(fā),熟練掌握所有軟件測試技術(shù),并具有項(xiàng)目管理經(jīng)驗(yàn);5級是軟件測試總工程師,總工程師負(fù)責(zé)管理整個(gè)軟件測試項(xiàng)目,具有掌控全局的能力和技術(shù)。
高校軟件測試人才的培養(yǎng),其目標(biāo)要向3級人才靠近,并且這些人才有向4級或5級成長的持續(xù)發(fā)展能力。
2 軟件測試教學(xué)中需要重視的兩個(gè)問題
2.1扭轉(zhuǎn)重開發(fā),輕測試的偏見思想
很多人輕視軟件測試,認(rèn)為軟件測試無需具備很高的技能,是沒有前途的工作,缺乏創(chuàng)造性,很多高校也存在重開發(fā),輕測試的思想,學(xué)生在這種觀點(diǎn)的熏陶下,也對測試工作存在偏見,其中對軟件測試工作有三個(gè)認(rèn)識誤區(qū)尤為突出:首先,軟件測試是軟件開發(fā)完成之后才進(jìn)行的,只是軟件編碼的最后一個(gè)階段,其地位可有可無。其次,軟件測試不需要具備很高的專業(yè)技能,工作乏味枯燥,不具創(chuàng)造性,最后,軟件投入使用后一旦出現(xiàn)BUG,測試人員要負(fù)主要責(zé)任。
事實(shí)上,首先,一個(gè)好的軟件測試團(tuán)隊(duì),在軟件需求分析階段就已經(jīng)開始測試了,開發(fā)人員理解的客戶需求是否正確,要由測試人員監(jiān)控和保證,測試工作和開發(fā)工作是并行的,尤其在軟件項(xiàng)目開始的時(shí)候,監(jiān)控和防范一個(gè)微小的問題或隱患,是為了防止軟件成型后出現(xiàn)無法挽回的缺陷。其次,軟件測試是一項(xiàng)綜合技能能強(qiáng)的工作,運(yùn)用測試工具的能力,與人溝通的能力,有效管理的能力,書寫文案的能力等等,做好軟件測試工作絕對不是想象的那么簡單,而且一旦具備了綜合測試的素質(zhì),將是受用終身的資本。最后,軟件測試規(guī)范實(shí)施后,軟件仍然可能出現(xiàn)BUG,這是開發(fā)和測試人員應(yīng)該共同面對的現(xiàn)實(shí)問題,測試人員只能保證BUG越來越少,越來越不影響系統(tǒng)的健壯運(yùn)行。endprint
2.2強(qiáng)調(diào)管理與技術(shù)并重
軟件測試的規(guī)范實(shí)施需要測試技術(shù)和管理方法兩方面的支撐,如果不具備專業(yè)的測試技術(shù),只能做一些簡單的功能測試,如果不具備宏觀管理計(jì)劃的能力,只能處于被指揮狀態(tài)進(jìn)行片面測試的實(shí)施,現(xiàn)在軟件測試真正缺少的是技術(shù)和管理兼?zhèn)涞娜瞬?,高校的學(xué)生素質(zhì)非常適合軟件測試高端人才的培養(yǎng)。高校的培養(yǎng)中,要讓學(xué)生深刻理解,我們培養(yǎng)的學(xué)生不是只能低頭做測試任務(wù),而是要能指揮測試工作,這絕對不是件簡單的工作,需要全面的技能和完善的人格,只有這樣的人才,才能帶領(lǐng)出出色的測試隊(duì)伍。
教學(xué)中,增加實(shí)訓(xùn)環(huán)節(jié),給學(xué)生安排豐富的實(shí)例和習(xí)題,最好采用實(shí)際軟件項(xiàng)目的測試案例,讓學(xué)生在學(xué)校感受到企業(yè)中一樣的工作環(huán)境,并安排和企業(yè)中一樣的測試崗位,讓學(xué)生體會溝通和管理的必要,在獨(dú)立處理問題的過程中激發(fā)學(xué)生的學(xué)習(xí)興趣,促進(jìn)理論和實(shí)踐教學(xué)的結(jié)合,把對學(xué)生的應(yīng)用能力的培養(yǎng)融匯于教學(xué)中。
3 軟件測試專業(yè)課程設(shè)計(jì)的目標(biāo)和原則
軟件測試專業(yè)要全方位的培養(yǎng)和提高學(xué)生的基礎(chǔ)理論、實(shí)踐能力、設(shè)計(jì)能力、實(shí)踐訓(xùn)練等綜合素質(zhì)。重視管理、人文、經(jīng)濟(jì)等知識的學(xué)習(xí)。
3.1軟件測試專業(yè)課程設(shè)計(jì)的目標(biāo)
高校軟件測試培養(yǎng)目標(biāo)要以市場為導(dǎo)向,培養(yǎng)具有一定的設(shè)計(jì)測試計(jì)劃方案的、具有管理能力,能平衡整個(gè)測試項(xiàng)目各方面因素的軟件人才,這些人才要具備軟件開發(fā)的整體認(rèn)識,能制定和執(zhí)行測試,能利用測試工具完成一定測試任務(wù)。
本專業(yè)課程的重點(diǎn)包括:軟件缺陷生命周期管理;軟件測試基本概念的內(nèi)涵;主流測試工具的應(yīng)用;進(jìn)行全面的系統(tǒng)測試的方法;注課程以實(shí)訓(xùn)為主,重動手能力的培養(yǎng)等。 具體課程要涵蓋:熟練掌握至少一種數(shù)據(jù)庫應(yīng)用技術(shù)及一門軟件開發(fā)語言;了解軟件開發(fā)過程中軟件測試的重要性;掌握主流的自動化測試工具;科學(xué)管理測試隊(duì)伍。
3.2軟件測試專業(yè)課程設(shè)計(jì)的原則
課程的設(shè)計(jì)要體現(xiàn)與時(shí)俱進(jìn)的精神,以企業(yè)的實(shí)際項(xiàng)目為依托,主要原則包括:
1)開展項(xiàng)目教學(xué),項(xiàng)目教學(xué)具有針對性、研究性、啟發(fā)性和實(shí)踐性等。項(xiàng)目的選擇要知識涵蓋全面,要能夠激起學(xué)生的學(xué)習(xí)興趣。
2)制定專業(yè)課程計(jì)劃、課程大綱和教學(xué)方案等,課程計(jì)劃提倡電子化、網(wǎng)絡(luò)化和課堂教學(xué)并用,建設(shè)校企合作的專兼結(jié)合的教學(xué)團(tuán)隊(duì),開設(shè)以項(xiàng)目為載體的教育大綱,用以指導(dǎo)課程教學(xué)工作的開展。
3)建立測試工程內(nèi)容的課程結(jié)構(gòu)模式,把真正的測試項(xiàng)目開展到課堂上來,或者讓學(xué)生在學(xué)習(xí)期間進(jìn)入企業(yè)進(jìn)行崗前培訓(xùn),充分安排工程實(shí)踐,引進(jìn)軟件測試的工程師資格認(rèn)證,同時(shí)逐步建立科學(xué)的工程教育檢驗(yàn)和質(zhì)量評估體系。
理論與實(shí)踐并重,課程需要涵蓋單元測試、集成測試、性能測試、功能測試與系統(tǒng)測試。注重設(shè)計(jì)和管理的執(zhí)行過程。為學(xué)生創(chuàng)造可自由而主動的學(xué)習(xí)氛圍。以學(xué)生為出發(fā)點(diǎn),在軟件測試中融會貫通大學(xué)里學(xué)習(xí)的軟件相關(guān)課程,在項(xiàng)目驅(qū)使下培養(yǎng)主動學(xué)習(xí)的能力。采用分組討論學(xué)習(xí)方式,結(jié)合實(shí)際項(xiàng)目,把學(xué)生組織為若干小組,在教師指導(dǎo)下完成工作。不斷提升學(xué)校教師的專能,提供系統(tǒng)學(xué)習(xí)和階段性培訓(xùn)機(jī)制。
4 總結(jié)
軟件測試課程在高校的教學(xué)中,沒有現(xiàn)成的經(jīng)驗(yàn)和模式,需要我們根據(jù)行業(yè)的發(fā)展隨時(shí)調(diào)整,以社會需求為導(dǎo)向,以培養(yǎng)行業(yè)
中高級人才為目標(biāo),以項(xiàng)目實(shí)訓(xùn)教學(xué)為依托,邊進(jìn)行邊思考,逐步發(fā)展,逐步穩(wěn)定,所以我們要以發(fā)展的眼光,靈活的策略來微調(diào)教學(xué)過程的細(xì)節(jié),測試無處不在,高校進(jìn)行軟件測試的教學(xué)改革也是一種測試,只要我們采用嚴(yán)謹(jǐn)?shù)墓こ炭刂撇呗?,科學(xué)管理,總結(jié)規(guī)律,必然能取得高校進(jìn)行軟件測試課程探索的勝利。
參考文獻(xiàn):
[1] Ron Patton.軟件測試[M].北京:機(jī)械工業(yè)出版社,2002.
[2] Myers G J.軟件測試的藝術(shù)(中文版)[M].王峰,陳杰,譯.北京:機(jī)械工業(yè)出版社,2006.
[3] 聶長海.關(guān)于軟件測試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011,38(2):1-3.
[4] 董曉霞.軟件測試工程化的研究和實(shí)踐[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(11):23-26.endprint