前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件測試培訓(xùn)總結(jié)主題范文,僅供參考,歡迎閱讀并收藏。
軟件質(zhì)量重于泰山
軟件質(zhì)量重于泰山,軟件質(zhì)量是核心競爭力之一?,F(xiàn)在和未來軟件企業(yè)的競爭力不僅體現(xiàn)在產(chǎn)品類型的多樣性,產(chǎn)品功能的先進性,更多的體現(xiàn)在產(chǎn)品質(zhì)量的穩(wěn)定性和可靠性。軟件應(yīng)用的領(lǐng)域不斷深入,設(shè)計的復(fù)雜程度逐步增加,開發(fā)的周期不斷縮短,質(zhì)量的要求水漲船高,軟件企業(yè)面臨著巨大挑戰(zhàn)。
用戶對軟件產(chǎn)品質(zhì)量的要求不斷提高,促使軟件企業(yè)把提高軟件質(zhì)量作為增強競爭力的策略。提高軟件質(zhì)量要素在哪里?可以通過采用軟件設(shè)計技術(shù),加強軟件過程管理,實施軟件測試等方法。從提高軟件質(zhì)量的顯著程度、投資回報率和可實施性等方面比較,實施有效的軟件測試,提高軟件測試的效率,是保證軟件質(zhì)量的顯著方法。
軟件測試是通過技術(shù)、流程、工具、人員以及管理手段,檢測軟件文檔、軟件中間產(chǎn)品和最終產(chǎn)品,查找和報告軟件缺陷、錯誤以及隱患的專業(yè)技術(shù)。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產(chǎn)品、中間產(chǎn)品和文檔符合軟件工程過程需求和用戶的最終需求。
軟件測試創(chuàng)新之道
軟件測試在國內(nèi)仍處于起步階段,各種軟件測試的方法、技術(shù)和標準都還在探索階段。國內(nèi)軟件行業(yè)規(guī)模普遍偏小,缺乏大型軟件產(chǎn)品經(jīng)驗,開發(fā)過程不夠規(guī)范,這決定了國內(nèi)軟件質(zhì)量和測試行業(yè),必須根據(jù)國內(nèi)行業(yè)現(xiàn)狀,確定軟件質(zhì)量目標和測試策略方法,而不是照搬照抄國外成熟軟件企業(yè)的測試方法。
觀念創(chuàng)新
提高軟件質(zhì)量的決定因素不是軟件測試技術(shù),而是對軟件質(zhì)量和測試的思想觀念。只有把提高軟件質(zhì)量上升到企業(yè)戰(zhàn)略發(fā)展的高度,才能從根本上解決問題。長期以來,國內(nèi)軟件行業(yè)對軟件質(zhì)量重視程度不足,對于軟件測試的作用認識不夠,造成項目因質(zhì)量問題造成進度推遲甚至失敗。
為了徹底改變這種被動現(xiàn)象,企業(yè)高層管理人員必須從管理思想、資源支持等方面為軟件質(zhì)量和測試部門提供全力支持。軟件項目經(jīng)理必須堅持軟件開發(fā)和軟件測試并行處理并且互相協(xié)調(diào)。軟件開發(fā)人員重視和配合軟件測試人員。
觀念創(chuàng)新不要僅停留在口頭上,而要落實在具體行動上,通過軟件質(zhì)量和測試的有效流程進行推動,通過過程改進進行提高。通過有效組織管理,形成“以重視軟件質(zhì)量為榮,以輕視軟件質(zhì)量為恥”的工作氛圍。
流程創(chuàng)新
測試流程決定軟件質(zhì)量。軟件測試如同軟件開發(fā)一樣,需要經(jīng)過收集測試需求、確定測試策略、設(shè)計測試、執(zhí)行測試、分析測試等流程。軟件測試不是軟件開發(fā)的最后階段,而是貫穿于軟件項目的整個生命周期。
軟件測試流程既不是僵化的生搬硬套,也不是隨機的增添取舍。軟件企業(yè)的質(zhì)量管理部門和項目開發(fā)團隊需要根據(jù)公司技術(shù)、資源現(xiàn)狀,針對項目的特點和客戶需求,從保證軟件質(zhì)量、項目進度和測試成本等方面,進行優(yōu)化設(shè)計并且不斷改進流程管理。對于項目周期長、應(yīng)用領(lǐng)域廣、對質(zhì)量要求高的軟件,必須制定和遵守嚴格的測試流程。
測試流程創(chuàng)新的目標是在公司內(nèi)部制定和執(zhí)行完善的項目質(zhì)量管理體系。優(yōu)化項目生產(chǎn)方式,跟蹤和度量生產(chǎn)過程和產(chǎn)品,使得生產(chǎn)過程和各階段產(chǎn)品處于可控制和可度量狀態(tài),保證產(chǎn)品符合客戶的功能和進度需求。
技術(shù)創(chuàng)新
軟件測試是一項軟件工程領(lǐng)域的專業(yè)技術(shù),而不是簡單的把軟件測試認為隨便找個人運行幾次軟件,就可以發(fā)現(xiàn)全部的軟件問題。前文已經(jīng)提到,軟件測試需求和測試設(shè)計是決定軟件測試效果的關(guān)鍵因素,因此,加強測試技術(shù)創(chuàng)新的重點是在測試需求和設(shè)計設(shè)計的創(chuàng)新。
在軟件測試技術(shù)創(chuàng)新方面,要避免陷入過度追求自動化測試技術(shù)的誤區(qū)。自動化測試確實可以在某些方面顯著提高測試效率和準確性,但是自動化測試只適合測試軟件的某些方面的質(zhì)量,80%左右的軟件缺陷是靠測試人員手工測試發(fā)現(xiàn)的。
對于某些特別需要自動化測試的軟件特性,需要加強開發(fā)軟件測試工具,而不是全部依賴市場上的現(xiàn)有測試工具。這是因為商業(yè)工具功能繁多,價格昂貴,培訓(xùn)和學習周期很長,選擇不當就會造成巨大浪費。
管理創(chuàng)新
軟件測試管理的目標是實現(xiàn)軟件質(zhì)量、進度、成本之間的最佳平衡。有效的測試管理需要企業(yè)管理層、軟件開發(fā)團隊、質(zhì)量保證與測試團隊通力合作,采用計劃、組織、領(lǐng)導(dǎo)、控制等手段,組建高效團隊,制定完善的測試流程,做好測試設(shè)計,有效執(zhí)行測試,加強過程跟蹤,從而順利完成質(zhì)量保證和測試任務(wù)。
測試管理創(chuàng)新的核心是軟件質(zhì)量和測試的團隊建設(shè),軟件質(zhì)量和測試是技術(shù)密集型活動,團隊的知識結(jié)構(gòu)、創(chuàng)造力和凝聚力是保證測試流程、測試技術(shù)充分實施的基礎(chǔ)。質(zhì)量和測試團隊建設(shè)的重點是設(shè)置和培養(yǎng)各類技術(shù)和管理人才,進行有效交流,形成良好的評估和促進機制。
測試管理創(chuàng)新的另一個重點是測試管理平臺建設(shè)。包括構(gòu)建測試項目管理的集成系統(tǒng),實現(xiàn)公司產(chǎn)品和項目數(shù)據(jù)信息的有效管理和順序控制,使項目數(shù)據(jù)透明化,技術(shù)知識有效傳承,項目質(zhì)量和進度數(shù)據(jù)化、圖形化??梢愿鶕?jù)公司的現(xiàn)狀,購買軟件測試管理的商業(yè)工具,也可以內(nèi)部開發(fā)軟件測試管理工具。
軟件測試技術(shù)路線圖
如果把軟件測試之道成為測試戰(zhàn)略,要發(fā)揮測試戰(zhàn)略的現(xiàn)實意義,需要把測試戰(zhàn)略轉(zhuǎn)化為測試戰(zhàn)術(shù)。測試的“道”與“術(shù)”的無縫集成,才能顯著地、持續(xù)地、逐步地提高軟件產(chǎn)品質(zhì)量。實施軟件測試的戰(zhàn)術(shù)是一系列過程的組合,涉及測試團隊建設(shè)、流程設(shè)計、測試平臺、測試管理等多個方面。
測試團隊建設(shè)
測試團隊可以是測試部,也可以是測試組。公司規(guī)模決定了測試團隊的大小和組織形式。測試團隊建設(shè)需要執(zhí)行兩個原則:第一,測試團隊必須獨立于開發(fā)團隊,而不是附屬于開發(fā)團隊,實現(xiàn)測試的獨立性和公正性;第二,測試團隊必須具有明確的工作目標,即發(fā)現(xiàn)和報告軟件缺陷,推動和確認缺陷修正,協(xié)助軟件開發(fā)的過程改進,提高軟件整體質(zhì)量。
軟件測試團隊根據(jù)規(guī)??梢栽O(shè)置多個職位,每個職位具有明確的崗位職責。例如,測試部門經(jīng)理、測試項目經(jīng)理、測試組長、測試架構(gòu)師、高級測試工程師、測試工程師等。對于剛剛成立的測試團隊,可以一個人兼任多個職位,完成多項測試任務(wù)。測試人員的總數(shù)應(yīng)該與開發(fā)人員相適應(yīng),最好在1:1到1:2之間。
流程設(shè)計
測試流程設(shè)計必須與軟件設(shè)計流程相對應(yīng),基本測試流程包括測試需求分析、測試計劃設(shè)計、測試用例設(shè)計、測試執(zhí)行、測試評價、測試總結(jié)等。
根據(jù)軟件需求和軟件設(shè)計規(guī)格說明進行測試需求分析,測試需求分析的目的是明確需要測試的對象、特征、范圍和方法,從而制定測試計劃,確定測試策略。
測試計劃設(shè)計是為了有效配置測試過程、人員和工具,充分利用現(xiàn)有的資源,按照項目計劃進度,組織有效的測試。測試計劃設(shè)計的輸出結(jié)果是測試計劃文檔,它是指導(dǎo)軟件測試活動的綱領(lǐng)性文檔。
測試用例設(shè)計是指導(dǎo)具體測試內(nèi)容和方法的關(guān)鍵內(nèi)容,如果需要執(zhí)行自動化測試,還需要依靠測試用例設(shè)計生成對應(yīng)的測試腳本。測試用例設(shè)計的輸出結(jié)果是不同類型的測試用例,這些測試用例必須以標準、一致的形式設(shè)計、評審、存儲、更新。
測試執(zhí)行是報告軟件缺陷的階段,根據(jù)軟件計劃的進度,分配測試內(nèi)容,構(gòu)建測試環(huán)境,依靠測試用例運行測試程序和程序文檔。測試執(zhí)行的輸出結(jié)果是缺陷報告、測試進度報告等。
測試評價是度量軟件測試執(zhí)行效率和有效性的過程。測試評價的輸入是測試用例的執(zhí)行情況,軟件缺陷的報告數(shù)據(jù)。測試評價的輸出包括測試用例的有效性分析,軟件缺陷的類型和有效性分析等,測試進度和有效性分析等。
測試總結(jié)包括測試過程每天或者每周的過程總結(jié),也包括測試項目結(jié)束后的測試項目總結(jié)。測試總結(jié)的輸出是測試總結(jié)報告,總體評價軟件質(zhì)量,指出測試存在的問題,提出改進的方法和進程,總計測試的有效經(jīng)驗。
測試平臺設(shè)計
測試平臺設(shè)計包括測試技術(shù)平臺設(shè)計和測試管理平臺設(shè)計。測試技術(shù)平臺包括設(shè)計測試環(huán)境,設(shè)計或設(shè)置測試工具等。測試管理平臺設(shè)計包括測試文檔系統(tǒng)設(shè)計、測試版本配置管理、缺陷數(shù)據(jù)庫設(shè)計、測試進度和質(zhì)量分析系統(tǒng)設(shè)計。
測試技術(shù)平臺設(shè)計需要根據(jù)測試計劃的測試內(nèi)容和測試環(huán)境要求,組織軟件、硬件、數(shù)據(jù)庫和網(wǎng)絡(luò)等,這經(jīng)常是一項較為耗時的工作,同時它影響著測試的正確性,必須盡快在測試開始階段完成,最好采用有效的方法把搭建的測試環(huán)境進行備份保存,以便今后可以快速恢復(fù),重復(fù)利用。
測試管理平臺設(shè)計,影響測試管理的復(fù)雜度,好的測試管理平臺可以使測試管理人員,方便地跟蹤、查詢、分析測試進度,評估測試人員的工作績效,評價測試的總體質(zhì)量。對于測試技術(shù)人員而言,可以方便的尋找測試對象和測試文檔,報告和輸出測試結(jié)果,共享測試數(shù)據(jù),提高測試效率。
測試管理
測試管理關(guān)注人員、過程、產(chǎn)品三要素的互動與變化,測試管理包含項目計劃和組織結(jié)構(gòu)管理,測試階段管理,時間、資源和質(zhì)量管理,文檔管理和團隊管理等。測試部門經(jīng)理、測試項目經(jīng)理和測試組長是測試管理的主要執(zhí)行者,需要與測試團隊成員、開發(fā)人員、公司管理人員密切配合。
為了加強測試管理,需要確保測試數(shù)據(jù)信息流通暢,使測試團隊、開發(fā)團隊、質(zhì)量保證團隊之間有效交流。測試管理的其他內(nèi)容包括團隊成員參與各種培訓(xùn),客觀積極的績效評估,識別項目測試風險,實現(xiàn)人盡其才,信息共享,進度可控,規(guī)避風險,降低成本,提高質(zhì)量。
國家示范性軟件學院的一個重要職責就是要在教學研究、教學實踐以及教學改革方面進行大膽的探索和實踐。因此,在完善已有課程體系及授課的同時,應(yīng)該充分利用優(yōu)秀的教學資源,總結(jié)教學經(jīng)驗和科研成果,編寫專業(yè)教材,力爭探索出一條為國家快速培養(yǎng)高素質(zhì)軟件工程人才之路。
北京工業(yè)大學軟件學院蔡建平教授長期從事軟件工程、軟件測試及軟件質(zhì)量保證的研究,在多年講授軟件測試課程經(jīng)驗和體會的基礎(chǔ)上,對軟件測試課程教學內(nèi)的知識點進行調(diào)整、補充和完善等方面的改革,針對軟件質(zhì)量評價和軟件高可靠性的要求,針對國內(nèi)軟件研發(fā)和測試外包的本地化要求,以及針對軟件測試用于各種應(yīng)用領(lǐng)域的要求選擇授課的知識點,并取得了較好的效果。
目前國內(nèi)關(guān)于軟件測試的書籍較多,其中很多書籍是翻譯的、為培訓(xùn)用的或介紹軟件測試技術(shù)和方法,作為教材滿足各類測試人員的學習還有一定的距離。本書是在作者長達二十幾年軟件工程、軟件測試和軟件質(zhì)量保證實踐經(jīng)驗和教學經(jīng)驗的基礎(chǔ)上,借鑒前人成果,參考當前軟件測試方法和技術(shù)應(yīng)用實踐案例進行編寫的。蔡建平教授編寫的《軟件測試大學教程》一書,以現(xiàn)代軟件測試需求為背景,以現(xiàn)代軟件測試技術(shù)和方法為基礎(chǔ),以當前軟件測試通常應(yīng)用為典型實例,從軟件危機及軟件缺陷開始,全面介紹軟件測試的基本概念,軟件測試的技術(shù)、方法和工具應(yīng)用,以及軟件測試在當前主流應(yīng)用中的具體開展和實施。
其特點如下:
(1) 內(nèi)容全面。突出全生命周期軟件測試概念、軟件質(zhì)量分析手段、現(xiàn)代軟件測試技術(shù)、主流測試工具應(yīng)用以及典型應(yīng)用測試方法等,幫助學生了解和掌握現(xiàn)代軟件測試的各種原理、方法和技術(shù),并能夠選擇合適的軟件測試工具進行相關(guān)測試。為培養(yǎng)學生今后成為高素質(zhì)、專業(yè)化的軟件測試人才打下基礎(chǔ)。
(2) 針對性強。針對軟件開發(fā)方法和技術(shù)的發(fā)展變化,針對我國軟件外包服務(wù)的蓬勃興起,針對我國國防工業(yè)如航空、航天、船舶、電子、通訊等大量重要軟件或關(guān)鍵軟件的實際應(yīng)用情況和測試需求,特別是對軟件高可靠性的要求,選擇教材的知識點。
(3) 重實踐性。該書對支撐現(xiàn)代軟件測試技術(shù)應(yīng)用的測試工具進行了全面地介紹,特別是對開源軟件測試工具的介紹,這對高校開設(shè)軟件測試實驗課程是非常有意義的。在教材中給出了軟件測試在幾個典型應(yīng)用領(lǐng)域具體實施的要點和注意事項,這對缺乏實踐經(jīng)驗的培養(yǎng)對象而言具有極好的引領(lǐng)作用,對開闊軟件測試人員的眼界、思路和具體實踐有很大幫助。
(4) 具前瞻性。書中不少內(nèi)容取材于互聯(lián)網(wǎng),在一定程度上體現(xiàn)了軟件測試技術(shù)的最新發(fā)展,具有較強的新穎性和現(xiàn)代性。
關(guān)鍵詞:市場需求;軟件測試;課程體系
中圖分類號:G64文獻標識碼:A文章編號:1009-3044(2012)14-3353-02
Course System Research of Software Testing Technology Based on Demand of Talent Market
ZHENG Hao, LIU Jian-fang
(Pingdingshan University, Pingdingshan 467000, China)
Abstract: This paper analyze the actual needs of talent market at first, and then set up the Curriculum system based on the software testing theory and technology. Paying more attention on the application, we want to construct course system to meet the market, which has deep foundation and strong skills. All of these promote the quality of the professional course.
Key words: Market requirement; software testing; Curriculum system
最近的年度軟件測試行業(yè)專項調(diào)查報告顯示,社會對軟件測試人才的需求越來越大,可人才市場提供的人力資源、實際能力卻不能滿足這種需求。目前國內(nèi)對測試人才職業(yè)化培養(yǎng)體系還不夠充分,現(xiàn)行的傳統(tǒng)教育體制重學歷教育,輕職業(yè)技能培訓(xùn),導(dǎo)致了軟件測試人才告急。如何結(jié)合人才市場的實際需求,構(gòu)建適合的課程培養(yǎng)體系,成為軟件測試課程改革迫在眉睫的問題。
1中國軟件測試行業(yè)的市場需求分析
在我國,軟件產(chǎn)業(yè)的興起和發(fā)展也就是這短短十幾年。在前面的興起和發(fā)展壯大階段,一般的軟件公司都是重開發(fā)輕測試,甚至存在把測試工作都放在用戶那里去做的錯誤思想;追求眼前功能的實現(xiàn),開發(fā)軟件追求“短”、“平”、“快”。不太考慮性能和功能的優(yōu)化。軟件測試以往一直被中小IT企業(yè)所忽視,只有一些知名企業(yè)才有專門的軟件測試人員。
現(xiàn)在,更多的國內(nèi)企業(yè)認識到測試的重要性,但是由于國內(nèi)測試人才的儲備相對較少,據(jù)國家權(quán)威部門統(tǒng)計,中國軟件人才缺口超過100萬人,其中很大一部分為軟件測試人才,缺口達到30~40萬。但由于軟件測試的重要性是近幾年才被充分認識到的,高校教育和企業(yè)培養(yǎng)都還沒有跟上,致使軟件測試需求嚴重供不應(yīng)求。
分析年度軟件測試行業(yè)專項調(diào)查報告,目前對測試人員的素質(zhì)和要求逐步提高,測試人員不僅應(yīng)掌握相關(guān)計算機知識背景、軟件工程基本知識、熟悉項目編程語言、熟悉項目技術(shù)架構(gòu)及需求內(nèi)容,而且要求工作有責任感、獨立分析能力及團隊精神等方面。其中“動手能力”和“實際經(jīng)驗”是軟件企業(yè)在招聘軟件測試人員時最為看重的,而這也恰恰是很多求職者的“軟肋”。
2現(xiàn)有軟件測試課程體系存在的問題
2007年,我校軟件學院認證管理中心被授予計算機軟件測試人才培養(yǎng)基地。軟件學院軟件工程專業(yè)以及軟件技術(shù)專業(yè)均開設(shè)有軟件測試相關(guān)課程。由于軟件測試是一門實踐性很強的課程,應(yīng)采用精講多練的原則開展教學,即學生通過大量的上機實踐,循序漸進地提高自身的軟件測試用例設(shè)計、開發(fā)、執(zhí)行能力以及軟件測試的管理能力。但在具體實踐教學組織中,教師普遍感覺有許多不如意的地方,具體存在的問題有:
1)對實踐課程的認識程度和重視程度不夠,軟件測試開展的不夠徹底,測試過程中存在大量的不規(guī)范性;
2)缺乏合適的教材,同時教師缺乏相應(yīng)的實戰(zhàn)經(jīng)驗,導(dǎo)致教學上知識結(jié)構(gòu)不合理,教學內(nèi)容與具體應(yīng)用脫節(jié),盡管教師都能很好的講解軟件測試理論知識,但卻由于缺乏合適的測試案例,沒有將理論教學內(nèi)容和最新相關(guān)技術(shù)結(jié)合,使得學生思維局限性大,并沒有真正提高學生自主思考的能力和創(chuàng)造性思維。
3)教學方法和手段因循守舊,學生對軟件測試職業(yè)存在一些片面的,甚至是錯誤的理解。
3基于人才市場需求的《軟件測試技術(shù)》課程體系研究
基于人才市場需求的軟件測試技術(shù)課程體系研究主要是分析目前人才市場對軟件測試行業(yè)人才的崗位需求,掌握軟件測試人才需要具備的職業(yè)素質(zhì),同時調(diào)查研究在學生對前續(xù)課程的掌握情況,以及目前所具備的相關(guān)職業(yè)素養(yǎng)的程度,計劃從技術(shù)、溝通協(xié)調(diào)能力、經(jīng)驗和技能、綜合素質(zhì)能力等方面分別對崗位需求和學生水平展開調(diào)研。
3.1課程體系目標定位
我校軟件工程專業(yè)的培養(yǎng)目標是培養(yǎng)適應(yīng)社會發(fā)展需求,具有扎實的計算機知識基礎(chǔ),掌握軟件工程領(lǐng)域的前沿技術(shù)和軟件開發(fā)方法,具有較強的軟件實踐能力和創(chuàng)新精神,具備較強的軟件項目的分析、設(shè)計、開發(fā)和維護能力,能夠按照工程化的原則和方法從事軟件開發(fā)和管理的應(yīng)用型人才。
作為該專業(yè)的一門專業(yè)必修課,為構(gòu)建厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。將以軟件技術(shù)為基礎(chǔ),測試理論與技術(shù)為核心,進行課程體系設(shè)置。理論教學目的是讓學生深刻理解軟件測試思想和基本理論;熟悉多種軟件的測試方法、相關(guān)技術(shù)和系統(tǒng)地軟件測試過程;會熟練編寫測試計劃,測試用例,測試報告,并熟悉幾種自動化測試工具,從而從工程化角度提高和培養(yǎng)學生從事大型軟件的測試技術(shù)和能力。
同時在實踐環(huán)節(jié),要求學生通過實驗學習,培養(yǎng)與提高項目測試過程中采用的主要技術(shù)、設(shè)計測試用例、編寫測試總結(jié)報告等能力,激發(fā)學生創(chuàng)新精神和創(chuàng)新能力,具體應(yīng)達到下列基本要求。1)使學生掌握分析問題和解決問題的技巧,通過具體實驗使學生掌握常用的黑盒測試技術(shù)、白盒測試技術(shù)、自動化測試工具。2)讓學生了解測試流程,掌握測試總結(jié)報告的編寫。通過實驗使學生理解軟件缺陷的描述,并能結(jié)合項目設(shè)計出較完善的測試用例。
3)了解Web系統(tǒng)的測試范圍,使學生能在應(yīng)用場景下聯(lián)系實際和所學知識分析和解決問題,縮短理論和實踐的距離。
3.2課程教學內(nèi)容選取
結(jié)合課程體系目標定位,該課程在教學內(nèi)容選取上主要是基于人才市場需求,厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用。總學時共72學時,其中理論和實踐各36學時。結(jié)合課堂教學和實踐教學,軟件測試技術(shù)課程包括以下幾部分:
1)軟件測試基本理論及方法:包括軟件測試的概念、測試的原則、用例的設(shè)計、各種測試方法及技巧,測試策略。同時通過實驗掌握軟件測試的步驟、方法及常見問題的處理。
2)測試流程及文檔寫作:軟件測試流程、各階段的文檔編寫;書寫測試計、測試用例、測試報告、產(chǎn)品安裝手冊、產(chǎn)品使用手冊。在實踐環(huán)節(jié),通過SATM系統(tǒng)讓學生掌握軟件測試流程各個階段的相關(guān)技術(shù)、測試相關(guān)文檔的寫作技巧。
3)系統(tǒng)學習軟件測試的各種工具,包括:自動測試工具WinRunner;壓力測試工具LoadRunner;測試管理工具Testdirector;流程管理工具CVS;JAVA單元測試工具Junit。要求學生掌握自動化測試理論與方法,熟練使用常見測試工具。
4)軟件過程控制與質(zhì)量保證:軟件質(zhì)量的概念及軟件質(zhì)量管理的基本方法;測試項目的范圍管理、人員組織結(jié)構(gòu)、理解測試的配置管理、風險管理、成本管理等。
5)項目實訓(xùn):引入具有真實企業(yè)背景的軟件測試案例,充分考慮人才市場的需求,突出強調(diào)工學結(jié)合的重要性。通過實際項目掌握實際工作中開發(fā)和測試的流程,使用相關(guān)工具,完成各種測試目標,實現(xiàn)軟件測試實踐環(huán)節(jié)單項專業(yè)知識與整體技能綜合運用的目標,提高測試能力和積累相關(guān)經(jīng)驗。
3.3課程教學方法設(shè)計
為構(gòu)建厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系,在教學過程中,需要把技能訓(xùn)練和職業(yè)素質(zhì)培養(yǎng)有機結(jié)合起來,注重學生綜合能力的培養(yǎng)與提高,突出強調(diào)職業(yè)崗位針對性。提高學生綜合運用所學知識發(fā)現(xiàn)問題、分析問題、解決問題的能力,進而培養(yǎng)學生的技術(shù)應(yīng)用和技術(shù)創(chuàng)新能力。在教學方法設(shè)計上做了一下改進:
1)突出工學結(jié)合:在講解基本理論知識的基礎(chǔ)上,引入具有真實背景的軟件測試案例,并結(jié)合理論知識講解將案例進行改造,使案例的分析應(yīng)用與理論知識相呼應(yīng)。目前市場上IT公司在招聘測試人員時按照所需技能的不同,將測試人員分為三個等級,分別為初級測試工程師、中級測試工程師和高級測試工程師。分析不同等級的要求,在教學過程中,主要針對初級和中級的技能要求循序漸近的展開教學。使通過此教學改進,既彌補了教師缺乏實戰(zhàn)經(jīng)驗帶來的不足,也使學生能較真實的接觸到實際應(yīng)用,從一定程度上實現(xiàn)了人才培養(yǎng)與市場需求的接軌。
2)強調(diào)團隊合作:在教學過程中實施“1-7”模式,即在實驗課教學中,采用團隊合作的方式,分組完成各項任務(wù)。在實驗初期由教師合理分配各團隊成員間的任務(wù),培養(yǎng)學生的基本崗位技能。經(jīng)過兩個實驗任務(wù)的完成,每個團隊挑出一名同學為項目組長,模擬公司招聘的形式,招聘4~6個組員組建自己的團隊。后期實驗任務(wù)的分工由團隊組長負責項目進展、分工協(xié)作、制定測試計劃等工作,其他小組成員則按要求完成自己的工作,如編寫測試策略、設(shè)計測試用例、撰寫測試報告等,教師主要起引導(dǎo)作用,充分發(fā)揮以學生為主體。為了全面培養(yǎng)學生,在不同的任務(wù)中,組員通過角色互換,充分發(fā)揮其溝通能力及綜合技術(shù)能力。在學期末,通過團隊評比,以提高平時成績的形式對表現(xiàn)優(yōu)秀的團隊進行獎勵。通過此教學手段,可以培養(yǎng)加強學生面試技巧、溝通能力、團隊意識、競爭意識等職業(yè)素質(zhì)的培養(yǎng)。
4結(jié)束語
基于人才市場需求的《軟件測試技術(shù)》課程體系研究定位在對人才市場的實際需求分析之上,針對軟件測試人才的特點要求,把行業(yè)、企業(yè)對人才的要求轉(zhuǎn)化為教學中的具體目標。構(gòu)建厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。
參考文獻:
[1]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學出版社,2010.
[2]古樂.軟件測試案例與實踐教程[M].北京:清華大學出版社,2007.
[3]馬民生,馬友忠,任剛.以就業(yè)為導(dǎo)向的軟件測試實踐課課程改革[J].電腦知識與技術(shù),2010(4):241-242.
[4]劉偉.獨立學院軟件測試課程的教學探索與實踐[J].廣西教育.2009(24):31-33.
關(guān)鍵字:服務(wù)區(qū)經(jīng)濟;軟件測試;課程建設(shè)
1市場需要和目前現(xiàn)狀
隨著IT技術(shù)的發(fā)展和普及,我國軟件行業(yè)對于測試專業(yè)工作人員的需要超過20萬人。但是目前我國本科的課程中大部門都沒有專門的建設(shè)軟件測試的課程,僅僅只是作為軟件工程中的一個要點被簡單地學習,學生在學習過程中普遍重視開發(fā),輕視測試,進入測試行業(yè)的人數(shù)非常少。高職學院很多都在后期單獨建設(shè)軟件測試的課程,但是由于學時還很少,總的來說,學生經(jīng)過課程的學習,雖然能夠基本掌握軟件測試的基本含義和理論,了解基本的測試技術(shù)和測試的方法,但是能夠真正使用到技術(shù)分析和在實際崗位中使用的專業(yè)能力還是不足。
目前我國很多軟件企業(yè)的總?cè)藬?shù)在50人以下,達到70%。很多沒有成立專門的軟件測試相關(guān)部門,這些中小型的軟件企業(yè)都希望使用有工作經(jīng)理的軟件測試工作人員直接工作。很多社會上的培訓(xùn)機構(gòu),在市場經(jīng)濟方面非常重視,這些機構(gòu)一般會開設(shè)將近210節(jié)課時的課程,學生大部分都是還沒有找到工作的應(yīng)屆畢業(yè)生,主要老師都是曾經(jīng)在相關(guān)電信、證券、金融行業(yè)負責過軟件測試的負責人,有很多機構(gòu)在課程接收后可以推薦學生就業(yè),很多中小型軟件企業(yè)也愿意吸收。但是,這類培訓(xùn)機構(gòu)很多價格都非常高,而且培訓(xùn)機構(gòu)數(shù)量眾多,質(zhì)量無法得到保證。
2目前存在的不足和對策措施
目前高職軟件測試技術(shù)課程建設(shè)中存在的不足還有很多,下面進行簡單的分析研究。
2.1教材不完善
目前我國面對高職院校的軟件測試教材還很少,內(nèi)容還不完善。近年來出版的基本相關(guān)教材都是對軟件測試的基本概念、理論和使用知識進行詳細的講解,但是還存在著很多相同的問題:(1)沒有大型集中項目的功能、性能測試實際事例的全過程,沒有把比較分開的知識要點和主要技能綜合起來進行分析研究。(2)在實現(xiàn)技術(shù)操作上比較重視,但是在文檔工作上的重視度不足,對于這一點,可以增加怎樣編寫“測試計劃”和“測試報告”的模板,并且給出測試的記錄和日記模板。同時,還可以編制出軟件測試工作中根據(jù)經(jīng)驗得出的工作經(jīng)驗,比如軟件測試的十條標準、十大經(jīng)典事例等。這些經(jīng)驗都非常實用,如果進入工作崗位中就可以馬上使用。(3)在現(xiàn)在的教材中關(guān)于測試工具的使用方法都是來自產(chǎn)品的使用說明書上的內(nèi)容,很難讓學生產(chǎn)生學習興趣。在教材的編寫中,要以學生的角度來編寫,在實踐指導(dǎo)上多重視,讓學生能夠在最少的實踐中熟練掌握和應(yīng)用測試技能。(4)測試的工具要使用中小型軟件企業(yè)經(jīng)常使用的軟件,比如在功能的測試上使用Mercuey QuickTest Professional(QTP),在性能的測試上使用Mercuey LoadRunner,在管理工具中可以使用開源的并行版本控制的CVS,使用Test Director或者相同類型的新版工具Quality Center(QC)。在2個極端中要注意:一是避免教材中出現(xiàn)已經(jīng)在市場中不再使用的工具;二是避免價格高昂的軟件教育,比如IBM Rational中的Clear Case,ClearQuest,F(xiàn)unctional Tester,Performance Tester,雖然這些軟件的性能比較好,但是在市場中的使用率很低,只有成熟度能力CMM高的大型軟件才能使用。
2.2教師隊伍建設(shè)
高職院校在軟件測試的教育中,經(jīng)常使用事例教學和實際的項目結(jié)合到課程的教育和設(shè)計里,它是經(jīng)過一直的累積和創(chuàng)新,主要存在在教師頭腦中的知識,所以,提高教師本身的知識量明顯比提高在教材上的知識更加重要。提高教師知識儲量,讓教師有終身學習的良好素質(zhì),在教育和教學的發(fā)展中,要更加加深教師對于教學中專業(yè)經(jīng)驗、教學理念和方法的反省,不停探索學習相關(guān)專業(yè)知識。
從封閉的知識變?yōu)殚_放的知識,目前知識的更新速度非???,教師也要在軟件行業(yè)的前線,了解行業(yè)的發(fā)展情況,把目前市場中的最新技術(shù)和理念帶到課程中,讓學生的學習課程和市場統(tǒng)一。教師的自身知識水平需要不斷的擴充和提高,讓自身的知識能夠形成一種開放的、動態(tài)的模式,進行自我的調(diào)節(jié)和管理。而且教師應(yīng)該走在行業(yè)的尖端,或者參加相關(guān)企業(yè)的項目研發(fā),獲得行業(yè)資格證,這也是提高師資隊伍水平的有效方法。
很多軟件企業(yè)的測試人員都有著豐富的項目實際測試經(jīng)驗,是知識的應(yīng)用和創(chuàng)新中最有效的資源。如果在條件允許的情況下,可以邀請他們來學校兼職進行教育授課。同時,可以使用提高學習的有效方法來深入研究其成果共同學習。共同學習是在目前技術(shù)系統(tǒng)中的創(chuàng)新改革,在信息、知識、技能中間建設(shè)共同進步、共同學習的關(guān)系。讓雙方可以在學習的內(nèi)容中和學生進行有效的互動。在信息的結(jié)構(gòu)上,要提高信息的聚合制度??偟膩碚f,就是加深交流,綜合信息,共同寫作,合作創(chuàng)新,產(chǎn)生一種共享知識的形態(tài)。
2.3改進教學方法的對策措施
課程應(yīng)該建立在一個知識充實的職業(yè)技能培訓(xùn)制度中,使用新型的“場景教學方法”。用實際的工作內(nèi)容作為主體,使用項目方向的角色模擬形式,提出“以實用為基礎(chǔ),學以致用”的教學觀念。把實際中的經(jīng)驗作為主要的指導(dǎo),使用任務(wù)驅(qū)動的方法,加強實際的測試技能學習,給一些企業(yè)進行測試項目。
2.3.1工作場景
這是企業(yè)的實際操作過程和工作的場景,使用已經(jīng)開始使用的需要測試的資料和代碼,開始項目的分析和工作分解,模擬出企業(yè)在測試工作中的環(huán)境。
2.3.2主導(dǎo)項目
所有的學習點和方法都是經(jīng)過一個或多個項目結(jié)合的。學生經(jīng)過可以擴充的項目實際例子來進一步學習相關(guān)知識和技能。所有的學習都是在進行項目中的實際工作任務(wù),了解在測試過程中經(jīng)常使用的技術(shù)、過程和人員配合情況,并學會運用有關(guān)的解決方法。學生使用這種方法可以擁有一定的完成項目的主導(dǎo)能力。
2.3.3模擬角色
學生在真實的動手過程的課程和項目時間上,利用實際的企業(yè)項目、實際的工作流程和使用的工作,開始模擬項目中所需的角色。共同完成項目的任務(wù)。這樣可以了解不同角色需要的工作技能并且積累相關(guān)的工作經(jīng)驗。
2.3.4分解任務(wù)
在需要完成的整個項目中,對于必須掌握和理解的概念和知識,把一個項目分成多個任務(wù),然后對每一個任務(wù)所需要了解的知識、技能以及要求進行逐個的分析講解。并經(jīng)過每個小任務(wù)的完成的完成方法對整個學習內(nèi)容進行組織和設(shè)計。
2.3.5六步教學
在知識和技能的學習和教育過程中,從特別的到普通的,一般都是根據(jù)以下6個步驟來進行學習的組織,分別是:提出問題、分析問題、解決問題、總結(jié)相關(guān)規(guī)律和知識、擴展相關(guān)知識和技能、能夠解決相關(guān)相似的更高級問題。在教學的過程中,為了讓學生對于知識的層面和思維方法更加豐富,可以鼓勵學生自己解決。經(jīng)過實際訓(xùn)練課程中的試驗,項目的模擬,讓學生對于學習具有舉一反三的思維,讓學生能夠更加熟悉地掌握重點技術(shù)的使用方法,給日后積累更多的經(jīng)驗。
2.3.6團隊合作
在教學的過程中,可以把學生分成幾組團隊,每一個團隊按照課程的教學內(nèi)容和教師的安排,使用技術(shù)分析、討論,實際使用等方法,完成這個項目中的任務(wù)。
2.3.7崗位信息
進行軟件測試技術(shù)課程學習的都是軟件的測試員或工程師,目前市場中對于這類人才的需求非常大。案例庫也是一個動態(tài)的資源系統(tǒng),所以可以把網(wǎng)絡(luò)、報紙、合作單位、專業(yè)人員的信息進行結(jié)合,一方面可以讓畢業(yè)生就業(yè)問題更加輕松,還能幫助學生了解企業(yè)對于工作人員的要求。用在線的方式,幫助畢業(yè)生、測試工程師等了解相關(guān)的崗位信息,更有針對性。
關(guān)鍵詞:開發(fā)內(nèi)化教學法;就業(yè)競爭力;軟件測試人才培養(yǎng)
中圖分類號:G642文獻標識碼:A
武昌理工學院堅持以“成功素質(zhì)教育”為特色的教育理念和人才培養(yǎng)模式,致力于培養(yǎng)“專業(yè)素質(zhì)扎實、非專業(yè)素質(zhì)過硬、個性特長突出、創(chuàng)新與實踐能力強”的高素質(zhì)人才 [1]。通過廣大師生十余年的努力,我校畢業(yè)生的就業(yè)率和就業(yè)質(zhì)量穩(wěn)步上升,取得了一定的成效。2010年,我校被列為國家教育體制改革試點高校,承擔“創(chuàng)新民辦高校高素質(zhì)人才培養(yǎng)模式”的改革試點任務(wù),目前,我校正沿著這一任務(wù)的指導(dǎo)思想,采用通過教師的開發(fā)促成學生內(nèi)化的教學方法,進一步深化教學改革。近兩年來,筆者主要承擔計算機科學和軟件工程專業(yè)軟件測試課程的教學任務(wù),在此,簡要分析軟件測試人才的市場需求及軟件測試課程教學中存在的問題,結(jié)合課程特點和開發(fā)內(nèi)化教學法,探索軟件測試人才的培養(yǎng)模式。
一、軟件測試人才的需求狀況
軟件產(chǎn)業(yè)發(fā)展的幾十年中,軟件測試已逐步滲透到各個領(lǐng)域,成為越來越重要的技術(shù)成分。很多優(yōu)秀的企業(yè)中,開發(fā)人員與測試人員的比例達到了3:1或2:1[2]。大量的人才需求導(dǎo)致我國軟件測試人才嚴重缺乏,專家分析其主要原因是國內(nèi)軟件測試人才教育相對滯后[3]。實際上,我國從2003年起計算機相關(guān)的教育機構(gòu)就相繼開設(shè)了軟件測試課程,經(jīng)過多年的軟件測試人才培養(yǎng),用人單位依然缺乏軟件測試人才,而學過軟件測試課程的畢業(yè)生還是難于找到工作。針對這一問題,筆者對軟件測試人才的市場需求進行了調(diào)研。
調(diào)研結(jié)果顯示,各公司的用人條件和考察內(nèi)容雖不盡相同,但多數(shù)條件都比較相似,歸納起來包括以下幾個方面:
① 計算機相關(guān)專業(yè)畢業(yè);
② 有測試工作經(jīng)驗;
③ 能獨立編寫各類測試文檔;
④ 熟練相關(guān)工具使用(包括測試工具及配置管理工具);
⑤ 熟悉主流操作系統(tǒng);
⑥ 具備很強的語言表達能力、溝通能力和團隊合作精神;
⑦ 學習能力強,能快速上手新技術(shù),新業(yè)務(wù)。
此外,其他調(diào)查結(jié)果顯示,在計算機行業(yè),隨著外包開發(fā)行業(yè)快速發(fā)展,對人才在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來越高[4]。前面列舉的軟件測試人才招聘條件也應(yīng)證了這一點。
二、軟件測試課程的教學現(xiàn)狀
近年來,各教育機構(gòu)的教師們圍繞該課程展開了一些課堂和實驗教學的研究,在教學中采用案例教學法,強化實驗教學環(huán)節(jié),取得了一定的成果,但從案例的規(guī)范性和實驗體系看,忽略了軟件測試具有以工程項目為對象、以設(shè)計文檔為依據(jù)的特征。主要存在的問題表現(xiàn)在以下幾個方面:
① 缺乏規(guī)范的系統(tǒng)案例;
② 重技術(shù)實現(xiàn)輕文檔訓(xùn)練(使用及書寫);
③ 測試工具流于產(chǎn)品說明;
④ 缺乏面向項目的實驗教學體系。
由此可見,我們教學中存在的問題正是人才市場的需求所在。
三、開發(fā)內(nèi)化教學法在軟件測試人才培養(yǎng)中的應(yīng)用
成功素質(zhì)教育的基本教學方法包括啟發(fā)式教學法、互動式教學法、實戰(zhàn)式教學法,成功素質(zhì)教育的基本學習方法包括自主式學習法和研究式學習法[1]。開發(fā)內(nèi)化教學法以培養(yǎng)和調(diào)動學生自主學習的積極性為前提,通過教師的開發(fā)促成學生內(nèi)化的一種教學方法,筆者認為開發(fā)內(nèi)化教學發(fā)就是成功素質(zhì)教育的基本教學方法和基本學習方法的總和。軟件測試是近年來誕生的一門新學科,目前已基本形成其獨立的理論體系,但是隨著軟件產(chǎn)業(yè)的發(fā)展,有關(guān)軟件測試的有效技術(shù)和方法還有待人們進一步探索。軟件測試課程主要針對計算機相關(guān)專業(yè)高年級學生開設(shè),需要多門先修課程作為鋪墊。針對具備一定計算機專業(yè)知識的教學對象及還有較大發(fā)展空間的學科來說,采用開發(fā)內(nèi)化教學法是比較適合的。下面主要針對人才市場需求和軟件測試課程教學中存在的問題,利用開發(fā)內(nèi)化教學法探索軟件測試人才培養(yǎng)模式。
(一)啟發(fā)式教學法的應(yīng)用
啟發(fā)式教學能提高學生的學習能力、快速上手新技術(shù)和新業(yè)務(wù)的能力,因此,能幫助學生達成人才需求條件中的⑦,并能促進學生養(yǎng)成自主式學習和研究式學習的良好習慣。
軟件測試是一門主要由計算機科學及管理學相結(jié)合的新學科,目前,教材中的很多內(nèi)容基本都是前人采用技術(shù)的介紹,這些技術(shù)往往是利用計算機技術(shù)和管理學的思想,在軟件測試實踐中探索出來的。因此,在教學中,對于各種測試技術(shù)的學習,不是直接介紹技術(shù)實現(xiàn)的方法,而是先提出一個具體的測試對象,讓學生思考怎么測試更科學,在這一過程中,我們經(jīng)常發(fā)現(xiàn)學生們也能利用先修課程學到的知識想到教材上介紹的方法,抓住這樣的時機,鼓勵學生,表揚學生,讓學生堅定“我行”的自信心,有了自信心學生們就能更大膽更主動地思考和解決問題。
對軟件進行有效的測試,提升測試效率,是軟件測試面臨的關(guān)鍵性挑戰(zhàn),也是軟件測試技術(shù)進一步發(fā)展的瓶頸,各種測試工具的誕生正是基于這樣的出發(fā)點。但由于種種原因測試工具的使用還遠遠達不到普及的程度和期望的效果,這說明工具不夠完善,有待我們?nèi)ラ_發(fā)更有效更易于使用的新工具來突破這一瓶頸。在軟件測試工具的學習中,我們主要不在介紹工具的作用,而主要是啟發(fā)學生去思考測試工具采用的技術(shù)并評判這種技術(shù),讓學生通過查閱資料進一步學習,思考還有沒有更好的手段和方法來改進測試工具。
此外,由于軟件測試的手段基本都來源于計算機專業(yè)的相關(guān)知識,教學中就要引導(dǎo)學生去挖掘已經(jīng)學過的知識來解決測試中的問題,并不失時機地強調(diào)每一位計算機專業(yè)的學生都要有“計算機頭腦”,這個“計算機頭腦”要善于觀察,捕獲日常生活中一切可以用計算機來解決的問題,并思考解決方法。
(二)互動式教學法的應(yīng)用
互動式教學法能提高學生能過的思考能力、資料查閱能力、歸納總結(jié)能力、表達能力,因此,能幫助學生達成人才需求條件中的⑥和⑦。
啟發(fā)式教學產(chǎn)生的最佳效果就是帶來師生間良好的互動,由于授課時間和內(nèi)容的制約,我們采用啟發(fā)式教育常常是教師自問自答的方式。目前,我校推行的教學改革,倡導(dǎo)學生自主學習,大力提倡課堂提問,并要求加大授課時間中提問和互動時間的比例。在這一改革思想的指導(dǎo)下,軟件測試教學中將按照啟發(fā)式教育中針對的相關(guān)內(nèi)容,提出問題,采用讓學生隨堂回答的方式和課后查閱再做答的方式進行。主要以兩種方式進行提問:第一,預(yù)習提問,在這一環(huán)節(jié),設(shè)置基本概念和知識點的提問,主要檢驗學生的預(yù)習效果,并在提問過程中對重點內(nèi)容進行講解;第二,復(fù)習提問,復(fù)習提問的難度比預(yù)習提問有所加大,屬于基本知識的衍生提問,需要學生在掌握基本知識的基礎(chǔ)上經(jīng)過一定的思考或資料查閱才能回答。通過這兩種形式的提問,可以促進學生掌握知識、訓(xùn)練學生靈活運用知識解決實際問題的能力。
(三)實戰(zhàn)式教學法的應(yīng)用
人才需求條件中的測試工作經(jīng)驗是畢業(yè)生們就職難的關(guān)鍵,而實戰(zhàn)教學法是達成這一條件的主要途徑,在軟件測試的實戰(zhàn)中,還能訓(xùn)練學生測試文檔寫作及測試工具的使用,因此,實戰(zhàn)教學法能達成人才需求條件中的②、③和④。
在近兩年的教學改革中,主要采用案例教學法,在實驗教學中用規(guī)范完整的案例模擬企業(yè)測試工作模式,讓學生在實踐中形成“技能”、具備“經(jīng)驗”。實驗內(nèi)容的安排上,注重指導(dǎo)學生使用設(shè)計文檔、自己編寫測試文檔,并利用自動化測試工具實施測試,兼顧測試技能訓(xùn)練及工具熟練程度的提高。
1. 規(guī)范案例的選擇:早期的軟件測試教材只涉及一些小的程序段和非系統(tǒng)的案例,2009年以后的軟件測試教材在這方面做了很大的改進,出現(xiàn)了較多的案例教程及實踐教程。利用系統(tǒng)案例作為理論知識講解的載體,將更直觀地讓學生理解知識。但要讓學生具備軟件測試經(jīng)驗,教材中的案例還存在一些問題,學生的經(jīng)驗只有通過動手實驗才可能具備,而且這里所說的經(jīng)驗不是零散的,而是系統(tǒng)化的軟件測試經(jīng)驗。在實際工作中,軟件測試過程中的單元測試、集成測試、系統(tǒng)測試、驗收測試分別對應(yīng)軟件設(shè)計中的詳細設(shè)計、概要設(shè)計、系統(tǒng)設(shè)計和需求分析,要讓學生在實驗中完成一個系統(tǒng)的較完整測試過程,不僅需要被測案例系統(tǒng)的完整代碼及數(shù)據(jù),還必須提供全套的設(shè)計文檔,這樣的案例系統(tǒng)是現(xiàn)有軟件測試教材和很多軟件開發(fā)的實例參考書所不具備的。
我們通過企業(yè)調(diào)研,分析軟件行業(yè)的流行開發(fā)模式,主要從清華大學出版的系列叢書“軟件開發(fā)全程實錄”中選擇案例,并陸續(xù)補充完案例的設(shè)計資料(需求分析、系統(tǒng)設(shè)計、概要設(shè)計、詳細設(shè)計)。利用規(guī)范的案例系統(tǒng),在理論教學中用系統(tǒng)案例詮釋理論,在實驗教學中用系統(tǒng)案例模擬實際工作模式進行實戰(zhàn)訓(xùn)練。
2. 實際測試過程的模擬:在實驗教學中,我們花1/3的時間進行軟件測試基本技能訓(xùn)練,主要針對白盒及黑盒測試技術(shù)選擇最實用的測試技術(shù)進行用例設(shè)計,這一部分是常規(guī)的軟件測試課程的主要實驗內(nèi)容,屬于基本功訓(xùn)練實驗。我們用2/3的時間進行模擬實驗,在這部分,根據(jù)學生的實際情況及筆者多年企業(yè)工作經(jīng)驗,模擬企業(yè)對新手軟件測試人員的培養(yǎng)及職業(yè)規(guī)劃模式,循序漸進安排實驗。
在軟件測試的模擬實驗中,我們采用文檔齊全的規(guī)范案例實施教學,采用先實施后設(shè)計的順序,依次讓學生進行單元測試、集成測試、系統(tǒng)測試的實施及用例設(shè)計。注重測試過程、設(shè)計文檔的使用及測試文檔的書寫訓(xùn)練,在實驗后期,采用分組實驗的方式,讓學生分擔測試任務(wù)中的不同角色,模擬團隊協(xié)作完成測試任務(wù)。
3. 一體化教學的實施:從軟件測試人員的招聘條件看,除了要求具備軟件測試的基本知識,要設(shè)計出較好的測試用例、跟蹤軟件缺陷并改正軟件缺陷、選擇較好的測試手段提高測試效率等,還需要相關(guān)計算機專業(yè)知識的支撐。此外,企業(yè)期望的是懂編程、設(shè)計、測試、管理的綜合人才,因此,必須結(jié)合專業(yè)方向形成課程體系。我們已經(jīng)進行了在同一學期三門課程之間,利用同一案例進行一體化教學的嘗試,即在軟件建模設(shè)計課程、編程語言課程、軟件測試課程中采用相同的案例推進教學,以期讓學生更深入地體會軟件開發(fā)的全過程,具備軟件工程化的“經(jīng)驗”。
四、結(jié)論
在“創(chuàng)新民辦高校高素質(zhì)人才培養(yǎng)模式”的改革試點中,軟件測試課程的教學改革將在總結(jié)前面教學改革經(jīng)驗和教訓(xùn)的基礎(chǔ)進一步推行開發(fā)內(nèi)化教學法。在今后的教學中,我們打算進行相同案例跨學期跨課程的一體化教學探索,在這一探索過程中,將建設(shè)規(guī)范的教學案例資源庫,探索合理的一體化教學體系,以幫助學生系統(tǒng)地學習專業(yè)知識、領(lǐng)悟知識的連貫性、提高學生的工程素養(yǎng)和實戰(zhàn)能力。參與一體化教學的各門課程在試驗教學中注重企業(yè)工作模式和場景的模擬,讓學生在學習過程中具備軟件工程全過程的“經(jīng)驗”,以進一步提升學生就業(yè)競爭力。
參考文獻:
[1] 趙作斌. 大學成功素質(zhì)教育理論與實踐[M]. 武漢: 武漢大學出版社, 2009.
[2] 張向宏. 軟件測試理論與實踐教程[M]. 北京: 人民郵電出版社, 2009.
[3] 劉德寶. 軟件測試工程師培訓(xùn)教材[M]. 北京: 科學出版社, 2009.
[4] 北京阿博泰克北大青鳥信息技術(shù)有限公司. 行業(yè)規(guī)則和行業(yè)經(jīng)驗手冊[M]. 北京: 科學出版社, 2008.
[5] 吳建平. 高職“軟件測試技術(shù)”課程存在問題和應(yīng)對措施[J]. 計算機教育, 2007(9).
[6] 陸慧娟等. 面向本科就業(yè)市場的計算機工程型人才培養(yǎng)研究[J]. 計算機教育, 2011(5).
[7] 佟偉光. 軟件測試[M]. 北京: 人民郵電出版社, 2008.
各位領(lǐng)導(dǎo)、老師,親愛的同學們:
大家下午好!
我叫xx,來自xx班級,很高興能夠代表2018軟件測試國賽隊上臺發(fā)言。在這次全國比賽中,xx和xx和xx組成的代表隊很榮幸獲得一等獎,成為此項賽事湖北省唯一獲獎的代表隊。這一成績不僅凝結(jié)著我們的汗水,更離不開學校和軟件工程學院領(lǐng)導(dǎo)的關(guān)心支持,輔導(dǎo)老師的辛勤培育。
這次參賽,使我們得到了很大提高和鍛煉,使我深深認識到了只要我們自己付出汗水和努力,就一定能夠得到回報。接下來,我代表我的隊員發(fā)表一下我們從培訓(xùn)到參賽期間的心得體會:
1、始終保持一顆學習的心
剛開始訓(xùn)練的時候,我們每個人對軟件測試都了解的比較淺薄,需要重新去學習這方面的知識,而理論知識的學習上是枯燥的,在這個過程中,我們每個人都戒驕戒躁,認真學習,討論、根據(jù)老師給出的測試用例設(shè)計方法來舉一反三。同時,我們要端正對訓(xùn)練期間學習的態(tài)度,不能把訓(xùn)練期間學習的內(nèi)容當作要去比賽而完成的任務(wù),要真正的探討,把老師教會的知識完全理解、學會,然后運用到實際操作當中。
2、
責任心和毅力是獲獎重要因素
從3月初選拔到5月底競賽,中間經(jīng)歷了將近3個月的訓(xùn)練,我們每天早8晚8,訓(xùn)練12個小時,每天進行2次模擬練習,練習、總結(jié)、再練習、再總結(jié)。這個過程是枯燥的,別的同學周末、清明節(jié)、勞動節(jié)在放假、休息時,我們在培訓(xùn)室敲打著鍵盤,每天都想著自己去提升自己,比如說:比昨天多寫50條測試用例,兩篇文檔的時間再縮短5分鐘,Bug找的更多,性能測試能夠解決環(huán)境問題。4個小時的比賽時間,我們訓(xùn)練時間從最初的4個小時,壓縮到3個半小時,再壓縮到3個小時。時間安排上從剛開始的早上2小時,下午2小時,改到和比賽時間相符的早上9點到下午1點。每次訓(xùn)練完后我們都會向老師匯報任務(wù)完成度,不足之處,進行自我總結(jié),不浪費一絲時間,甚至在去往許昌的高鐵上,我們每個人都拿著一撮打印好的知識要點默讀,直到參賽前一天的晚上,才結(jié)束這種狀態(tài)。
3、
細節(jié)和臨場應(yīng)對是取勝關(guān)鍵
比賽中有很多實力強的團隊,但是有的獲得了一等獎,有的沒有獲得一等獎,其原因就在于細心和臨場應(yīng)對能力。4個小時,6篇文檔,很多隊都能做到,但是得分的關(guān)鍵就在于細節(jié)。我們從訓(xùn)練開始就注重細節(jié)問題,盡量不因細節(jié)問題丟分。其次是臨場應(yīng)對,賽場上的環(huán)境是多變的,我們訓(xùn)練的環(huán)境并不可能百分百與賽場環(huán)境相符,為了保證在比賽期間不因環(huán)境問題打亂計劃,在訓(xùn)練的過程中,出現(xiàn)的環(huán)境問題都是我們盡量自己去解決,實在解決不了才會詢問老師。同時,我們還假想了很多賽場上會出現(xiàn)的問題,并且制定了相應(yīng)的策略,以充足的準備去面對賽場。
4、
團隊協(xié)作很重要
關(guān)鍵詞:PLC軟件;工程化;管理實踐
中圖分類號: TU71 文獻標識碼: A 文章編號: 1673-1069(2016)35-23-2
0 引言
本文結(jié)合本單位裝檢類設(shè)備及高端工藝裝備中PLC軟件特點,推廣深化GJB5000A體系應(yīng)用,對PLC軟件工程化管理進行了初步探索與實踐,提出了PLC軟件工程化管理方法與規(guī)范,管控關(guān)鍵性過程活動和文檔質(zhì)量,以測試推動PLC軟件工程化,提升PLC軟件的綜合效能,有效支撐本單位裝檢設(shè)備及高端工藝裝備的高質(zhì)量研制與管理。
1 PLC軟件工程化管理的迫切需求
軟件工程化管理是提高軟件研制質(zhì)量的必經(jīng)之路,不僅能降低開發(fā)成本,縮短開發(fā)周期,更能降低軟件研制風險,提高軟件的質(zhì)量和可靠性,增強軟件的可維護性。作為工業(yè)控制系統(tǒng)的重要組成部分,PLC軟件的工程化管理對于保障控制系統(tǒng)安全與可靠運行、提升效能和增值等具有重要作用。
PLC(Programmable Logic Controller),即可編程邏輯控制器,應(yīng)用于自動化、高可靠性要求的工業(yè)環(huán)境,成為工業(yè)控制系統(tǒng)的重要單元,廣泛應(yīng)用于邏輯控制、運動控制、工藝過程控制、信號測試與診斷等領(lǐng)域,因此廣義上的PLC,亦包括可編程自動化控制器、可編程控制器。
相對于PLC硬件的固態(tài)化與顯性化,PLC軟件具備更靈活的柔性與更強的擴展性,成為PLC產(chǎn)品功能實現(xiàn)與性能提升的關(guān)鍵載體,因此,PLC軟件質(zhì)量亦成為工業(yè)控制系統(tǒng)質(zhì)量與可靠性的關(guān)鍵。PLC軟件廣泛應(yīng)用于各類測試設(shè)備、實驗裝置、裝檢設(shè)備以及高端工藝裝備等,在自動化與智能化控制、安全性與可靠性等方面發(fā)揮著重要作用。
集成化裝檢設(shè)備離不開PLC軟件。實現(xiàn)裝檢自動化,包括實現(xiàn)傳感儀表信號檢測、流程自動控制、狀態(tài)監(jiān)控、應(yīng)急安全處理及報警等需要高質(zhì)量、高可靠性的PLC軟件。因此PLC軟件是實現(xiàn)裝檢自動化與智能化的保障,可以顯著提升產(chǎn)品質(zhì)量可靠性、提高應(yīng)急響應(yīng)能力和環(huán)境適應(yīng)能力、降低勞動強度和操作技能要求、減少人體危害風險等。
面向超精密加工領(lǐng)域研發(fā)的高端工藝裝備,幾乎均涉及PLC控制,如金剛車系列機床、磁流變拋光系列機床、激光焊接機床等,實現(xiàn)電機與儀表驅(qū)動、人機交互、運動控制、加工工藝過程控制、數(shù)據(jù)采集、通信及故障診斷等。
在高端工藝裝備中,PLC軟件作為控制系統(tǒng)的重要組成部分,從功能看, 它是實現(xiàn)運動(協(xié)調(diào))控制、開關(guān)量邏輯控制、工藝參數(shù)與工藝過程控制、數(shù)據(jù)處理及通信的重要載體;從性能看,它是實現(xiàn)高端工藝裝備安全性、可靠性的重要技術(shù)手段。
綜前所述,PLC軟件在當前和未來均存在巨大的現(xiàn)實和潛在需求。相對于PLC軟件技術(shù)的不斷發(fā)展,需要在PLC軟件管理方面與時俱進。經(jīng)過分析,以下方面制約了PLC軟件的質(zhì)量與研發(fā)進度。
①使用的PLC產(chǎn)品種類繁多,各PLC產(chǎn)品技術(shù)差異性大,包括平臺架構(gòu)方式、編程與測試方法等,導(dǎo)致PLC軟件設(shè)計差異性大,尚未結(jié)合本單位產(chǎn)品特點形成相應(yīng)的PLC軟件技術(shù)規(guī)范。
②PLC軟件開發(fā)人員分工不明確,設(shè)計、編碼與測試多由同一人承擔,軟件質(zhì)量與開發(fā)進度無法保證,人員更替對項目研發(fā)和后期維護影響較大。
③PLC軟件開發(fā)過程活動、軟件相關(guān)開發(fā)文檔和軟件版本,未進行有效管控,導(dǎo)致PLC軟件質(zhì)量與開發(fā)進度成為項目發(fā)展的瓶頸之一。
④針對PLC軟件的測試平臺和測試手段較為欠缺,測試過程缺乏規(guī)范。
大量研究和實踐表明,軟件工程化是提高軟件開發(fā)質(zhì)量的必經(jīng)之路。中國工程物理研究院機械制造工藝研究所在軟件工程化管理方面開展了體系研究,于2015年11月通過GJB5000A二級正式評價,形成了軟件工程管理手冊、管理規(guī)范和技術(shù)規(guī)范,切實提高了本單位軟件工程化水平。
但本單位軟件工程化管理尚未涵蓋PLC軟件。有別于其他軟件,PLC軟件與硬件耦合度高,對硬件平臺依賴性大;PLC軟件驅(qū)動硬件單元,對系統(tǒng)綜合性能影響大;PLC軟件測試難度大,包括測試平臺的搭建、真實工況與異常工況的模擬等;PLC軟件涉及更多的接口,包括與機械結(jié)構(gòu)、電氣硬件、上位軟件及復(fù)雜的現(xiàn)場工況。因此,實施PLC軟件工程化,加強PLC軟件質(zhì)量控制,確保其有效推動提高PLC軟件質(zhì)量和開發(fā)進度,需探索與PLC特點和本單位工業(yè)控制系統(tǒng)相適宜的管理辦法。
2 PLC軟件工程化管理調(diào)研
為探索PLC軟件工程化管理方法,我們對國內(nèi)相關(guān)單位的PLC軟件管理進行了調(diào)研。根據(jù)調(diào)研初步情況,國內(nèi)還沒有單位將PLC軟件納入GJB5000A體系進行管理,尚未針對PLC軟件形成工程體系化的管理方法和規(guī)范。一般均將PLC軟件納入電氣控制系統(tǒng)管理,存在與電氣硬件強耦合、開發(fā)角色分工不明確等帶來的一些問題,包括PLC軟件規(guī)格需求不清晰、開發(fā)過程無法有效跟蹤和控制、測試不規(guī)范、PLC軟件質(zhì)量對人的依賴性大等。但從調(diào)研單位的工程實踐看,有諸多可供加強PLC軟件質(zhì)量控制的有效手段。
機床廠專機的控制軟件,與本單位PLC軟件具有較大相似度。機床廠對專機在控制軟件界定及分類管理、設(shè)計原則和技術(shù)要求、評審與軟件驗證、軟件版本管理等方面,進行了規(guī)范與要求。
同為下位控制的PLC軟件,可借鑒FPGA軟件管理。雖然FPGA軟件面向芯片級、側(cè)重時序邏輯,而PLC軟件面向控制系統(tǒng)集成,兩者在技術(shù)上差異性較大,但在管理方面具有較大的相似性。該院對FPGA軟件質(zhì)量進行了有效的體系管理,形成了設(shè)計準則及測試規(guī)范等,相關(guān)管理經(jīng)驗包括配置、需求、角色分配、評審與測試規(guī)范等方面,對于PLC軟件管理均是有益的參考。
重視軟件測試。PLC軟件測試,包括測試平臺的搭建和測試方法的構(gòu)建、PLC程序的執(zhí)行效率、PLC軟件的配置與移植、PLC軟件對硬件變化或性能衰減的適應(yīng)性、PLC軟件對控制系統(tǒng)總體的安全性和可靠性影響等內(nèi)容。從調(diào)研情況看,分階段(包括單元測試、接口測試、集成測試)、多方法(包括數(shù)字仿真、硬件在回路、形式化驗證等)測試是有益的,同時,編制測試規(guī)范、測試計劃及測試過程需要對相關(guān)控制軟硬件知識的深入認識。
3 PLC軟件工程化管理初探
作為總裝備部組織國內(nèi)專家制定、用于指導(dǎo)軍用軟件研制機構(gòu)改善軟件過程和加強軟件開發(fā)過程控制與管理的標準,GJB5000A對提升軟件研制質(zhì)量和管理水平、實現(xiàn)軟件研制能力由基于個人的能力轉(zhuǎn)變?yōu)榻M織的能力,提供了科學管理理念和做法。本單位在高端工藝裝備多個軟件項目開發(fā)中推行GJB5000A,切實提升了上位控制軟件的研制質(zhì)量。鑒于國內(nèi)尚未將GJB5000A涵蓋PLC軟件管理的現(xiàn)狀,本單位PLC軟件管理遵循GJB5000A“服務(wù)于本單位組織目標和質(zhì)量目標、追求有效性和適用性,漸進推進”的思想,結(jié)合本單位PLC軟件和組織特點,對PLC軟件工程化管理進行了初步探索與管理實踐。
基于本單位的軟件工程管理體系(QJZ53/54/55),結(jié)合本單位PLC軟件特點、PLC軟件研制管理基礎(chǔ)等,借鑒同行相關(guān)管理方法,形成適宜于本單位PLC軟件應(yīng)用需求、與研發(fā)人員能力和組織管理水平相匹配的PLC軟件研制管理要求,按此要求,在武器型號裝檢設(shè)備及高端工藝裝備項目中,推行PLC軟件工程化項目試點,通過項目實踐及時總結(jié)評價,在實踐中不斷提升人員的研發(fā)和管理能力、組織管理水平,并迭代完善PLC軟件研制管理要求,從而引導(dǎo)、促進PLC軟件研制能力成熟度不斷進步。
如前所述,將制約本單位當前PLC軟件質(zhì)量和項目進度的這些薄弱環(huán)節(jié),設(shè)置為重要環(huán)節(jié)和節(jié)點,納入質(zhì)量目標加以規(guī)范管理,并基于GJB5000A本地化的軟件工程管理體系進行裁剪簡化,形成PLC軟件研制管理要求,其流程:重點從項目開發(fā)的人員配置、過程重要節(jié)點管控和測試規(guī)范、文檔質(zhì)量等方面推進PLC軟件工程化管理。
3.1 人員配置
改變設(shè)計、編碼與測試由同一人承擔的開發(fā)方式,軟件開發(fā)人員至少由2人構(gòu)成,包括需求與設(shè)計員、程序編碼員(根據(jù)目前人員情況,需求與設(shè)計員和程序編碼員可以由同一人承擔)、程序測試員。
軟件工程化總是關(guān)注過程,而過程的關(guān)鍵因素是人。針對當前PLC研發(fā)人員不熟悉GJB5000A體系、而掌握GJB5000A的人員又不理解PLC技術(shù)的現(xiàn)況,一方面開展培訓(xùn),提高專業(yè)技術(shù)人員在PLC技術(shù)及軟件工程化管理兩方面的知識儲備;另一方面,讓專業(yè)技術(shù)人員參與數(shù)項PLC軟件工程化試點項目,并交叉承擔開發(fā)人員、QA、CM、測試人員等不同角色,在過程實踐中理解各角色要求、發(fā)現(xiàn)問題、改進方法、形成共識,進而形成兩類人員相互匹配和相互促進的持續(xù)改進過程。
3.2 重視設(shè)計文檔,管控關(guān)鍵過程
加強并規(guī)范源頭設(shè)計,重視設(shè)計文檔,對關(guān)鍵過程活動進行管控。重點對軟件研制任務(wù)書、軟件需求規(guī)格說明書、軟件設(shè)計說明書,進行評審確保設(shè)計文檔質(zhì)量。評審?fù)ㄟ^后,才能進行下環(huán)節(jié),即根據(jù)軟件研制任務(wù)書、軟件需求規(guī)格說明,進行軟件設(shè)計工作,形成軟件設(shè)計說明書、軟件測試計劃與說明書,指導(dǎo)軟件編碼設(shè)計和測試工作。
簡化文檔形式,強化文檔內(nèi)容,確保設(shè)計文檔能有效提升PLC軟件質(zhì)量和開發(fā)進度。鑒于PLC軟件與子系統(tǒng)(包含機械結(jié)構(gòu)、電氣硬件和上位軟件)涉及多接口,重點要求對接口詳細分析和說明;要求以流程框圖對控制功能模塊的邏輯進行說明。
3.3 以軟件測試推動PLC軟件工程化
規(guī)范并加強PLC軟件測試工作。PLC軟件測試包括單元測試和系統(tǒng)集成測試,由項目組內(nèi)部控制,測試前要求編制測試計劃與說明書,由程序測試員根據(jù)測試計劃與說明書,進行測試、迭代優(yōu)化;測試后,編制軟件測試報告。測試過程中,除測試軟件研制任務(wù)書要求的功能與性能外,重點考察下位軟件對控制系統(tǒng)安全性、可靠性的防護和保障,考察程序的執(zhí)行效率和關(guān)鍵信號的實時響應(yīng)性。
3.4 加強軟件版本進行控制管理
參照軟件工程管理手冊,對PLC軟件建立至少兩級受控庫,并進行分級受控庫的配置管理。針對PLC涉及多接口及對系統(tǒng)影響直接,加強版本變更對影響域的詳細分析與說明。
4 小結(jié)
GJB5000A對軟件研制提供了一套科學管理理念和做法,這是一個結(jié)合單位實際實現(xiàn)軟件質(zhì)量持續(xù)優(yōu)化、不斷改進的過程,對剛起步的PLC軟件工程化管理尤其如此。今后,將在GJB5000A體系涵蓋PLC軟件研制的基礎(chǔ)上,結(jié)合各試點項目反饋,持續(xù)優(yōu)化PLC軟件的管理活動,完善PLC軟件技術(shù)規(guī)范,切實加強PLC軟件質(zhì)量控制。
關(guān)鍵詞:軟件“準職業(yè)人”;實訓(xùn)教學
中圖分類號:TP31-4
1 軟件專業(yè)畢業(yè)生面臨的主要問題
1.1 缺乏實用技能。在實際項目中,客戶首次接觸軟件時關(guān)注的是界面風格是否美觀、大氣、整齊一致,詢問是否有能夠給自己工作帶來便利并解決問題的功能;而學生在學校里接受的訓(xùn)練主要以完成基本功能為目標,所以在應(yīng)對實際項目時,他們總認為軟件項目的界面交互式設(shè)計是美工的事,以軟件實現(xiàn)功能的多少來衡量自己開發(fā)能力的高低。
1.2 缺乏分析能力。很多畢業(yè)生習慣于想到哪兒就做到哪兒,很少有人在做項目之前先使用有效的需求規(guī)格說明書和原型與客戶交流,缺乏軟件開發(fā)的條理性。很多人只對編程感興趣,對開發(fā)需求、系統(tǒng)設(shè)計、組件重用、技術(shù)評審、交互設(shè)計、版本控制、測試驅(qū)動等重要實踐步驟不予考慮。
1.3 缺乏有效的溝通能力。主要體現(xiàn)在多人一起開發(fā)一個項目時效率極為低下。其主要原因在于他們通常不愿意傾聽對方的意見,容易武斷。為此我院軟件技術(shù)專業(yè)提出了基于“企業(yè)學院”的“知訓(xùn)合一、課證相融”軟件“準職業(yè)人”人才培養(yǎng)模式。在此人才培養(yǎng)模式的指導(dǎo)下,我們構(gòu)建了符合軟件“準職業(yè)人”培養(yǎng)目標的多層次、模塊化的實踐教學體系。
2 符合軟件“準職業(yè)人”培養(yǎng)目標的多層次、模塊化的實踐教學體系
2.1 研究思路。第一條主線以軟件企業(yè)“準職業(yè)人”的職業(yè)成長路線貫穿整個教學過程,使學生通過“職場體驗―實境訓(xùn)練―頂崗歷練”來感知職業(yè)環(huán)境氛圍、職業(yè)崗位流程,培養(yǎng)職業(yè)崗位素質(zhì)、技能,體驗崗位能力需求,逐漸從Freshman(新員工)轉(zhuǎn)變?yōu)镴unior(正式員工),最終成長為Senior(核心骨干)。如圖1:
第二條主線按照軟件企業(yè)項目開發(fā)工作過程來組織教學實施。畢業(yè)生常抱怨“以往的實踐沒有開發(fā)真實工程項目的經(jīng)歷,很難形成完整的知識體系和能力體系”。我們在教學過程中就選取當前中小型企業(yè)普遍采用的快速原型開發(fā)法,按照“項目規(guī)劃-需求分析-軟件開發(fā)-多次迭代-逐步完善項目原型-軟件測試-項目驗收-軟件維護”的真實企業(yè)軟件開發(fā)過程的順序來進行項目的實施。如圖2:
2.2 多層次、模塊化的實踐教學體系。實踐教學環(huán)節(jié)由學校的教師跟企業(yè)的項目經(jīng)理配合,共同完成。在項目經(jīng)理進校園這個環(huán)節(jié),不將模擬項目帶到學校來,而是由項目經(jīng)理帶領(lǐng)學生,按照學校的需求定制開發(fā)系統(tǒng),比如食堂管理系統(tǒng),大學生創(chuàng)新創(chuàng)業(yè)計劃管理系統(tǒng)等,項目開發(fā)完全產(chǎn)品化。并希望產(chǎn)品未來能夠?qū)ν馔茝V,將科研成果產(chǎn)品化。在這個過程中學生也接受全真項目鍛煉,相當于在畢業(yè)時學生就已經(jīng)有了真實的系統(tǒng)項目開發(fā)經(jīng)驗。如圖3:
技術(shù)迭代:循序漸進培養(yǎng)學生不同技術(shù)結(jié)構(gòu)的開發(fā)技能。
設(shè)計迭代:培養(yǎng)學生軟件設(shè)計及架構(gòu)思路。
項目主線:一個項目貫穿整個培養(yǎng)過程,保持思路連貫性。
3 實訓(xùn)教學的具體實施(以《項目實戰(zhàn)為例》)
3.1 逆向制定教學內(nèi)容。通過對典型職業(yè)崗位程序員,拓展職業(yè)崗位測試員、界面設(shè)計師、技術(shù)支持的分析,得出完成崗位工作任務(wù)所需的特有的知識、能力、素質(zhì)和共有的知識、能力、素質(zhì),再結(jié)合第二條主線軟件企業(yè)項目開發(fā)的需要,對課程內(nèi)容進行選取。對選取出來的內(nèi)容,再按照第一條主線職業(yè)成長路線的需要,對課程內(nèi)容進行了重新組合,科學設(shè)計了入職培訓(xùn)、食堂管理系統(tǒng)、大學生創(chuàng)新創(chuàng)業(yè)計劃系統(tǒng),將專業(yè)技能和知識點進行整合、優(yōu)化。
3.2 各階段實施過程。(1)入職培訓(xùn)。入職培訓(xùn)的目的是讓學生了解企業(yè)文化,學習管理制度,并通過一系列的素質(zhì)拓展訓(xùn)練來培養(yǎng)員工的溝通能力、表達能力和團隊協(xié)作能力。由企業(yè)兼職教師對員工進行企業(yè)文化和管理制度的培訓(xùn)。比如完美表達的訓(xùn)練,地雷戰(zhàn)的訓(xùn)練,擺造型等。(2)食堂管理系統(tǒng)。這是為試用期的員工而設(shè)計的。在企業(yè)里試用期由老員工指導(dǎo)新員工完成項目的開發(fā),注重的是技能的培養(yǎng)。在這里由老員工(教師)帶領(lǐng)新員工(學生)來理清項目開發(fā)的一般流程從項目背景介紹到解決方案的給出再到項目開發(fā)、項目測試、項目匯報直至項目總結(jié),重點介紹企業(yè)級開發(fā)中涉及到的技術(shù)要點,以及這些技術(shù)要點之間的關(guān)系,幫助學生在短時間內(nèi)將所學的知識點串接起來并形成體系。(3)大學生創(chuàng)新創(chuàng)業(yè)計劃系統(tǒng)。根據(jù)軟件開發(fā)流程,將項目劃分為項目策劃、需求分析、系統(tǒng)設(shè)計、編碼測試、部署和項目總結(jié)六個任務(wù)。在本階段我們的學生已經(jīng)成長為企業(yè)的正式員工,由學生主體來完成項目的開發(fā)。在分組時充分考慮每位員工的特性。崗位分配的原則是從前兩個階段的考核結(jié)果中提取溝通能力、表達能力,界面的友好性設(shè)計,功能的完整性,技術(shù)含量的高低,測試水平等制成圖表,從圖中將清晰的顯示每位員工的優(yōu)劣勢所在,在進行崗位分配時注意揚長避短。比如某員工在界面設(shè)計性方面顯示出較強的能力,而他的編碼能力則顯得相對較弱,在崗位分配時可以給他分配一個難度相對較低的模塊,同時讓他兼任界面設(shè)計美化的工作。要求每位員工每天給出日工作日志,每周給出周工作日志。需求分析階段主要由項目經(jīng)理完成,同時穿插對技術(shù)支持和界面設(shè)計師的培養(yǎng)。比如在需求分析的前期由技術(shù)支持先與客戶溝通,將收集到的有用的信息反饋給我們的項目經(jīng)理。在這過程中教給技術(shù)支持一些實用的技巧。在需求分析的中后期由界面設(shè)計師不斷的構(gòu)建項目原型與客戶進行溝通,直至客戶滿意為止。再比如軟件測試階段,由各組根據(jù)項目經(jīng)理提供的學習資源自主完成集成測試、數(shù)據(jù)庫測試和系統(tǒng)測試。
4 實訓(xùn)教學的效果
通過以企業(yè)真實工程項目做載體,扎根企業(yè),引用企業(yè)標準,共享企業(yè)資源,借鑒企業(yè)機制,熏陶企業(yè)文化來培育人才。學生在教師的指導(dǎo)下能利用所學知識去提供技術(shù)服務(wù),開發(fā)了我院的工資查詢系統(tǒng),同時還對教師的科研項目進行了自主開發(fā),比如市科技項目“南通市主要農(nóng)作物生產(chǎn)信息化網(wǎng)絡(luò)共享服務(wù)平臺”的子課題“南通市主要農(nóng)作物生產(chǎn)技術(shù)數(shù)據(jù)庫”;“長江藥用植物園”藥用植物數(shù)據(jù)庫的設(shè)計與開發(fā)等。在對畢業(yè)生的跟蹤調(diào)查中用人單位普遍反映這批學生掌握了職業(yè)核心能力,職業(yè)素質(zhì)也大幅提高,真正實現(xiàn)了與企業(yè)需求的零距離對接。
參考文獻:
[1]張舜德,張琪.高職軟件技術(shù)專業(yè)多層次實訓(xùn)體系的設(shè)計[J].職教論壇,2010(5).
[2]李唯.高職院校軟件技術(shù)專業(yè)實訓(xùn)教學的研究與實踐[J].計算機教育,2012(20).
[3]史玉珍,李波.基于.net的軟件實訓(xùn)體系構(gòu)建與研究[J].職業(yè)技術(shù)教育,2009(11).
關(guān)鍵詞:學校;軟件工程;教學
中圖分類號:G642 文獻標識碼:A 文章編號:1006-4311(2012)02-0216-02
0 引言
軟件工程與其他計算機課程,如程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫以及操作系統(tǒng)等課程都是相互作用和影響的。在一定程度上說,軟件工程討論的是在實際開發(fā)當中綜合運用這些課程中講過的理論和方法,將這些課程的理論和方法放在一個統(tǒng)一的目標下,這個目標就是在有限的時間及預(yù)算條件下,開發(fā)出高質(zhì)量的令用戶滿意的軟件。
軟件是信息化的核心,各行各業(yè)的信息化建設(shè)都離不開軟件,軟件產(chǎn)業(yè)的發(fā)展需要大量的人才,無論是公辦學校還是民辦學校,作為人才培養(yǎng)的基地,都應(yīng)該培養(yǎng)學生掌握軟件工程的基本理論、基本概念和方法和技術(shù),并將其應(yīng)用于軟件開發(fā)的具體實踐中,為國家的信息化建設(shè)服務(wù)。
1 《軟件工程》教學內(nèi)容與課程特點
《軟件工程》是針對計算機及相關(guān)專業(yè)高年級學生開設(shè)的課程,在學習《軟件工程》課程之前,學生必須完成《高級語言程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《數(shù)據(jù)庫系統(tǒng)原理》、《操作系統(tǒng)》、《計算機網(wǎng)絡(luò)》等先行課程的學習。本課程的知識點是軟件工程的整個知識體系結(jié)構(gòu),即軟件需求、軟件設(shè)計、軟件實現(xiàn)、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程的工具和方法、軟件質(zhì)量等十個知識點,特別是軟件過程的概念和軟件系統(tǒng)的分析設(shè)計技術(shù)。
軟件工程涉及到計算機、經(jīng)濟學、管理學、工程學、市場學等多個領(lǐng)域的知識,由于涉及內(nèi)容太多、太寬,使學生感到這門課中包含的知識非常豐富,而且其本身還處于不斷發(fā)展中,這是本課程的突出特點。正因為這一特點,軟件工程教學中要突出重點,擴大學生的知識面,同時要重視實踐環(huán)節(jié),通過多種教學形式使學生掌握各種知識的綜合應(yīng)用。
2 學?!盾浖こ獭氛n程教學存在的問題
普遍教學條件和設(shè)備資源比較短缺,師資力量較薄弱,教師教學水平、教學條件以及所處的社會大環(huán)境方面都表現(xiàn)出一些特性,具體到《軟件工程》課程教學方面,存在一些問題。
2.1學生基礎(chǔ)較差,文化課學習積極性不高學生普遍基礎(chǔ)較差,學習積極性、主動性不高,還有的學生存在自卑心理,對學習有畏難情緒,對于《軟件工程》課程的前修課程,如《高級語言程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《數(shù)據(jù)庫系統(tǒng)原理》等學習的不夠扎實,許多知識體系不能連貫起來,給《軟件工程》課程教學帶來一定的問題。
2.2教師教學水平問題教師大多數(shù)是近幾年新招聘的其他高校畢業(yè)生,他們畢業(yè)以后直接進入學校,缺乏實際軟件工程項目的鍛煉,教學方法比較單一,教學經(jīng)驗不足,不利于搞好《軟件工程》課程教學o
2.3教學條件問題學校普遍存在辦學資金緊張的問題,因此,教學設(shè)備和教學條件等方面不一定能全部滿足需要,如有的學校多媒體教室、電腦等設(shè)備不能滿足要求,學校在計算機軟件方面的投資就更少;還有的學校校園網(wǎng)絡(luò)的建設(shè)也沒有到位,這些都給提高《軟件工程》課程教學質(zhì)量帶來一定的困難。
2.4社會環(huán)境問題不容質(zhì)疑,現(xiàn)在社會上普遍存在著輕視學校的現(xiàn)象,突出表現(xiàn)在學校畢業(yè)生求職、就業(yè)等方面,學校要求得發(fā)展,必須高度重視畢業(yè)生的就業(yè)問題。在具體課程教學中,要從培養(yǎng)“應(yīng)用型”人才這一目標出發(fā),緊密結(jié)合社會需要,不斷改進教學內(nèi)容,抓好新技術(shù)、新知識教學,同時大力加強實踐性教學環(huán)節(jié),培養(yǎng)與社會需要“接軌”的“產(chǎn)品”。
3 《軟件工程》教學改進的內(nèi)容和方法
3.1教學過程引入實際案例軟件工程課程涉及面很廣,如果不結(jié)合實際工程項目進行教學,很難把教學內(nèi)容教授給學生。因此,在教學過程中引入案例,將復(fù)雜抽象的概念用具體生動的實例進行詮釋,能夠收到事半功倍的效果。例如,在授課時教師可結(jié)合1個“學校教材購銷系統(tǒng)”實例,給學生介紹具體的開發(fā)過程和方法。案例教學法也是在軟件工程教學中經(jīng)常采用的一種方法,軟件工程案例教學通過以企事業(yè)單位中的實際項目或從中抽取的模擬項目為研討核心,為學生創(chuàng)造一個仿真環(huán)境,使其在課堂上就能接觸到實際問題和環(huán)境,從而學會在復(fù)雜條件下利用所學理論解決問題。要搞好案例教學,必須從教學準備、教學組織與實施、教學總結(jié)與討論幾個環(huán)節(jié)抓起,同時,在具體教學中,還要注意以下問題:第一,選擇與設(shè)計案例時,要考慮案例的針對性、復(fù)雜性,最好是授課教師與具有豐富經(jīng)驗的軟件工程師共同編寫,可以從軟件工程生命周期的角度出發(fā),選擇一個軟件工程項目的全部過程,也可以將一個大型項目的某一個階段作為教學案例。第二,案例涉及多門計算機課程。在講授過程中,最好由多位相應(yīng)課程老師共同組織教學。第三,教師布置案例后,學生可以進行“討論式”學習,在這個過程中,學生是項目的主體,教師起到組織、指導(dǎo)、咨詢的作用??蓪W生分成若干個小組,每個學生均有機會參加討論。
“軟件過程及管理”是軟件工程教學內(nèi)容中的一個重點,軟件過程及其管理是長期開發(fā)實踐中提煉的內(nèi)容,如軟件開發(fā)過程中的時間控制、人與人之間的合作和交流等。該內(nèi)容只有在實踐中才能切身體會到其正確性和必要性。因而這部分的教學宜采用“實踐型”教學方式,以課程設(shè)計的形式,學生以小組為單位共同討論、協(xié)商完成任務(wù)。
3.2組織課堂討論,形成教學互動我國有句名言:“授人以魚,不如授人以漁”。學生是教學活動的核心,教師要利用合適的方法調(diào)動學生的積極心理和參與意識,改變傳統(tǒng)的教師高高在上的教學方式,讓學生參與教學過程,有機會發(fā)表自己的看法。
為了提高軟件工程教學質(zhì)量,學校還可以采取開辦講座的形式,針對一些專題,如UML知識、軟件測試技術(shù)與崗位需求、第四代技術(shù)等。聘請軟件園區(qū)或科研院所的專家到校內(nèi)開展講座,擴大教師和學生的知識面。網(wǎng)絡(luò)教學也是一種較好的教學形式,軟件工程相關(guān)教師共同建立軟件工程學習網(wǎng)站,將課程安排、教學大綱、多媒體課件、研究案例、文檔模板、工程規(guī)范和標準、作業(yè)、實踐項目和要求等,以及大量的、有價值的參考書籍清單、電子文獻等放在網(wǎng)上,供學生隨時查閱。同時,教師和學生也可以在網(wǎng)上進行交流和答疑,擴大教學時間和空間。
如上所述,軟件工程教學內(nèi)容寬泛,涉及面廣,教學中有許多圖形,利用多媒體教學手段,將教學內(nèi)容制作成多媒體課件,能夠在同樣的一節(jié)課內(nèi)教授更多的內(nèi)容,形象化地展示軟件工程基本原理,還可以動態(tài)演示軟件項目結(jié)構(gòu)和設(shè)計細節(jié),利于學生理解教學內(nèi)容。
3.3加強實踐環(huán)節(jié)從本質(zhì)上看,軟件工程的實踐性和綜合性是其他相關(guān)課程難以比擬的。因此,必須結(jié)合設(shè)計項目和實際應(yīng)用加以施教。才能取得良好的教學效果。那么,在把握教學進度的同
時,必須及早安排好課程設(shè)計,讓學生同步開展課程設(shè)計。這樣,理論課講完了,課程設(shè)計也基本結(jié)束,學生們能從理論和實踐的結(jié)合上,加深對軟件工程知識難點、重點的理解,進一步深刻理解軟件過程和系統(tǒng)消化理論知識,訓(xùn)練項目設(shè)計的思路,鍛煉實際開發(fā)能力,培養(yǎng)嚴格規(guī)范的項目開發(fā)方法和步驟,體驗文檔編寫整理、階段性評審總結(jié)以及軟件測試等各個方面的工作流程,直接培養(yǎng)了學生從事實際開發(fā)的能力。
3.4派骨干教師參加企業(yè)項目實踐學校的教師大多是青年教師,實際開發(fā)經(jīng)驗較少,要將《軟件工程》課程教好、教活,有一定的難度,學校辦學資金緊張,也不可能花錢送教師參加培訓(xùn),可以利用暑期時間,派骨干教師參加軟件企業(yè)具體項目的開發(fā),既為專業(yè)培養(yǎng)了教師,也節(jié)約了成本,同時教師參與開發(fā)的具體項目也可以作為教學中的案例或項目驅(qū)動教學中的項目積累起來。
3.5引進培訓(xùn)機構(gòu),多方共同培養(yǎng)學生目前計算機軟件類培訓(xùn)機構(gòu)非常多,其中有一批專門針對計算機專業(yè)畢業(yè)生,受軟件企業(yè)委托開展定向培訓(xùn),其培訓(xùn)內(nèi)容與《軟件工程》課程內(nèi)容有許多是相同的。在國家的大力支持下,國內(nèi)已經(jīng)建設(shè)了中關(guān)村軟件園、大連軟件園、成都軟件園、西安軟件園等國家級軟件企業(yè)園區(qū),同時也成立了大型的實訓(xùn)基地與培訓(xùn)中心,這些機構(gòu)目前都開展軟件工程項目培訓(xùn)。學校在師資力量薄弱、硬件資源相對落后的情況下,可以考慮與上述培訓(xùn)機構(gòu)合作,采取派學生出去、將培訓(xùn)機構(gòu)引進學校、課程輸出和置換等各種方式,開展軟件工程培訓(xùn),提高教學質(zhì)量,培養(yǎng)學生實際工作能力,為學生順利就業(yè)打下良好的基礎(chǔ)。
4 結(jié)束語
《軟件工程》教學的目標,一是培養(yǎng)學生運用軟件工程的基本知識開發(fā)實際軟件項目的能力,強調(diào)對過程的理解,方法的掌握,技術(shù)和工具的應(yīng)用,以及對團隊的重視:二是培養(yǎng)學生嚴謹、求實的科學態(tài)度和團隊合作精神。以上僅從從實踐教學環(huán)節(jié),教師隊伍培養(yǎng),引進培訓(xùn)機構(gòu),改建教學方法、采取多種教學形式等方面提出了一些想法,要想真正達到上述目標,還需要進一步深入研究和思考。
參考文獻:
[1]杜晶,王鳳芹,李祁.軟件工程課程教學特征與改革[J]福建電腦,2010,(06)
[2]沈備軍,顧春華.軟件工程教學模式的研究和實踐[J].計算機教育,2005。(01)
[3]潘婭歙件工程教學方法探索[J].西南科技大學高教研究,2006,(02)