時間:2023-02-28 15:56:15
序論:在您撰寫軟件測試課程總結(jié)時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
關(guān)鍵詞:項目驅(qū)動法;軟件測試;教學(xué)方法
作者簡介:趙曉君(1979-),女,河南南陽人,鄭州輕工業(yè)學(xué)院軟件學(xué)院,講師;黃艷(1976-),女,河南信陽人,鄭州輕工業(yè)學(xué)院軟件學(xué)院,副教授。(河南 鄭州 450002)
基金項目:本文系鄭州輕工業(yè)學(xué)院校級青年教師教學(xué)改革項目的研究成果。
中圖分類號:G642.0 文獻標(biāo)識碼:A 文章編號:1007-0079(2013)07-0101-02
隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能實現(xiàn)也越來越復(fù)雜,導(dǎo)致軟件中存在的缺陷數(shù)量大大增加,這些缺陷將會帶來各種損失,甚至出現(xiàn)災(zāi)難性的后果。因此,如何保證軟件質(zhì)量已成為所有使用軟件和開發(fā)軟件的人們關(guān)注的焦點。軟件測試作為軟件工程的一個重要組成部分,是目前用來驗證軟件是否能夠滿足用戶需求功能的唯一有效方法,是保證和提高軟件質(zhì)量的重要環(huán)節(jié)。為適應(yīng)軟件產(chǎn)業(yè)的發(fā)展趨勢和滿足軟件測試人才的大量需求,目前已經(jīng)有許多大學(xué)在軟件工程專業(yè)添加軟件測試課程或者添加軟件測試專業(yè)方向。
軟件測試專業(yè)包含多門專業(yè)課程,有“軟件測試?yán)碚摗?、“軟件測試技術(shù)”和“軟件缺陷管理”等,其中,“軟件測試?yán)碚摗闭n程重點為初學(xué)測試的同學(xué)講解測試的基礎(chǔ)理論知識,主要包括軟件測試基本理論、軟件測試方法和技術(shù)等,在多門專業(yè)課程中占有舉足輕重的地位。
一、“軟件測試?yán)碚摗苯虒W(xué)現(xiàn)狀
“軟件測試?yán)碚摗闭n程重點介紹軟件測試的基本理論,因此整個課程主要以教師講授為主,在教學(xué)的過程中存在以下問題:
1.教學(xué)內(nèi)容理論性較強,難以調(diào)動學(xué)生學(xué)習(xí)的主動性
對于初學(xué)軟件測試的學(xué)生,首先要向其講授相關(guān)測試?yán)碚?,使其建立系統(tǒng)的測試?yán)砟睢?/p>
但是學(xué)測試的學(xué)生大都是理科生,喜歡操作性強的課程,“軟件測試?yán)碚摗闭n程的理論性太強,需要背誦很多概念性的知識,這對于他們來說是比較困難,不能激發(fā)學(xué)習(xí)的主動性,教學(xué)效果不理想。
2.測試方法和技術(shù)案例實際應(yīng)用價值不足,學(xué)生很迷茫
測試方法和技術(shù)是“軟件測試?yán)碚摗闭n程學(xué)習(xí)的重點和難點,這部分內(nèi)容僅靠老師的講解和書本上的案例很難讓學(xué)生深入理解掌握測試技術(shù)的內(nèi)涵,學(xué)生在學(xué)習(xí)這部分知識時會產(chǎn)生迷茫:學(xué)習(xí)這些知識有什么用處,在具體的項目測試中,應(yīng)該怎樣應(yīng)用這些知識?沒有實際的項目案例做支撐,學(xué)生會失去繼續(xù)學(xué)習(xí)下去的興趣。
針對上面的問題,本文提出將項目驅(qū)動法應(yīng)用于“軟件測試?yán)碚摗闭n程的教學(xué)中,學(xué)生在進行項目實踐的同時,根據(jù)需要學(xué)習(xí)軟件測試相關(guān)理論知識,這樣有助于提高學(xué)生的學(xué)習(xí)主動性,有助于理論知識的牢固掌握,有助于提高學(xué)生的實踐技術(shù)能力,改善該課程的教學(xué)效果。
二、項目驅(qū)動法
項目驅(qū)動法是目前中國教育領(lǐng)域中一種比較新的教育教學(xué)方法。
所謂項目驅(qū)動法,是師生通過共同實施一個完整的項目工作而進行的教學(xué)活動,它既是一種課程模式,又是一種教學(xué)方法。[1]這里的項目根據(jù)課程教學(xué)內(nèi)容的不同所包含的涵義也不同。在“軟件測試?yán)碚摗闭n程教學(xué)中,項目即指一個已經(jīng)開發(fā)完成的軟件測試工作。通常,項目教學(xué)都是實踐導(dǎo)向的和任務(wù)驅(qū)動式的教學(xué)。
在項目驅(qū)動模式的教學(xué)活動中,教師根據(jù)學(xué)生現(xiàn)有的知識水平和項目經(jīng)驗選擇一個合適的項目,以項目實施為主線展開教學(xué)活動,把課程相關(guān)的知識點的講解融入項目操作的每個步驟中。在項目實施的過程中,以學(xué)生為中心,教師主要做組織和指導(dǎo)工作,學(xué)生在整個項目的實施過程中處于探索知識的情景中,充分發(fā)揮主動性、積極性和創(chuàng)新精神,綜合運用所學(xué)的知識和技能解決實際問題,最終達到有效地將所學(xué)知識系統(tǒng)化深入化的目的。
這種模式從根本上將傳統(tǒng)課堂中老師滿堂灌轉(zhuǎn)變?yōu)椤皩W(xué)生為主體,教師為主導(dǎo)”的教學(xué)模式。同時,學(xué)生通過一個具體項目的實踐,感受到了真實項目管理的思想和團隊協(xié)作的必要性,提高了學(xué)生的創(chuàng)新能力和項目實踐能力。擁有真實項目的實踐經(jīng)驗使得學(xué)生在擇業(yè)時擁有很大競爭優(yōu)勢。
將項目驅(qū)動法應(yīng)用于“軟件測試?yán)碚摗闭n程教學(xué)中,在課程理論教學(xué)中加入一個完整的項目測試實踐環(huán)節(jié),通過項目實踐能夠很好地激發(fā)學(xué)生的學(xué)習(xí)主動性,使學(xué)生經(jīng)歷了一個“先做,遇到問題,再學(xué),解決問題,再做,獲得經(jīng)驗”的學(xué)習(xí)過程,最終完成一個完整的軟件測試實踐,同時也學(xué)到了“軟件測試?yán)碚摗闭n程應(yīng)該掌握的理論知識。這樣,既解決了軟件測試?yán)碚撜n程理論性太強的問題,又解決了測試方法和技術(shù)案例實際應(yīng)用價值不足的問題;而且豐富了學(xué)生的實踐經(jīng)驗,提高了軟件測試?yán)碚撜n程的教學(xué)效果。
三、“軟件測試?yán)碚摗闭n程教學(xué)目標(biāo)和教學(xué)內(nèi)容
1.教學(xué)目標(biāo)
通過本門課程的學(xué)習(xí)和實踐,理解軟件測試?yán)碚撆c原則;掌握主流測試技術(shù)和方法,熟悉測試用例的編制、熟悉軟件測試的基本流程,熟悉軟件測試過程中各類技術(shù)文檔的編制規(guī)范,并能靈活運用測試技術(shù)解決實際問題。
對于一個具體項目軟件,每一個學(xué)生都能夠順利完成如下手工測試流程:根據(jù)軟件需求規(guī)格說明書撰寫測試計劃,設(shè)計測試用例、進行測試環(huán)境配置和測試數(shù)據(jù)準(zhǔn)備工作、執(zhí)行各種測試,撰寫缺陷報告、跟蹤并修復(fù)缺陷、進行測試評測,最后提交測試總結(jié)報告,達到軟件企業(yè)對測試專業(yè)人才的要求。
2.教學(xué)內(nèi)容
“軟件測試?yán)碚摗闭n程的教學(xué)內(nèi)容主要包括軟件測試基本理論、軟件測試基本技術(shù)、軟件測試過程和軟件測試工具。[2]
軟件測試基本理論包括軟件測試、軟件缺陷和測試用例的基本概念,測試的目的、測試模型、測試分類和測試流程。
軟件測試基本技術(shù)包括白盒測試和黑盒測試;其中白盒測試包括靜態(tài)測試和動態(tài)測試,動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。這些基本技術(shù)都是在進行測試用例設(shè)計時使用的。
軟件測試過程是指執(zhí)行測試的過程,通常分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。
軟件測試工具有多種:功能測試工具、性能測試工具和測試管理工具等。
四、項目驅(qū)動法的應(yīng)用方案
1.項目的設(shè)計
實施項目驅(qū)動法,首先需要設(shè)計項目。項目的設(shè)計與選取直接影響到該教學(xué)模式的教學(xué)效果及學(xué)生的學(xué)習(xí)興趣?!败浖y試?yán)碚摗闭n程項目的選取與其他課程又有所不同,學(xué)生要進行的操作是對現(xiàn)有的或者已經(jīng)開發(fā)完成的軟件的測試工作,因此在設(shè)計項目時應(yīng)遵循以下幾條原則:
第一,項目是現(xiàn)有的軟件或已經(jīng)開發(fā)完成的軟件,軟件中有部分明顯錯誤,有部分隱藏錯誤;明顯錯誤有助于提高學(xué)生的測試積極性,隱藏錯誤有助于啟發(fā)學(xué)生進行更深入的測試。
第二,項目具有典型性,代表大部分軟件的共性。通過該項目的測試,學(xué)生可以掌握大多數(shù)軟件的測試流程和測試方法。
第三,項目中有多種情景元素,符合使用多種測試技術(shù)和方法,有助于學(xué)生在進行項目測試的同時,學(xué)習(xí)使用多種測試技術(shù)設(shè)計測試用例的方法。
第四,項目大小和難易適中。每個項目組的人數(shù)控制在3~5個人,設(shè)計的項目能使學(xué)生通過努力在一定的時間內(nèi)完成。
根據(jù)以上原則,本課程目前選擇的項目是《企業(yè)薪酬管理系統(tǒng)》。
2.項目驅(qū)動法的實施
本課程通過讓學(xué)生進行企業(yè)薪酬管理系統(tǒng)完整的測試流程實踐的同時,講解測試需求編寫、測試計劃編寫、測試用例設(shè)計、測試環(huán)境配置、測試執(zhí)行、缺陷跟蹤和管理、測試報告撰寫等內(nèi)容。課程授課方式主要是分階段講解測試過程和測試要求,每一個階段開始,老師先講原理,選擇部分內(nèi)容做例子進行講解,然后學(xué)生比照例子跟著做;階段內(nèi)容完成時,學(xué)生提交完成的文檔,老師選擇典型的問題進行講評,然后進行下一個階段的內(nèi)容,如此類推直至測試結(jié)束。
企業(yè)薪酬管理系統(tǒng)測試流程設(shè)計如圖1所示。
本課程課時為60學(xué)時,根據(jù)圖1系統(tǒng)測試流程圖安排,基于項目驅(qū)動法的“軟件測試?yán)碚摗闭n程安排如表1所示。
在課程進行的過程中,必須嚴(yán)格按照項目的測試流程進行,測試流程為:先獲取項目測試需求,撰寫測試計劃,設(shè)計測試用例,執(zhí)行測試,提交缺陷報告并跟蹤修復(fù)缺陷,最后提交測試總結(jié)報告。課程結(jié)束,要求學(xué)生提交項目測試報告,測試報告包括多個文檔,整個流程中每個階段的工作必須有撰寫規(guī)范的文檔提交,如:測試計劃、測試用例、測試執(zhí)行報告、缺陷報告和測試總結(jié)報告等等。
測試報告既體現(xiàn)了教師項目教學(xué)的結(jié)果,也體現(xiàn)了學(xué)生對測試知識技能的掌握水平。通過評價學(xué)生作品,找出學(xué)生在學(xué)習(xí)過程中的薄弱環(huán)節(jié),進一步改進項目驅(qū)動教學(xué)的教學(xué)安排,使其能夠發(fā)揮最大的教學(xué)效果。
五、結(jié)束語
本文針對軟件學(xué)院軟件工程專業(yè)的培養(yǎng)對象和教學(xué)特點,把真實項目引入“軟件測試?yán)碚摗闭n程課堂教學(xué)中,采用項目驅(qū)動教學(xué)法,從項目的需求評審、測試計劃、測試用例設(shè)計、測試執(zhí)行、缺陷報告、測試評測到測試總結(jié)一個完整的測試流程,交給學(xué)生組建測試團隊,按照流程進行任務(wù)分配和管理,最終完成整個項目的測試工作。通過一個完整項目測試流程的完成,有效提高學(xué)生的學(xué)習(xí)和實踐能力、解決問題的能力、團隊協(xié)作能力等,使學(xué)生在掌握軟件測試的各種測試技術(shù)和基本流程的同時,積累了一定的項目測試經(jīng)驗,為他們今后的就業(yè)打下了良好的基礎(chǔ)。
參考文獻:
關(guān)鍵詞 軟件測試 實踐教學(xué) 測試工具
中圖分類號:TP311.53 文獻標(biāo)識碼:A
1 軟件測試課程教學(xué)現(xiàn)狀及分析
1.1 軟件測試課程教學(xué)現(xiàn)狀介紹
軟件測試是軟件工程專業(yè)本科生的一門重要的必修課程。在本校的課程設(shè)置中為56學(xué)時,其中理論教學(xué)為32學(xué)時,上機實踐為24學(xué)時,由于軟件測試的各個環(huán)節(jié)分別對應(yīng)于軟件工程的相應(yīng)環(huán)節(jié),使得軟件測試課程的內(nèi)容龐雜,而其實踐環(huán)節(jié)也相應(yīng)地具有內(nèi)容雜,任務(wù)重的特點。
軟件測試的教學(xué)目標(biāo)是通過理論及實踐教學(xué),讓本科生熟悉軟件測試的工作流程、常用軟件測試方法及常用工具的使用及軟件測試過程管理。
教學(xué)過程中的主要參考書目為機械工業(yè)出版社出版,原著為Paul C.Jorgensen,韓柯等譯的《軟件測試(原書第2版)》,原書的英文名為《Software Testing A Craftsman''s Approach(Second Edition》。授課基本流程基本也是依據(jù)以上教材的流程,首先介紹軟件測試的概論,介紹什么是軟件測試,軟件測試的意義、軟件測試的基本流程和基本概念等內(nèi)容。接著介紹貫穿全書的軟件測試需要的示例以及軟件測試所需要的基本理論知識,包括測試人員使用的離散數(shù)學(xué)及圖論相關(guān)知識。介紹完以上知識以后,按照軟件測試流程依次介紹單元測試、集成測試和系統(tǒng)測試的測試用例開發(fā)方法和技術(shù)。其中在單元測試部分分別介紹單元測試部分的黑盒測試和白盒測試內(nèi)容,黑盒測試部分包括邊界值測試、等價類測試和基于決策表的測試,在白盒測試部分介紹路徑測試、數(shù)據(jù)流測試等結(jié)構(gòu)性測試方法的測試用例開發(fā)技術(shù)。介紹完以上內(nèi)容以后,又介紹了面向?qū)ο蟮能浖y試方法。
課程的上機實踐基本上也是配合上課的流程進行安排,在相應(yīng)的知識點介紹以后,安排學(xué)生按照指定的技術(shù)開發(fā)測試用例以進行測試活動,附帶掌握相應(yīng)的軟件測試的各種管理和自動化工具。
1.2 軟件測試課程教學(xué)現(xiàn)狀分析
通過以上教學(xué)流程的描述結(jié)合以往畢業(yè)生工作以后反饋,可以總結(jié)其教學(xué)過程的特點為:通過系統(tǒng)的學(xué)習(xí),同學(xué)們基本上能掌握軟件測試用例開發(fā)的各種技術(shù)要點,對所有的知識點都有所觸及,通過學(xué)習(xí)同學(xué)們基本上能夠掌握各種實用的軟件測試用例的開發(fā)方法,也能將各種方法應(yīng)用于實際軟件測試中。
而在實際軟件測試實踐中,軟件測試工作具有以下特點:
首先,依據(jù)測試工作越早開展越有利的原則,軟件測試一般從開發(fā)的初期就開始介入。例如在開發(fā)初期,需要編制測試計劃進行時間人員和物力上的計劃;在需求分析階段需要進行軟件測試的系統(tǒng)測試用例的開發(fā);在設(shè)計階段需要進行集成測試用例的開發(fā),隨著設(shè)計粒度越來越細(xì),相應(yīng)的路徑及數(shù)據(jù)流集成測試用例也向下擴展;到達軟件編碼階段,主要依據(jù)相應(yīng)白盒技術(shù)進行單元測試用例的開發(fā)。其次,現(xiàn)代化的測試管理技術(shù)需要利用軟件全面管理軟件測試過程中的環(huán)節(jié),包括測試計劃的建立及管理、測試用例的管理、測試過程評價管理等。最后,因為人力資源成本的提高及各種技術(shù)限制,各種自動化的軟件用例的運行軟件的使用越來越多等。
通過比較教學(xué)過程及實際軟件測試的開發(fā)過程很容易發(fā)現(xiàn)以往教學(xué)過程具有以下限制:
首先,沒有將軟件測試作為軟件開發(fā)的有機部分進行介紹,而是將軟件測試過程從軟件開發(fā)過程中割裂開來。知識點沒有按照實際應(yīng)用過程展開,容易造成同學(xué)們掌握各個知識點,卻無法形成知識實際應(yīng)用能力。其次,缺少相應(yīng)的測試管理軟件的介紹和實踐,影響了同學(xué)們對軟件測試管理的重要性的認(rèn)識。最后,教學(xué)課程缺乏同學(xué)們比較感興趣的各種軟件測試自動化工具的介紹。降低了同學(xué)們的學(xué)習(xí)興趣。
2 軟件測試課程教學(xué)改革方法探討
通過上文的現(xiàn)狀介紹和分析,針對以上教學(xué)方法進行改造,同時本著揚長避短的原則,在中國石油大學(xué)(華東)軟件工程專業(yè)2009級軟件測試課程教學(xué)過程中進行了教學(xué)改革。
教學(xué)改革的契機為本校軟件工程專業(yè)和IBM公司開展教材合作編寫項目,軟件測試作為軟件開發(fā)的重要部分獲得了空前的發(fā)展良機。
具體的有利因素可以概括為:首先,學(xué)校向IBM公司購買JAZZ開發(fā)平臺及相應(yīng)的專業(yè)軟件測試管理軟件。通過和業(yè)界領(lǐng)先的最新的軟件測試管理軟件接觸,了解了最新的軟件測試管理理念;其次,通過IBM公司對教工的業(yè)務(wù)培訓(xùn),了解了IBM公司的各種軟件測試工具的使用情況;最后,通過本文作者共同努力,將平時用于開發(fā)的實際應(yīng)用軟件例如體育公共課管理軟件等進行整合,用于軟件測試用例的案例教學(xué)。
有了以上基礎(chǔ)前提以后,結(jié)合以上有利條件,教改的主要做法如下:首先進行案例化教學(xué),通過自己開發(fā)的軟件這樣生動的實例向同學(xué)們介紹軟件開發(fā)過程中的軟件測試的重要性和各種原則,避免了介紹知識的空洞和乏味,提高了同學(xué)們的學(xué)習(xí)興趣;其次,在案例化教學(xué)的指導(dǎo)思想下,重新安排各個教學(xué)點的教學(xué)順序,主要脈絡(luò)為依照軟件開發(fā)的實際流程,首先介紹系統(tǒng)用例開發(fā)技術(shù),然后介紹繼承測試用例開發(fā),到最后介紹單元測試用例開發(fā)方法。在運行測試用例的過程中,充分結(jié)合IBM公司提供的各種軟件測試用例運行工具,使得學(xué)生能夠活學(xué)活用。最后,充分利用IBM的軟件平臺,介紹業(yè)界領(lǐng)先的軟件管理工具的使用,使得學(xué)生學(xué)習(xí)興趣得到極大提高。
通過以上的教學(xué)改革,理順了教學(xué)和實踐的關(guān)系,使得教學(xué)過程緊密聯(lián)系實際軟件的開發(fā)過程,同學(xué)們對軟件測試課程的理解得到了加深。
3 結(jié)論及下一步工作
通過上文對教學(xué)現(xiàn)狀的總結(jié),以及針對教學(xué)現(xiàn)狀的利弊進行分析,本文充分利用外部優(yōu)勢大膽進行了軟件測試的教學(xué)改革,取得了預(yù)期的改革目標(biāo)。同時也注意到改革工作才剛剛開始,還有很多需要完善的地方。接下來的工作主要包括:進一步豐富用于軟件測試教學(xué)的案例及密切關(guān)注業(yè)界測試技術(shù)的最新發(fā)展以用于教學(xué)??傊?,本文的教改工作達到了預(yù)期的目標(biāo),使得同學(xué)們對于軟件測試的理解較之以前更加條理化、系統(tǒng)化和實用化。
參考文獻
[1] 匡青.高職院校軟件測試課程教學(xué)改革探索[J].現(xiàn)代商貿(mào)工業(yè),2010.3.
關(guān)鍵詞:軟件工程專業(yè);軟件測試課程;教學(xué)改革
前言
近年來,國內(nèi)外軟件市場越來越大,軟件企業(yè)也逐步朝著規(guī)范化、專業(yè)化的方向發(fā)展,這就對軟件工程人才提出了更高的要求。從當(dāng)前軟件企業(yè)的發(fā)展情況看,軟件測試人才是軟件企業(yè)發(fā)展急需的人才之一,因此,加強軟件測試人才的培養(yǎng)是當(dāng)前高職院校計算機軟件工程專業(yè)的重要任務(wù)。由于當(dāng)前高職軟件工程專業(yè)軟件測試課程教學(xué)還存在一定的不足,對此,必須立足于實際,全面推進高職軟件工程專業(yè)軟件測試課程教學(xué)改革。
1.軟件測試課程概述
隨著計算機信息技術(shù)的快速發(fā)展,計算機軟件在社會各行業(yè)的應(yīng)用越來越廣泛,同時人們對軟件產(chǎn)品的質(zhì)量要求也越來越高。但是從當(dāng)前的軟件產(chǎn)品質(zhì)量看,還存在很多問題,即便是非常成熟,已經(jīng)得到廣泛使用的軟件產(chǎn)品,還會出現(xiàn)一些問題,這時就需要通過軟件測試來對這些問題進行尋找。所謂的軟件測試就是在軟件開發(fā)過程中,將軟件中隱藏的缺陷、錯誤尋找出來,確保軟件的質(zhì)量符合相關(guān)規(guī)定。近年來,隨著軟件產(chǎn)品的復(fù)雜化程度加強,軟件測試也越來越受歡迎,同時各個高校相繼開設(shè)了軟件測試課程,以期為社會培養(yǎng)更多的軟件測試人才。對于高職院校的軟件測試課程教材,其內(nèi)容大多是簡單的介紹關(guān)于軟件測試的理論方法,并沒有詳細(xì)的介紹軟件測試的方法、實現(xiàn)過程,也沒有通過具體的案例詳細(xì)的講解軟件測試過程,從而導(dǎo)致學(xué)生無法靈活的應(yīng)用學(xué)到的軟件測試知識,因此,注重高職軟件工程專業(yè)軟件測試課程教學(xué)改革十分重要。
2.高職軟件工程專業(yè)軟件測試課程教學(xué)現(xiàn)狀
對于當(dāng)前的高職軟件工程專業(yè)軟件測試課程教學(xué),還存在一定的問題,首先是在教學(xué)過程中,理論教學(xué)和實踐教學(xué)的結(jié)合比較少,從而導(dǎo)致學(xué)生的動手能力比較差。在軟件測試課程中,有很多知識是關(guān)于測試?yán)碚?,這部分知識如果讓學(xué)生單純的進行理解,學(xué)生會感覺很苦難,但是通過實踐練習(xí),則可以讓學(xué)生很輕松的理解這些知識,但是當(dāng)前的高職軟件測試課程教學(xué)中,缺乏充足的實踐訓(xùn)練項目,使得學(xué)生實踐練習(xí)不足,從而造成理論與實踐相互脫節(jié)。其次,在高職軟件測試課程教學(xué)中,還存在學(xué)生錯誤理解軟件測試的現(xiàn)象,在學(xué)生看來,軟件測試是比軟件開發(fā)低一個層次的,學(xué)生錯誤的認(rèn)為自己是沒有能力做軟件開發(fā),所以才會做軟件測試,所以,學(xué)生對軟件測試課程的興趣很低,認(rèn)為學(xué)習(xí)軟件測試沒有什么前途,最終對軟件測試課程教學(xué)帶來極大的負(fù)面影響。
3.高職軟件工程專業(yè)軟件測試課程教學(xué)改革方法
(1)合理組織教學(xué)內(nèi)容。在新環(huán)境下,高職院校必須積極的推進軟件測試課程教學(xué)改革,這樣才能為軟件測試課程教學(xué)質(zhì)量的提高打下良好基礎(chǔ)。通過對高職軟件工程專業(yè)軟件測試課程教學(xué)現(xiàn)狀進行分析,可以看出,教學(xué)內(nèi)容設(shè)置不合理是影響高職軟件測試課程教學(xué)質(zhì)量的重要因素,因此,在新時期,高職院校需要結(jié)合實際情況,合理的改革軟件測試課程教學(xué)內(nèi)容。對于軟件測試課程,其涉及到的知識點比較多,并且這些知識點需要經(jīng)過多次實踐練習(xí),才能讓學(xué)生全面掌握,對此,高職院??梢詫④浖y試課程的內(nèi)容分層設(shè)置,如分成基礎(chǔ)知識、專業(yè)知識、自動化測試技術(shù)知識、系統(tǒng)測試、設(shè)計測試、可靠性測試等多個層次,對學(xué)生進行分層教學(xué),確保學(xué)生能全面掌握軟件測試課程中的知識。另外,在軟件測試課程教學(xué)中,高職院??梢愿鶕?jù)實際情況,設(shè)置一些軟件測試的其他課程,如《軟件測試?yán)碚?、方法》、《軟件測試系統(tǒng)訓(xùn)練》等,讓學(xué)生更加全面的了解軟件測試在軟件開發(fā)中的重要性,全方位培養(yǎng)學(xué)生的軟件測試職業(yè)技能和職業(yè)素養(yǎng)。
(2)加強實踐訓(xùn)練。對于軟件測試課程,其實踐性非常強,有很多知識學(xué)生只能在實踐中掌握,因此,在進行高職軟件工程專業(yè)軟件測試課程教學(xué)改革中,要特別注重軟件測試實踐訓(xùn)練的加強。在高職院校教育教學(xué)中,實習(xí)是一個十分重要的實踐環(huán)節(jié),實習(xí)環(huán)節(jié)的合理組織對于激發(fā)學(xué)生對軟件測試的興趣,提高學(xué)生的軟件測試技能有極大的幫助,此外,通過生產(chǎn)實習(xí),還能讓學(xué)生學(xué)會如何將學(xué)到的知識應(yīng)用在實際中,因此,在高職軟件測試教學(xué)中,要特別注重實習(xí)環(huán)節(jié)的合理安排,實現(xiàn)理論教學(xué)和實踐教學(xué)的有效結(jié)合,保證學(xué)生能在實踐中理解知識、掌握知識,并在實踐中發(fā)現(xiàn)自身的不足,加以彌補,從而為學(xué)生的全面發(fā)展打下良好基礎(chǔ)。
(3)加大師資力量的建設(shè)。對于高職軟件測試課程的教師,不僅需要具備豐富的理論知識,還需要具有良好的實踐經(jīng)驗,因此,在推進高職軟件工程專業(yè)軟件測試課程教學(xué)改革時,高職院校還要注重教師隊伍的建設(shè),這樣才能為軟件測試課程教學(xué)活動的開展提供豐富的師資資源。高職院??梢愿鶕?jù)在校教師的實際情況,制定合理的培訓(xùn)內(nèi)容,對于理論知識豐富,實踐經(jīng)驗不足的教師,引導(dǎo)其多進行實踐學(xué)習(xí);對于理論知識不足,實踐經(jīng)驗豐富的教師,引導(dǎo)其進行理論知識學(xué)習(xí),確保軟件測試課程的教師能滿足課程教學(xué)活動的開展需求。
4.總結(jié)
在新時期,軟件測試課程已經(jīng)成為高職軟件工程專業(yè)一門十分重要的課程,為全面促進軟件測試人才的培養(yǎng),高職院校要結(jié)合實際情況,推進軟件測試課程教學(xué)改革,不斷優(yōu)化教學(xué)資源配置,全面提高軟件測試課程教學(xué)質(zhì)量。
參考文獻:
[1]宋亮.高職軟件工程專業(yè)軟件測試課程教學(xué)改革探討[J].中小企業(yè)管理與科技旬刊,2013(31):231.
[2]廖遠(yuǎn)來.高職《軟件工程》課程教學(xué)改革探索[J].現(xiàn)代計算機:專業(yè)版,2012(25):39-42.
我院從2004年即開設(shè)了軟件測試方向,在培養(yǎng)方案、課程體系、實踐環(huán)節(jié)等方面作了大量的探索、研究和實踐工作,取得了一些成效,也遇到了許多問題。本文對我院的軟件測試技術(shù)人才的培養(yǎng)模式進行分析和總結(jié),希望能拋磚引玉,與同行交流。
1兩年制軟件測試方向課程體系的特點
兩年制軟件測試人才培養(yǎng)的特點主要有:
(1) 學(xué)制短,只有兩年;
(2) 目標(biāo)是培養(yǎng)實用型軟件測試技術(shù)人才;
(3) 要具備一定的編程能力。
上述特點決定了軟件測試人才的課程體系的特點:
(1) 方向即專業(yè)由于學(xué)制短(兩年),除了第四學(xué)期的畢業(yè)實訓(xùn),實際上真正上課時間只有三個學(xué)期。所以軟件職業(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)絡(luò)、軟件工程,以及至少一門主流程序設(shè)計語言等。
(3) 課程緊湊、課時多由于相對于其他專業(yè)來講,軟件測試方向的學(xué)生要學(xué)習(xí)更多的課程,所以課時就多,課程安排緊湊。
(4) 實用性和實時性作為實用型軟件測試人才,學(xué)生必須掌握當(dāng)前主流的測試工具、實用測試技術(shù)和方法等。所以課程體系必須要具備實用性和實時性。
2課程的設(shè)置
在設(shè)置課程時,我們進行了大量的調(diào)研,經(jīng)過2004級和2005級兩屆學(xué)生的培養(yǎng)實踐,針對培養(yǎng)效果,進行了一些分析和課程改革。目前2006級的課程設(shè)置是在掌握基本的軟件技術(shù)基礎(chǔ)知識和一門主流程序設(shè)計語言的基礎(chǔ)上,開設(shè)了“軟件測試技術(shù)”、“功能測試與性能測試”、“測試管理”等軟件測試專業(yè)課程。
主要專業(yè)課程設(shè)置見表1。
從功能上講,課程的設(shè)置可以分成5個部分,對應(yīng)學(xué)生不同層次能力的培養(yǎng)。
第一部分程序設(shè)計能力、工程化開發(fā)思想的培養(yǎng)。該部分的課程主要包括VB、Java、數(shù)據(jù)結(jié)構(gòu)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、軟件工程等,主要是軟件技術(shù)基礎(chǔ)知識的學(xué)習(xí),培養(yǎng)學(xué)生基本的程序設(shè)計能力,使之具備軟件技術(shù)人才的基本素養(yǎng),同時軟件工程等培養(yǎng)學(xué)生工程化和規(guī)范化的軟件開發(fā)思想。采用Java作為主要編程語言,將另一主流語言C#作為選修課,體現(xiàn)課程設(shè)置的靈活性。
在編程的課時和基礎(chǔ)訓(xùn)練上和軟件技術(shù)專業(yè)編碼方向的學(xué)生一樣,設(shè)置的原則:首先是一個軟件測試人員必須具有基本的編程能力和經(jīng)驗,才能更好地搞好軟件測試工作。第二是根據(jù)當(dāng)前軟件企業(yè)的人才需求考慮學(xué)生的就業(yè),因為河南省絕大多數(shù)軟件企業(yè)規(guī)模都較小,設(shè)置專職的軟件測試崗位的較少,程序員通常又是測試員,所以使學(xué)生既能編程又能測試,拓寬就業(yè)渠道。
第二部分軟件測試基礎(chǔ)知識。主要是“軟件測試技術(shù)”課程,側(cè)重于測試?yán)碚摵图夹g(shù)的掌握、搭建測試環(huán)境、測試工程師的基本職業(yè)素養(yǎng)培養(yǎng)。使學(xué)生在學(xué)習(xí)編程的同時,掌握對應(yīng)的測試技術(shù)概念和基本知識。為進一步的實際項目測試打下基礎(chǔ)。該部分對應(yīng)有2周的一級集中實踐課題,進行基本的測試訓(xùn)練。
第三部分主流測試技術(shù)和工具的掌握和使用、實際測試能力的強化和提高。對應(yīng)的課程是“性能測試與功能測試”,該課程主要是結(jié)合實際的軟件項目,介紹主流的測試技術(shù)和測試工具的使用,但并不只是性能測試與功能測試。該部分對應(yīng)有3周的二級集中實踐課題,分組進行實際的測試訓(xùn)練。
第四部分測試項目管理能力培養(yǎng)。主要課程為“軟件測試管理”,培養(yǎng)學(xué)生工程化的測試思想,學(xué)習(xí)主流測試管理方法和工具的應(yīng)用。該部分對應(yīng)有3周的三級集中實踐課題,訓(xùn)練項目的測試過程管理和測試管理工具的使用。
第五部分綜合測試能力培養(yǎng),即畢業(yè)實訓(xùn)。該實訓(xùn)為最后一個學(xué)期,學(xué)生到軟件企業(yè)或?qū)嵱?xùn)基地參加實際的軟件項目開發(fā)和測試,進行實境實習(xí),綜合地運用所學(xué)的測試和編程技術(shù)。
3實踐環(huán)節(jié)
培養(yǎng)過程的實施可以歸結(jié)為“夯實基礎(chǔ),強化訓(xùn)練”,夯實基礎(chǔ)即培養(yǎng)基本的編程能力和掌握基本的測試技術(shù)。強化訓(xùn)練即強調(diào)實際能力的培養(yǎng),通過對實際的軟件項目進行測試訓(xùn)練,使學(xué)生熟練掌握主流的測試技術(shù)和測試工具的使用。
為了加強實際能力的培養(yǎng),在正常教學(xué)的實踐外,我們還在第1~3學(xué)期分別設(shè)置了一級、二級、三級集中實踐課題,并要求軟件測試方向的學(xué)生要與軟件編碼方向的學(xué)生組合協(xié)作進行,專門負(fù)責(zé)相應(yīng)的軟件測試工作。使學(xué)生感受到測試工作的重要性,同時培養(yǎng)其協(xié)作能力。一級和二級實踐課題主要為驗證型,三級實踐課題則為設(shè)計型。
第4學(xué)期為畢業(yè)實訓(xùn),采用實地場景教學(xué),對實際的應(yīng)用項目進行測試,角色模擬,項目驅(qū)動。該階段從測試需求分析開始,一直到測試總結(jié)報告的撰寫,貫穿一個完整項目的開發(fā)和測試整個過程。是對學(xué)生所學(xué)知識的一個總結(jié)和綜合利用的強化。
各實踐環(huán)節(jié)環(huán)環(huán)相扣,循序漸進,由易到難,由單一到綜合,形成一個完整的實踐體系。
集中實踐環(huán)節(jié)安排見表2。
4測試工具的選擇
由于軟件測試工具較多,而兩年制課時太緊張,所以只能學(xué)習(xí)常用測試工具的使用。我們選用的主要自動化測試工具見表3。
通過測試工具的使用,可以加深對測試原理和理論的理解,掌握主流的測試技術(shù)和方法。
5遇到的問題及采取的措施
軟件測試人才作為剛興起的職業(yè)技術(shù)人才,在培養(yǎng)過程中必然會遇到許多問題,相信這些問題也是其他院校在培養(yǎng)軟件測試人才時遇到的共性問題,我們針對這些問題采取了許多有效的措施,不斷改進。
(1) 對口就業(yè)較難
主要原因是我國“重開發(fā),輕測試”的現(xiàn)象過于嚴(yá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è)。
當(dāng)然我們也采取了有效措施,如在前期強化基本的編程訓(xùn)練,使學(xué)生既能搞開發(fā),也能搞測試,提高就業(yè)的靈活性。
(2) 教材少
軟件測試作為一個新的專業(yè)(方向),目前還沒有成體系的軟件測試系列教材,所以在選教材時只能選與教學(xué)大綱內(nèi)容相近的教材或技術(shù)書,或自己編寫講義。但給講師授課帶來許多困難。當(dāng)然要很好地解決該問題需要教育管理部門和眾多同行的共同努力。
(3) 測試項目實例缺乏
由于測試項目都屬于公司內(nèi)部資料,一般很難獲得,不像通用應(yīng)用程序模塊一樣在網(wǎng)上可隨意找到。對此我們組織設(shè)計了一些測試案例,同時從合作的軟件公司獲取了一些實際項目案例,使學(xué)生能在實境中實踐。畢業(yè)實訓(xùn)時大部分學(xué)生則直接到軟件公司進行實地實習(xí)。
(4) 師資力量薄弱
師資是保證教學(xué)質(zhì)量的關(guān)鍵,開始時師資力量較薄弱,我們采取的措施有:挑選有實際項目開發(fā)經(jīng)驗的老師來授課、從IT公司引進專業(yè)測試工程師、將有一定測試工作經(jīng)驗的老師送出去加強培訓(xùn)等。另外還不定期聘請IT公司的測試專家來做專業(yè)講座,拓展學(xué)生的知識面。
關(guān)鍵詞:市場需求;軟件測試;課程體系
中圖分類號:G64文獻標(biāo)識碼: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)教育體制重學(xué)歷教育,輕職業(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è)認(rèn)識到測試的重要性,但是由于國內(nèi)測試人才的儲備相對較少,據(jù)國家權(quán)威部門統(tǒng)計,中國軟件人才缺口超過100萬人,其中很大一部分為軟件測試人才,缺口達到30~40萬。但由于軟件測試的重要性是近幾年才被充分認(rèn)識到的,高校教育和企業(yè)培養(yǎng)都還沒有跟上,致使軟件測試需求嚴(yán)重供不應(yīng)求。
分析年度軟件測試行業(yè)專項調(diào)查報告,目前對測試人員的素質(zhì)和要求逐步提高,測試人員不僅應(yīng)掌握相關(guān)計算機知識背景、軟件工程基本知識、熟悉項目編程語言、熟悉項目技術(shù)架構(gòu)及需求內(nèi)容,而且要求工作有責(zé)任感、獨立分析能力及團隊精神等方面。其中“動手能力”和“實際經(jīng)驗”是軟件企業(yè)在招聘軟件測試人員時最為看重的,而這也恰恰是很多求職者的“軟肋”。
2現(xiàn)有軟件測試課程體系存在的問題
2007年,我校軟件學(xué)院認(rèn)證管理中心被授予計算機軟件測試人才培養(yǎng)基地。軟件學(xué)院軟件工程專業(yè)以及軟件技術(shù)專業(yè)均開設(shè)有軟件測試相關(guān)課程。由于軟件測試是一門實踐性很強的課程,應(yīng)采用精講多練的原則開展教學(xué),即學(xué)生通過大量的上機實踐,循序漸進地提高自身的軟件測試用例設(shè)計、開發(fā)、執(zhí)行能力以及軟件測試的管理能力。但在具體實踐教學(xué)組織中,教師普遍感覺有許多不如意的地方,具體存在的問題有:
1)對實踐課程的認(rèn)識程度和重視程度不夠,軟件測試開展的不夠徹底,測試過程中存在大量的不規(guī)范性;
2)缺乏合適的教材,同時教師缺乏相應(yīng)的實戰(zhàn)經(jīng)驗,導(dǎo)致教學(xué)上知識結(jié)構(gòu)不合理,教學(xué)內(nèi)容與具體應(yīng)用脫節(jié),盡管教師都能很好的講解軟件測試?yán)碚撝R,但卻由于缺乏合適的測試案例,沒有將理論教學(xué)內(nèi)容和最新相關(guān)技術(shù)結(jié)合,使得學(xué)生思維局限性大,并沒有真正提高學(xué)生自主思考的能力和創(chuàng)造性思維。
3)教學(xué)方法和手段因循守舊,學(xué)生對軟件測試職業(yè)存在一些片面的,甚至是錯誤的理解。
3基于人才市場需求的《軟件測試技術(shù)》課程體系研究
基于人才市場需求的軟件測試技術(shù)課程體系研究主要是分析目前人才市場對軟件測試行業(yè)人才的崗位需求,掌握軟件測試人才需要具備的職業(yè)素質(zhì),同時調(diào)查研究在學(xué)生對前續(xù)課程的掌握情況,以及目前所具備的相關(guān)職業(yè)素養(yǎng)的程度,計劃從技術(shù)、溝通協(xié)調(diào)能力、經(jīng)驗和技能、綜合素質(zhì)能力等方面分別對崗位需求和學(xué)生水平展開調(diào)研。
3.1課程體系目標(biāo)定位
我校軟件工程專業(yè)的培養(yǎng)目標(biāo)是培養(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ǔ),測試?yán)碚撆c技術(shù)為核心,進行課程體系設(shè)置。理論教學(xué)目的是讓學(xué)生深刻理解軟件測試思想和基本理論;熟悉多種軟件的測試方法、相關(guān)技術(shù)和系統(tǒng)地軟件測試過程;會熟練編寫測試計劃,測試用例,測試報告,并熟悉幾種自動化測試工具,從而從工程化角度提高和培養(yǎng)學(xué)生從事大型軟件的測試技術(shù)和能力。
同時在實踐環(huán)節(jié),要求學(xué)生通過實驗學(xué)習(xí),培養(yǎng)與提高項目測試過程中采用的主要技術(shù)、設(shè)計測試用例、編寫測試總結(jié)報告等能力,激發(fā)學(xué)生創(chuàng)新精神和創(chuàng)新能力,具體應(yīng)達到下列基本要求。1)使學(xué)生掌握分析問題和解決問題的技巧,通過具體實驗使學(xué)生掌握常用的黑盒測試技術(shù)、白盒測試技術(shù)、自動化測試工具。2)讓學(xué)生了解測試流程,掌握測試總結(jié)報告的編寫。通過實驗使學(xué)生理解軟件缺陷的描述,并能結(jié)合項目設(shè)計出較完善的測試用例。
3)了解Web系統(tǒng)的測試范圍,使學(xué)生能在應(yīng)用場景下聯(lián)系實際和所學(xué)知識分析和解決問題,縮短理論和實踐的距離。
3.2課程教學(xué)內(nèi)容選取
結(jié)合課程體系目標(biāo)定位,該課程在教學(xué)內(nèi)容選取上主要是基于人才市場需求,厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用??倢W(xué)時共72學(xué)時,其中理論和實踐各36學(xué)時。結(jié)合課堂教學(xué)和實踐教學(xué),軟件測試技術(shù)課程包括以下幾部分:
1)軟件測試基本理論及方法:包括軟件測試的概念、測試的原則、用例的設(shè)計、各種測試方法及技巧,測試策略。同時通過實驗掌握軟件測試的步驟、方法及常見問題的處理。
2)測試流程及文檔寫作:軟件測試流程、各階段的文檔編寫;書寫測試計、測試用例、測試報告、產(chǎn)品安裝手冊、產(chǎn)品使用手冊。在實踐環(huán)節(jié),通過SATM系統(tǒng)讓學(xué)生掌握軟件測試流程各個階段的相關(guān)技術(shù)、測試相關(guān)文檔的寫作技巧。
3)系統(tǒng)學(xué)習(xí)軟件測試的各種工具,包括:自動測試工具WinRunner;壓力測試工具LoadRunner;測試管理工具Testdirector;流程管理工具CVS;JAVA單元測試工具Junit。要求學(xué)生掌握自動化測試?yán)碚撆c方法,熟練使用常見測試工具。
4)軟件過程控制與質(zhì)量保證:軟件質(zhì)量的概念及軟件質(zhì)量管理的基本方法;測試項目的范圍管理、人員組織結(jié)構(gòu)、理解測試的配置管理、風(fēng)險管理、成本管理等。
5)項目實訓(xùn):引入具有真實企業(yè)背景的軟件測試案例,充分考慮人才市場的需求,突出強調(diào)工學(xué)結(jié)合的重要性。通過實際項目掌握實際工作中開發(fā)和測試的流程,使用相關(guān)工具,完成各種測試目標(biāo),實現(xiàn)軟件測試實踐環(huán)節(jié)單項專業(yè)知識與整體技能綜合運用的目標(biāo),提高測試能力和積累相關(guān)經(jīng)驗。
3.3課程教學(xué)方法設(shè)計
為構(gòu)建厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系,在教學(xué)過程中,需要把技能訓(xùn)練和職業(yè)素質(zhì)培養(yǎng)有機結(jié)合起來,注重學(xué)生綜合能力的培養(yǎng)與提高,突出強調(diào)職業(yè)崗位針對性。提高學(xué)生綜合運用所學(xué)知識發(fā)現(xiàn)問題、分析問題、解決問題的能力,進而培養(yǎng)學(xué)生的技術(shù)應(yīng)用和技術(shù)創(chuàng)新能力。在教學(xué)方法設(shè)計上做了一下改進:
1)突出工學(xué)結(jié)合:在講解基本理論知識的基礎(chǔ)上,引入具有真實背景的軟件測試案例,并結(jié)合理論知識講解將案例進行改造,使案例的分析應(yīng)用與理論知識相呼應(yīng)。目前市場上IT公司在招聘測試人員時按照所需技能的不同,將測試人員分為三個等級,分別為初級測試工程師、中級測試工程師和高級測試工程師。分析不同等級的要求,在教學(xué)過程中,主要針對初級和中級的技能要求循序漸近的展開教學(xué)。使通過此教學(xué)改進,既彌補了教師缺乏實戰(zhàn)經(jīng)驗帶來的不足,也使學(xué)生能較真實的接觸到實際應(yīng)用,從一定程度上實現(xiàn)了人才培養(yǎng)與市場需求的接軌。
2)強調(diào)團隊合作:在教學(xué)過程中實施“1-7”模式,即在實驗課教學(xué)中,采用團隊合作的方式,分組完成各項任務(wù)。在實驗初期由教師合理分配各團隊成員間的任務(wù),培養(yǎng)學(xué)生的基本崗位技能。經(jīng)過兩個實驗任務(wù)的完成,每個團隊挑出一名同學(xué)為項目組長,模擬公司招聘的形式,招聘4~6個組員組建自己的團隊。后期實驗任務(wù)的分工由團隊組長負(fù)責(zé)項目進展、分工協(xié)作、制定測試計劃等工作,其他小組成員則按要求完成自己的工作,如編寫測試策略、設(shè)計測試用例、撰寫測試報告等,教師主要起引導(dǎo)作用,充分發(fā)揮以學(xué)生為主體。為了全面培養(yǎng)學(xué)生,在不同的任務(wù)中,組員通過角色互換,充分發(fā)揮其溝通能力及綜合技術(shù)能力。在學(xué)期末,通過團隊評比,以提高平時成績的形式對表現(xiàn)優(yōu)秀的團隊進行獎勵。通過此教學(xué)手段,可以培養(yǎng)加強學(xué)生面試技巧、溝通能力、團隊意識、競爭意識等職業(yè)素質(zhì)的培養(yǎng)。
4結(jié)束語
基于人才市場需求的《軟件測試技術(shù)》課程體系研究定位在對人才市場的實際需求分析之上,針對軟件測試人才的特點要求,把行業(yè)、企業(yè)對人才的要求轉(zhuǎn)化為教學(xué)中的具體目標(biāo)。構(gòu)建厚基礎(chǔ)、強技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。
參考文獻:
[1]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學(xué)出版社,2010.
[2]古樂.軟件測試案例與實踐教程[M].北京:清華大學(xué)出版社,2007.
[3]馬民生,馬友忠,任剛.以就業(yè)為導(dǎo)向的軟件測試實踐課課程改革[J].電腦知識與技術(shù),2010(4):241-242.
[4]劉偉.獨立學(xué)院軟件測試課程的教學(xué)探索與實踐[J].廣西教育.2009(24):31-33.
關(guān)鍵詞:軟件測試;測試工具;測試管理;企業(yè)需求
中圖分類號:G642 文獻標(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ù)開始形成,經(jīng)過三十多年的發(fā)展,軟件測試在軟件開發(fā)行業(yè)中的角色越來越重要,我們目前評價軟件測試,它即需要工具和技術(shù)的支持,更需要有科學(xué)的管理體制,它既要保證軟件能夠健壯運行,又要保證軟件的功能完全符合客戶的需求,一個好的測試隊伍,是軟件開發(fā)必不可少的依靠,尤其是復(fù)雜的軟件項目,開發(fā)和測試要親如手足,才能保證項目的順利進行。
目前高校的軟件相關(guān)專業(yè)的畢業(yè)生,大約有1/5的人在5年之內(nèi)從事過或最終從事軟件測試相關(guān)的職業(yè),這是一個相當(dāng)大的比重,同時也反應(yīng)出社會上對軟件測試職業(yè)的缺口很大,眾所周知,高等教育往往落后于企業(yè)的實際發(fā)展,這種“厚基礎(chǔ),寬口徑”的辦學(xué)宗旨已經(jīng)盛行了很多年,當(dāng)然,在許多專業(yè)領(lǐng)域,這種以不變應(yīng)萬變的培養(yǎng)體系是最明智的選擇,但在計算機軟件教學(xué)領(lǐng)域,因為這個學(xué)科的發(fā)展速度幾乎超乎人類的想象,因此我們必須讓學(xué)生在校園里感受到計算機企業(yè)中對計算機技術(shù)的需求方向,這樣才不至于在學(xué)生走出校園時無所適從。軟件測試職業(yè)的職位待遇穩(wěn)步提升,而且其職業(yè)壽命要遠(yuǎn)遠(yuǎn)長于軟件開發(fā),從學(xué)生的職業(yè)規(guī)劃角度來看,在高校進行軟件測試中高級人才的培養(yǎng)是一條可行之路。
1 高校開設(shè)軟件測試課程的必要性
事實上,在高校計算機教學(xué)體系中開設(shè)軟件測試課程,并不單單是為了迎合企業(yè)的需求,軟件測試是軟件工程課程的延伸,是軟件開發(fā)課程的補充,是軟件管理課程的實踐。
軟件測試課程的基礎(chǔ)學(xué)科涉及數(shù)學(xué)、計算機導(dǎo)論、軟件工程、計算機組成、管理學(xué)和信息技術(shù)等,如果沒有這些學(xué)科的支撐,軟件測試無法深入學(xué)習(xí)。
軟件測試課程的開設(shè),對高校計算機軟件專業(yè)的學(xué)生來講,是有著非常大的意義的,目前很多大型的軟件企業(yè)并不擔(dān)心開發(fā)人員的招聘,而對熟練掌握軟件測試技術(shù)和管理方法的高級測試人員求賢若渴,這一方向的職業(yè)缺口確實非常之大,究其原因就是目前幾乎所有高校的軟件相關(guān)專業(yè)都開設(shè)了軟件開發(fā)從技術(shù)到管理的全套課程,而軟件測試的相關(guān)課程幾乎為零,這樣的學(xué)生走出去,很難迅速掌握測試的理念,也無力制定宏觀測試計劃,不得不從測試行業(yè)最低端的測試員開始做起,這對于高校畢業(yè)生來講這是一種人才的浪費,在高校的計算機課程體系加入軟件測試內(nèi)容已經(jīng)迫在眉睫。
在任何一個行業(yè),從業(yè)人員對行業(yè)的成熟度區(qū)分,是企業(yè)招聘首先要考慮的問題,我們經(jīng)常在招聘信息中看到“有工作經(jīng)驗”這樣的條款,在軟件測試行業(yè)也是如此,一般給出5種分級:1級我們稱之為用戶級測試人員,這一級別的測試人員直接扮演客戶的角色來使用軟件,看是否能發(fā)現(xiàn)問題;2級是軟件測試操作員,這類人群受過一定程度軟件測試的專門訓(xùn)練,可以執(zhí)行上級下達的具體測試任務(wù);3級是軟件測試技術(shù)員,這一職位人群有很多軟件測試的經(jīng)驗,能夠非常熟練的使用某些軟件測試專門技術(shù),能夠設(shè)計測試用例;4級是軟件測試系統(tǒng)工程師,他們具有相當(dāng)廣泛的計算機相關(guān)專業(yè)知識,熟悉軟件開發(fā),熟練掌握所有軟件測試技術(shù),并具有項目管理經(jīng)驗;5級是軟件測試總工程師,總工程師負(fù)責(zé)管理整個軟件測試項目,具有掌控全局的能力和技術(shù)。
高校軟件測試人才的培養(yǎng),其目標(biāo)要向3級人才靠近,并且這些人才有向4級或5級成長的持續(xù)發(fā)展能力。
2 軟件測試教學(xué)中需要重視的兩個問題
2.1扭轉(zhuǎn)重開發(fā),輕測試的偏見思想
很多人輕視軟件測試,認(rèn)為軟件測試無需具備很高的技能,是沒有前途的工作,缺乏創(chuàng)造性,很多高校也存在重開發(fā),輕測試的思想,學(xué)生在這種觀點的熏陶下,也對測試工作存在偏見,其中對軟件測試工作有三個認(rèn)識誤區(qū)尤為突出:首先,軟件測試是軟件開發(fā)完成之后才進行的,只是軟件編碼的最后一個階段,其地位可有可無。其次,軟件測試不需要具備很高的專業(yè)技能,工作乏味枯燥,不具創(chuàng)造性,最后,軟件投入使用后一旦出現(xiàn)BUG,測試人員要負(fù)主要責(zé)任。
事實上,首先,一個好的軟件測試團隊,在軟件需求分析階段就已經(jīng)開始測試了,開發(fā)人員理解的客戶需求是否正確,要由測試人員監(jiān)控和保證,測試工作和開發(fā)工作是并行的,尤其在軟件項目開始的時候,監(jiān)控和防范一個微小的問題或隱患,是為了防止軟件成型后出現(xiàn)無法挽回的缺陷。其次,軟件測試是一項綜合技能能強的工作,運用測試工具的能力,與人溝通的能力,有效管理的能力,書寫文案的能力等等,做好軟件測試工作絕對不是想象的那么簡單,而且一旦具備了綜合測試的素質(zhì),將是受用終身的資本。最后,軟件測試規(guī)范實施后,軟件仍然可能出現(xiàn)BUG,這是開發(fā)和測試人員應(yīng)該共同面對的現(xiàn)實問題,測試人員只能保證BUG越來越少,越來越不影響系統(tǒng)的健壯運行。
2.2強調(diào)管理與技術(shù)并重
軟件測試的規(guī)范實施需要測試技術(shù)和管理方法兩方面的支撐,如果不具備專業(yè)的測試技術(shù),只能做一些簡單的功能測試,如果不具備宏觀管理計劃的能力,只能處于被指揮狀態(tài)進行片面測試的實施,現(xiàn)在軟件測試真正缺少的是技術(shù)和管理兼?zhèn)涞娜瞬牛咝5膶W(xué)生素質(zhì)非常適合軟件測試高端人才的培養(yǎng)。高校的培養(yǎng)中,要讓學(xué)生深刻理解,我們培養(yǎng)的學(xué)生不是只能低頭做測試任務(wù),而是要能指揮測試工作,這絕對不是件簡單的工作,需要全面的技能和完善的人格,只有這樣的人才,才能帶領(lǐng)出出色的測試隊伍。
教學(xué)中,增加實訓(xùn)環(huán)節(jié),給學(xué)生安排豐富的實例和習(xí)題,最好采用實際軟件項目的測試案例,讓學(xué)生在學(xué)校感受到企業(yè)中一樣的工作環(huán)境,并安排和企業(yè)中一樣的測試崗位,讓學(xué)生體會溝通和管理的必要,在獨立處理問題的過程中激發(fā)學(xué)生的學(xué)習(xí)興趣,促進理論和實踐教學(xué)的結(jié)合,把對學(xué)生的應(yīng)用能力的培養(yǎng)融匯于教學(xué)中。
3 軟件測試專業(yè)課程設(shè)計的目標(biāo)和原則
軟件測試專業(yè)要全方位的培養(yǎng)和提高學(xué)生的基礎(chǔ)理論、實踐能力、設(shè)計能力、實踐訓(xùn)練等綜合素質(zhì)。重視管理、人文、經(jīng)濟等知識的學(xué)習(xí)。
3.1軟件測試專業(yè)課程設(shè)計的目標(biāo)
高校軟件測試培養(yǎng)目標(biāo)要以市場為導(dǎo)向,培養(yǎng)具有一定的設(shè)計測試計劃方案的、具有管理能力,能平衡整個測試項目各方面因素的軟件人才,這些人才要具備軟件開發(fā)的整體認(rèn)識,能制定和執(zhí)行測試,能利用測試工具完成一定測試任務(wù)。
本專業(yè)課程的重點包括:軟件缺陷生命周期管理;軟件測試基本概念的內(nèi)涵;主流測試工具的應(yīng)用;進行全面的系統(tǒng)測試的方法;注課程以實訓(xùn)為主,重動手能力的培養(yǎng)等。 具體課程要涵蓋:熟練掌握至少一種數(shù)據(jù)庫應(yīng)用技術(shù)及一門軟件開發(fā)語言;了解軟件開發(fā)過程中軟件測試的重要性;掌握主流的自動化測試工具;科學(xué)管理測試隊伍。
3.2軟件測試專業(yè)課程設(shè)計的原則
課程的設(shè)計要體現(xiàn)與時俱進的精神,以企業(yè)的實際項目為依托,主要原則包括:
1)開展項目教學(xué),項目教學(xué)具有針對性、研究性、啟發(fā)性和實踐性等。項目的選擇要知識涵蓋全面,要能夠激起學(xué)生的學(xué)習(xí)興趣。
2)制定專業(yè)課程計劃、課程大綱和教學(xué)方案等,課程計劃提倡電子化、網(wǎng)絡(luò)化和課堂教學(xué)并用,建設(shè)校企合作的專兼結(jié)合的教學(xué)團隊,開設(shè)以項目為載體的教育大綱,用以指導(dǎo)課程教學(xué)工作的開展。
3)建立測試工程內(nèi)容的課程結(jié)構(gòu)模式,把真正的測試項目開展到課堂上來,或者讓學(xué)生在學(xué)習(xí)期間進入企業(yè)進行崗前培訓(xùn),充分安排工程實踐,引進軟件測試的工程師資格認(rèn)證,同時逐步建立科學(xué)的工程教育檢驗和質(zhì)量評估體系。
理論與實踐并重,課程需要涵蓋單元測試、集成測試、性能測試、功能測試與系統(tǒng)測試。注重設(shè)計和管理的執(zhí)行過程。為學(xué)生創(chuàng)造可自由而主動的學(xué)習(xí)氛圍。以學(xué)生為出發(fā)點,在軟件測試中融會貫通大學(xué)里學(xué)習(xí)的軟件相關(guān)課程,在項目驅(qū)使下培養(yǎng)主動學(xué)習(xí)的能力。采用分組討論學(xué)習(xí)方式,結(jié)合實際項目,把學(xué)生組織為若干小組,在教師指導(dǎo)下完成工作。不斷提升學(xué)校教師的專能,提供系統(tǒng)學(xué)習(xí)和階段性培訓(xùn)機制。
4 總結(jié)
軟件測試課程在高校的教學(xué)中,沒有現(xiàn)成的經(jīng)驗和模式,需要我們根據(jù)行業(yè)的發(fā)展隨時調(diào)整,以社會需求為導(dǎo)向,以培養(yǎng)行業(yè)
中高級人才為目標(biāo),以項目實訓(xùn)教學(xué)為依托,邊進行邊思考,逐步發(fā)展,逐步穩(wěn)定,所以我們要以發(fā)展的眼光,靈活的策略來微調(diào)教學(xué)過程的細(xì)節(jié),測試無處不在,高校進行軟件測試的教學(xué)改革也是一種測試,只要我們采用嚴(yán)謹(jǐn)?shù)墓こ炭刂撇呗?,科學(xué)管理,總結(jié)規(guī)律,必然能取得高校進行軟件測試課程探索的勝利。
參考文獻:
[1] Ron Patton.軟件測試[M].北京:機械工業(yè)出版社,2002.
[2] Myers G J.軟件測試的藝術(shù)(中文版)[M].王峰,陳杰,譯.北京:機械工業(yè)出版社,2006.
隨著計算機軟件技術(shù)的高速發(fā)展,軟件測試在軟件開發(fā)過程中的地位也越來越重要,軟件測試是保證軟件質(zhì)量和可靠性的重要手段之一,軟件測試人才需求猛增,軟件測試已經(jīng)成為計算機專業(yè)的重點專業(yè)課程。傳統(tǒng)的軟件測試教學(xué)模式,測試?yán)碚摵蜏y試實踐嚴(yán)重脫節(jié),不能很好的滿足軟件企業(yè)對測試人才的要求。依托廣東東軟學(xué)院的特色教學(xué)實踐1321教學(xué)模式,進行以實踐能力和就業(yè)能力為導(dǎo)向的課程綜合實踐探索,深化教學(xué)改革,激發(fā)學(xué)生的興趣,讓學(xué)生貼近現(xiàn)實的工作場景中學(xué)習(xí),了解在軟件開發(fā)過程中測試崗位的工作過程和知識要點,培養(yǎng)學(xué)生軟件測試應(yīng)用技能型人才培養(yǎng)為目標(biāo)。
二、軟件測試課程實踐構(gòu)建的主要思路
軟件綜合實踐安排在大三課程開始之前的實踐學(xué)期進行,為期4個星期,每天4學(xué)時的實踐教學(xué)指導(dǎo),軟件測試專業(yè)的學(xué)生已經(jīng)學(xué)過專業(yè)基礎(chǔ)課《Java程序設(shè)計》、《計算機文化基礎(chǔ)》、《網(wǎng)頁設(shè)計》、《數(shù)據(jù)庫設(shè)計》、《軟件開發(fā)過程實踐》,專業(yè)課《軟件測試概論》、《功能測試》,學(xué)生初步具備了參與綜合實踐的專業(yè)素質(zhì)能力。在綜合實踐開發(fā)團隊中,將軟件開發(fā)專業(yè)、網(wǎng)站規(guī)劃與設(shè)計專業(yè)、數(shù)據(jù)庫管理專業(yè)、軟件測試專業(yè)和網(wǎng)絡(luò)技術(shù)的同學(xué),以3:1:1:1:1這樣的比例進行團隊建設(shè),從中選出一位同學(xué)兼職項目經(jīng)理,實現(xiàn)學(xué)生自主管理,配備具有雙師素質(zhì)的專業(yè)老師,一位教師負(fù)責(zé)指導(dǎo)5-7個團隊的項目開發(fā),當(dāng)需要進行專業(yè)指導(dǎo)時,臨時進行專業(yè)化實踐指導(dǎo),全方位分階段、分崗位進行進行全程交叉技術(shù)指導(dǎo),同時邀請合作單位的軟件工程師,同步進行項目過程的跟蹤,給予學(xué)生崗位最精準(zhǔn)的實踐指導(dǎo)。采用項目驅(qū)動的方法開展實踐教學(xué),通過開發(fā)真實的軟件項目,以軟件工程開發(fā)過程為導(dǎo)向,制定軟件綜合實踐——軟件測試方向的實踐方案,分階段進行實踐,選擇有較強的實踐性和創(chuàng)新性的項目給學(xué)生選題,選題要貼合實際項目,需求相對容易獲取,具有一定的創(chuàng)新性,能夠激發(fā)學(xué)生的學(xué)習(xí)興趣。首先需求的調(diào)研,需求的評審,編寫測試計劃,設(shè)計測試用例,測試執(zhí)行,測試記錄的跟蹤和測試總結(jié)報告,對每個測試階段進行教學(xué)設(shè)計,不斷的將所涉及到的知識點融入到實踐中,增強學(xué)生職業(yè)崗位素養(yǎng)能力,團隊合作的意識,同時探索以學(xué)生管理學(xué)生的模式進行實踐探索。
三、軟件綜合實踐測試崗位的工作過程與方法
在軟件綜合開發(fā)實踐過程中,對軟件測試崗位的同學(xué)依據(jù)軟件工程的理論進行指導(dǎo),結(jié)合企業(yè)的工作流程,采用分組的教學(xué)模式,采用軟件測試常用的W模型,進行教學(xué)指導(dǎo),培養(yǎng)學(xué)生的團隊合作能力,溝通能力,實踐能力。測試崗位的工作主要分成兩個三個部分,第一部分是需求的調(diào)研和評審,測試計劃中測試策略的選擇、任務(wù)的時間安排和測試用例的設(shè)計;第二部分主要是測試執(zhí)行,安裝測試工具,部署測試環(huán)境,按照測試所設(shè)計的測試用例進行手動功能測試,嘗試?yán)米詣踊瘻y試工具QTP進行自動化測試,運用所學(xué)過的黑盒測試方法,進行web測試,兼容性測試等方法的測試工作,將所發(fā)現(xiàn)的問題記錄到測試管理平臺(QC)的缺陷缺陷跟蹤表中,修復(fù)后,進行驗證性測試,第三部分就是測試總結(jié)報告。
四、軟件綜合實踐的考核
1.答辯委員會的組成。立體化全方位的考核方式,采用學(xué)生團隊答辯的方式進行最終的考核,答辯委員會成員由軟件開發(fā)方向教師、網(wǎng)站規(guī)劃與開發(fā)教師、數(shù)據(jù)庫管理方向教師、軟件測試技術(shù)方向教師和企業(yè)工程師共同組成。2.軟件測試崗位的知識點的考核。每個專業(yè)都設(shè)計了一套科學(xué)有效的評價體系,從三個部分對學(xué)生的能力進行全方位評。第一部分IT職業(yè)素養(yǎng)能,占總成績比例的30%,考勤、項目管理能力、文檔編寫能力、團隊合作與溝通能力、演講與答辯能力;第二部分團隊實踐成果,占總成績比例的30%測試環(huán)境部署、測試工具軟件的安裝、測試執(zhí)行中缺陷報告的跟蹤、測試總結(jié)報告的編寫;第三部分崗位技能成果,占總成績比例的40%,軟件開發(fā)過程文檔:需求評審報告、測試計劃報告、測試用例報告。
五、軟件綜合實踐教學(xué)實踐的意義
1.軟件綜合實踐項目分組教學(xué)的意義2.軟件測試崗位同學(xué)的收獲3.綜合實踐教學(xué)的后續(xù)影響4.軟件綜合實踐教學(xué)的改革未來方向
作者:張彤宇 李晶 姚庚梅 單位:廣東東軟學(xué)院計算機科學(xué)與技術(shù)系
參考文獻:
[1]羅先錄.IT類專業(yè)實踐教學(xué)的三個層次[J].計算機教育,2007(18):14-15.