蘇傳琦
南京中醫(yī)藥大學(xué) 江蘇南京 210023
軟件產(chǎn)業(yè)的高速發(fā)展及應(yīng)用需求的不斷提高,使得軟件技術(shù)越來越成熟,當技術(shù)普及以后,質(zhì)量就成為決定成敗的關(guān)鍵。軟件測試技術(shù)近年來發(fā)展迅速,已經(jīng)成為與軟件研發(fā)并駕齊驅(qū)的專業(yè)技術(shù)。軟件企業(yè)想要開發(fā)出高質(zhì)量的、穩(wěn)定性好的軟件,用戶希望用到可靠、經(jīng)濟的軟件,軟件質(zhì)量保證與軟件測試是必不可缺的環(huán)節(jié)。
目前,我國軟件產(chǎn)業(yè)在產(chǎn)品質(zhì)量管控和軟件測試領(lǐng)域仍然存在著人員嚴重不足的情況,在歐美等軟件發(fā)達國家,軟件測試人員與開發(fā)人員的比例一般為1:1,而我國大多軟件企業(yè)測試人員僅占22%[1],軟件測試的廣度和深度已成為影響企業(yè)生存與發(fā)展的核心問題。高校作為人才培養(yǎng)的基地,擔負著培養(yǎng)大量的具備專業(yè)素養(yǎng)和高層次技能的測試人才、解決軟件工程專業(yè)測試課程教學(xué)和實踐相結(jié)合問題的重任。以下從實踐出發(fā),從課堂教學(xué)、實驗項目、課外拓展等幾方面進行初步的探討。
軟件質(zhì)量保證與測試課程理論與實驗的課時比例為2:1,理論授課內(nèi)容較多,主要包含兩方面:一是質(zhì)量保證相關(guān)知識,另一個是軟件測試相關(guān)知識。各種概念、模型、方法交織,如果把握不好容易讓課堂顯得比較枯燥沉悶。可以從以下幾方面進行建設(shè)。
通過豐富的實際案例引導(dǎo)學(xué)生對概念、方法、模型等有深刻的認識,同時也注重探討式、引導(dǎo)式教學(xué),拓展學(xué)生思維。
證書作為就業(yè)的敲門磚有著不可忽視的作用,借鑒并融入一些權(quán)威的軟件測試證書的大綱,一方面為學(xué)生考證打下基礎(chǔ);另一方面也可參考其中精華,使得知識講授更透徹。
一門課程的實驗操作部分是把理論知識融會貫通的途徑,也是最能培養(yǎng)學(xué)生實踐動手能力的方式。
一是要考慮與理論內(nèi)容相關(guān)聯(lián),具備課程的通用性。在理論課中講授的很多知識需要學(xué)生在實踐中鞏固和掌握,例如:黑盒測試、白盒測試、界面測試等,學(xué)生根據(jù)實際的問題,通過所學(xué)的內(nèi)容設(shè)計測試用例。所選擇的實驗項目可以是比較經(jīng)典的案例,也可以是實際使用的軟件或?qū)W生自己編寫的軟件。這部分的實驗項目是所有軟件質(zhì)量保證與測試課程基本都要設(shè)立的,相對比較通用。
二是要引入目前流行的測試方法、測試軟件,具備技術(shù)的前沿性。目前的測試方法和測試軟件紛繁復(fù)雜。有針對不同測試方法的、針對不同語言的、針對不同功能和性能的等等,在有限的實驗課時內(nèi)如何選擇軟件測試工具是十分重要的。在軟件工程專業(yè)中主流學(xué)習(xí)的語言是C系列和java語言,單元測試實驗可以選取這方面的工具,例如:Junit,C++test等。另外在選取自動化測試工具的時候要考慮到學(xué)生即將面臨的實習(xí)和就業(yè)的需要,在工具的選取上要符合軟件公司的招聘條件和要求,如LoadRuuner和Quicktest Professional等[2]。這部分的實驗需要保持技術(shù)的前沿性,隨時根據(jù)需要進行變更。
三是要讓學(xué)生真實地感受質(zhì)量保證的過程,具備體驗的趣味性。強烈的代入感可以使人身臨其境,能夠產(chǎn)生較為深刻的印象。因此,讓學(xué)生參與到軟件質(zhì)量控制和測試的各個環(huán)節(jié)中可以更好地理解軟件質(zhì)量保證和測試的過程。在實驗中把學(xué)生分成多個人數(shù)不等的小組進行靜態(tài)測試中的非正式評審和正式評審,讓學(xué)生設(shè)計一個實際的問題或項目通過情景再現(xiàn)的方式模擬整個評審的過程,如走廊聊天,可以設(shè)置經(jīng)理和程序員兩個角色,通過聊天的方式把這種非正式評審的形式展現(xiàn)出來。像審查之類的正式評審的形式,需要比較多的角色參與,團隊合作感更強,參與度更高一些。這部分的實驗讓學(xué)生參與的同時也樂在其中,提高了實驗的趣味性。
一是基于計算機的環(huán)境,例如Windows系統(tǒng)、linux系統(tǒng)、Mac系統(tǒng)等。目前主流系統(tǒng)還是以Windows系統(tǒng)為主,因此在實驗項目的測試環(huán)境的配置上還是使用Windows系統(tǒng)。其他系統(tǒng)可以作為拓展實驗項目,讓感興趣的學(xué)生自助完成。
二是基于手機的環(huán)境,如Android系統(tǒng)、iOS系統(tǒng)、Windows Mobile系統(tǒng)。隨著智能手機的平民化、資費的親民化,其已經(jīng)成為人們必不可少的電子產(chǎn)品。五花八門的APP軟件如雨后春筍般蜂擁而出。因此基于手機環(huán)境的軟件測試實驗也是十分必要的。可以采用課內(nèi)與課外相結(jié)合的方式來實施實驗項目。
MOOC等網(wǎng)絡(luò)課程發(fā)展迅猛,在國內(nèi)外的一些MOOC網(wǎng)站(CourSera、edX、中國大學(xué)MOOC、學(xué)堂在線等)均有數(shù)量不等的與軟件質(zhì)量保證與測試相關(guān)的課程。學(xué)生如果有興趣和就業(yè)需要,可以通過這些網(wǎng)絡(luò)教學(xué)資源幫助他們學(xué)習(xí)更全面的軟件測試知識。作為任課教師,需要給學(xué)生進行一定的介紹和推薦,讓學(xué)生有針對性地學(xué)習(xí)。而且MOOC學(xué)習(xí)成果的認證也將逐步獲得社會用人單位的認可[3]。
邀請一些專業(yè)的測試人員給學(xué)生開設(shè)講座,交流工作學(xué)習(xí)心得,可以更好地拓展學(xué)生的視野,專業(yè)人員豐富的職場經(jīng)驗可以幫助學(xué)生少走彎路??梢赃x擇請兩類人,一類是有資歷的軟件質(zhì)量工程師和軟件測試工程師,這部分人群專業(yè)知識豐富,可以在大方向宏觀地展示軟件質(zhì)量保證與測試方面的遠景;第二類是本專業(yè)畢業(yè)后從事軟件測試方面的畢業(yè)生,這部分人群與在校的教師和學(xué)生都比較熟悉,剛出校門的他們從零開始,做底層的工作,可以把自身找工作和入職的經(jīng)驗教訓(xùn)分享給在校生。
目前,很多高校與軟件企業(yè)簽訂合約,建立人才實習(xí)基地,共同培養(yǎng)計算機專業(yè)人才。一方面由企業(yè)派遣專業(yè)人員給在校生開設(shè)一些企業(yè)實訓(xùn)課程,另一方面是安排有意愿的學(xué)生到企業(yè)進行短期的參觀宣講和長期的實習(xí)見習(xí)。企業(yè)可以擇優(yōu)留用,這部分人員可以快速地上手項目,在專業(yè)技術(shù)崗位發(fā)揮作用。
為適應(yīng)我國軟件產(chǎn)業(yè)發(fā)展對人才的需求,提高畢業(yè)生就業(yè)率,需要從實踐出發(fā),分析軟件質(zhì)量保證與測試這門課存在的問題,從課堂講授、實驗項目、課外拓展等方面進行建設(shè),不斷地改革教學(xué)模式,探索出一條培養(yǎng)實用性人才的道路。