日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服

軟件測試論文

引論:我們?yōu)槟砹?篇軟件測試論文范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。

軟件測試論文

軟件測試論文:應(yīng)用度量式測試提高軟件測試效率

摘要:文章介紹了軟件測試領(lǐng)域的發(fā)展現(xiàn)狀,并將度量式測試應(yīng)用在實際的醫(yī)療曝光系統(tǒng)中,驗證了度量式測試對于發(fā)現(xiàn)系統(tǒng)隱患、提供系統(tǒng)性及穩(wěn)定性等的重要作用,并強(qiáng)調(diào)了在系統(tǒng)測試過程中需將檢查式測試和度量式測試合理結(jié)合,提高系統(tǒng)測試效率。

關(guān)鍵詞:檢查式測試;度量式測試;軟件性能;軟件性;測試效率

1簡介

隨著全球信息化趨勢的不斷加強(qiáng),各國的軟件產(chǎn)業(yè)都在以前所未有的矯健步伐不斷向前邁進(jìn)。而信息化為全球經(jīng)濟(jì)發(fā)展打開了一個嶄新的市場,各軟件公司越來越重視軟件產(chǎn)品的最終交付質(zhì)量以贏得更多的市場占有率。在軟件開發(fā)的生命周期中,測試作為保障軟件過程和產(chǎn)品質(zhì)量的重要環(huán)節(jié)必不可少。

而今,雖然世界經(jīng)濟(jì)與信息已經(jīng)全球化,但中國與歐美等發(fā)達(dá)國家的測試水平仍存在一定的差距。在國內(nèi)的測試活動中,軟件測試一般由專門的測試小組進(jìn)行軟件的單元測試、集成測試、系統(tǒng)測試及驗收測試等。所有這些相關(guān)測試都將根據(jù)預(yù)先設(shè)定的測試流程及測試用例按步進(jìn)行,不僅如此,測試用例一般都將給出預(yù)期測試結(jié)果,作為最終測試通過與否的判定標(biāo)準(zhǔn)。因此,軟件測試曾被形容為“基于大量測試用例的程序行為的動態(tài)驗證”。

2檢查式測試與度量式測試

目前,在特定的軟件項目中,測試人員將根據(jù)不同的系統(tǒng)特征及測試目標(biāo),選擇不同的系統(tǒng)測試方法,如黑盒測試、白盒測試、單元測試、集成測試、功能測試、性能測試、回歸測試、壓力測試、負(fù)載測試、性測試、安全性測試及兼容性測試等。對于上述的多種測試方法,本文將其總體的劃分為兩類測試情況:檢查式測試和度量式測試。

2.1檢查式測試

通常一個測試用例包含如下幾個基本要素:需求追蹤、測試目的、測試準(zhǔn)備、測試數(shù)據(jù)等。在這種類型的測試中,測試用例一般直奔一個明確狹隘的目的――驗證系統(tǒng)的某一項功能是否正確實現(xiàn)。因為這種測試用例對正確的結(jié)果有設(shè)定或者有一定的預(yù)知,因此測試是明確的,而且可控性也很高。測試結(jié)果的輸出表現(xiàn)為通過或者不通過。在此把此類的測試稱為檢查式測試,它屬于一種先驗性的測試,通常所做的單元測試、集成測試、功能測試等都屬于此類測試。

2.2度量式測試

度量式測試沒有太多的先驗性,結(jié)果一般基于某種量化的數(shù)字而產(chǎn)生。一般是為了針對軟件某一特定功能周邊的多項指標(biāo)進(jìn)行的量化度量。這種形式的測試往往出現(xiàn)在系統(tǒng)級測試和應(yīng)用階段的數(shù)據(jù)收集。度量式測試往往不會直接給出通過或者不通過的結(jié)果,而是需要通過進(jìn)一步的分析和決策。然而這類“模糊”的量化數(shù)據(jù)比檢查式測試更具有穩(wěn)定性,對把握軟件的總體質(zhì)量或某一特定功能的具體細(xì)節(jié)更具有價值。這類測試多發(fā)生在系統(tǒng)測試、性能測試、性測試等測試中。

2.3優(yōu)缺點(diǎn)比較

在我們?nèi)粘5臏y試活動中,檢查式測試通常是測試活動的主要構(gòu)成,其優(yōu)點(diǎn)顯而易見:直接、高效、易管理;缺點(diǎn)則是:隨機(jī)性強(qiáng)、單薄、易陷入慣性思維等。而度量式測試是以定量的數(shù)據(jù)作為基礎(chǔ),經(jīng)過分析,測評式的檢驗軟件質(zhì)量。其優(yōu)點(diǎn)是:穩(wěn)定、、測試方式豐富靈活等;缺點(diǎn)是:耗費(fèi)資源、測試設(shè)計復(fù)雜、對軟件質(zhì)量提高具有間接性等。參見表1:

表1檢查式測試與度量式測試優(yōu)缺點(diǎn)比較

測試類別 優(yōu)點(diǎn) 缺點(diǎn)

檢查式測試 直接、高效、易管理 隨機(jī)性強(qiáng)、單薄、易陷入慣性思維

度量式測試 穩(wěn)定、、測試方式豐富靈活 耗費(fèi)資源、測試設(shè)計復(fù)雜、對軟件質(zhì)量提高具有間接性

3重視度量式測試

在長期的測試活動中,我們發(fā)現(xiàn),雖然檢查式測試可以發(fā)現(xiàn)大部分的系統(tǒng)缺陷,但是在軟件某一部分或者其整體已相對穩(wěn)定和完備的階段,我們需要更多的針對實際情況采取度量式測試以發(fā)現(xiàn)系統(tǒng)更多的潛藏隱患,提高系統(tǒng)的性和穩(wěn)定性。

雖然“盡可能多的測試”一直為業(yè)內(nèi)所認(rèn)同,然而同其他的軟件相關(guān)活動一樣,進(jìn)度和成本控制往往是軟件測試中最直觀的壓力。檢查式的測試作為測試的主體方式,往往會受到測試人員的青睞,其測試力度也不言而喻;度量式測試則只是在階段被簡單的運(yùn)行幾次,甚至只是用來驗證一下之前的檢查式測試結(jié)果而已,但用戶長期的實際使用會讓很多潛藏的問題冒出來,也會使一些小問題變成嚴(yán)重問題。因此越是重視軟件質(zhì)量,越是應(yīng)該花足夠的時間做一些度量性測試。在測試時,當(dāng)碰到進(jìn)度急任務(wù)重的情況下,我們應(yīng)該盡早地進(jìn)行度量式測試,重視度量式測試的重要性。

4度量式測試的主要應(yīng)用場景

下面列舉兩種情況,概述度量式測試有別于檢查式測試的幾個主要應(yīng)用:

4.1 度量式測試可以發(fā)現(xiàn)潛藏隱患,而檢查一般只能找出顯現(xiàn)的問題

檢查式測試有著明確的標(biāo)準(zhǔn),正常或出錯顯而易見,而且一項功能在一個版本一般只測一次。度量式測試不會簡單的一次性做出正常或則出錯的結(jié)論,而是客觀的持續(xù)記錄軟件相關(guān)部分的狀況,比如內(nèi)存使用情況、數(shù)據(jù)庫的操作、網(wǎng)絡(luò)流量、關(guān)鍵操作的時序等。比如軟件的“死機(jī)”問題是一個必然存在的事件,大部分情況下都是嚴(yán)重影響軟件使用的問題,甚至造成無可挽回的損失。有一種數(shù)據(jù)專門采集的是各種死機(jī)的情況;包括死鎖、非正常操作、軟件外部影響、底層操作系統(tǒng)出錯等,根據(jù)死機(jī)原因分析提取需要關(guān)注的關(guān)鍵數(shù)據(jù),確定隱患的所在,作出系統(tǒng)改進(jìn)的辦法。這一類的性或者失效性分析在其他工業(yè)測試中運(yùn)用較多,而軟件中較少。

4.2 度量式測試能夠獲取軟件的使用細(xì)節(jié),用以改進(jìn)設(shè)計模型并專注于測試的重點(diǎn)

有一類度量式測試并不是針對于找出一般性的問題,而是專門用于了解軟件在正常使用過程中的具體應(yīng)用狀況,用于對系統(tǒng)下一版本的改進(jìn)。這種度量式測試多出現(xiàn)在β測試階段,在找出問題的同時也會根據(jù)實際的應(yīng)用重新調(diào)整開發(fā)設(shè)計。比如互聯(lián)網(wǎng)的上的應(yīng)用軟件,多數(shù)都是互動操作,通過度量式測試用戶登陸后對軟件的操作方式、習(xí)慣、各模塊實際運(yùn)行頻度差異等,可以對系統(tǒng)之前的設(shè)計模型加以改進(jìn),甚至發(fā)現(xiàn)新的需求。

此外,由于度量式測試的前期,數(shù)據(jù)的采集一般不需要太多主觀靈活的判斷和分析,因此更利于自動化的介入,這樣可以充分的調(diào)集正常工作時間和人力外的其他資源(如設(shè)備,網(wǎng)絡(luò)等),使資源利用較大化。所以在一定的基礎(chǔ)上,及早的在項目過程中引入合適的度量式測試,可以使得項目的測試效率更高。

5度量式測試在醫(yī)療曝光系統(tǒng)中的應(yīng)用

在日常的測試活動中,我們經(jīng)常會接觸度量式的測試類型,特別是性能測試中;同時在自動化測試中也會接觸到此類相關(guān)的數(shù)據(jù)采集和分析的實例。下面我們將簡單介紹在醫(yī)療曝光系統(tǒng)性測試中應(yīng)用度量式測試為了解系統(tǒng)性能、提高系統(tǒng)安全性和發(fā)現(xiàn)系統(tǒng)隱藏缺陷所帶來的巨大價值。

醫(yī)療曝光系統(tǒng)是病人在進(jìn)行醫(yī)療曝光時,醫(yī)院放射科所使用的數(shù)字拍片系統(tǒng),其性測試需要對系統(tǒng)在實際使用中最常用和關(guān)鍵的流程進(jìn)行性評估,發(fā)現(xiàn)并解決這一過程中出現(xiàn)的錯誤以及可能出現(xiàn)的隱患。下面是它一次完整操作的基本步驟:

5.1完成準(zhǔn)備工作

從病人信息系統(tǒng)中提取指定病人記錄:

在本地目錄中找到該病人;

在曝光系統(tǒng)上進(jìn)行曝光;

當(dāng)預(yù)覽圖像出現(xiàn)時,在圖像查看窗口接受并打開圖像;

返回主菜單。

我們希望系統(tǒng)對這一組核心操作的性達(dá)到連續(xù)3000次正常處理,這里包括系統(tǒng)能完成3000次以上連續(xù)的處理,保障每一次的結(jié)果正常,每一次的各分步結(jié)果正常,同時也能達(dá)到一定的處理性能。這樣我們要對每一次的結(jié)果和過程進(jìn)行記錄,它既有利于了解系統(tǒng)的運(yùn)行狀況,也能在出錯的時候提供更具體的重現(xiàn)環(huán)境。

5.2記錄系統(tǒng)每一次運(yùn)行的基本數(shù)據(jù)

包括每一次運(yùn)行的具體時間及其各部分運(yùn)行所用時間:

運(yùn)行時刻;

病人編號;

本地查找病人記錄所用時間;

從曝光到圖像預(yù)覽所用時間;

從曝光到完成所用時間;

整個流程所用時間。

以下是系統(tǒng)運(yùn)行時產(chǎn)生的一組基本紀(jì)錄(單位:秒):

8/11/2009 4:37:26 PM 53 3.953 12.031 22.375 52.047

8/11/2009 4:38:18 PM 54 4.106 12.032 25.844 52.031

8/11/2009 4:39:10 PM 55 4.001 11.985 22.328 52.032

8/11/2009 4:40:02 PM 56 3.985 12.125 22.407 52.031

……

8/12/2009 8:08:24 AM 997 0.937 13.891 21.828 62.766

8/12/2009 8:09:27 AM 998 0.906 13.891 21.688 62.718

8/12/2009 8:10:38 AM 999 1.266 13.891 29.469 70.735

8/12/2009 8:11:41 AM 1000 1.109 13.828 21.891 62.625

從記錄中我們可以比較清楚地了解當(dāng)前的運(yùn)行次數(shù),了解一次完整的基本操作的所用的時間。可以看到隨著時間的增長,系統(tǒng)運(yùn)行一次完整流程的時間會增大,這表明其中可能出現(xiàn)了內(nèi)存泄漏等問題。

5.3對系統(tǒng)部分進(jìn)程的內(nèi)存使用情況進(jìn)行監(jiān)控

圖1顯示了CC Application Coordinator 進(jìn)程的內(nèi)存泄漏情況,當(dāng)然內(nèi)存泄漏具體起因需要更多的分析。

5.4得出測試結(jié)論

下面是在這次性測試中發(fā)現(xiàn)的問題:

5.4.1ID000542350 在系統(tǒng)曝光狀態(tài)為已準(zhǔn)備就緒時,有時曝光可能不發(fā)生這是平時測試中一般不會遇到的問題,在大量的循環(huán)中我們可以通過數(shù)據(jù)了解曝光失效的存在以及它的頻度,從而給開發(fā)一個直觀的認(rèn)識并最終消除,的驗證也是通過多次的性測試驗證(3000多次未發(fā)現(xiàn))。

5.4.2ID000542351 在系統(tǒng)曝光2000次后,系統(tǒng)性能下降這也是一個典型的性測試中碰到的問題,性能下降的問題往往是一個緩慢的趨勢,通過對每次循環(huán)的時間記錄,我們可以直觀地了解到出現(xiàn)性能下降的負(fù)荷和它的緩急等。

從上述的應(yīng)用可以了解到,度量式測試在測試系統(tǒng)性能、提高系統(tǒng)安全性和發(fā)現(xiàn)系統(tǒng)隱藏缺陷上具有很大的使用價值,特別是在系統(tǒng)的性能測試及自動化測試中,通過對數(shù)據(jù)的搜集分析,可以深入了解系統(tǒng)性能瓶頸,進(jìn)而構(gòu)建提高系統(tǒng)性能的解決方案。

6結(jié)論與展望

總的來說,檢查式測試和度量式測試都有著各自的優(yōu)缺點(diǎn)和差異性的測試偏向點(diǎn),在實際的測試過程中,針對項目中不同階段、不同類型的測試需要,測試人員可以選擇相應(yīng)的測試方法進(jìn)行測試。在測試過程中,將檢查式測試與度量式測試相結(jié)合,協(xié)同發(fā)現(xiàn)系統(tǒng)潛在的各類缺陷及隱患,必將大大提高軟件測試的高效性。

在實際的度量式測試過程中,有效的數(shù)據(jù)采集對測試過程和結(jié)果的分析都能提供相當(dāng)大的幫助。特別是用采集的各種現(xiàn)場數(shù)據(jù)來代替測試人員的人工記錄和判斷,對于提高自動化測試的有效性也必不可少。在測試活動中如何設(shè)計合理高效的收集數(shù)據(jù)種類和方式,如何將檢查式測試與度量式測試恰當(dāng)結(jié)合起來,以提高測試效率將是未來研究的重點(diǎn)。

軟件測試論文:軟件測試自動化在黑盒測試中的應(yīng)用

摘 要:介紹黑盒測試的方法,對手工測試的不足以及自動化測試的特點(diǎn)進(jìn)行研究。以XCRW18型貨車標(biāo)簽編程器軟件(廠礦企業(yè)版)寫標(biāo)簽數(shù)據(jù)測試為例,進(jìn)行了測試問題的分析、測試用例的設(shè)計,并用VBScript編寫自動化腳本,在QTP平臺下實現(xiàn)了黑盒測試中的軟件測試自動化,不但節(jié)省了人力,而且提高了測試的效率和可信度。

關(guān)鍵詞:黑盒測試;自動化測試;測試用例;XCRW18型貨車標(biāo)簽編程器軟件

黑盒測試把被測對象看作一個不能打開的黑盒子,在不考慮其內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試其是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確地輸出信息,并且保持外部信息的完整性[1]。黑盒測試在軟件測試中占有重要的地位,但常規(guī)的手工黑盒測試,在軟件測試尤其是大中型軟件測試中不但測試效率和覆蓋率低下,而且測試的穩(wěn)定性和性差。本文在XCRW18型貨車標(biāo)簽編程器軟件(廠礦企業(yè)版)黑盒測試中有效地運(yùn)用了自動化測試技術(shù),較好解決了上述問題。

1 黑盒測試常用技術(shù)與方法

黑盒測試方法主要應(yīng)用于功能和性能方面的測試,其常用的技術(shù)和方法有:

(1) 邊界值分析方法:邊界值分析方法的基本思想是使用最小值(min)、略高于最小值(min+)、正常值(nom)、略低于較大值(max-)、較大值(max)處取輸入變量值。如果要測試被測對象的健壯性除了變量的5個邊界值外,還要通過采用一個超過較大值(max+)和一個略小于最小值(min-)的取值,看看超過極值時系統(tǒng)會有什么反應(yīng)。如果被測對象是多個獨(dú)立變量的函數(shù),這些變量受物理量的限制,則很適合邊界值分析。

(2) 等價類劃分法:把所有可能輸入數(shù)據(jù)劃分成若干個等價類,然后每類中抽取一組既有代表性,又可能發(fā)現(xiàn)程序中錯誤的數(shù)據(jù)作為測試數(shù)據(jù),基于此測試的方法就稱為等價類劃分法。

(3) 全對偶設(shè)計方法:全對偶是在全組合結(jié)果基礎(chǔ)上進(jìn)行優(yōu)化,把其中有效的用例篩選出來,以達(dá)到采用最小的測試用例集,覆蓋較大測試域的測試效果,其核心思想就是測試用例的任意2個變量至少在測試結(jié)果里出現(xiàn)一次[2]。

2 軟件測試自動化技術(shù)

2.1 測試自動化原理和方法

軟件測試自動化是相對手工測試而存在的,主要是通過軟件測試工具、腳本等來實現(xiàn),具有良好的可操作性、可重復(fù)性和高效性等特點(diǎn)。下面簡單介紹測試自動化的主要原理和方法[1]:

(1) 捕獲和回放:捕獲和回放是一種黑盒測試的自動化方法。捕獲和回放一般步驟如下:首先將用戶每一步操作都記錄下來;其次將所有記錄轉(zhuǎn)換為一種腳本語言描述的過程,以模擬用戶的操作;然后回放時將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作;將被測系統(tǒng)的輸出記錄下來與預(yù)先給定的標(biāo)準(zhǔn)結(jié)果比較。該方法比較適合在迭代開發(fā)過程中進(jìn)行回歸測試,可以大大減少黑盒測試的工作量。

(2) 腳本技術(shù):腳本是一組測試工具執(zhí)行的指令集合,可以直接用腳本語言編寫也可以通過錄制測試的操作產(chǎn)生,然后對產(chǎn)生的腳本進(jìn)行加強(qiáng)。后者可以減少腳本編程的工作量。腳本技術(shù)不僅可以在功能測試中模擬用戶的操作,然后進(jìn)行比較,而且可以在性能、負(fù)載測試上虛擬用戶同時進(jìn)行相同或者不同的操作,給系統(tǒng)或服務(wù)器足夠的數(shù)據(jù)、操作,以檢驗系統(tǒng)或服務(wù)器的響應(yīng)速度、數(shù)據(jù)吞吐能力等。

2.2 測試自動化特點(diǎn)

相比手工測試,測試自動化有以下幾個特點(diǎn)[4]:

(1) 可以對程序的新版本自動執(zhí)行回歸測試。這是測試自動化的最主要的任務(wù)。在需要頻繁修改大量程序的環(huán)境中,自動化進(jìn)行回歸測試的開銷是最小的。

(2) 可以執(zhí)行更多更頻繁的測試。自動化測試的一個特點(diǎn)是可以在較短的時間內(nèi)進(jìn)行更多的測試。

(3) 可以執(zhí)行一些手工測試?yán)щy或不可能進(jìn)行的測試。如對于200個用戶的聯(lián)機(jī)系統(tǒng),用手工進(jìn)行并發(fā)操作的測試幾乎是不可能的,但自動測試工具可以模擬來自200個用戶的輸入。客戶端用戶通過定義可以自動回放的測試,隨時都可以運(yùn)行用戶腳本,即使是不了解整個商業(yè)應(yīng)用復(fù)雜內(nèi)容的技術(shù)人員也可以勝任。

(4) 可以更好地利用資源。將繁瑣的任務(wù)自動化,如重復(fù)輸入相同的測試輸入,可以提高性和測試人員的積極性,將測試人員解脫出來轉(zhuǎn)而投入更多精力設(shè)計更好的測試用例。并且自動化測試可以不停地進(jìn)行測試,可以利用整夜或周末空閑的機(jī)器執(zhí)行自動測試,有效地利用了計算機(jī)的資源。

(5) 測試具有一致性和可重復(fù)性。測試自動化可以重復(fù)進(jìn)行多次相同的測試,因此可以獲得測試的一致性,這在手工測試中是很難保障的。有些測試可能在不同的硬件配置下執(zhí)行,使用不同的操作系統(tǒng)或不同的數(shù)據(jù)庫,此時要求多平臺產(chǎn)品的跨平臺質(zhì)量的一致性,這在手工測試的情況下很難做到。

(6) 測試的重用性。自動化測試的測試用例經(jīng)過一次執(zhí)行之后,在以后的測試中可以不斷重用而無需人工參與,這一點(diǎn)在手工測試中是無法做到的。

(7) 更快地將軟件推向市場。一旦一系列的測試已經(jīng)被自動化,可以比手工測試更快地重復(fù)執(zhí)行,大大縮短了測試時間。

(8) 增加軟件信任度。一旦得知軟件通過強(qiáng)有力的自動測試后,軟件時對其的信任度也會提高。

3 測試自動化應(yīng)用實例

3.1 寫標(biāo)簽數(shù)據(jù)的測試

本例(見圖1)主要測試寫標(biāo)簽數(shù)據(jù)中“屬性”、“車種”、“車型”、“車號”、“換長”、“制造廠”、“制造時間”設(shè)置為不同值時是否能正常寫入標(biāo)簽信息。這幾個變量值都有范圍的限制。

軟件測試論文:基于帕累托法則的軟件測試策略優(yōu)化

摘 要:通過分析軟件測試故障的分布特性,研究故障發(fā)現(xiàn)、分布與測試用例設(shè)計、測試人員等的相關(guān)性,提出一種基于帕累托法則的測試策略優(yōu)化改進(jìn)方法,在測試設(shè)計方法的應(yīng)用、人員的任務(wù)分配、測試重點(diǎn)等方面進(jìn)行有效的優(yōu)化,并介紹該方法的具體應(yīng)用步驟。,通過幾個項目的應(yīng)用結(jié)果表明:該方法簡單、實用,可以有效地提高測試效率和暴露軟件缺陷的概率。

關(guān)鍵詞:軟件測試;故障數(shù)據(jù)分析;帕累托;策略優(yōu)化

1 引 言

軟件測試策略是在一定的軟件測試標(biāo)準(zhǔn)、測試規(guī)范的指導(dǎo)下,依據(jù)測試項目的特定環(huán)境約束而規(guī)定的軟件測試的原則、方式、方法的集合。依據(jù)軟件本身性質(zhì)、規(guī)模和應(yīng)用場合等的不同,選擇不同測試方案,以最少的軟硬件、人力資源投入得到的測試效果,這是測試策略的目標(biāo)所在[1]。按照當(dāng)前的技術(shù)發(fā)展趨勢,軟件規(guī)模和復(fù)雜程度急劇地提高,在軟件測試工作需要更多時間的同時,項目周期卻比以前大大縮短,如何在有限的時間內(nèi),利用有限的資源完成軟件測試工作,盡較大的可能暴露軟件中隱含的缺陷,實施高效的軟件測試,是軟件測試工作中亟待解決的問題。

針對這一問題,對軟件測試故障特性進(jìn)行分析,根據(jù)被測軟件中故障的分布特性,對測試方法、人員等資源進(jìn)行優(yōu)化配置,進(jìn)行測試過程進(jìn)行改進(jìn)是一種有效的途徑。Myers 曾在其經(jīng)典著作《The Art of Software Testing》中說到“研究軟件錯誤對改進(jìn)將來的設(shè)計和測試過程有無法估量的意義”[2],但對軟件故障分析的內(nèi)容、方法研究,以及如何利用故障分析結(jié)果改進(jìn)測試過程是目前工程實踐中亟待解決的問題。

本文分析了軟件故障與帕累托法則的相關(guān)性,并基于帕累托法則,統(tǒng)計分析軟件故障的分布特性,研究故障發(fā)現(xiàn)與測試用例設(shè)計、測試人員等的相關(guān)性,結(jié)合測試項目實踐,提出基于帕累托(Pareto)法則的測試策略優(yōu)化方法,并給出具體應(yīng)用的步驟,介紹實際應(yīng)用效果。

2 軟件故障分布與帕累托法則的相關(guān)性

帕累托法則是由19世紀(jì)末和20世紀(jì)初意大利經(jīng)濟(jì)學(xué)家及社會學(xué)家帕累托研究國民收入的差異時提出,又稱2/8定則。帕累托分布的分布函數(shù)為P{X>t}=(-a),其中t>1,a>0,帕累托分布在自然界的廣泛存在是由以下定理保障的:

定理1:獨(dú)立同分布的隨機(jī)量之和服從stable分布(正態(tài)分布只是stable分布的一個特例,中心極限定理也是本定理的特例)。

定理2:當(dāng)x無窮時,stable分布近似于Pareto分布(Pareto分布是大樣本情況下stable分布的近似)。

Mller早在1984年就報道這樣一個分布規(guī)律:45%的錯誤集中在10%代碼,而的50%代碼包含只有10%的錯誤,IBM等公司的統(tǒng)計數(shù)據(jù)也表明:80%的缺陷是在20%的模塊中發(fā)現(xiàn)的,由此可見,軟件故障是有類聚性的[3],遵循帕累托分布規(guī)律,即20%的模塊包含了80%的錯誤。此外,開發(fā)人員的思維定勢也會造成同樣的錯誤在其編寫的代碼中一再重復(fù)出現(xiàn),而測試工作由于人員和設(shè)計方法的不同,也使其發(fā)現(xiàn)的故障呈現(xiàn)一定的分布規(guī)律。由此可見軟件故障在模塊、人員、測試設(shè)計方法等方面,遵循帕累托分布規(guī)律。

3 基于帕累托法則的故障分布特性分析及測試優(yōu)化策略

3.1 針對故障類型與模塊分布特性的測試策略優(yōu)化

(1) 違反編碼規(guī)則和度量指標(biāo)的問題分布。

根據(jù)對多個測試項目的測試結(jié)果分析表明:靜態(tài)分析發(fā)現(xiàn)問題較多的模塊,在動態(tài)測試中也會出現(xiàn)較多的缺陷,靜態(tài)分析結(jié)果與動態(tài)問題數(shù)有一定的關(guān)聯(lián)性;缺陷的密度分布與子系統(tǒng)的復(fù)雜程度有關(guān),如一些圈復(fù)雜度較高的代碼,其出現(xiàn)問題的可能性較高。因此,靜態(tài)分析結(jié)果可以用來指導(dǎo)動態(tài)測試的測試用例設(shè)計,進(jìn)行的測試用例時,針對程序最容易出現(xiàn)的故障的地方有所側(cè)重和重點(diǎn)關(guān)注,可以提高測試用例發(fā)現(xiàn)故障的概率,進(jìn)一步提高測試效能。

在具體應(yīng)用上,可以利用測試工具進(jìn)行靜態(tài)分析和人工評估分析來實現(xiàn)分布特性分析。靜態(tài)分析包括代碼檢查、控制流分析、數(shù)據(jù)流分析、表達(dá)式分析和靜態(tài)度量指標(biāo)分析等項目。檢查的規(guī)則和度量指標(biāo)值根據(jù)一些統(tǒng)計數(shù)據(jù)(即經(jīng)驗數(shù)據(jù))來確定,也可以依據(jù)一些國際上常用的標(biāo)準(zhǔn),如歐洲防務(wù)標(biāo)準(zhǔn)和汽車工業(yè)標(biāo)準(zhǔn)等。測試工具分析后的數(shù)據(jù)再進(jìn)行人工分析定位、統(tǒng)計、評估,形成被測試軟件的編碼規(guī)則和度量指標(biāo)的問題分布表,并用來指導(dǎo)動態(tài)測試用例的設(shè)計。

(2) 故障在各個模塊中的分布。

IBM等公司的統(tǒng)計數(shù)據(jù)表明:80%的缺陷是在20%的模塊中發(fā)現(xiàn)的,而這20%易出錯的模塊,基本上對開發(fā)人員來說是新技術(shù)或者難度高、技術(shù)含量高的部分。在軟件測試中應(yīng)把握這一規(guī)律,對軟件開發(fā)人員以前未曾開發(fā)過或未接觸過的、對軟件運(yùn)行起到關(guān)鍵作用的模塊和代碼尤其注意,對其進(jìn)行充分的測試以發(fā)現(xiàn)更多的錯誤[4]。

因此,在用例執(zhí)行過程中對發(fā)現(xiàn)的故障,進(jìn)行初步的統(tǒng)計分類,計算其在不同軟件功能模塊中的分布(即軟件故障的區(qū)域分布),根據(jù)軟件缺陷的類聚性,“發(fā)現(xiàn)的軟件缺陷越多,表明未發(fā)現(xiàn)軟件缺陷越多” [3],對發(fā)現(xiàn)較多缺陷的模塊增加針對性測試用例,盡可能暴露更多的軟件缺陷,可以有效提高測試用例的故障發(fā)現(xiàn)率。

(3) 故障類型的分布。

一個錯誤往往是由類似的同一原因引起的更多錯誤的征兆,這些錯誤往往會在同一個人或同一團(tuán)體已經(jīng)完成的工作中被找到。通過分析故障類型的分布,得出出現(xiàn)較多的典型錯誤,對分析的結(jié)果可以馬上應(yīng)用于開發(fā)一個更有效的檢查單和測試用例,選擇更重要的回歸測試,發(fā)現(xiàn)更多的同一類型錯誤或由同一原因引起的錯誤。

3.2 針對故障與人員相關(guān)性的測試策略優(yōu)化

(1) 不同開發(fā)人員編寫的代碼中故障數(shù)據(jù)分布。

每個人都有其固定的思維特點(diǎn)和偏好,程序員往往會犯相同的錯誤,同一個開發(fā)人員在其開發(fā)的程序中常會反復(fù)犯其容易犯的錯誤。通過對發(fā)現(xiàn)的故障數(shù)據(jù)進(jìn)行分析,統(tǒng)計故障數(shù)和故障類型在不同開發(fā)人員開發(fā)的程序中的分布情況,對發(fā)現(xiàn)較多故障的模塊(代碼),確定其開發(fā)者,然后對其開發(fā)的其他模塊(代碼)加強(qiáng)測試,在測試用例的設(shè)計上,也要側(cè)重于其所引入的故障類型,使測試用例能達(dá)到較高的缺陷發(fā)現(xiàn)率。

(2) 不同研制單位的故障數(shù)據(jù)分布。

軟件的開發(fā)人員及研制單位都常會犯一些相同的錯誤,導(dǎo)致一些典型的軟件缺陷。通過對發(fā)現(xiàn)的故障數(shù)據(jù)分析,可以設(shè)法找到一個軟件研制單位所常犯的典型錯誤,這些典型錯誤通常是由于欠缺規(guī)范(或標(biāo)準(zhǔn))、配置管理、設(shè)計訓(xùn)練或單元測試,或其他原因而引起的。通過統(tǒng)計分析不同單位開發(fā)軟件的測試故障數(shù)據(jù)發(fā)現(xiàn),一個單位開發(fā)軟件出現(xiàn)的較多的某種錯誤類型,在另外一個單位開發(fā)的軟件中卻很少或幾乎不會出現(xiàn),而另一種錯誤類型的出現(xiàn)情況則相反。

(3) 不同測試人員發(fā)現(xiàn)故障的特點(diǎn)分析。

測試人員與開發(fā)人員同樣具有其固定的思維特點(diǎn)和偏好,這些特點(diǎn)和偏好往往有助于其去發(fā)現(xiàn)某些特定類型的軟件缺陷,卻不利于其發(fā)現(xiàn)另外一些類型的軟件缺陷,這個特性在使用猜錯法進(jìn)行測試和進(jìn)行代碼走查時尤其明顯。對不同測試人員發(fā)現(xiàn)故障類型的分類和特點(diǎn)分析,其目的就是對測試組內(nèi)不同的測試工程師的優(yōu)缺點(diǎn)進(jìn)行分析,在測試工作中用其所長,避其所短,提高測試發(fā)現(xiàn)缺陷的效率,也為對測試人員進(jìn)行合理的調(diào)配,組建高效率測試組提供有益的借鑒。

不同測試人員發(fā)現(xiàn)故障的分類及其特點(diǎn)分析主要統(tǒng)計所有發(fā)現(xiàn)缺陷,進(jìn)行故障分類;并將這些分類與測試工程師進(jìn)行關(guān)聯(lián)分析,查找每個測試工程師在發(fā)現(xiàn)缺陷方面的特點(diǎn);然后利用這些特點(diǎn),在組建測試組和進(jìn)行測試組內(nèi)工作分工時將這些因素和特點(diǎn)考慮進(jìn)去,則可以有效地提高測試組發(fā)現(xiàn)軟件缺陷的效率。

3.3 針對各研發(fā)階段的故障分布的測試策略優(yōu)化

“什么時候出的錯?是最難回答的一個問題,但也是最有價值的問題”[2],通過查閱設(shè)計文件和設(shè)計的歷史資料查找和分析直接導(dǎo)致故障出現(xiàn)的原因根源,其可能是需求中的一個二義性語句、修改先前的錯誤所造成的或沒有考慮非法輸入導(dǎo)致的,用故障分析去確定每個故障是什么時候和誰造成的還遠(yuǎn)遠(yuǎn)不夠,還要確定到底為什么出錯[5],如果找出一個錯誤的問題根源,就能用同樣的方法發(fā)現(xiàn)更多同類性質(zhì)的錯誤。

3.4 針對故障類型與用例設(shè)計方法相關(guān)性的測試策略優(yōu)化

故障分析還要回答一個問題“用例是怎樣發(fā)現(xiàn)錯誤的?”[5],如果一個測試用例成功地發(fā)現(xiàn)了一個故障,就要對這一用例的設(shè)計方法和輸入的測試數(shù)據(jù)進(jìn)行分析“為什么這個測試用例成功?”[5]。對于其他測試用例能否從這得到有益的借鑒,使本次測試、也使將來的測試有所改進(jìn)。進(jìn)行故障類型與用例設(shè)計方法之間關(guān)聯(lián)分析,才能利用成功的測試經(jīng)驗來改進(jìn)檢查和測試過程,以便在將來的設(shè)計中更好地發(fā)現(xiàn)這一類型的錯誤。

4 應(yīng)用步驟和實踐

4.1 步驟

(1) 收集故障數(shù)據(jù)。

在測試過程中,對每一個用例的實際輸出和故障現(xiàn)象進(jìn)行詳細(xì)的記錄,形成測試問題報告單,然后按故障分析對象和分析內(nèi)容,分類收集測試故障數(shù)據(jù)。

(2) 計算整理。

對收集來的數(shù)據(jù)資料進(jìn)行整理和加工,并按不同分析類型要求進(jìn)行分類(如模塊分布、類型分布等),計算故障數(shù),故障數(shù)占總數(shù)的百分比,如表1所示。

(3) 數(shù)據(jù)分類排序。

根據(jù)選擇定的分析類型要求(如模塊分布)對計算整理后的數(shù)據(jù)進(jìn)行從大到小的排序,然后計算故障累計比率,并將計算結(jié)果填寫在表格最右邊一列,

(4) 繪制帕累托圖。

用表1所列數(shù)據(jù)繪制雙坐標(biāo)圖,首先以模塊代號為橫坐標(biāo),模塊故障數(shù)為縱坐標(biāo),繪制直方圖,從大到小顯示不同模塊的故障數(shù),然后再以累計故障比例為縱坐標(biāo),繪制折線圖。

(5) 提出測試側(cè)重點(diǎn),優(yōu)化測試策略。

根據(jù)帕累托圖,查找故障累計達(dá)到80%之前的模塊代號,在圖1中為M1~M6。在補(bǔ)充和選取回歸測試用例時,側(cè)重性地針對這幾個模塊補(bǔ)充和選取測試用例。

同樣道理,在補(bǔ)充測試用例時,所使用的設(shè)計方法也應(yīng)是基于帕累托法則分析所得到的20%最有效的設(shè)計方法。

圖1 帕累托圖

4.2 應(yīng)用實踐

(1) 故障在模塊中的分布特性分析及測試策略優(yōu)化。

根據(jù)在裝備軟件第三方測試工作中的嘗試,根據(jù)帕累托法則對測試進(jìn)行優(yōu)化,改進(jìn)測試重點(diǎn)和測試設(shè)計方法,提高了缺陷的發(fā)現(xiàn)率和測試用例的效率,取得了比較明顯的效果,見表2所示。項目1中提高了11.7%的缺陷數(shù),而項目2則提高了15.6%,其他項目也普遍占10%以上。在測試用例的效率上,項目1和項目2在優(yōu)化前分別為25和16.9個測試用例發(fā)現(xiàn)1個軟件故障,而經(jīng)過優(yōu)化后增加的測試用例則分別為7.7和14個測試用例發(fā)現(xiàn)1個軟件故障。

表2 測試策略優(yōu)化應(yīng)用效果統(tǒng)計表

項目名

項目基本情況測試策略優(yōu)化后

總用例數(shù)總?cè)毕輸?shù)增加用例數(shù)新發(fā)現(xiàn)缺陷數(shù)占總?cè)毕輸?shù)比例

項目11 02145 46613.3%

項目226416 28212.5%

(2) 測試人員發(fā)現(xiàn)故障的特點(diǎn)分析。

首先,對3個裝備軟件測試項目的代碼檢查數(shù)據(jù)進(jìn)行統(tǒng)計分類后,剔除測試工具發(fā)現(xiàn)的問題,不列入故障數(shù)據(jù)統(tǒng)計范圍。項目1和項目2由A,B,C三位測試工程師參加代碼走查,項目3由A,B,C,D四個測試工程師進(jìn)行代碼走查,對每個測試人員代碼走查發(fā)現(xiàn)問題數(shù)轉(zhuǎn)換成其占該類問題的百分比,見表3所示,然后通過比較發(fā)現(xiàn)以下規(guī)律:

①測試工程A在3個項目中,發(fā)現(xiàn)的“指針內(nèi)存”和“循環(huán)結(jié)構(gòu)”類問題基本上占了該類問題總數(shù)一半以上,而其他的測試工程師在發(fā)現(xiàn)該類問題上,在不同的項目是隨機(jī)的,沒有一定的規(guī)律和趨勢。

②在“指針內(nèi)存”問題上C測試工程師在3個項目的代碼走查中發(fā)現(xiàn)問題數(shù)占該類型問題數(shù)都較少甚至沒有。

其次,根據(jù)上述不同測試人員發(fā)現(xiàn)故障的特點(diǎn),在第4個測試項目的分工上,讓測試工程師A在第四個項目代碼走查中,負(fù)責(zé)對“指針內(nèi)存”和“循環(huán)結(jié)構(gòu)”類問題進(jìn)行重點(diǎn)審查,其他測試工程師則不進(jìn)行側(cè)重性分工,統(tǒng)計結(jié)果表明,工程師A發(fā)現(xiàn)問題的比例和數(shù)量提高明顯。

表3 項目代碼走查數(shù)據(jù)分類統(tǒng)計表

問題 /%

項目1項目2項目3項目4

ABCABCABCDABCD

宏定義100.00093.106.9000100.0000100.0

循環(huán)結(jié)構(gòu)75.025.0046.22.651.350.00050.075.025.000

指針內(nèi)存55.644.4050.0050.00000100.0000

,由于測試工程師未參加第1、第2個項目,則在4個項目中在進(jìn)行比較,又可以發(fā)現(xiàn)測試工程師A和D在發(fā)現(xiàn)“宏定義”類問題的能力上基本相當(dāng),但比測試工程師B和C更有效率,因此,在后續(xù)的項目中可以根據(jù)這一特點(diǎn),對測試人員A,B,C,D進(jìn)行合理的調(diào)配,組建高效率測試組,而且隨著可分析項目的數(shù)量增加,測試人員的特長會分析的越來越,對測試組內(nèi)人員分工就可以越細(xì)化,工作也越高效。

5 結(jié) 語

基于帕累托法則的測試策略優(yōu)化,一方面,在項目測試工作過程中,通過對故障類型和分布特性進(jìn)行分析,查找故障缺陷模塊類聚性和故障類型的類聚性,改進(jìn)軟件測試設(shè)計過程和提高測試的效能;另一方面,進(jìn)行故障與人員相關(guān)性分析,查找發(fā)現(xiàn)軟件設(shè)計人員、開發(fā)過程等方面的不足,根據(jù)其薄弱點(diǎn)提出一個機(jī)構(gòu)或個人在那一方面需要提高或需要加強(qiáng)培訓(xùn),并提出針對性培訓(xùn)建議,從而促進(jìn)開發(fā)過程的改進(jìn)。此外,利用測試人員發(fā)現(xiàn)故障特點(diǎn)分析結(jié)果,對測試人員進(jìn)行針對性的調(diào)配,組建高效率測試組和進(jìn)行合理的組內(nèi)分工,可以提高測試故障的發(fā)現(xiàn)率,促進(jìn)測試過程的改進(jìn)。通過多個項目的實踐證明,基于帕累托法則的測試策略優(yōu)化可以明顯提高測試效率。

軟件測試論文:高職軟件測試課程構(gòu)建設(shè)想

軟件測試是軟件質(zhì)量保障的關(guān)鍵步驟。測試貫穿整個軟件開發(fā)的過程,是對軟件需求分析、設(shè)計規(guī)范和編碼的最終復(fù)審。軟件測試已成為軟件產(chǎn)業(yè)的新興門類而迅速發(fā)展起來,其專業(yè)機(jī)構(gòu)和組織迅速發(fā)展、人才需求旺盛、職業(yè)的價值日益提升,軟件測試人才的培養(yǎng)也應(yīng)該成為高職IT教育的重要內(nèi)容。

1 高職軟件測試課程構(gòu)建背景

1.1 軟件產(chǎn)業(yè)的技術(shù)發(fā)展和需求

隨著軟件技術(shù)的發(fā)展和應(yīng)用的日益廣泛,軟件的功能越來越強(qiáng),系統(tǒng)的規(guī)模越來越大,內(nèi)部結(jié)構(gòu)愈來愈復(fù)雜,軟件的質(zhì)量和軟件的生產(chǎn)率難以適應(yīng)發(fā)展需求的問題統(tǒng)一起來突出,已成為軟件企業(yè)規(guī)范管理和軟件產(chǎn)業(yè)快速發(fā)展的絆腳石。作為一種有別于實物產(chǎn)品的邏輯產(chǎn)品,軟件產(chǎn)品有其特有的復(fù)雜性,如功能的多樣性、實現(xiàn)方式的多樣性、產(chǎn)品要求難以表達(dá)、進(jìn)度能見度低、運(yùn)行依賴于環(huán)境等。作為人腦高度智力化的體現(xiàn),軟件存在缺陷無可避免,而且軟件系統(tǒng)規(guī)模擴(kuò)大,其缺陷生成機(jī)率也會加大,發(fā)現(xiàn)的愈遲,故障造成的各類損失也愈大。

軟件質(zhì)量的提高,既依賴于軟件過程工程的一些方法,也依賴于軟件測試。我國軟件開發(fā)長期以來存在“重開發(fā),輕測試”的現(xiàn)象,中小企業(yè)往往研發(fā)測試混雜,沒有專業(yè)的測試人員和體系;缺少測試概念和方法,沒有測試方面的專業(yè)知識;缺少測試流程或不規(guī)范。用戶驗收由于缺乏專業(yè)人才而失之甚至流于形式。從行業(yè)發(fā)展來說,急需建立專業(yè)的測試隊伍、流程和規(guī)范,提高產(chǎn)品研發(fā)質(zhì)量。

隨著軟件技術(shù)的發(fā)展,軟件測試的技術(shù)和內(nèi)容也有了很大的發(fā)展。當(dāng)前軟件測試已不僅僅體現(xiàn)為測試的執(zhí)行,而且貫穿軟件生存周期全過程,內(nèi)容包含理論與技術(shù)、標(biāo)準(zhǔn)與規(guī)范、環(huán)境與工具及測試管理等多方面。軟件測試對于軟件質(zhì)量的保障作用正得到軟件行業(yè)以及軟件用戶的重視,軟件測試在軟件工程中的地位得到空前地提高。近年來,一些大型企業(yè)以ISO9000或CMM為導(dǎo)向構(gòu)建質(zhì)量體系,在ISO9000中共有19個要素,其中一個就是“檢驗和試驗”;CMU/SEI的CMM中共有18個過程關(guān)鍵域,其中有一個質(zhì)量保障過程關(guān)鍵域。這其中都體現(xiàn)了軟件測試是軟件開發(fā)中必不可少的環(huán)節(jié)。

1.2軟件測試人才緊缺

根據(jù)國外軟件業(yè)發(fā)展的經(jīng)驗,軟件測試工程師和軟件開發(fā)工程師在企業(yè)的配置比例一般至少應(yīng)該達(dá)到1∶1 的水平。但我國軟件產(chǎn)業(yè)在這方面狀況堪憂,很多軟件企業(yè)的測試和開發(fā)人員之比為1∶6,甚至更低。隨著近幾年軟件企業(yè)對軟件測試重要性的不斷認(rèn)識,產(chǎn)生了對軟件測試人才的大量需求。業(yè)界有關(guān)人士稱,未來幾年,國內(nèi)軟件行業(yè)對軟件測試工程師的需求將超過20萬人。

目前在軟件測試人才供需方面存在矛盾。一方面,企業(yè)對軟件測試人才有大量需求,但苦于招不到合適的人;另一方面國內(nèi)的高等教育也忽視了這一領(lǐng)域,高校計算機(jī)專業(yè)專科、本科、碩士課程中普遍未開設(shè)專門的軟件測試課程,測試僅僅是作為軟件工程課中的一個章節(jié)被提到,因此行業(yè)內(nèi)的軟件測試人才嚴(yán)重短缺。目前企業(yè)在軟件測試人員組成上還存在結(jié)構(gòu)性矛盾。在企業(yè)執(zhí)行軟件測試的技術(shù)人員通常由具備本科以上學(xué)歷的軟件技術(shù)人員來承擔(dān),沒有形成合理的金字塔形結(jié)構(gòu),這一方面加重了企業(yè)人力資源的成本,另一方面也加劇了軟件測試技術(shù)人員的匱乏,而實際上通過恰當(dāng)?shù)呐囵B(yǎng)渠道,高職畢業(yè)生可以成為合格的軟件測試執(zhí)行人員。

基于以上背景,軟件測試技術(shù)將成為軟件專業(yè)人才知識結(jié)構(gòu)與技能培養(yǎng)的重要組成,企業(yè)對軟件測試人員的需求也應(yīng)當(dāng)納入高職教育視野之中。

2 高職軟件測試課程目標(biāo)分析

高職教育以職業(yè)能力培養(yǎng)為目標(biāo),通常在完成學(xué)歷教育同時取得相應(yīng)的國家職業(yè)資格證書,國家職業(yè)資格證書或行業(yè)技能證書也是高職教育內(nèi)容的一個重要參照物。而針對軟件測試人員,目前還沒有相應(yīng)的國家資格標(biāo)準(zhǔn),也缺乏相應(yīng)的行業(yè)證書,我們參照國家職業(yè)資格標(biāo)準(zhǔn)的等級劃分原則,將滿足相當(dāng)于國家職業(yè)資格四級(中級)水準(zhǔn)的人員稱為軟件測試員,而將滿足相當(dāng)于國家職業(yè)資格三級(高級)水準(zhǔn)的人員稱為高級軟件測試員,并將這兩者的技能要求根據(jù)具體情況納入到高職教育培養(yǎng)目標(biāo)之中。

軟件測試員應(yīng)了解軟件測試的基本測試概念、測試?yán)碚摚鶕?jù)測試用例能夠執(zhí)行測試,具備基本的測試心理素質(zhì),能與開發(fā)人員進(jìn)行有效溝通,掌握一門腳本語言。相當(dāng)于國家職業(yè)資格四級(中級)水準(zhǔn)。

高級軟件測試員是軟件測試工作最基本的力量。他們應(yīng)掌握基本測試概念、測試?yán)碚摗y試標(biāo)準(zhǔn)和測試技術(shù)方法,能獨(dú)立設(shè)計測試用例,有效進(jìn)行缺陷報告和跟蹤,使用常用測試工具,掌握一門腳本語言。能夠完成一般軟件程序的測試任務(wù)。相當(dāng)于國家職業(yè)資格三級(高級)水準(zhǔn)。

據(jù)當(dāng)前軟件行業(yè)相關(guān)統(tǒng)計資料分析,具備測試執(zhí)行能力高級軟件測試員和具有更高技能水準(zhǔn)的軟件測試工程師都是企業(yè)的緊缺人員,從企業(yè)人力資源管理的合理結(jié)構(gòu)來說,具備測試執(zhí)行能力的高級軟件測試員的人數(shù)需求更大,可以成為高職軟件測試專業(yè)的技能培養(yǎng)目標(biāo)。教育部的目錄中尚無軟件測試專業(yè),對于眾多的高職院校來說,這是一個空白。因此對于條件成熟的高職院校,可將高級軟件測試員納入到軟件專業(yè)(測試方向)的培養(yǎng)目標(biāo)中。也可將軟件測試員調(diào)整為軟件專業(yè)的培養(yǎng)目標(biāo)之一,提高畢業(yè)生的專業(yè)溝通能力和就業(yè)適應(yīng)面。

3 課程構(gòu)建原則

3.1 以軟件測試工作的邏輯順序構(gòu)建課程

目前的軟件測試教材大都是近兩三年出版的,體例基本上是按照測試?yán)碚摗y試技術(shù)、測試工具、測試實踐、測試管理的順序依次展開。高職的教材如果局限于對相應(yīng)內(nèi)容作的篩選、簡化,是難以適應(yīng)高職學(xué)生的,也不符合職業(yè)技術(shù)教育的規(guī)律。

“職業(yè)教育的教學(xué)內(nèi)容應(yīng)置于由實踐環(huán)境構(gòu)成的,以過程邏輯為中心的行動體系框架之中”,“其內(nèi)容編排應(yīng)以典型職業(yè)活動順序為參照系,故具有串行結(jié)構(gòu)的特點(diǎn)。針對工作過程環(huán)節(jié)的順序性與時序性傳授的課程內(nèi)容,既符合職業(yè)院校學(xué)生與生俱有的心理順序和具象思維的指向,也符合動態(tài)變化的職業(yè)工作過程的實際需要”。

因此,軟件測試課程構(gòu)建首先要按照典型的測試活動順序,分解測試職業(yè)能力技術(shù)要求,按照需求概要設(shè)計詳細(xì)設(shè)計的V字型測試模型,由易到難,由表及里,由簡單到復(fù)雜,由單一到綜合,逐步展開課程。按照組成測試技能實踐教學(xué)內(nèi)容及相互間的內(nèi)在聯(lián)系,使數(shù)據(jù)庫、操作系統(tǒng)、自動化測試工具、測試管理工具、配置管理工具等各部分實踐內(nèi)容有所側(cè)重,互相銜接,彼此關(guān)聯(lián),具有連續(xù)性。

3.2 要高度重視過程性知識與經(jīng)驗的獲得

“現(xiàn)代工業(yè)心理學(xué)研究表明,高新技術(shù)工作崗位的工作人員所需要的知識,約一半是介于經(jīng)驗性知識和學(xué)科理論知識之間的一種特殊的知識,即“勞動過程知識”。軟件測試在規(guī)范的軟件生產(chǎn)中屬于軟件過程工程的重要組成,軟件測試課程構(gòu)建必須使學(xué)生能在“完整工作過程”中學(xué)習(xí)。

課程開發(fā)難點(diǎn)在于提供一定規(guī)模的實際軟件產(chǎn)品,發(fā)放多個包含bug的軟件版本,且每個版本都模擬真實測試過程中的情況進(jìn)行了定制調(diào)整,以保障為學(xué)生創(chuàng)造一個與日常測試工作環(huán)境類似的場景。學(xué)生通過這個項目實訓(xùn),將本階段學(xué)習(xí)過程中涉及的測試技能、測試方法等知識點(diǎn)靈活運(yùn)用,從而保障將書本中的知識點(diǎn)真正消化掌握,進(jìn)而達(dá)到軟件測試綜合能力的提升。因此缺陷報告庫的規(guī)模是項目實訓(xùn)效果的重要保障之一。

注意引入在國際市場占有率高、有代表性的自動測試工具,如Mercury、IBM的有關(guān)產(chǎn)品,內(nèi)容涵蓋從安裝到使用,并結(jié)合實際操作案例進(jìn)行分析講解,以此來加深概念與方法理解,達(dá)到技術(shù)運(yùn)用舉一反三,知識傳授與技能培養(yǎng)并重的目的。

有了供實踐訓(xùn)練的軟件產(chǎn)品和測試工具,僅僅能夠找出bug還是不夠的。要在軟件過程工程中,圍繞測試工作的的基本程序,在一個“完整工作過程”中進(jìn)行工作分析,進(jìn)而構(gòu)建測試課程,在項目教學(xué)中建立與測試過程的直接關(guān)系。但是,對于大多數(shù)企業(yè)而言,目前測試工作流程遠(yuǎn)未規(guī)范,甚至測試員的職責(zé)也不夠明確。如何進(jìn)行測試工作分析呢?從形式來看,測試報告是測試人員的工作成果,因此,測試人員的工作分析可以圍繞著“測試報告”來進(jìn)行,包括“測試報告”的前期工作:測試計劃、測試案例、測試過程、信息收集;“測試報告”中的信息管理:通常使用測試管理工具,對測試中的問題進(jìn)行收集、流轉(zhuǎn)、分析與統(tǒng)計;不同類型的“測試報告”的撰寫、“測試報告”的管理、測試評估等。這樣的程序,體現(xiàn)了人類實踐活動的“完整模式”。

3.3 在“完整工作過程”中培養(yǎng)方法能力與社會能力

實際上,測試技術(shù)人員的要求不低于開發(fā)人員,但是需要不同于開發(fā)人員的知識結(jié)構(gòu)。在具體細(xì)節(jié)上,可能不必非常深入,但知識面要求更廣,涉及開發(fā)、管理、行業(yè)等多方面。

由于目前國內(nèi)軟件企業(yè)專職測試人員基本上只承擔(dān)系統(tǒng)測試,所以測試課程的重點(diǎn)在系統(tǒng)測試,在單元測試、集成測試方面?zhèn)戎赜谡莆栈靖拍詈蛯y試過程的了解,能在指導(dǎo)下完成單元測試、集成測試。與此同時,要注重從業(yè)務(wù)需求描述與評審到文檔評審的一系列質(zhì)量管理問題。因此要求課程開發(fā)在內(nèi)容上作出取舍,體現(xiàn)整體優(yōu)化。要注意引入有關(guān)質(zhì)量與質(zhì)量體系、測試標(biāo)準(zhǔn)等概念,有利于提高職業(yè)素養(yǎng),甚至也有利于企業(yè)澄清一些對于測試崗位的模糊觀念。針對軟件測試崗位的特定心理素質(zhì)要求,如與程序員的溝通困惑,加強(qiáng)溝通與職業(yè)素質(zhì)培養(yǎng)。

3.4 按照職業(yè)技術(shù)能力發(fā)展階段來設(shè)計典型工作任務(wù)

研究表明,“人的職業(yè)能力的發(fā)展是按照從門外漢到專家的過程進(jìn)行的”,而不是傳統(tǒng)心理學(xué)認(rèn)為的“從不知道到知道”的過程。因此,按照職業(yè)技術(shù)能力發(fā)展階段來設(shè)計典型工作任務(wù)是高職課程開發(fā)的重要課題。

高職軟件專業(yè)的課程在開發(fā)上一般涉及單機(jī)桌面軟件和基于網(wǎng)絡(luò)的分布式應(yīng)用系統(tǒng),從運(yùn)行環(huán)境來說有Windows平臺和Linux平臺。測試課程也可以相應(yīng)地劃分為兩個階段,分別確定Windows平臺下單機(jī)桌面軟件和Linux平臺(或Windows平臺)下的典型測試任務(wù)。根據(jù)教學(xué)對象的軟件專業(yè)知識背景與接受能力,在其他課程中作必要的軟件知識鋪墊。如在及時階段,通過C語言的簡單開發(fā)應(yīng)用、搭建Windows測試環(huán)境、從測試角度敘述Windows開發(fā)環(huán)境及應(yīng)用程序編程接口、Windows內(nèi)部對象及程序運(yùn)行機(jī)制、Windows消息機(jī)制、內(nèi)存泄漏和檢測技術(shù)等,了解編碼規(guī)范,理解Windows軟件錯誤產(chǎn)生原因,為有效地設(shè)計Windows應(yīng)用軟件的測試用例和測試腳本做準(zhǔn)備。在對Java開發(fā)、OOP、OOAD技術(shù)、UML設(shè)計工具和基本表示方法、配置和管理數(shù)據(jù)庫系統(tǒng)等作必要鋪墊后開始第二階段的測試課程。因此,在課程開發(fā)時一方面注意知識銜接,內(nèi)容涵蓋,另一方面深度適宜,體現(xiàn)理論分析“必須、適度、夠用”的原則。

“職業(yè)教育的系統(tǒng)性,首先是要保障專業(yè)勞動過程這一大系統(tǒng)的完整,而不是教學(xué)所涉及的各學(xué)科子系統(tǒng)的完整性,否則,就會混淆和局部的關(guān)系,本末倒置”。也只有通過對完整測試工作過程的把握,才能夠突破對普通高教課程的精簡、篩選,做到理論分析“必須、適度、夠用”。

4結(jié)語

隨著IT技術(shù)應(yīng)用的發(fā)展,產(chǎn)品質(zhì)量控制與質(zhì)量管理正逐漸成為企業(yè)生存與發(fā)展的焦點(diǎn)。從軟件、硬件到系統(tǒng)集成,幾乎每個大中型IT企業(yè)的產(chǎn)品在前都需要大量的質(zhì)量控制、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)人才,即測試技術(shù)人員來完成,在這里高職軟件測試課程建設(shè)通過引進(jìn)工作過程導(dǎo)向的課程開發(fā)方法可以發(fā)揮重要作用。

軟件測試論文:軟件測試教學(xué)的點(diǎn)滴體會

摘要:本文從軟件測試的教學(xué)實踐出發(fā),分析了測試工作的特點(diǎn)和對測試人員培養(yǎng)的要求,提出了一些測試教學(xué)中應(yīng)著力培養(yǎng)的方向。

關(guān)鍵詞:軟件測試;教學(xué)體會;團(tuán)隊精神

軟件生產(chǎn)過程中軟件質(zhì)量問題越來越多,軟件測試已經(jīng)和軟件的創(chuàng)意與開發(fā)一樣被提高到影響軟件生存的地位。隨著社會對該方向人才的需求越來越大,我們也在軟件系開設(shè)了軟件測試專業(yè),同時積累了初步的教學(xué)實踐經(jīng)驗。下面就幾個方面談點(diǎn)心得。

1教育同學(xué)不把軟件測試作為逃避困難的避風(fēng)港

軟件專業(yè)的部分同學(xué)在學(xué)習(xí)了編程的課程以后,往往有畏難情緒,認(rèn)為軟件開發(fā)工作對人的腦力和體力的要求高,而且技術(shù)變化快,需要不停地學(xué)習(xí)更新知識,同時工作中還常加班,于是就產(chǎn)生了逃避心理,希望在分專業(yè)的時候選測試。他們認(rèn)為測試是挑別人產(chǎn)品的問題,總比自己創(chuàng)造容易。有很多同學(xué)帶著規(guī)避困難的情緒來到軟件測試專業(yè),這是一種不正確的心態(tài)。測試工作往往是入門容易,深入難。

1.1測試工作需要對行業(yè)有廣泛的知識面

軟件測試工作看起來起點(diǎn)低,好象不需要深入的專業(yè)知識就可以開始做了。測試人員往往剛?cè)腴T的時候是參加一些具體的項目,從項目中積累測試經(jīng)驗。但是如果沒有良好的對計算機(jī)軟件和硬件的知識基礎(chǔ),經(jīng)驗的積累容易限于表面,而不深入。

比如測試中比較熱的一個方向是性能測試,該方向?qū)浖捻憫?yīng)時間,資源占有進(jìn)行測試。性能測試往往使用測試工具。測試工具對軟件系統(tǒng)運(yùn)行中的測試結(jié)果進(jìn)行數(shù)據(jù)采集。而測試人員需要對結(jié)果進(jìn)行分析,剛開始的時候面對各種數(shù)據(jù)可能不知道如何分析,經(jīng)過經(jīng)驗的積累,可以從數(shù)據(jù)中找到系統(tǒng)的瓶頸,提出改進(jìn)系統(tǒng)的意見。如果沒有對系統(tǒng)的了解,對專業(yè)數(shù)據(jù)的分析能力,是無法勝任工作的。

測試中還需要人員有很強(qiáng)的自學(xué)能力。因為許多時候我們使用自動化測試工具輔助測試人員完成可重復(fù)的測試任務(wù),往往它們都自帶一些腳本語言,測試人員要通過自學(xué)而掌握,所以也需要編程和調(diào)試的技巧。目前一些公司還開始重視開發(fā)自己軟件產(chǎn)品的測試工具,這樣要求從業(yè)人員擔(dān)當(dāng)開發(fā)和測試的兩重角色,是非常有挑戰(zhàn)的工作。

軟件測試員在做具體項目測試的時候,還需要對該項目的行業(yè)背景有所了解。一個專業(yè)測試師可能會接觸比軟件開發(fā)人員多得多的項目。他在做測試的初期需要對被測試項目做專業(yè)了解,可能就會接觸到各行各業(yè)的軟件。比如做金融行業(yè)軟件有什么特殊的要求,金融行業(yè)對信息的操作和信息安全方面要求怎樣,信息安全的技術(shù)有哪些等等。

我們的軟件測試方向教學(xué)中,也開始聘請工業(yè)界的行業(yè)專家為同學(xué)們講行業(yè)軟件開發(fā)的專題講座,以讓大家有更多機(jī)會了解行業(yè)背景。

從教學(xué)中大家都體會到該方向?qū)I(yè)知識領(lǐng)域的要求是相當(dāng)廣的,片面理解測試是一個比較低檔次的軟件工作不合適。

1.2測試人員和開發(fā)人員做的是一個工作的兩個方面

在軟件產(chǎn)品開發(fā)的工作中,好的測試人員和開發(fā)人員是在干一個工作的兩個方面。測試人員在清楚軟件產(chǎn)品的客戶需求的情況下,憑借自己敏銳的感覺和對軟件系統(tǒng)的深入了解,是在有一定批評和指導(dǎo)性地幫助設(shè)計和開發(fā)人員完成軟件產(chǎn)品生產(chǎn)活動。我們講授課程的時候強(qiáng)調(diào)這個觀點(diǎn),測試人員不是團(tuán)隊的二等公民,而是客戶的眼睛,是產(chǎn)品的鷹眼。

2測試員更需要培養(yǎng)團(tuán)隊精神

2.1尊重個性思維特點(diǎn),發(fā)揮團(tuán)隊優(yōu)勢

我們知道測試中有黑盒子和白盒子測試,黑盒子測試是測試人員在只知道軟件功能說明,不知道軟件內(nèi)部的實現(xiàn)具體細(xì)節(jié)的基礎(chǔ)上開發(fā)測試用例,進(jìn)行測試的過程;而

白盒子測試,是測試人員對軟件內(nèi)部代碼在明白其實現(xiàn)原理的情況下進(jìn)行的深入代碼內(nèi)部的測試。這兩種測試需要測試人員站在不同的角度看待被測試對象。測試團(tuán)隊中,測試人員的思維方式各不相同,配合好,可以很容易發(fā)現(xiàn)軟件產(chǎn)品各個方面的問題。比如黑盒子測試,適合讓一些有使用該類軟件經(jīng)驗的人擔(dān)當(dāng),他們在該類軟件中的使用經(jīng)驗將對測試帶來很好的旁觀者的意見,而白盒子測試適合參與編寫軟件的人,或者對系統(tǒng)代碼有一定掌握的人做。兩種方法產(chǎn)生的效果不同,前者人員不能陷入別人的思維定式,后者人員卻要非常注重細(xì)節(jié)。在課堂教學(xué)和實踐項目中,我們發(fā)現(xiàn)不同的同學(xué)有不同的思維特點(diǎn),測試人員的思維特征決定了他能夠怎樣發(fā)現(xiàn)缺陷和發(fā)現(xiàn)怎樣的缺陷。好的測試管理,應(yīng)該盡量發(fā)現(xiàn)每個人的長處,把他們放在合適的崗位上。

教學(xué)實驗中的測試項目,同學(xué)們是團(tuán)隊完成的,大家感覺測試工作真是需要協(xié)作的工作,一個項目的測試結(jié)果,往往是整個團(tuán)隊所有人的努力。有一次課堂討論如何測試一個下棋軟件,喜愛軟件開發(fā)的同學(xué)想到最多的是如何測試它的功能點(diǎn),界面是否正確;有的女同學(xué)對外觀和美感敏感,提出了改進(jìn)意見,包括改進(jìn)界面的舒服度,顏色的搭配等;有的同學(xué)平時學(xué)棋譜,利用自己的棋藝特長和軟件比賽,發(fā)現(xiàn)了軟件算法的秘密;老師還介紹了這類智能下棋軟件的常用算法。大家感覺軟件創(chuàng)造非常有魅力。

我們感覺課堂是一個集體,同學(xué)的參與非常重要,而老師主要起著管理和協(xié)調(diào)的作用。老師在和大家的討論中發(fā)現(xiàn)了很多思想,和學(xué)生一起交流學(xué)習(xí)。這點(diǎn)在測試課堂上特別容易表現(xiàn)出來,因為我們在用評判的思維考察軟件產(chǎn)品,而不是單純的學(xué)習(xí)了。

2.2問題的解決是團(tuán)隊精神的體現(xiàn)

不同人的思維都不一樣,這樣可能一個項目測試的人越多,測試效果就越好。但是人一多,就產(chǎn)生矛盾和意見。學(xué)會尊重他人思想和意見是非常重要的,而管理協(xié)調(diào)人員的目標(biāo)是需要讓團(tuán)隊意識到這點(diǎn),找到好途徑完成項目。

測試團(tuán)隊特別需要學(xué)習(xí)協(xié)調(diào)各個方面的關(guān)系。測試人員和開發(fā)人員發(fā)生矛盾是最常見的,測試團(tuán)隊內(nèi)部也可能會因為一個問題的理解不同而產(chǎn)生分歧。我們在團(tuán)隊中需要尊重每個你的合作伙伴,而不是一味強(qiáng)調(diào)自己意見的正確而強(qiáng)制他人接受自己。比如定級一個軟件缺陷的級別,可能不同的人就有不同的看法,有人覺得很嚴(yán)重,有人覺得沒那么嚴(yán)重,如何能互相體諒的協(xié)調(diào)好工作,最終拿出合理解決方案是大家需要思考的。例如在討論一個任務(wù)調(diào)度的軟件測試時,有的同學(xué)提出界面的結(jié)果數(shù)據(jù)在顏色上可以改得更漂亮,更豐富,更直觀些,這樣看起來容易讓人明白。而該項目的開發(fā)人員覺得自己使用的一致的顏色很好,界面太花俏不符合設(shè)計思想,而且修改起來技術(shù)上又費(fèi)點(diǎn)工作,不愿意,有的時候為這樣的小問題,大家都會不愉快,處理不好,會很大的影響工作進(jìn)度。這個時候項目組領(lǐng)導(dǎo)需要權(quán)衡利弊,讓小組成員最終達(dá)到統(tǒng)一的決定。

一個團(tuán)隊需要一種協(xié)調(diào)合作精神,問題的解決往往是團(tuán)隊精神的體現(xiàn)。

3計劃是測試成功的保障

測試工作要做的好,學(xué)會條理化自己的工作非常重要。測試管理那幾節(jié)課,我們專門講了如何做一個合格的測試經(jīng)理人。測試管理是軟件工程的一個部分,管理的目標(biāo)是管理你的測試團(tuán)隊,讓他較大效率的工作。而做這樣的工作過程中,你如何確定你的被測試項目,該項目有哪些特點(diǎn),你還需要深入了解哪些方面,自己目前的資源有哪些,在確定了測試目標(biāo)后,怎樣確定測試計劃,同時怎樣實施你的計劃,在計劃落實的過程中,你如何監(jiān)督計劃的完成。同學(xué)們非常喜歡這樣的內(nèi)容。

但是測試經(jīng)理的工作又怎樣能夠做到井井有條,忙而不亂呢?可能需要從大學(xué)的學(xué)習(xí)中養(yǎng)成良好的計劃和完成計劃的習(xí)慣。許多同學(xué)發(fā)現(xiàn)良好的工作學(xué)習(xí)習(xí)慣特別有助于成功,比如把平時看到的想到的記錄下來,把想要做的工作記錄下來,給自己定個計劃,看自己完成的情況怎樣,在這個計劃實施過程中,有哪些地方?jīng)]做到,是否沒有毅力,還是說被其他什么事情占用了時間。應(yīng)該怎樣做計劃調(diào)整,或者對自我行為做調(diào)整。

4培養(yǎng)耐心做測試

測試工作看起來乏味,因為畢竟沒有開發(fā)工作那么有挑戰(zhàn)和創(chuàng)造性。但是測試工作需要耐心和恒心,在這樣的工作中,你能夠培養(yǎng)自己的耐力。測試工作需要你付出自己的熱情和耐力,如果你為了刺激和新鮮,任何工作都有失去新鮮的時候。只有培養(yǎng)自己甘于寂寞,耐心塌實的心態(tài),方能把路走的長,走的寬。正如前面說的,測試和開發(fā)是一個工作的兩個方面,它們最終需要的都是個體從業(yè)人員的成熟和毅力。

5總結(jié)

軟件測試在軟件行業(yè)受重視的程度剛剛開始,該方向的教學(xué)活動也剛成為一個新亮點(diǎn),如何能夠健康地引導(dǎo)學(xué)生們走入這個方向,是值得大家共同探討的問題。筆者感覺測試教學(xué)不光要教會同學(xué)們一些專業(yè)知識,還要通過教學(xué)讓大家體會測試工作的行業(yè)精神,以及它對個體的行為和思想上的要求。

軟件測試論文:“軟件測試”教學(xué)探索與實踐

摘要:本文從教學(xué)目的、教學(xué)方法、教學(xué)內(nèi)容和實踐訓(xùn)練等方面對軟件測試課程教學(xué)進(jìn)行了探討,并簡要介紹了我校軟件測試課程的教學(xué)實踐過程。

關(guān)鍵詞:軟件測試;案例教學(xué);實踐教學(xué)

1軟件測試課程教學(xué)現(xiàn)狀

軟件測試作為控制軟件產(chǎn)品質(zhì)量的重要手段,目前在國內(nèi)也開始熱起來。國外軟件廠商早就極為重視軟件測試,目前歐美等軟件產(chǎn)業(yè)發(fā)達(dá)國家的軟件企業(yè)里,軟件測試和開發(fā)人員的合適比例達(dá)到1∶1,甚至不少企業(yè)測試人員的規(guī)模已超過了開發(fā)人員。而國內(nèi),在被調(diào)查企業(yè)中,測試人員與開發(fā)人員比例為1∶5的企業(yè)高達(dá)36.4%,比例為1∶2的企業(yè)占31.8%,比例為1∶1及以上的企業(yè)僅占31.7%。隨著產(chǎn)業(yè)和企業(yè)的發(fā)展,企業(yè)必然需要大量的測試人員。據(jù)國內(nèi)某大型招聘網(wǎng)站的調(diào)查數(shù)據(jù)顯示,2007年1至6月軟件測試工程師年供需比達(dá)到1:50,人才極度稀缺。

軟件測試人員為什么會有如此稀缺?國內(nèi)相關(guān)人才培養(yǎng)的滯后遠(yuǎn)不能滿足過旺的需求,這是導(dǎo)致測試人才供不應(yīng)求的根本原因。目前國內(nèi)開設(shè)相關(guān)專業(yè)和課程的高校寥寥無幾。各大高校及相關(guān)部門對相應(yīng)的市場需求反映過慢,造成了供需方面的矛盾。一方面市場缺口巨大,企業(yè)苦于招不到合適的人才;另一方面一些應(yīng)屆畢業(yè)生或IT從業(yè)人員想從事軟件測試相關(guān)工作,但由于沒有相關(guān)經(jīng)驗及基礎(chǔ)理論知識而被拒之門外。

目前大部分高校沒有開設(shè)專門的軟件測試課程,軟件測試只是軟件工程課程的一部分,所涉及的軟件測試相關(guān)知識非常有限。即使開設(shè)了軟件測試課程的高校,也面臨著師資力量匱乏、學(xué)生學(xué)習(xí)積極性不高和教學(xué)資源不足等困難。目前比較好的軟件測試教材和參考書不多,而且軟件測試實踐環(huán)節(jié)所需要大量的案例也不足,這也在一定程度上加大了老師上課的難度,也是很多老師不愿意上軟件測試課程的原因。

2教學(xué)目的和授課方式

我校計算機(jī)學(xué)院審時度勢在3年前就開設(shè)了軟件測試課程,該門課程是軟件工程專業(yè)的必修課。通過軟件測試知識體系的學(xué)習(xí),使學(xué)生了解軟件測試的發(fā)展現(xiàn)狀,掌握軟件測試的方法和技術(shù),熟悉軟件測試過程管理,從而具有獨(dú)立承擔(dān)測試項目的實施能力,具有測試策劃、管理、實現(xiàn)和判斷能力;通過實際的案例分析,并選用合適的測試工具實施軟件測試,讓學(xué)生掌握一套主流測試工具的具體應(yīng)用,并且掌握技術(shù)流程、軟件測試方法、測試管理、配置管理以及技術(shù)文檔的寫作等;,引導(dǎo)部分對知識技能掌握比較好的學(xué)生對軟件測試某一方面的問題進(jìn)行深入研究,為其后續(xù)的發(fā)展鋪好道路。

鑒于以上的教學(xué)目的,本課程采取理論授課與上機(jī)實踐相結(jié)合的授課方式,并輔之課堂和網(wǎng)絡(luò)討論、案例分析。本科教育最重要的是要為所學(xué)專業(yè)打下堅實的基礎(chǔ),所以該課程的54個學(xué)時中,用于基本概念和理論、工具分析和使用的理論授課時間為36個學(xué)時,用于案例分析討論、實驗操作的上機(jī)實踐、研究分析報告占18個時間。

3軟件測試課程教學(xué)探索和實踐

3.1軟件測試?yán)碚撜n主要教學(xué)內(nèi)容

軟件測試?yán)碚撜n內(nèi)容包括以下6部分的內(nèi)容:及時部分軟件測試綜述。共使用4個學(xué)時講解軟件缺陷的概念、軟件測試的背景、定義、目的和原則;軟件開發(fā)過程和軟件測試的關(guān)系、軟件質(zhì)量的概念和軟件質(zhì)量管理。

第二部分軟件測試基礎(chǔ)知識。本部分是該門課程的重點(diǎn),共使用12個學(xué)時講解,內(nèi)容包括靜態(tài)測試和動態(tài)測試的概念及方法、黑盒測試和白盒測試的概念及方法,其中黑盒測試和白盒測試的概念和方法又是該部分的重點(diǎn)內(nèi)容。黑盒測試主要講解等價類劃分法、邊界值分析法、因果圖法、決策表法、錯誤推測法等常用方法的概念和使用方法;白盒測試主要講解覆蓋測試(包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋)、路徑測試、最少測試用例數(shù)計算等內(nèi)容。

第三部分測試文檔。內(nèi)容包括測試計劃、編寫和跟蹤測試用例、缺陷管理,共用6個學(xué)時講解。

第四部分運(yùn)用測試技術(shù)。該部分主要講解軟件測試三大階段單元測試、集成測試和系統(tǒng)測試的概念和方法,其中系統(tǒng)測試具體分為配置測試、兼容性測試、文檔測試、軟件安全性測試、恢復(fù)性測試、壓力測試、性能測試、正確性測試。綜合所學(xué)知識完成一個網(wǎng)站的測試實例。該部分共使用8個學(xué)時的時間。

第五部分軟件測試自動化。共用4個學(xué)時講解和演示目前常用的自動化測試工具。

第六部分軟件測試的現(xiàn)狀和未來。由于該課程是在大四上學(xué)期開設(shè),學(xué)生都面臨畢業(yè)找工,所以設(shè)計2個學(xué)時針對畢業(yè)學(xué)生講解軟件測試職業(yè)以及對測試人員的要求。

為了保障軟件測試課程的教學(xué)水平,提高教學(xué)效果,我們主要采用案例教學(xué)法。一些典型的、難度適宜的、有針對性和代表性的案例的收集成為案例教學(xué)法實施的難點(diǎn)。案例的收集我們主要通過以下幾種途徑:

(1) 從實習(xí)企業(yè)中收集

(2) 從學(xué)生畢業(yè)設(shè)計中收集

(3) 從學(xué)生上機(jī)作業(yè)及課堂作業(yè)中收集

(4) 從教材及參考書中收集

(5) 從互聯(lián)網(wǎng)中收集。案例的選擇遵循典型性、針對性和系統(tǒng)性原則,收集到的案例可以作為理論課講解時的實例,也可以作為實驗課的基本素材。

3.2強(qiáng)化實踐教學(xué)環(huán)節(jié)

軟件測試課程實踐教學(xué)環(huán)節(jié)包括兩個方面的內(nèi)容:實驗課實踐環(huán)節(jié)和課外實踐環(huán)節(jié)。實驗課實踐環(huán)節(jié)共設(shè)計了8個實驗,分別是4個基礎(chǔ)實驗,3個專項實驗和1個綜合性設(shè)計性實驗。兩個完整、系統(tǒng)的實驗案例貫穿其中:C/S結(jié)構(gòu)的學(xué)生學(xué)籍管理系統(tǒng),來源于數(shù)據(jù)庫原理課程大作業(yè);B/S結(jié)構(gòu)的網(wǎng)上辦公自動化系統(tǒng),來源于畢業(yè)設(shè)計。實驗內(nèi)容涵蓋了理論課程的大部分重要知識點(diǎn)。詳細(xì)實驗項目內(nèi)容見下表:

要想使學(xué)生真正具有獨(dú)立承擔(dān)軟件測試、軟件配置、軟件維護(hù)、軟件實施等方面的能力,18個學(xué)時的課堂實踐是遠(yuǎn)遠(yuǎn)不夠的。所以除此之外,還設(shè)計了課外實踐環(huán)節(jié)。課外實踐有針對性地設(shè)計了目前軟件測試方面比較受關(guān)注的熱點(diǎn)和難點(diǎn)問題,讓學(xué)生進(jìn)行分組,每組5~8人,確定一名小組長對整個組的成員進(jìn)行管理,確定小組研究方向,然后就該方向利用圖書館科技文獻(xiàn)資源或互聯(lián)網(wǎng)進(jìn)行深入研究與分析,在學(xué)期末每組提交一份學(xué)術(shù)報告匯報學(xué)習(xí)研究情況。

軟件測試論文:軟件測試課程教學(xué)方法探討與實踐

摘要:本文分析了軟件測試課程的教學(xué)現(xiàn)狀,并從課程建設(shè)、師資力量、教學(xué)方法、實踐訓(xùn)練等方面對軟件測試課程教學(xué)進(jìn)行了探討,然后簡要介紹了我校軟件測試課程的教學(xué)實踐過程。

關(guān)鍵詞:軟件測試;課程建設(shè);案例教學(xué);實踐教學(xué)

1引言

隨著計算機(jī)的誕生,就開始了軟件開發(fā)和軟件測試。計算機(jī)硬件的飛速發(fā)展,使得軟件在整個系統(tǒng)中的地位越來越高,同時對軟件的質(zhì)量提出了更高的要求,軟件測試是保障軟件質(zhì)量的重要手段[1]。近年來,國內(nèi)軟件市場不斷擴(kuò)大,軟件企業(yè)逐漸走入正規(guī),市場需要大量的軟件測試人才。但是各高校并沒有準(zhǔn)備好這方面的人才,迫于就業(yè)壓力,許多本科生、碩士研究生紛紛通過自學(xué)、培訓(xùn)等途徑獲取軟件測試所需要的技能,去應(yīng)聘軟件測試職業(yè)。鑒于此,高校應(yīng)該根據(jù)社會需要,調(diào)整培養(yǎng)方案,培養(yǎng)出大批合格的軟件測試人才。軟件測試屬于軟件工程專業(yè)的一個方向,可以依托軟件工程專業(yè),加強(qiáng)軟件測試課程建設(shè),加大軟件測試方面的師資力量,改進(jìn)教學(xué)方法,加強(qiáng)實踐教學(xué)環(huán)節(jié),培養(yǎng)出具有扎實軟件測試?yán)碚摶A(chǔ)、掌握軟件測試方法和具有一定軟件測試經(jīng)驗的軟件測試人才。

2軟件測試課程的教學(xué)現(xiàn)狀

目前,許多高校的計算機(jī)相關(guān)專業(yè)并沒有單獨(dú)開設(shè)軟件測試技術(shù)課程,軟件測試技術(shù)只在軟件工程課程的某一章節(jié)進(jìn)行了介紹,并且沒有作為重點(diǎn)內(nèi)容來要求。軟件測試技術(shù)方面的教材,近年來才出現(xiàn)了一些,但質(zhì)量良莠不齊,對軟件測試技術(shù)的重視程度可見一斑。有的學(xué)校把軟件測試技術(shù)作為選修課,課時比較少,大多注重軟件測試?yán)碚摰闹v解和測試方法的介紹,忽視了極為重要的實踐環(huán)節(jié),缺乏系統(tǒng)的訓(xùn)練,離軟件公司對軟件測試人才的要求差距較大。

講授軟件測試技術(shù)課程教師的缺乏也是亟待解決的問題。高校中有講授軟件工程的主講教師,他們能很好的講解軟件測試?yán)碚摵徒榻B軟件測試方法,但缺乏較好的軟件測試案例和軟件測試經(jīng)驗,而這正是講授好軟件測試技術(shù)課程的關(guān)鍵所在。

另外,學(xué)生對軟件測試的認(rèn)識也直接影響他們對軟件測試技術(shù)的掌握。一些不規(guī)范的軟件公司往往讓新進(jìn)人員和編程能力較差的人員從事軟件測試,這讓很多學(xué)生片面地認(rèn)為不會編程序的人才從事軟件測試,從而不重視軟件測試技術(shù)的學(xué)習(xí)和訓(xùn)練。

3軟件測試課程教學(xué)方法探討

為了培養(yǎng)符合社會需要的軟件測試人才,進(jìn)行如下教學(xué)措施。

及時,加強(qiáng)軟件測試課程建設(shè)。軟件測試課程建設(shè)包括制定教學(xué)目標(biāo)、確定教學(xué)內(nèi)容、制定教學(xué)計劃和選擇教材。軟件測試課程的教學(xué)目標(biāo)是通過對軟件測試技術(shù)的理論學(xué)習(xí)和系統(tǒng)訓(xùn)練,使學(xué)生了解軟件測試在軟件開發(fā)過程中的重要作用和地位,理解軟件測試的基本概念和基本理論,掌握軟件測試技術(shù)和方法,能運(yùn)用軟件測試技術(shù)解決實際測試問題,并知道軟件測試職業(yè)的特點(diǎn)和對軟件測試人員素質(zhì)的要求。教學(xué)內(nèi)容分為課堂教學(xué)、實驗教學(xué)和實踐訓(xùn)練,課堂教學(xué)包括軟件測試基本概念和基本理論、軟件測試技術(shù)和方法;實驗教學(xué)則是利用所學(xué)的軟件測試技術(shù)進(jìn)行軟件測試;實踐訓(xùn)練有課程設(shè)計,并與認(rèn)識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計等環(huán)節(jié)有機(jī)結(jié)合起來。軟件測試技術(shù)的課堂教學(xué)在軟件工程課程結(jié)束之后開始,安排在第5、6兩學(xué)期進(jìn)行,實驗教學(xué)在這兩學(xué)期同步安排;課程設(shè)計在第6學(xué)期后半學(xué)期或第7學(xué)期前半學(xué)期進(jìn)行。與軟件測試技術(shù)相關(guān)的認(rèn)識實習(xí)安排在第4學(xué)期后半學(xué)期或第5學(xué)期的前半學(xué)期;生產(chǎn)實習(xí)安排在第7學(xué)期,畢業(yè)實習(xí)和畢業(yè)設(shè)計則根據(jù)需要安排在第7、8學(xué)期。教材可先選用一些較的軟件測試書籍,然后根據(jù)教學(xué)實踐與有經(jīng)驗的軟件測試工程師合編軟件測試教材、實驗指導(dǎo)書和實踐訓(xùn)練指導(dǎo)書。

第二,加大軟件測試師資的培養(yǎng)與引進(jìn)。講授軟件工程的教師大多缺乏實際的軟件測試經(jīng)驗和充足的測試案例,而這正是講授好軟件測試課程的關(guān)鍵,可以派遣準(zhǔn)備講授該課程的教師到的軟件測試培訓(xùn)機(jī)構(gòu)進(jìn)行培訓(xùn),然后聯(lián)系到正規(guī)軟件公司的軟件測試部門實習(xí)。另外,引進(jìn)或聘任有經(jīng)驗的軟件測試工程師來校任教也是一個很好的辦法。

第三,合理安排教學(xué)內(nèi)容,執(zhí)行案例教學(xué)。軟件測試技術(shù)涉及的知識點(diǎn)很多,并且這些知識點(diǎn)需要通過大量規(guī)范化的訓(xùn)練來理解和掌握,分階段教學(xué)是一個很好方法。及時階段的教學(xué)內(nèi)容是軟件測試技術(shù)的基本要求,包括軟件測試的基本概念和基本知識、單元測試、集成測試以及自動化測試工具的使用。第二階段的教學(xué)內(nèi)容是軟件測試技術(shù)的較高要求,包括需求測試、設(shè)計測試、系統(tǒng)測試、性測試、驗收測試以及靜態(tài)測試中的同行評審等。課堂教學(xué)中利用各種測試案例進(jìn)行教學(xué)能使學(xué)生更容易理解和掌握軟件測試概念和軟件測試方法。案例教學(xué)法需要建立案例庫,向案例庫中增加案例是一個逐漸積累的過程。測試案例可以從教學(xué)實踐(包括教師設(shè)計的案例和學(xué)生練習(xí)中設(shè)計的案例)、教材、軟件企業(yè)等方面收集[2]。教學(xué)過程中,理解軟件測試技術(shù)時可采用一些簡單的測試案例,綜合訓(xùn)練時則選擇較復(fù)雜的完整案例。

第四,扎實執(zhí)行實踐訓(xùn)練。掌握軟件測試技術(shù)只有課堂學(xué)習(xí)是遠(yuǎn)遠(yuǎn)不夠的,還必須進(jìn)行扎實的實踐訓(xùn)練。實踐訓(xùn)練包括課程實驗、課程設(shè)計、認(rèn)識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計。實驗教學(xué)在學(xué)校專業(yè)實驗室進(jìn)行,通過課程實驗使學(xué)生熟悉軟件測試過程,加深對軟件測試方法的理解。實驗內(nèi)容按測試方法組織,測試案例由實驗指導(dǎo)教師設(shè)計或從案例庫中抽取,根據(jù)測試對象要求學(xué)生設(shè)計測試用例、編寫測試程序、測試和書寫測試報告。實驗教學(xué)的學(xué)時有限,只能使學(xué)生達(dá)到軟件測試入門級的水平。課程設(shè)計是對實驗教學(xué)的補(bǔ)充,針對某課程進(jìn)行的綜合實踐訓(xùn)練。軟件測試技術(shù)課程設(shè)計以一個小型的軟件項目為對象,在學(xué)校專業(yè)實驗室中進(jìn)行軟件測試技術(shù)的綜合訓(xùn)練,訓(xùn)練內(nèi)容包括需求測試、設(shè)計測試、單元測試、集成測試、系統(tǒng)測試和驗收測試,訓(xùn)練要求寫出規(guī)范的測試報告、設(shè)計合理的測試用例、進(jìn)行人工和自動測試并分析測試結(jié)果,當(dāng)項目相對復(fù)雜時,可以多名學(xué)生合作完成。認(rèn)識實習(xí)和生產(chǎn)實習(xí)是高校專業(yè)教育中兩個重要的實踐環(huán)節(jié),組織對軟件測試感興趣的同學(xué)利用這兩個環(huán)節(jié)進(jìn)行軟件測試技術(shù)的學(xué)習(xí)和訓(xùn)練。認(rèn)識實習(xí)通過參觀軟件公司測試部門的軟件測試過程、聽取有經(jīng)驗軟件測試工程師的專題報告等方式進(jìn)行,加深學(xué)生對軟件測試技術(shù)的理解和加強(qiáng)學(xué)生對軟件測試職業(yè)的認(rèn)識,激發(fā)他們對軟件測試職業(yè)的興趣。生產(chǎn)實習(xí)則需要有軟件測試訓(xùn)練基地(通過學(xué)校自建或與軟件公司合建實現(xiàn)),在實習(xí)基地每個有經(jīng)驗的軟件測試工程師單獨(dú)指導(dǎo)幾名學(xué)生進(jìn)行實際項目的測試,通過該項訓(xùn)練,使學(xué)生認(rèn)識到實際項目的軟件測試與實驗室進(jìn)行的軟件測試的區(qū)別,找出自己的差距,通過自己學(xué)習(xí)和向工程師學(xué)習(xí)不斷提高自身軟件測試水平。畢業(yè)實習(xí)和畢業(yè)設(shè)計環(huán)節(jié)則組織有志于從事軟件測試職業(yè)的學(xué)生進(jìn)行強(qiáng)化實踐訓(xùn)練,由學(xué)校教師和有經(jīng)驗的軟件工程師共同指導(dǎo),要求學(xué)生獨(dú)立進(jìn)行實際項目的測試,每個階段由指導(dǎo)教師評價測試用例、測試和測試報告的質(zhì)量,使學(xué)生逐步達(dá)到軟件公司對軟件測試人才的要求。

第五,引導(dǎo)學(xué)生正確認(rèn)識軟件測試技術(shù)和軟件測試職業(yè)。通過任課教師的講解、具有豐富經(jīng)驗軟件工程師的報告、自己從各種媒體的學(xué)習(xí)等方式使學(xué)生了解軟件測試技術(shù)的重要性和廣闊的就業(yè)前景,激發(fā)他們學(xué)習(xí)和掌握軟件測試技術(shù)的興趣;同時要讓他們認(rèn)識到軟件測試職業(yè)對軟件測試人員的要求較高,不僅要掌握軟件測試技術(shù),還要具備軟件系統(tǒng)分析、軟件系統(tǒng)設(shè)計和軟件編程等方面的能力。由于軟件測試人員的工作是找出軟件中錯誤,并經(jīng)常同系統(tǒng)設(shè)計者和編程人員交流,要訓(xùn)練和培養(yǎng)學(xué)生具有嚴(yán)謹(jǐn)?shù)墓ぷ髁?xí)慣、良好的溝通能力和團(tuán)隊合作精神。

4軟件測試課程教學(xué)實踐

我校計算機(jī)學(xué)院開設(shè)了軟件工程專業(yè),幾年前專業(yè)建設(shè)領(lǐng)導(dǎo)就意識到市場對軟件測試人才的需求,及時修訂了專業(yè)培養(yǎng)計劃,設(shè)立了軟件工程專業(yè)的軟件測試方向。具體措施如下:

及時,進(jìn)行了軟件測試課程建設(shè)。制定了軟件測試教學(xué)計劃,設(shè)立了軟件測試課程,增加了軟件測試課程設(shè)計,依托軟件工程實驗室建立了軟件測試實驗室,并開始建立軟件測試案例庫。

第二,加強(qiáng)軟件測試技術(shù)師資建設(shè)。從正在進(jìn)行軟件項目開發(fā)的教師中挑選擔(dān)任軟件測試課程教師,并對他們進(jìn)行短期培訓(xùn);同時從軟件公司(軟件工程專業(yè)學(xué)生的實習(xí)基地)中聘請有經(jīng)驗的軟件測試工程師定期進(jìn)行講座,并與任課教師進(jìn)行交流。

第三,注重軟件測試實踐環(huán)節(jié)。依托軟件工程專業(yè)的實習(xí)基地,使部分對軟件測試感興趣和有志于從事軟件測試職業(yè)的學(xué)生的認(rèn)識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計在實習(xí)基地著重進(jìn)行軟件測試的訓(xùn)練。經(jīng)過幾年的摸索和努力,2006年軟件工程專業(yè)畢業(yè)生中已有一批學(xué)生成功應(yīng)聘到軟件公司從事軟件測試工作。

5結(jié)束語

隨著軟件公司規(guī)模擴(kuò)大和正規(guī)化,社會需要大量的軟件測試人才,這給就業(yè)壓力極大的畢業(yè)生帶來了機(jī)遇,同時軟件公司希望招收有技術(shù)和經(jīng)驗的員工,又給畢業(yè)生和高校帶來了挑戰(zhàn)。軟件測試人才培養(yǎng)剛剛起步,很多工作處于摸索階段,需要學(xué)校、教師和學(xué)生的共同努力,為社會培養(yǎng)出大批合格的軟件測試人才。

軟件測試論文:高職軟件測試專業(yè)的構(gòu)建與探索

摘要:本文從軟件產(chǎn)業(yè)發(fā)展、軟件企業(yè)測試職業(yè)崗位出發(fā),解析軟件測試專業(yè)人才的培養(yǎng)目標(biāo)及定位,并以番禺職業(yè)技術(shù)學(xué)院的軟件測試專業(yè)(方向)的構(gòu)建思路、課程體系、教學(xué)資源、專業(yè)師資,以及教學(xué)模式等五個方面說明了軟件測試專業(yè)在高職教育中的構(gòu)建思想與探索過程。

關(guān)鍵詞:軟件測試;專業(yè)構(gòu)建;建設(shè)思路;實施策略

1專業(yè)構(gòu)建背景

1.1軟件產(chǎn)業(yè)發(fā)展的需求

軟件產(chǎn)業(yè)發(fā)展和技術(shù)進(jìn)步帶來了對軟件測試專業(yè)人才的迫切需求。在國內(nèi),僅在2007年2月的網(wǎng)上招聘信息搜索中,廣州、深圳兩地招聘軟件測試工程師的IT企業(yè)數(shù)量就超過了60多家,企業(yè)的規(guī)模涵蓋了大、中、小各種類型,人數(shù)超過了六七百人,這在近幾年的IT人才招聘廣告中是不多見的,反映出軟件企業(yè)測試人才的嚴(yán)重短缺。高級的軟件測試人才更是“一將難求”。這種趨勢引發(fā)了專業(yè)性的軟件測試機(jī)構(gòu)和組織的迅速產(chǎn)生和發(fā)展,企業(yè)與社會培訓(xùn)機(jī)構(gòu)舉辦的各類軟件測試技術(shù)培訓(xùn)正成為IT技術(shù)培訓(xùn)的新熱點(diǎn),其驅(qū)動力正是來自軟件產(chǎn)業(yè)對測試人才的強(qiáng)勁需求和不斷提升的人才價值。根據(jù)對軟件業(yè)未來的發(fā)展預(yù)測,測試人才的需求將持續(xù)保持旺盛的態(tài)勢,就業(yè)前景十分看好。其實,這也從另一角度反映出現(xiàn)代軟件開發(fā)與測試的關(guān)聯(lián)關(guān)系,軟件產(chǎn)品追求工程質(zhì)量的趨勢。

1.2軟件測試人才的供需矛盾

國內(nèi)軟件業(yè)普遍存在軟件測試人才的供需矛盾:一方面,企業(yè)對軟件測試人才有大量需求,但又苦于招聘不到合格人才;另一方面,許多高校應(yīng)屆畢業(yè)生和開發(fā)人員有志從事軟件測試工作,卻因為沒有測試經(jīng)驗而被拒之門外。產(chǎn)生這種矛盾的根本原因是由于我國軟件業(yè)長期“重開發(fā)、輕測試”,很多中、小型軟件企業(yè)基本沒有設(shè)置專門的測試部門和組成專業(yè)隊伍,這導(dǎo)致軟件技術(shù)人才不具有測試的知識和工作實踐能力,同時,企業(yè)也缺乏相關(guān)的培養(yǎng)機(jī)制,一旦需求(如軟件外包、產(chǎn)品系列化、規(guī)模化、專業(yè)化),即造成業(yè)內(nèi)的軟件測試人才嚴(yán)重短缺。

與此同時,國內(nèi)高校計算機(jī)教育(本、專科)也忽視了這一領(lǐng)域,截至目前,甚至大多數(shù)高校的軟件與計算機(jī)類專業(yè)中都未曾設(shè)置專門的軟件測試課程,所以應(yīng)屆畢業(yè)生自然無法適應(yīng)和勝任軟件測試的崗位工作,也是屬于“情理之中”的事情。

1.3國內(nèi)高校軟件測試教學(xué)現(xiàn)狀分析

國內(nèi)高校軟件測試教學(xué)總體屬于起步階段,根據(jù)近幾年的專業(yè)教學(xué)調(diào)研與交流表明,已開設(shè)了軟件測試課程的院校大約只占計算機(jī)類或軟件專業(yè)院校總數(shù)的6~8%,開設(shè)軟件測試專業(yè)的院校更是“鳳毛麟角”。這一方面表明了高校辦學(xué)自覺適應(yīng)社會和行業(yè)需求,促進(jìn)技術(shù)發(fā)揮和進(jìn)步的意識依然不夠強(qiáng)烈,積極培養(yǎng)軟件職業(yè)技術(shù)人才的認(rèn)識不到位,另一方面,也反映出針對軟件測試領(lǐng)域,對其學(xué)科與技術(shù)的研究、教學(xué)的投入不足,人才培養(yǎng)的缺失,最顯現(xiàn)的現(xiàn)象是這方面的師資嚴(yán)重缺乏,在軟件產(chǎn)業(yè)大發(fā)展和軟件測試技術(shù)發(fā)展迅速的形勢下,不能為社會培養(yǎng)這方面的高級人才、適用人才。

當(dāng)前,針對軟件測試職業(yè)崗位的工作需求,一些軟件企業(yè)與行業(yè)的培訓(xùn)機(jī)構(gòu)在積極開展測試人才培訓(xùn)工作,但培訓(xùn)內(nèi)容比較單一、且實用化,基礎(chǔ)建立不足,呈現(xiàn)了社會培訓(xùn)“接力”高校計算機(jī)類專業(yè)及畢業(yè)生的過程,經(jīng)過短期培訓(xùn)而“應(yīng)急”企業(yè)需求。從培訓(xùn)系列化、職業(yè)化的測試人才角度考察,這種培訓(xùn)屬于非專門化、專業(yè)性的培養(yǎng)和教育。

2專業(yè)構(gòu)建思路

2.1軟件測試職業(yè)崗位分析

要落實好高職教育“以就業(yè)為導(dǎo)向”的辦學(xué)方向與策略,專業(yè)培養(yǎng)目標(biāo)的確定應(yīng)是以職業(yè)崗位分析為前提的。軟件測試職業(yè)是軟件行業(yè)新興的職業(yè)門類,目前規(guī)范的軟件企業(yè)都在開始建立軟件測試職業(yè)體系,逐步形成軟件測試員、軟件測試工程師、高級軟件測試工程師、測試項目經(jīng)理、測試部門經(jīng)理等級的職業(yè)系列崗位。這其中,軟件測試員和軟件測試工程師作為軟件工作的“主力軍”,應(yīng)理解軟件測試基本理論,熟悉軟件測試標(biāo)準(zhǔn),掌握實際測試技能,承擔(dān)和完成具體測試任務(wù)。而高級軟件測試工程師則要求擔(dān)任較復(fù)雜的軟件分析、測試策略制定等任務(wù),進(jìn)行測試規(guī)劃、測試用例設(shè)計和管理以及對測試結(jié)果進(jìn)行分析。測試項目經(jīng)理和測試部門經(jīng)理則更偏重于管理,要求具備深厚、寬廣的軟件測試?yán)碚摵唾|(zhì)量管理知識與能力,承擔(dān)對整個測試流程的管理和監(jiān)督任務(wù),具有能夠使得整個測試團(tuán)隊或部門高效工作的組織管理能力。這說明軟件測試職業(yè)崗位的分布已具有層次性,對報考和學(xué)習(xí)軟件測試專業(yè)的人來說,可以設(shè)計職業(yè)生涯的規(guī)劃。

仔細(xì)分析任何一個成熟的軟件企業(yè),為完成軟件產(chǎn)品的開發(fā)都需要三類人才:及時類是懂技術(shù)、行業(yè)知識和管理的軟件高級人才,即“軟件金領(lǐng)”;第二類是系統(tǒng)分析及設(shè)計人員,稱為軟件工程師,即“軟件白領(lǐng)”;第三類是能夠熟練編程的程序員,即“軟件藍(lán)領(lǐng)”。類似地,軟件測試行業(yè)的人才同樣也可劃分為三類:及時類是作為高級軟件測試人才的測試項目經(jīng)理和測試部門經(jīng)理,可稱為“測試金領(lǐng)”;第二類是具有豐富實踐工作經(jīng)驗的高級軟件測試工程師,可稱為“測試白領(lǐng)”;第三類是承擔(dān)基礎(chǔ)測試工作的軟件測試員和軟件測試工程師,可稱為“測試藍(lán)領(lǐng)”。一個成熟的軟件產(chǎn)業(yè)從人力資源結(jié)構(gòu)上應(yīng)該呈金字塔形狀,不僅需要處于頂端的、決定產(chǎn)業(yè)方向和邊緣領(lǐng)域開拓的人,也需要從事產(chǎn)業(yè)日常具體工作的人員,因此,位于金字塔底端的“測試藍(lán)領(lǐng)”與“軟件藍(lán)領(lǐng)”都是軟件企業(yè)中最能直接體現(xiàn)產(chǎn)品價值和創(chuàng)造利潤的主力,也是需求數(shù)量較大的一類人才。

2.2專業(yè)人才培養(yǎng)目標(biāo)定位

目前國內(nèi)測試行業(yè)大量需求的是軟件測試員和軟件測試工程師,由于歷史原因,測試人才的培養(yǎng)、培訓(xùn)屬初級階段,要建立一只龐大的“測試藍(lán)領(lǐng)”隊伍的任重而道遠(yuǎn)。社會需求是高職教育發(fā)展的較大動力,“以服務(wù)為宗旨”的職業(yè)教育理念就是要根據(jù)經(jīng)濟(jì)和社會發(fā)展的要求,培養(yǎng)多層次、多樣化的技能型人才。作為高技能型軟件技術(shù)人才培養(yǎng)中堅力量的高職院校,在軟件專業(yè)人才培養(yǎng)方案中設(shè)立軟件測試專業(yè)將是其辦學(xué)的必然趨勢。

高職院校的辦學(xué)定位是服務(wù)于地方經(jīng)濟(jì),在人才培養(yǎng)定位及專業(yè)設(shè)置上,更要及時了解地方經(jīng)濟(jì)的發(fā)展趨向,充分考慮地方經(jīng)濟(jì)對人才培養(yǎng)的需求,適時地更新專業(yè)設(shè)置,合理調(diào)整培養(yǎng)目標(biāo)、課程體系和教學(xué)內(nèi)容,以更好地服務(wù)于地方經(jīng)濟(jì),同時學(xué)校在不斷滿足市場需求的同時,自身也得到更快的發(fā)展與提高。番禺職業(yè)技術(shù)學(xué)院位于廣州,面向軟件產(chǎn)業(yè)發(fā)達(dá)的廣州地區(qū)和‘珠三角’辦學(xué)。廣州市政府已將軟件與動漫作為新時期廣州國民經(jīng)濟(jì)發(fā)展的支柱產(chǎn)業(yè),區(qū)域性的軟件產(chǎn)業(yè)園和企業(yè)將以更大的規(guī)模和更快的速度發(fā)展,培養(yǎng)高素質(zhì)的軟件測試專業(yè)技術(shù)人才成為我們刻不容緩的任務(wù)和職責(zé),以滿足學(xué)生就業(yè)和社會對此類人才的需求,為發(fā)展廣州軟件業(yè)服務(wù)。

通過對廣東省高校(高職和本科)相關(guān)專業(yè)辦學(xué)情況的調(diào)研,針對軟件企業(yè)的需求和職業(yè)崗位做出分析,確定了軟件測試專業(yè)的人才培養(yǎng)目標(biāo)是:面向軟件企業(yè)或其它各類企事業(yè)單位對軟件測試人才的需求,以軟件測試員和軟件測試工程師崗位需求為導(dǎo)向,掌握軟件測試?yán)碚撝R和業(yè)界主流的通用測試技術(shù),能夠承擔(dān)并完成實際測試工作任務(wù),具有工程實踐能力,并具有良好的職業(yè)道德、良好的團(tuán)隊合作精神和可持續(xù)發(fā)展能力等綜合素質(zhì)的高技能型軟件測試人才。

3專業(yè)構(gòu)建策略

3.1課程體系特征

高等職業(yè)教育倡導(dǎo)“能力本位”,以培養(yǎng)學(xué)生技術(shù)和職業(yè)崗位應(yīng)用能力為主,具體體現(xiàn)為培養(yǎng)“基礎(chǔ)理論知識適度、技術(shù)應(yīng)用能力強(qiáng)、具備職業(yè)化特征”的專門人才。高職教育的這一鮮明特征,決定了軟件測試專業(yè)課程體系的構(gòu)建將堅持以培養(yǎng)崗位職業(yè)能力為目標(biāo),突出軟件測試的職業(yè)特色,適應(yīng)軟件企業(yè)測試崗位的工作需要,培養(yǎng)針對軟件測試技術(shù)應(yīng)用的高素質(zhì)技能型專門人才。

針對軟件測試員、軟件測試工程師崗位,以職業(yè)所需的知識和技能為先導(dǎo),采用“逆向制定法”設(shè)計專業(yè)課程體系。即先根據(jù)測試職業(yè)工作內(nèi)涵,分析對應(yīng)知識、技能與素質(zhì)要求,構(gòu)造專業(yè)課程體系及層次,并建立課程標(biāo)準(zhǔn),確立每門課程的知識與技能要求,進(jìn)行內(nèi)容的甄選與整合。建立以技術(shù)理論和技術(shù)應(yīng)用為主線的課程體系架構(gòu),實現(xiàn)知識傳授與技能培養(yǎng)并重,體現(xiàn)知識、能力、素質(zhì)培養(yǎng)“三合一”特征。

軟件測試職業(yè)特征決定了軟件測試專業(yè)課程體系的知識覆蓋面要求較廣、并且較深。軟件測試是一門動態(tài)的、交叉性學(xué)科,跨越軟件工程的整個領(lǐng)域,進(jìn)行測試工作的人員必須對軟件開發(fā)的整個過程有相當(dāng)?shù)睦斫夂驼莆铡\浖y試工作主要針對的是由開發(fā)者編寫的程序(這里的程序是廣義概念,實際上涵蓋所有軟件開發(fā)過程中的每個環(huán)節(jié)),而且在測試過程中也需要編寫、修改測試腳本等等,因此測試人員必須具有相當(dāng)?shù)某绦蜷喿x與編制能力;其次,任何一個被測軟件都是運(yùn)行在特定的系統(tǒng)環(huán)境下,包含了硬件和軟件環(huán)境,測試人員必須掌握計算機(jī)系統(tǒng)軟、硬件的基本理論與知識,網(wǎng)絡(luò)系統(tǒng)的理論與知識,系統(tǒng)平臺的知識與環(huán)境等等,內(nèi)容十分豐富,要求對其具有一定的綜合性的掌握與運(yùn)用能力。因此,該專業(yè)課程體系中除了設(shè)置那些“看得見”的職業(yè)能力課程,如軟件測試基礎(chǔ)、軟件自動化測試技術(shù)、軟件測試管理等大類,以及分為面向?qū)ο蟮臏y試、基于WEB的系統(tǒng)測試、性能測試、嵌入式系統(tǒng)測試等幾個類別,具體的黑盒測試技術(shù)、白盒測試技術(shù)等等,還需要開設(shè)那些“看不見”但會對專業(yè)能力培養(yǎng)產(chǎn)生決定作用的課程,如傳統(tǒng)計算機(jī)科學(xué)與技術(shù)的專業(yè)基礎(chǔ)類課程,如,計算機(jī)系統(tǒng)組成、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、計算機(jī)網(wǎng)絡(luò)、關(guān)系數(shù)據(jù)庫、軟件工程等等,以及十分重要的程序設(shè)計類課程(C/C++程序設(shè)計、Java程序設(shè)計、Web應(yīng)用開發(fā)技術(shù)等)。其次,課程體系還包含為從事職業(yè)工作必需的協(xié)作能力、溝通能力、職業(yè)態(tài)度訓(xùn)練的課程。

總之,在專業(yè)課程體系構(gòu)建當(dāng)中,對軟件測試基礎(chǔ)理論知識的涵蓋原則是“必須的不缺”,對技術(shù)原理(方法)的分析原則是“舉一反三”,對實踐技能訓(xùn)練的原則是“項目運(yùn)作”,使得學(xué)生通過專業(yè)課程體系的學(xué)習(xí),能具備軟件測試的必備專業(yè)知識和實際工作能力,能基本承擔(dān)起軟件測試的工作任務(wù),為日后從事軟件測試職業(yè)和專業(yè)持續(xù)發(fā)展奠定必須的理論與實踐技能基礎(chǔ)。

3.2教學(xué)資源建設(shè)

教學(xué)資源建設(shè)是專業(yè)教學(xué)的保障條件,在這方面的建設(shè)從四個方面著手,主要進(jìn)行專門教材建設(shè)、實踐教學(xué)環(huán)境建設(shè)、測試工程運(yùn)用平臺搭建、網(wǎng)絡(luò)教學(xué)平臺及資源建設(shè)。

軟件測試是伴隨軟件工程過程的活動,是一項復(fù)雜、系統(tǒng)和綜合性較高的工作。要真正認(rèn)識領(lǐng)會軟件測試的知識和掌握其技能,能夠擔(dān)負(fù)起實際工作任務(wù),需要通過大量的實踐教學(xué)活動,以“學(xué)中干、干中學(xué)”的方式培養(yǎng)學(xué)生的核心專業(yè)技能,實現(xiàn)工學(xué)結(jié)合。因此,在軟件測試專業(yè)構(gòu)建中,需要搭建一個適合實踐教學(xué)需要和體現(xiàn)崗位工作內(nèi)容的實踐教學(xué)環(huán)境,配備相應(yīng)的軟件測試工具與測試平臺,呈現(xiàn)真實的軟件企業(yè)環(huán)境與崗位工作氛圍。

為此,我們在2004年底就建成了集教學(xué)、培訓(xùn)、開發(fā)、研究四大功能于一體的軟件技術(shù)與工程中心,擁有250多個工作席位,包括項目經(jīng)理/工程師席位30個,技術(shù)工位220多個(學(xué)生席位),配備高性能服務(wù)器群,包括Linux服務(wù)器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、Websphere中間件服務(wù)器等,實現(xiàn)了中等軟件企業(yè)規(guī)模的專業(yè)技術(shù)實踐教學(xué)基地。該中心引入軟件企業(yè)的構(gòu)建模式和運(yùn)作機(jī)制,系統(tǒng)功能完善,軟、硬件設(shè)備配置齊全,購置和配備了IBM Rational Suite組件、MI WinRunner、JUnit等與業(yè)界主流運(yùn)用同步的測試工具及平臺,可實現(xiàn)校內(nèi)外資源的充分獲取與信息數(shù)據(jù)的共享,使教學(xué)環(huán)境與氛圍接近企業(yè)工程環(huán)境及運(yùn)行條件,為測試實踐教學(xué)和技術(shù)服務(wù)提供了優(yōu)良環(huán)境和條件,提供“實戰(zhàn)型”、“工程化”的教學(xué)環(huán)境。

3.3專業(yè)師資隊伍培育

軟件測試專業(yè)作為一個新型計算機(jī)類專業(yè),師資問題首先要解決。截至目前,高校內(nèi)的大部分計算機(jī)專業(yè)教師較少系統(tǒng)的開展軟件測試?yán)碚撗芯亢蜏y試工程的實踐,因此,軟件測試專業(yè)知識不多,教學(xué)經(jīng)驗幾乎沒有。基于這種情況,建設(shè)一支能夠滿足專業(yè)教學(xué)和工程需要的師資隊伍,成為了軟件測試專業(yè)構(gòu)建的迫切任務(wù)。針對這個普遍問題,該專業(yè)師資隊伍的建設(shè)可以通過引進(jìn)和培養(yǎng)兩種途徑實現(xiàn),采取“請進(jìn)來”與“走出去”相結(jié)合的方式進(jìn)行。

在師資引進(jìn)上,我們的做法是一方面通過公開招聘引進(jìn)具有豐富實踐經(jīng)驗的軟件測試高級人才,加強(qiáng)校內(nèi)自身師資力量;另一方面則通過聘請來自企業(yè)和行業(yè)一線(如IBM 廣州分公司、廣東省軟件評測中心、廣東省Linux公關(guān)服務(wù)技術(shù)支持中心等企業(yè)與機(jī)構(gòu))業(yè)界的專家擔(dān)任兼職教師,以開設(shè)講座、直接授課、面對面交流等多種方式培訓(xùn)指導(dǎo)師資,使教師能夠加深對軟件測試?yán)碚摰恼J(rèn)識,感受測試技術(shù)在軟件工程實踐中的運(yùn)用和技術(shù)的新發(fā)展。

對內(nèi)的師資培養(yǎng)培育,主要采取系統(tǒng)地測試?yán)碚撝R學(xué)習(xí)和有針對性的專項業(yè)務(wù)培訓(xùn),學(xué)習(xí)和研究國外高校軟件測試課程,學(xué)習(xí)和研究軟件測試技術(shù)與理論,深入理解和掌握相關(guān)理論知識、奠定扎實基礎(chǔ),具備工程實踐能力,提高專業(yè)水平和業(yè)務(wù)能力,承擔(dān)起專業(yè)課程的理論與實踐教學(xué)任務(wù)。2004年以來,多批次的選派教師參加由業(yè)內(nèi)知名企業(yè)或行業(yè)組織舉辦的軟件測試中、短期培訓(xùn)進(jìn)修,組織教師參加軟件工程、軟件測試專業(yè)學(xué)術(shù)會議及各類教學(xué)研究活動,開展與知名軟件企業(yè)的產(chǎn)學(xué)積極互動,與國內(nèi)多所高校進(jìn)行軟件測試課程教學(xué)與測試實踐的交流,同時,鼓勵和督促專業(yè)教師每年至少到軟件企業(yè)參加一個月的實踐活動,提高教師的工程實踐能力。

軟件測試課程在我院軟件技術(shù)專業(yè)中設(shè)置和開展教學(xué)已達(dá)4年,已有4屆(6個教學(xué)班)的教學(xué)歷程和經(jīng)驗,師資隊伍通過“教學(xué)實戰(zhàn)”得到了鍛煉和成長,使專業(yè)水平與教學(xué)能力得到提高。

3.4教學(xué)模式改革

我們在軟件測試專業(yè)構(gòu)建初期就比較重視對傳統(tǒng)學(xué)科教學(xué)模式的改革,這是緣于學(xué)科教育對于職業(yè)教育的諸多不適應(yīng)。貫徹“任務(wù)驅(qū)動、項目導(dǎo)向”的教學(xué)策略,推行學(xué)生自主、探究性學(xué)習(xí),采用“一體化”教學(xué)方式,實施以項目教學(xué)為導(dǎo)向的新型教學(xué)方法是軟件測試專業(yè)新的教學(xué)模式體現(xiàn)。

改變傳統(tǒng)的先在教室上理論課、再到實訓(xùn)室上實踐課的分割模式,將實訓(xùn)場所設(shè)計成既能滿足實踐教學(xué)要求,又可在現(xiàn)場進(jìn)行理論教學(xué)的布局。在組織教學(xué)的過程中,通過導(dǎo)向任務(wù)、講解要領(lǐng)、操作示范演練、訓(xùn)練與逐個指導(dǎo)等環(huán)節(jié),把培養(yǎng)學(xué)生知識與技能單元能力的過程設(shè)計為邊講邊練的過程,注重理論知識與實踐操作的穿插安排,做到理論教學(xué)與實踐教學(xué)一體化,教學(xué)內(nèi)容與實踐內(nèi)容一體化,調(diào)動和保持學(xué)生學(xué)習(xí)熱情,保障教學(xué)質(zhì)量與效果。

對專業(yè)課程體系中適合引入項目教學(xué)的課程,設(shè)計、規(guī)劃教學(xué)項目,確定內(nèi)容和流程,提出具體的要求和任務(wù)。通過引入這種理論知識學(xué)習(xí)和技術(shù)實踐能力相結(jié)合的項目教學(xué)過程,達(dá)到校內(nèi)學(xué)習(xí)和實際工作的一致性。這類課程的教學(xué)過程以實際項目為目標(biāo),圍繞其確定的任務(wù)的解決策略和過程展開,即學(xué)生需完成規(guī)定的任務(wù)和規(guī)定的動作與步驟,以完成任務(wù)的質(zhì)量、數(shù)量、時間等作為考核基本依據(jù)。在項目教學(xué)中,學(xué)生成為教學(xué)的主體,教師角色轉(zhuǎn)變?yōu)椤敖叹殹鄙矸荩ㄟ^進(jìn)行引導(dǎo)型的講解、案例分析、測試“動作”過程示范、組織討論等一系列互動交流形式,加深學(xué)生對知識的理解、對技能的掌握,培養(yǎng)邏輯思維能力和實際工作能力,建構(gòu)知識體系。

4結(jié)束語

在高職院校中構(gòu)建軟件測試專業(yè)是源自對專業(yè)測試人才的供給遠(yuǎn)不能滿足軟件產(chǎn)業(yè)發(fā)展的需求而做出的一項辦學(xué)創(chuàng)新。截至目前,廣東省乃至全國已開辦了軟件測試專業(yè)的學(xué)校為數(shù)還不多,對于開辦軟件測試專業(yè)仍處于實踐探索階段。

軟件測試論文:高職“軟件測試技術(shù)”課程存在問題和應(yīng)對措施

摘要:本文在分析軟件測試的市場需求和現(xiàn)狀的基礎(chǔ)上,對高職軟件測試的教材編寫,師資隊伍建設(shè),教學(xué)方法改進(jìn)等方面的問題進(jìn)行了探討。

關(guān)鍵詞:高職;軟件測試;隱性知識;協(xié)同學(xué)習(xí);項目實戰(zhàn)

1引言

軟件測試作為軟件產(chǎn)業(yè)的重要門類發(fā)展迅速,其專業(yè)崗位迅速擴(kuò)大、人才需求旺盛、職業(yè)價值日益提升。然而,由于行業(yè)內(nèi)的軟件測試人才嚴(yán)重短缺,企業(yè)對軟件測試人才有大量需求但苦于招不到合適的人;另一方面,很多高職應(yīng)屆軟件專業(yè)畢業(yè)生因為沒有軟件測試經(jīng)驗而被拒之門外。產(chǎn)生這種矛盾的原因是,對于眾多的高職院校來說,軟件測試教學(xué)處于起步階段,經(jīng)驗和積累不足,尤其是高職的軟件測試課程和教學(xué)特點(diǎn)尚未形成,需加以改進(jìn)完善。

2市場需求和現(xiàn)狀分析

隨著IT技術(shù)應(yīng)用的發(fā)展,國內(nèi)軟件行業(yè)對軟件測試工程師的需求將超過20萬人。[1]

我國大學(xué)本科課程中普遍不設(shè)專門的軟件測試課程,軟件測試僅作為軟件工程課中的一個章節(jié)被提到,學(xué)生在認(rèn)識上多為重開發(fā)、輕測試,畢業(yè)后直接進(jìn)入測試行業(yè)的為數(shù)不多。

高職院校軟件專業(yè)一般在第三學(xué)年單獨(dú)開設(shè)一門軟件測試課程,限于學(xué)時,總體來說,學(xué)生通過課程的學(xué)習(xí),能掌握軟件測試的基本概念和基本理論、基本測試技術(shù)和方法,但真正運(yùn)用軟件測試技術(shù)分析和解決實際崗位的能力還不夠[2]。我國50人以下的軟件企業(yè)占了70%以上,一般都沒有建立軟件測試部門[3],這部分的中小企業(yè)希望具有工作經(jīng)歷的軟件測試員直接上手開展工作。

社會培訓(xùn)機(jī)構(gòu)比較重視市場經(jīng)濟(jì),他們一般開設(shè)約210學(xué)時的課程,學(xué)員來自尚未找到工作的往屆畢業(yè)生和應(yīng)屆生,主講教師曾在電信、證券、金融領(lǐng)域擔(dān)任過軟件測試項目負(fù)責(zé)人,課程結(jié)束后保障推薦就業(yè),中小企業(yè)也愿意接受這批學(xué)生中的者。但培訓(xùn)價格不菲,而且培訓(xùn)機(jī)構(gòu)眾多,質(zhì)量也難免良莠不齊。

3存在問題和應(yīng)對措施

高職“軟件測試技術(shù)”課程面臨的主要問題分析如下。

3.1教材建設(shè)

國內(nèi)面向高職的軟件測試教材不多,近來出版的幾本教材對軟件測試所涉及的基本概念、基本工作過程的理論知識和應(yīng)用知識闡述雖然很系統(tǒng)詳盡,但還是存在共同的問題:

1) 缺少大型集中項目功能測試、性能測試實例的全過程,即沒能把比較分散的知識點(diǎn)和技能點(diǎn)進(jìn)行綜合分析。

2) 重技術(shù)實現(xiàn)、輕文檔工作,建議增加如何編寫“測試計劃”和“測試報告”,給出測試記錄、測試日志的模板。同時,可列出軟件測試行業(yè)中長期積累的經(jīng)驗,例如軟件測試的10大原則、10大實踐等,這些內(nèi)容很實用,學(xué)生走上工作崗位就馬上能用到。

3) 教材中的“測試工具使用”流于產(chǎn)品使用說明書,難以引起學(xué)習(xí)興趣,要站在學(xué)生學(xué)習(xí)和認(rèn)知的立場上來考慮,花時間寫實訓(xùn)指導(dǎo),使學(xué)生在最短時間內(nèi)對這一專項技能掌握和熟練。

4) 測試工具要采用中小IT企業(yè)流行的軟件,例如功能測試采用Mercury QuickTest Professional (QTP) ,性能測試采用Mercury LoadRunner,測試管理工具可用開源的并行版本控制工具CVS,采用Test Director或同類新版Quality Center (QC) 。要注意防止兩個極端:一是避免教市場已經(jīng)不使用的測試工具;二是避免教價格昂貴的軟件,如IBM Rational的ClearCase、ClearQuest、Functional Tester、Performance Tester,盡管功能優(yōu)越,但市場占有率低,只有軟件成熟度能力CMM高的大型IT企業(yè)才會使用。

3.2師資隊伍建設(shè)

1) 高職在軟件測試教學(xué)的過程中,常采用案例教學(xué)與實際項目嵌入到課程教學(xué)和設(shè)計中,這種指導(dǎo)實際動手能力的經(jīng)驗和技藝性知識比重偏高,它是通過不斷的積累和創(chuàng)新,主要蘊(yùn)藏在個體頭腦中的隱性知識。因此,提升教師自身的這種隱性知識顯然比充實書本上的顯性知識更為重要。

2) 促進(jìn)教師隱性知識的先行化,實現(xiàn)教師的終身的專業(yè)成長。在教師教育和課程發(fā)展中,要特別重視教師的專業(yè)反省能力和教師專業(yè)經(jīng)驗、系統(tǒng)化的教育理論和方法,而且要求教師探索和學(xué)習(xí)處于隱性狀態(tài)的專業(yè)知識。

由封閉型向開放型轉(zhuǎn)變。在知識更新速度不斷加快的今天,教師應(yīng)深入軟件企業(yè)及時線,了解行業(yè)發(fā)展的動態(tài),將近期的技術(shù)、觀念等帶進(jìn)課堂,使學(xué)生得到的知識與社會同步。教師的個體知識應(yīng)該不斷充實和提升,成為一種開放的、動態(tài)的知識,即知識自我調(diào)節(jié)、自我管理。教師到企業(yè)掛職頂崗、或參與IT企業(yè)科研項目、或取得行業(yè)資格證書,不失為隱性知識的先行化的有效途徑。

3) 來自IT企業(yè)的軟件測試工程師具有豐富的項目實戰(zhàn)經(jīng)驗,是軟件測試知識應(yīng)用和創(chuàng)新最寶貴的資源,有條件的可邀請來校兼職授課。同時必須采取協(xié)同學(xué)習(xí)的有效措施充分挖掘其研究成果。協(xié)同學(xué)習(xí)是對現(xiàn)有學(xué)習(xí)技術(shù)系統(tǒng)框架的突破:在信息、知識、行動之間建立有機(jī)的、協(xié)同發(fā)展的聯(lián)系;在交互層面,提供內(nèi)容與學(xué)習(xí)者的深度互動;在通信結(jié)構(gòu)層面,提供信息聚合機(jī)制;在信息加工層面構(gòu)建群體學(xué)習(xí)機(jī)制。簡而言之,歸納為“深度互動,信息匯聚,集體思維,合作建構(gòu),多場協(xié)調(diào)”[4],形成知識共享。

3.3教學(xué)方法的改進(jìn)

課程應(yīng)基于建立一個內(nèi)容充實的職業(yè)技能實訓(xùn)體系,采用全新的“場景教學(xué)法”,以真實工作場景為核心,利用項目導(dǎo)向的角色模擬方式,提倡“以用為本、學(xué)以致用”的教學(xué)方法:以工程經(jīng)驗為指導(dǎo),采用任務(wù)驅(qū)動法,強(qiáng)化實戰(zhàn)技能,輔以實際企業(yè)測試項目,使用角色模擬的方式。

1) 工作場景。針對企業(yè)實際工作流程和工作場景,結(jié)合已經(jīng)實際投入使用的軟件項目的測試資料和軟件代碼,進(jìn)行項目分析和任務(wù)分解,重現(xiàn)在企業(yè)中進(jìn)行軟件測試工作的任務(wù)環(huán)境。

2) 項目主導(dǎo)。所有知識點(diǎn)和技能都是通過一個或者幾個項目來組織的,學(xué)生通過可擴(kuò)展的項目案例來逐步學(xué)習(xí)知識和技能;所有的實踐都是項目中的一個實際任務(wù),熟悉項目測試過程中常見的技術(shù)、流程、人員協(xié)作問題,并掌握相關(guān)的解決方法。學(xué)生通過實踐可具備完成一種任務(wù)的能力。

3) 角色模擬。學(xué)生在實際動手操作的課程和項目實訓(xùn)過程中,使用真實的企業(yè)項目,真實的企業(yè)工作流程和工具,模擬項目組中各種角色,協(xié)同完成項目和任務(wù),體驗和掌握各種角色的工作技能和工作經(jīng)驗。

4) 任務(wù)分解。在為完成整個項目而必須掌握的概念和知識環(huán)節(jié)的講解上,將整個項目劃分為多個子任務(wù),再分析每個子任務(wù)需要的知識、技能、素質(zhì)要求,并通過完成子任務(wù)的形式來組織學(xué)習(xí)內(nèi)容、設(shè)計課程體系。

5) 六步教學(xué)。知識和技能的傳授和自學(xué)都是從具體到抽象、從特殊到一般,按照以下6個步驟來組織的:提出問題、分析問題、解決問題、總結(jié)出一般規(guī)律和知識/技能、擴(kuò)展知識/技能、解決更高級的類似問題。

6) 團(tuán)隊協(xié)作。在授課過程中,學(xué)生將被劃分為幾個團(tuán)隊,每個團(tuán)隊將根據(jù)課程內(nèi)容和講師的安排,通過技術(shù)研討、實際操作等手段,合作完成一個任務(wù)和項目。

7) 動手能力。為了使學(xué)生的知識面和思路有所擴(kuò)展,鼓勵學(xué)生自己動手,通過實際操作課程中的實驗和進(jìn)行項目演練,培養(yǎng)學(xué)生舉一反三的能力,從而幫助學(xué)生掌握重點(diǎn)技術(shù)的應(yīng)用,為日后完成更大的項目積累經(jīng)驗。

4結(jié)束語

隨著計算機(jī)技術(shù)發(fā)展,對軟件功能提出的要求也越來越高,如何開發(fā)出高質(zhì)量的軟件已成為一個迫切需要解決的課題,因此軟件測試的地位也得到了應(yīng)有的重視,這是一個非常有利于提升個人職業(yè)發(fā)展空間的崗位,因為它剛剛處于起步發(fā)展階段,對人才的需求量大,非常適合缺少工作經(jīng)驗的高職軟件專業(yè)應(yīng)屆畢業(yè)生。因此,上好軟件測試課程,制定與相應(yīng)測試職業(yè)“接軌”的教材和教學(xué)方法,使學(xué)生能系統(tǒng)學(xué)習(xí)測試知識和掌握測試技能,落實“以就業(yè)為導(dǎo)向”的辦學(xué)方向與策略,應(yīng)該成為今天高職軟件技術(shù)專業(yè)的選擇。

軟件測試論文:兩年制軟件測試技術(shù)人才培養(yǎng)模式的研究與實踐

隨著我國軟件產(chǎn)業(yè)的快速發(fā)展,軟件企業(yè)也逐漸規(guī)范,軟件測試人才也逐漸成為一種專門的技術(shù)人才,我國對軟件測試人才的需求也在不斷增大。但專門的軟件測試人才的培養(yǎng)卻很少,通常是在軟件工程及相關(guān)專業(yè)開設(shè)一門“軟件測試技術(shù)”課程,作為對測試技術(shù)的基本了解來講授。2003年以來,隨著35所全國示范性軟件學(xué)院的建立,以及各地兩年制軟件職業(yè)技術(shù)學(xué)院的興起,一些軟件學(xué)院開始培養(yǎng)專門的軟件測試人才。由于教育部沒有設(shè)置軟件測試專業(yè),所以一般是作為軟件技術(shù)或軟件工程專業(yè)中的軟件測試方向來設(shè)置,我院是作為軟件技術(shù)專業(yè)(軟件測試方向)來開設(shè)。作為一個新的職業(yè)技術(shù)人才培養(yǎng)方向,無論是在培養(yǎng)方案、課程體系等方面,都處于探索中,還沒有成熟、完善的培養(yǎng)模式。

我院從2004年即開設(shè)了軟件測試方向,在培養(yǎng)方案、課程體系、實踐環(huán)節(jié)等方面作了大量的探索、研究和實踐工作,取得了一些成效,也遇到了許多問題。本文對我院的軟件測試技術(shù)人才的培養(yǎng)模式進(jìn)行分析和總結(jié),希望能拋磚引玉,與同行交流。

1兩年制軟件測試方向課程體系的特點(diǎn)

兩年制軟件測試人才培養(yǎng)的特點(diǎn)主要有:

(1) 學(xué)制短,只有兩年;

(2) 目標(biāo)是培養(yǎng)實用型軟件測試技術(shù)人才;

(3) 要具備一定的編程能力。

上述特點(diǎn)決定了軟件測試人才的課程體系的特點(diǎn):

(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ù)庫、計算機(jī)網(wǎng)絡(luò)、軟件工程,以及至少一門主流程序設(shè)計語言等。

(3) 課程緊湊、課時多由于相對于其他專業(yè)來講,軟件測試方向的學(xué)生要學(xué)習(xí)更多的課程,所以課時就多,課程安排緊湊。

(4) 實用性和實時性作為實用型軟件測試人才,學(xué)生必須掌握當(dāng)前主流的測試工具、實用測試技術(shù)和方法等。所以課程體系必須要具備實用性和實時性。

2課程的設(shè)置

在設(shè)置課程時,我們進(jìn)行了大量的調(diào)研,經(jīng)過2004級和2005級兩屆學(xué)生的培養(yǎng)實踐,針對培養(yǎng)效果,進(jìn)行了一些分析和課程改革。目前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)、計算機(jī)網(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ù)概念和基本知識。為進(jìn)一步的實際項目測試打下基礎(chǔ)。該部分對應(yīng)有2周的一級集中實踐課題,進(jìn)行基本的測試訓(xùn)練。

第三部分主流測試技術(shù)和工具的掌握和使用、實際測試能力的強(qiáng)化和提高。對應(yīng)的課程是“性能測試與功能測試”,該課程主要是結(jié)合實際的軟件項目,介紹主流的測試技術(shù)和測試工具的使用,但并不只是性能測試與功能測試。該部分對應(yīng)有3周的二級集中實踐課題,分組進(jìn)行實際的測試訓(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ā)和測試,進(jìn)行實境實習(xí),綜合地運(yùn)用所學(xué)的測試和編程技術(shù)。

3實踐環(huán)節(jié)

培養(yǎng)過程的實施可以歸結(jié)為“夯實基礎(chǔ),強(qiáng)化訓(xùn)練”,夯實基礎(chǔ)即培養(yǎng)基本的編程能力和掌握基本的測試技術(shù)。強(qiáng)化訓(xùn)練即強(qiáng)調(diào)實際能力的培養(yǎng),通過對實際的軟件項目進(jìn)行測試訓(xùn)練,使學(xué)生熟練掌握主流的測試技術(shù)和測試工具的使用。

為了加強(qiáng)實際能力的培養(yǎng),在正常教學(xué)的實踐外,我們還在第1~3學(xué)期分別設(shè)置了一級、二級、三級集中實踐課題,并要求軟件測試方向的學(xué)生要與軟件編碼方向的學(xué)生組合協(xié)作進(jìn)行,專門負(fù)責(zé)相應(yīng)的軟件測試工作。使學(xué)生感受到測試工作的重要性,同時培養(yǎng)其協(xié)作能力。一級和二級實踐課題主要為驗證型,三級實踐課題則為設(shè)計型。

第4學(xué)期為畢業(yè)實訓(xùn),采用實地場景教學(xué),對實際的應(yīng)用項目進(jìn)行測試,角色模擬,項目驅(qū)動。該階段從測試需求分析開始,一直到測試總結(jié)報告的撰寫,貫穿一個完整項目的開發(fā)和測試整個過程。是對學(xué)生所學(xué)知識的一個總結(jié)和綜合利用的強(qiáng)化。

各實踐環(huán)節(jié)環(huán)環(huán)相扣,循序漸進(jìn),由易到難,由單一到綜合,形成一個完整的實踐體系。

集中實踐環(huán)節(jié)安排見表2。

4測試工具的選擇

由于軟件測試工具較多,而兩年制課時太緊張,所以只能學(xué)習(xí)常用測試工具的使用。我們選用的主要自動化測試工具見表3。

通過測試工具的使用,可以加深對測試原理和理論的理解,掌握主流的測試技術(shù)和方法。

5遇到的問題及采取的措施

軟件測試人才作為剛興起的職業(yè)技術(shù)人才,在培養(yǎng)過程中必然會遇到許多問題,相信這些問題也是其他院校在培養(yǎng)軟件測試人才時遇到的共性問題,我們針對這些問題采取了許多有效的措施,不斷改進(jìn)。

(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)然我們也采取了有效措施,如在前期強(qiá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é)生則直接到軟件公司進(jìn)行實地實習(xí)。

(4) 師資力量薄弱

師資是保障教學(xué)質(zhì)量的關(guān)鍵,開始時師資力量較薄弱,我們采取的措施有:挑選有實際項目開發(fā)經(jīng)驗的老師來授課、從IT公司引進(jìn)專業(yè)測試工程師、將有一定測試工作經(jīng)驗的老師送出去加強(qiáng)培訓(xùn)等。另外還不定期聘請IT公司的測試專家來做專業(yè)講座,拓展學(xué)生的知識面。

6結(jié)束語

經(jīng)過兩屆學(xué)生的培養(yǎng),我們在培養(yǎng)模式和課程體系等方面不斷改進(jìn),逐漸完善和規(guī)范化,日臻適合軟件測試職業(yè)技術(shù)人才的培養(yǎng)目標(biāo),學(xué)生質(zhì)量也不斷提高。但作為一種新的技術(shù)人才的興起,軟件測試工程師的培養(yǎng)需要社會環(huán)境的支持,特別是軟件企業(yè)的規(guī)范化和規(guī)模化,以及業(yè)界對軟件質(zhì)量和測試工作的重視。當(dāng)然,作為學(xué)校,培養(yǎng)社會所需的人才是我們的職責(zé),所以我們必須根據(jù)市場人才需求,不斷進(jìn)行教學(xué)改革,培養(yǎng)高質(zhì)量的軟件測試人才。

軟件測試論文:獨(dú)立學(xué)院計算機(jī)專業(yè)軟件測試職業(yè)能力培養(yǎng)探討

摘要:本文結(jié)合我院計算機(jī)科學(xué)與技術(shù)專業(yè)軟件測試職業(yè)能力培養(yǎng)的經(jīng)驗和體會,介紹了獨(dú)立學(xué)院的軟件測試職業(yè)能力培養(yǎng)的目標(biāo)、實施過程,以畢業(yè)設(shè)計為例指出軟件測試職業(yè)能力過程中存在的問題,并提出了有針對性的解決方案。

關(guān)鍵詞:職業(yè)能力;計算機(jī)專業(yè);軟件測試;獨(dú)立學(xué)院;

1引言

大多數(shù)公司已經(jīng)將軟件測試看作是技術(shù)工程專業(yè)工作,有意識地在項目組中培訓(xùn)軟件測試人員[1]。但由于IT企業(yè)的快速發(fā)展,對軟件測試人員需求的缺口依然很大。應(yīng)用型本科學(xué)院加強(qiáng)計算機(jī)專業(yè)學(xué)生的軟件測試職業(yè)能力培養(yǎng),既可以緩解社會上軟件測試人才不足的現(xiàn)狀,又有助于畢業(yè)生迅速找到合適的工作崗位。

目前,大多數(shù)獨(dú)立學(xué)院均設(shè)立了計算機(jī)科學(xué)與技術(shù)專業(yè)。我院針對學(xué)生來源和社會對計算機(jī)專業(yè)應(yīng)用型人才需求等特點(diǎn),以培養(yǎng)應(yīng)用型本科人才為目標(biāo),修訂專業(yè)培養(yǎng)方案,確立軟件工程和網(wǎng)絡(luò)工程兩個培養(yǎng)方向,開設(shè)職業(yè)能力輔導(dǎo)課128學(xué)時(4學(xué)分),分別占總教學(xué)學(xué)時和總學(xué)分的5.3%、2.1%。自2006年,我院在軟件工程方向開展軟件測試職業(yè)能力培養(yǎng)模式的探索,取得一定經(jīng)驗,同時也存在一些問題。

2教學(xué)現(xiàn)狀

該院自2002年開始計算機(jī)科學(xué)與技術(shù)專業(yè)招生,基本情況見表1。表1表明計算機(jī)專業(yè)學(xué)生已經(jīng)清楚認(rèn)識到加強(qiáng)專業(yè)技能培養(yǎng)的重要性,因此按軟件工程和網(wǎng)絡(luò)工程方向培養(yǎng)學(xué)生也符合學(xué)生的需求。

我院引進(jìn)了一批計算機(jī)專業(yè)教師,已經(jīng)形成自有專業(yè)專職教師團(tuán)隊,基本情況見表2。除教授年齡超過60歲外,其他老師的平均年齡僅32.1歲,教學(xué)經(jīng)驗豐富,精力充沛。

我院已建設(shè)兩個高標(biāo)準(zhǔn)的計算機(jī)專業(yè)實驗室,PC機(jī)120臺、服務(wù)器5臺,可開展軟件工程方向全部專業(yè)課實驗和網(wǎng)絡(luò)工程方向部分專業(yè)課實驗。

3軟件測試職業(yè)能力培養(yǎng)目標(biāo)

的軟件測試人員除了具有良好的職業(yè)道德外,還須具備如下基本素質(zhì)和技能:①與開發(fā)員、客戶或者管理者談判與溝通的能力;②與其他測試員、開發(fā)員或管理者協(xié)同工作的團(tuán)隊合作能力;③分析和解決相關(guān)問題的能力;④掌握軟件測試?yán)碚摗⒎椒ê筒僮骷寄埽邆溥m應(yīng)發(fā)展的能力。

軟件測試職業(yè)能力培養(yǎng)的主要目標(biāo)是通過學(xué)習(xí)和掌握軟件測試原理、方法和工具的,具備軟件測試人員所必備的基本素質(zhì)和技能,不經(jīng)過職業(yè)培訓(xùn)或少量培訓(xùn)就可以從事軟件測試工作。應(yīng)至少達(dá)到如下要求:①能夠在單機(jī)、網(wǎng)絡(luò)環(huán)境下建立軟件運(yùn)行和測試環(huán)境;實施多種體系結(jié)構(gòu)軟件的測試;②熟悉主流軟件開發(fā)技術(shù)并能夠編寫簡單應(yīng)用程序、測試腳本和測試計劃、設(shè)計測試用例、執(zhí)行測試并填寫缺陷報告;③熟悉常見測試流程、缺陷管理流程,并能對測試流程實施監(jiān)督和處理;④能夠獨(dú)立或協(xié)助開發(fā)人員進(jìn)行單元測試和白盒測試;以及使用自動化測試工具來進(jìn)行各種測試。

4實施過程

軟件測試職業(yè)能力培養(yǎng)分為兩個階段:①基本階段:即計算機(jī)專業(yè)課程學(xué)習(xí)、實驗和課程設(shè)計階段,學(xué)生掌握軟件測試的基本原理、方法和工具,具備從事軟件測試工作的基本素質(zhì)和能力,經(jīng)過時間不長的職業(yè)訓(xùn)練可以勝任軟件測試工作;②高級階段:目標(biāo)是讓學(xué)生掌握專門的軟件測試技術(shù)和工具,形成獨(dú)特軟件測試職業(yè)能力,培訓(xùn)時間更短或者不經(jīng)過培訓(xùn)就能勝任特定領(lǐng)域的軟件測試工作的,通常指軟件測試綜合實踐課程和畢業(yè)設(shè)計環(huán)節(jié)的教學(xué)。其中畢業(yè)設(shè)計環(huán)節(jié)的軟件測試能力培養(yǎng)能夠提升基本階段形成的軟件測試實踐技能,通過選擇適當(dāng)?shù)恼n題加強(qiáng)對軟件測試的整個流程的技術(shù)掌握,進(jìn)一步提高軟件測試職業(yè)能力。

軟件測試教學(xué)內(nèi)容見表3及時列。Ⅰ至Ⅶ各列分別對應(yīng)C/C++、Java、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計與分析、軟件工程、軟件測試綜合實踐、畢業(yè)設(shè)計。A表示初步掌握,B表示重點(diǎn)掌握。

4.1基本階段的軟件測試能力培養(yǎng)

在C/C++、Java、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計與分析課程的實驗和課程設(shè)計教學(xué)中,由于所編寫代碼規(guī)模不大,要求學(xué)生借鑒“極限編程”和“測試驅(qū)動開發(fā)”方法的思想,源代碼和測試代碼開發(fā)并重,灌輸“源碼要能夠通過測試”的觀點(diǎn)。

軟件工程課程設(shè)計和軟件測試綜合實踐兩個教學(xué)環(huán)節(jié)要求學(xué)生以團(tuán)隊形式完成一個規(guī)模適當(dāng)?shù)能浖到y(tǒng)。除單元測試外,還必須關(guān)注集成測試、系統(tǒng)測試等環(huán)節(jié),達(dá)到掌握集成測試和系統(tǒng)測試的基本過程和常用測試工具、形成良好的軟件質(zhì)量保障意識的目的。

4.2高級階段的軟件測試能力培養(yǎng)

高級階段的軟件測試能力培養(yǎng)指學(xué)生選擇軟件測試類畢業(yè)設(shè)計課題,在指導(dǎo)老師的指導(dǎo)下,在仿真工作場景的實驗室環(huán)境完成課題要求的任務(wù),或者對實現(xiàn)的軟件系統(tǒng)按照工程規(guī)范進(jìn)行測試。

除了軟件設(shè)計類課題外,02、03和04級計算機(jī)專業(yè)畢業(yè)生完成軟件測試類畢業(yè)設(shè)計課題有五類:①基于J2EE平臺應(yīng)用系統(tǒng)的性能、負(fù)載和壓力測試;②EJB組件測試;③測試數(shù)據(jù)的生成方法及評價(如基于遺傳算法或組合策略生成測試數(shù)據(jù));④應(yīng)用程序的圖形用戶接口測試;⑤應(yīng)用程序的安全測試。

5存在的問題

計算機(jī)專業(yè)完成的軟件測試相關(guān)課題情況見表4。第2列表示“測試過所實現(xiàn)軟件系統(tǒng)的學(xué)生數(shù)/選擇該類課題的學(xué)生數(shù)”;第3列表示選擇軟件測試類課題學(xué)生數(shù);第4列表示選擇軟件測試類和選擇軟件設(shè)計類課題并測試過所實現(xiàn)系統(tǒng)的學(xué)生數(shù)與選擇兩類課題的學(xué)生數(shù)之比。第5列表示畢業(yè)后從事軟件測試占全部學(xué)生的百分比。顯然,軟件測試職業(yè)能力培養(yǎng)已經(jīng)逐步得到計算機(jī)專業(yè)學(xué)生的認(rèn)可。

對2004級畢業(yè)生25人問卷調(diào)查,結(jié)果是選擇軟件測試類課題和軟件設(shè)計類課題的共22人。影響軟件測試及軟件設(shè)計課題測試相關(guān)任務(wù)完成的原因中,課題的過大或者過難的占23%,實驗條件不完備的占45%,中途改題目占13.6%,時間未規(guī)劃好的占31.8%,論文文獻(xiàn)不符合要求占18%,老師指導(dǎo)不足占23%,課題過于簡單占27%,編程能力不足占36%。

6解決方案

針對上述問題,可以采取如下措施:

根據(jù)IT企業(yè)軟件研發(fā)的應(yīng)用場景,配置IT企業(yè)流行的分析、設(shè)計、開發(fā)、測試和管理等常用工具軟件,構(gòu)建軟件設(shè)計與軟件測試專用平臺,為計算機(jī)專業(yè)學(xué)生提供模擬IT企業(yè)的開發(fā)環(huán)境。

軟件測試和軟件設(shè)計類課題的指導(dǎo)老師命題時應(yīng)該結(jié)合自身科研、教學(xué)、技術(shù)研發(fā)特點(diǎn)等因素,制定適當(dāng)?shù)恼n題。在指導(dǎo)時根據(jù)現(xiàn)代軟件工程規(guī)范和課題要求加強(qiáng)對學(xué)生的指導(dǎo),及時檢查學(xué)生的工作進(jìn)度。

在專業(yè)課程學(xué)習(xí)階段,加強(qiáng)語言類、數(shù)據(jù)結(jié)構(gòu)與算法類課程的教學(xué),要求學(xué)生堅持測試所開發(fā)代碼,提高學(xué)生編程技能。

建設(shè)有助于培養(yǎng)計算機(jī)專業(yè)學(xué)生的軟件測試職業(yè)技能的教學(xué)團(tuán)隊,定期邀請軟件測試行業(yè)專家來學(xué)院講學(xué)講座或者專業(yè)教師深入IT企業(yè),了解軟件測試在軟件質(zhì)量保障過程中的應(yīng)用現(xiàn)狀。

鼓勵學(xué)生參加軟件評測師等軟件水平與任職資格考試,所獲證書可抵學(xué)分,提高學(xué)生加強(qiáng)職業(yè)能力培養(yǎng)的積極性。

軟件測試論文:“軟件測試”教學(xué)改革的探索和實踐

摘要:傳統(tǒng)的軟件測試教學(xué)模式很難將知識傳授給學(xué)生,教學(xué)方法和手段已不能適應(yīng)時展的需要,本文介紹了我系在軟件測試課程的教學(xué)過程中引入案例教學(xué)以及項目驅(qū)動等教學(xué)措施,取得了一定的教學(xué)效果。

關(guān)鍵詞:軟件測試;案例教學(xué);項目驅(qū)動

近幾年專業(yè)性的軟件測試機(jī)構(gòu)和組織迅速發(fā)展,隨之帶來了專業(yè)軟件測試人才的旺盛需求,軟件測試人才的培養(yǎng)正成為新的熱點(diǎn)。然而,軟件測試課程的理論與實踐脫節(jié),現(xiàn)有許多軟件工程教材中關(guān)于軟件測試的章節(jié)只介紹軟件測試的理論方法,即使有案例也只是簡單說明,并沒有介紹軟件測試的具體方法和實現(xiàn)過程,這導(dǎo)致學(xué)生只會死記硬背軟件測試的條條框框而不懂如何活學(xué)活用。為此,我們嘗試進(jìn)行改革,引入了新的教學(xué)思路和措施。

1案例教學(xué)

案例教學(xué)法比傳統(tǒng)的以教師為主導(dǎo)的教學(xué)法,更有利于提高學(xué)生分析問題和解決問題的能力,促進(jìn)學(xué)生學(xué)會學(xué)習(xí)以及溝通合作。我們在教學(xué)的過程中,以可操作的軟件測試案例為中心,讓學(xué)生能在教學(xué)中體會實際的測試過程。

首先,一個好的測試案例所包含的內(nèi)容必須完整,應(yīng)包含測試目的、特殊的硬件要求、特殊的軟件要求、特定的配置、執(zhí)行測試的描述、測試的預(yù)期結(jié)果或成功條件。

其次,根據(jù)測試的分類不同,可分為以下幾種:

? 對于單元測試案例,主要按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。這類測試案例主要驗證模塊接口、模塊局部數(shù)據(jù)結(jié)構(gòu)、模塊邊界條件、模塊中所有獨(dú)立執(zhí)行通路、模塊的各條錯誤處理通路。掌握白盒測試/黑盒測試方法以及單元測試的用例設(shè)計;通用代碼編程規(guī)范、偽碼寫作規(guī)范的檢查;基本的代碼靜態(tài)檢查方法與工具運(yùn)用;代碼覆蓋率檢查方法與工具運(yùn)用;OO程序單元測試方法與過程;針對內(nèi)存泄漏的檢查;掌握測試覆蓋分析方法和測試用例最小化的運(yùn)用。

? 對于功能測試案例,用于鑒定執(zhí)行后啟用的功能。這類測試案例驗證軟件是否提供了基本的單

元功能、是否提供集成后的功能,以及是否提供解決方案設(shè)計中指定的其他功能。

? 對于Web測試案例,Web系統(tǒng)是當(dāng)前網(wǎng)絡(luò)環(huán)境下最多的應(yīng)用系統(tǒng),其主要內(nèi)容設(shè)計為Web性能測試項目解析、性能測試流程、測試規(guī)劃與設(shè)計、性能測試需求分析、用戶事務(wù)分析、Web資源分析、網(wǎng)頁元素細(xì)化等。

? 對于集成測試案例,主要包括針對結(jié)構(gòu)化軟件和面向?qū)ο筌浖募蓽y試,獨(dú)立開展集成測試用例設(shè)計和用例執(zhí)行。具體分為基于結(jié)構(gòu)化程序的集成測試方法和基于UML圖的面向?qū)ο蟮募蓽y試方法。

? 對于系統(tǒng)測試案例,掌握常見系統(tǒng)測試類型的基本測試方法,獨(dú)立設(shè)計系統(tǒng)測試用例,運(yùn)用手工方式或測試工具完成系統(tǒng)測試,包括功能測試、性能測試、壓力(負(fù)載)測試、配置測試、易用性測試。

再次,教學(xué)案例的具體應(yīng)用。我們根據(jù)難以程度,將測試案例大致可分為簡單的基礎(chǔ)性實驗案例和綜合實驗。簡單的基礎(chǔ)性實驗案例主要包括白盒測試和黑盒測試,通過學(xué)習(xí)讓學(xué)生掌握軟件測試最基本的一些方法。綜合性的實驗案例,特別是較大型的軟件項目測試實驗,讓學(xué)生在實驗的每一個步驟中理解軟件測試技術(shù)和各種具體的測試方法,增強(qiáng)實際操作能力,增加軟件項目測試的綜合經(jīng)驗。

通過綜合性實驗的學(xué)習(xí),可以讓學(xué)生感受大型軟件測試項目的工作流程和實施細(xì)節(jié),掌握各種軟件測試方法在大型項目中的應(yīng)用,體會軟件測試的規(guī)律;了解軟件測試項目的管理,熟悉軟件測試項目中人員的管理、產(chǎn)品的管理、軟件測試案例的管理以及缺陷的管理;能夠進(jìn)行比較復(fù)雜的白盒測試或自動化測試,為從事要求較高的軟件測試打下很好的基礎(chǔ)。

2項目驅(qū)動

軟件測試是一項技術(shù)性較強(qiáng)的工作,規(guī)范的實施也是以工程的方式開展或進(jìn)行。因此,好的課程內(nèi)容及教學(xué)設(shè)計是通過項目的活動及過程來呈現(xiàn)問題,運(yùn)用相關(guān)理論知識解析問題,以及通過工程過程解決問題,通過項目闡明技術(shù)方法與策略的運(yùn)用。

項目的復(fù)雜性通過分解得到局部的單一性和簡單化。項目包含了由易到難,由簡單到復(fù)雜,由單一到綜合,逐步實現(xiàn)的內(nèi)容和過程。軟件測試本身就是理論與實踐緊密結(jié)合的一門技術(shù)學(xué)科或工程體現(xiàn),貫徹項目教學(xué)法是該課程理論教學(xué)與實踐教學(xué)“一體化”的好形式。通過項目教學(xué),可落實教學(xué)的循序漸進(jìn)原則、系統(tǒng)化原則、目標(biāo)性原則、整體優(yōu)化原則以及規(guī)范化原則。項目教學(xué)使教學(xué)內(nèi)容的構(gòu)建緊密圍繞課程總體目標(biāo)展開,項目組成具有針對性強(qiáng),目標(biāo)具體明確、步驟清晰的特點(diǎn)。它按照組成技能教學(xué)內(nèi)容及相互間的內(nèi)在聯(lián)系,使各部分內(nèi)容有所側(cè)重,互相銜接,

軟件測試項目大致可以分為以下三個方面:“軟件測試技術(shù)”等課程的實踐教學(xué),強(qiáng)調(diào)案例教學(xué)法,強(qiáng)調(diào)實踐教學(xué);課外實踐,強(qiáng)調(diào)綜合性、設(shè)計性實驗,由學(xué)生在課余時間完成,包括畢業(yè)設(shè)計;企業(yè)實習(xí),和多個企業(yè)建立關(guān)系,供學(xué)生實習(xí)軟件測試。

3常用自動化測試工具使用

在理解軟件測試自動化原理基礎(chǔ)上,掌握業(yè)界常用的

Rational、WinRunner、LoadRunner、Junit、Panorama等系列測試組件的運(yùn)用。在制定的測試策略中應(yīng)用測試自動化工具開發(fā)、編輯、運(yùn)行和調(diào)試自動測試腳本程序,建立測試過程、生成測試報告,分析測試結(jié)果,理解測試工具如何進(jìn)行對測試數(shù)據(jù)進(jìn)行自動評估分析,掌握測試工具如何對測試文檔生成和利用。如表1。

4結(jié)束語

我們對軟件測試的教改受到了學(xué)生和老師的普遍歡迎。通過調(diào)查,大多數(shù)學(xué)生認(rèn)為使他們對課本知識的理解更加深入了,主動思考問題的能力也得到了提高。教師們也普遍反映“軟件測試”的教學(xué)質(zhì)量和教學(xué)效果得到極大的提高。

軟件測試論文:淺談具有計量特色的軟件測試人才培養(yǎng)

摘要:本文分析了計量學(xué)與計算機(jī)科學(xué)間的關(guān)系及市場需要的軟件測試工程人才的需求,探討了我們依托學(xué)校計量測試的辦學(xué)優(yōu)勢在具有計量特色的軟件質(zhì)量測試應(yīng)用型人才培養(yǎng)方面的經(jīng)驗。

關(guān)鍵詞:計量特色;軟件測試人才;課程體系;實踐體系

目前,全國有500余所本科院校開設(shè)計算機(jī)專業(yè),對一所像中國計量學(xué)院樣的普通高校而言,如何在這種龐大的專業(yè)規(guī)模和激烈的專業(yè)競爭中辦好自己的專業(yè),專業(yè)特色是一個重要的立足點(diǎn)。不同類型高校計算機(jī)專業(yè)的人才培養(yǎng)應(yīng)當(dāng)具有不同的定位,人才培養(yǎng)模式要充分依托各自學(xué)校的辦學(xué)優(yōu)勢體現(xiàn)專業(yè)特色。

中國計量學(xué)院是我國質(zhì)量監(jiān)督檢驗檢疫行業(yè)的本科院校,學(xué)校在29年的辦學(xué)過程中,逐步確立了“計量立校、標(biāo)準(zhǔn)立人、質(zhì)量立業(yè)”的辦學(xué)理念,形成了“培養(yǎng)具有牢固質(zhì)量觀念、明確標(biāo)準(zhǔn)意識和較強(qiáng)計量能力的高素質(zhì)人才”的人才培養(yǎng)和在計量、質(zhì)量、檢測、標(biāo)準(zhǔn)、檢驗檢疫等方面具有鮮明的辦學(xué)特色。

中國計量學(xué)院計算機(jī)專業(yè)面對目前國內(nèi)軟件測試人才失衡及培養(yǎng)渠道缺失現(xiàn)狀,針對軟件測試人才的職業(yè)素質(zhì)要求,依托學(xué)校計量測試的辦學(xué)優(yōu)勢,以培養(yǎng)社會急需的軟件質(zhì)量與測試人才市場為目標(biāo),研究探索了具有鮮明計量特色的“軟件質(zhì)量與測試平臺+ 模塊”的計算機(jī)專業(yè)應(yīng)用型人才培養(yǎng)模式和課程結(jié)構(gòu)與體系,構(gòu)建了由實驗教學(xué)、軟件度量與測試專業(yè)技能訓(xùn)練和校內(nèi)外軟件質(zhì)量與測試實踐基地的計量特色實踐教學(xué)體系,培養(yǎng)了學(xué)生軟件質(zhì)量意識和積極探索、勇于創(chuàng)新的學(xué)習(xí)動機(jī)。

1計量學(xué)與軟件測試間的關(guān)系

計量學(xué)(metrology),簡稱計量。隨著人類文明和科學(xué)技術(shù)水平的發(fā)展,計量學(xué)的內(nèi)涵與外延在不斷變化。就內(nèi)涵而言,計量學(xué)曾被稱為度量衡學(xué)和權(quán)度學(xué),一般指關(guān)于測量的科學(xué),具體指以技術(shù)和法制手段保障量值、單位統(tǒng)一的測量,此處的“量”主要是有形的、物化的量,可通過“測”來獲取。而廣義的計量學(xué),則突破“測”的手段來獲取無形的量[1]。

在傳統(tǒng)計量時期,社會經(jīng)濟(jì)活動較簡單,計量主體是度量衡和時間度量,隨著近現(xiàn)代數(shù)學(xué)、原子物理和量子物理學(xué)的發(fā)展,現(xiàn)代計量的對象和范圍不斷拓展,從一般物理量擴(kuò)展到工程量、化學(xué)量和生物量等,甚至還包含了現(xiàn)代社會的商貿(mào)、醫(yī)療、貿(mào)易,出現(xiàn)了形態(tài)計量學(xué)、經(jīng)濟(jì)計量學(xué)、文獻(xiàn)計量學(xué)、情報計量學(xué)、網(wǎng)絡(luò)計量學(xué)。計量學(xué)已經(jīng)涉及自然科學(xué)、人文社會科學(xué)的各方面[1]。

科學(xué)儀器是計量的重要組成部分,科學(xué)研究往往離不開的科學(xué)儀器。隨著計算機(jī)技術(shù)的飛速發(fā)展,“計算機(jī)軟件就是儀器”、“計算機(jī)軟件就是設(shè)備”早已成為的事實。20世紀(jì)90年代以來,計算機(jī)應(yīng)用領(lǐng)域不斷拓寬,軟件應(yīng)用的復(fù)雜性和規(guī)模不斷擴(kuò)大,IEEE、ANSI和ISO等一系列關(guān)于軟件質(zhì)量控制和測試的國際標(biāo)準(zhǔn)均相繼問世,使軟件質(zhì)量和軟件測試得到了普遍的重視。人們認(rèn)識到軟件測試不單純是發(fā)現(xiàn)錯誤的過程,而且包含軟件質(zhì)量評價的內(nèi)容,是軟件質(zhì)量保障的重要手段。2004年ISO和IEC的及時聯(lián)合技術(shù)委員會(ISO/IEC/JTCl ) 提出的軟件工程標(biāo)準(zhǔn)術(shù)語中給軟件測試下的定義是:軟件測試是為評價、改進(jìn)軟件產(chǎn)品質(zhì)量、標(biāo)識軟件產(chǎn)品缺陷和問題而進(jìn)行的活動。即軟件測試并非傳統(tǒng)意義上產(chǎn)品交付前單一的“找錯”過程,而是貫穿于軟件生產(chǎn)過程的始終,是一個科學(xué)的質(zhì)量控制過程[2]。因此可以說傳統(tǒng)計量測試技術(shù)與計算機(jī)技術(shù)的交叉與融合是實現(xiàn)軟件測試技術(shù)的基礎(chǔ),軟件測試技術(shù)是傳統(tǒng)計量測試技術(shù)的延伸與拓展,是現(xiàn)代計量技術(shù)的一個重要分支。傳統(tǒng)的計量測試也是測定某個系統(tǒng)的性能是否滿足需求,或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試技術(shù)與傳統(tǒng)計量測試技術(shù)的主要區(qū)別在于被測對象不同[3].

2具有計量特色的軟件測試應(yīng)用型人才需求分析

何謂具有計量特色的軟件測試應(yīng)用型人才?筆者認(rèn)為所謂具有計量特色的軟件質(zhì)量測試應(yīng)用型人才是指“具有牢固軟件質(zhì)量觀念、明確計量標(biāo)準(zhǔn)意識和較強(qiáng)軟件質(zhì)量和測試能力的高素質(zhì)應(yīng)用人才”。其特點(diǎn)是對軟件度量、標(biāo)準(zhǔn)、質(zhì)量方面的問題非常敏感、理解非常、工作上手非常快。

軟件質(zhì)量度量是對影響軟件質(zhì)量的屬性所進(jìn)行的定量測量,其實現(xiàn)的基礎(chǔ)是軟件測試,測試作為一種通用的度量方法,其重要作用在于軟件質(zhì)量保障、功能的驗證和確認(rèn),以及產(chǎn)品性的評估等。隨著經(jīng)濟(jì)全球化的進(jìn)一步推進(jìn),中國軟件行業(yè)面臨更加廣闊的國際市場。經(jīng)過幾年來的市場競爭,業(yè)內(nèi)人士已清醒地認(rèn)識到:“品質(zhì)的產(chǎn)品、的服務(wù)、良好的信譽(yù)”是軟件產(chǎn)業(yè)發(fā)展壯大的基礎(chǔ)。在注重軟件開發(fā)過程規(guī)范化的同時,通過測試的手段保障軟件產(chǎn)品的質(zhì)量,貫穿于軟件產(chǎn)品研發(fā)周期內(nèi)每一個環(huán)節(jié)中,在整個軟件開發(fā)的系統(tǒng)工程中占據(jù)著相當(dāng)大的比重[4]。

目前,我國軟件業(yè)服務(wù)范圍廣泛,從電子消費(fèi)到醫(yī)療航天,已滲透進(jìn)社會的各個領(lǐng)域。據(jù)了解,隨著軟件行業(yè)產(chǎn)業(yè)結(jié)構(gòu)的調(diào)整,各大軟件公司對國內(nèi)軟件市場、軟件外包業(yè)務(wù)的爭奪愈演愈烈,軟件質(zhì)量不得到改善,我國軟件行業(yè)就無法和美、日、德、英、法等軟件大國競爭。然而由于我國軟件企業(yè)對軟件測試認(rèn)識較晚,現(xiàn)階段大多數(shù)軟件企業(yè)中測試人員數(shù)量還不足開發(fā)人員的五分之一,遠(yuǎn)遠(yuǎn)落后于國外1:1的比例,且具備5年以上行業(yè)經(jīng)驗的博學(xué)軟件測試工程師不超過兩萬人。據(jù)相關(guān)數(shù)據(jù)統(tǒng)計,目前我國軟件測試人才缺口已達(dá)30萬人。

國內(nèi)軟件測試人才的來源主要有三方面:一是以前做軟件開發(fā)轉(zhuǎn)行的技術(shù)人員;二是來自計算機(jī)專業(yè)的高等學(xué)院畢業(yè)生;三是經(jīng)過一定的培訓(xùn),具有很強(qiáng)的實戰(zhàn)經(jīng)驗的專業(yè)人員。據(jù)51Testing調(diào)研數(shù)據(jù)顯示,目前國內(nèi)軟件測試從業(yè)人員的學(xué)歷集中在本科,其比例為70%,大專學(xué)歷次之,其比例為23%,高學(xué)歷者(包括碩士、博士)占6%,大專以下的有1%。因此高等學(xué)院計算機(jī)專業(yè)本科畢業(yè)生將是我國今后軟件測試人才的主要來源。

3具有計量特色的軟件測試應(yīng)用型人才的培養(yǎng)

(1) 培養(yǎng)目標(biāo)的定位

高等學(xué)校計算機(jī)專業(yè)人才培養(yǎng)目標(biāo)的確立依據(jù)有二:一是學(xué)校的辦學(xué)特色和自身的專業(yè)條件;二是社會對專業(yè)人才的需求。在專業(yè)建設(shè)和人才培養(yǎng)目標(biāo)的定位過程中,我們認(rèn)識到近年來隨著大學(xué)計算機(jī)專業(yè)在規(guī)模上蓬勃發(fā)展,各高校均面臨著專業(yè)特色不明顯以及教育質(zhì)量需要提高等問題。認(rèn)為在新形勢下,只有以特色立校,揚(yáng)長避短,才能以特色強(qiáng)校,以特色取勝,才能凸現(xiàn)學(xué)校的品牌與地位。

中國計量學(xué)院地處IT技術(shù)發(fā)展非常迅猛的浙江省,是我國質(zhì)量監(jiān)督檢驗檢疫行業(yè)的本科院校,其辦學(xué)特色是計量、質(zhì)量、檢測、標(biāo)準(zhǔn)、檢驗檢疫等方面。因此我們的人才培養(yǎng)目標(biāo)的定位是立足于浙江省和國家的需求,依托學(xué)校計量測試的辦學(xué)優(yōu)勢,根據(jù)國內(nèi)外在軟件測試和質(zhì)量控制創(chuàng)新教育方面研究的現(xiàn)狀和發(fā)展趨勢、新形式下社會對軟件測試和質(zhì)量控制的計算機(jī)專業(yè)人才的需求,特別是對軟件測試和質(zhì)量控制專業(yè)人才在應(yīng)用動手創(chuàng)新能力和綜合素質(zhì)方面的需求,在我們專業(yè)實力、專業(yè)水平和專業(yè)學(xué)生的知識能力基礎(chǔ)上,結(jié)合計量學(xué)院在計量、質(zhì)量、檢測、標(biāo)準(zhǔn)、檢驗檢疫等方面的辦學(xué)特色,突出計量測試特色,培養(yǎng)具有鮮明的計量特色的計算機(jī)專業(yè)人才。

具有鮮明的計量測試特色計算機(jī)專業(yè)人才培養(yǎng)目標(biāo),一方面可以提高我校計算機(jī)專業(yè)在培養(yǎng)人才和為社會發(fā)展服務(wù)等方面的創(chuàng)造力、在招生、就業(yè),爭取科研課題方面的競爭力和對浙江省和國家的軟件測試和質(zhì)量控制領(lǐng)域的技術(shù)發(fā)展和進(jìn)步的貢獻(xiàn)力,另一方面也有助于提高我校計算機(jī)專業(yè)的水平和實力,爭取更多的社會資源和企業(yè)支持。

(2) 課程體系和計量特色實踐教學(xué)體系

根據(jù)教育部計算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會在《中國計算機(jī)本科專業(yè)發(fā)展戰(zhàn)略研究報告》中提出的以“培養(yǎng)規(guī)格分類”為核心思想的計算機(jī)專業(yè)發(fā)展的要求,我們的教學(xué)計劃和培養(yǎng)方案以應(yīng)用型為基礎(chǔ),整個課程體系設(shè)計首先強(qiáng)調(diào)計算機(jī)科學(xué)和應(yīng)用工程基礎(chǔ),但專業(yè)課程的重點(diǎn)放在現(xiàn)代軟件質(zhì)量工程和軟件測試?yán)碚摵蛙浖y試新技術(shù)方面。培養(yǎng)計劃強(qiáng)調(diào)軟件測試領(lǐng)域的應(yīng)用實用型特點(diǎn),重點(diǎn)加強(qiáng)軟件測試實踐性課程,培養(yǎng)學(xué)生的獨(dú)立進(jìn)行軟件測試的能力。課程體系分為以下幾個層次實現(xiàn):

① 專業(yè)基礎(chǔ):包括計算機(jī)專業(yè)引導(dǎo)性課程和數(shù)學(xué)物理等方面的基礎(chǔ)課程,如程序設(shè)計基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)與算法、計算機(jī)組成等,重點(diǎn)培養(yǎng)學(xué)生對計算機(jī)基礎(chǔ)的理解和掌握。

② 專業(yè)課:包括計算機(jī)專業(yè)自身的核心課程,如數(shù)據(jù)庫原理、操作系統(tǒng)、計算機(jī)網(wǎng)絡(luò)、軟件工程等傳統(tǒng)的計算機(jī)學(xué)科核心課程,同時軟件測試與質(zhì)量控制的核心類課程也是教學(xué)的重點(diǎn)。在高年級專業(yè)的專業(yè)方向?qū)W習(xí)階段,采用專業(yè)方向平臺教學(xué)手段,學(xué)生可根據(jù)自己的專業(yè)興趣、發(fā)展方向、就業(yè)趨向等選擇合適的平臺課程進(jìn)行學(xué)習(xí)。根據(jù)社會對計算機(jī)專業(yè)人才需求和自身專業(yè)特點(diǎn),設(shè)置軟件測試與應(yīng)用方向平臺、網(wǎng)絡(luò)工程及應(yīng)用方向平臺、嵌入式系統(tǒng)設(shè)計及應(yīng)用方向平臺等三個專業(yè)方向平臺。在專業(yè)方向平臺課程中,除側(cè)重點(diǎn)不同外,都具有計量測試特色,如軟件測試與應(yīng)用方向平臺包含軟件質(zhì)量工程、軟件測試技術(shù)、軟件能力成熟度模型(CMM)等,嵌入式系統(tǒng)方向平臺包含軟件質(zhì)量工程和嵌入式系統(tǒng)測試技術(shù)等。

③ 選修課:與質(zhì)量測試領(lǐng)域、職業(yè)發(fā)展素質(zhì)和一般工程方法相關(guān)的選修課。如計量學(xué)概論、產(chǎn)品質(zhì)量工程概論、檢測技術(shù)與儀器等,以增強(qiáng)學(xué)生的質(zhì)量測試意識和職業(yè)素養(yǎng)。另外軟件的測試的行業(yè)或領(lǐng)域非常強(qiáng),掌握領(lǐng)域?qū)I(yè)知識也是非常關(guān)鍵,我們通過聘請相關(guān)行業(yè)或領(lǐng)域的專家以技術(shù)講座方式使學(xué)生初步掌握相關(guān)行業(yè)或領(lǐng)域知識,以避免學(xué)生缺乏領(lǐng)域知識。

④ 實踐教學(xué):根據(jù)軟件測試人才能力素質(zhì)的要求,我們設(shè)置了相應(yīng)的實踐教學(xué)體系,包括課程實驗、課程設(shè)計和專業(yè)實踐三個環(huán)節(jié)。課程實驗主要讓學(xué)生在真實或模擬的環(huán)境中進(jìn)行大量操作、實踐,熟悉各種測試軟件和測試工具;課程設(shè)計通過安排小型的軟件測試項目,讓學(xué)生運(yùn)用測試工具進(jìn)行測試,鍛煉學(xué)生的綜合分析能力和綜合運(yùn)用知識的能力;專業(yè)實踐結(jié)合畢業(yè)設(shè)計,一方面安排學(xué)生走出學(xué)校,參加實際的軟件測試項目。另一方面我們專門設(shè)計針對電信/互聯(lián)網(wǎng)服務(wù)和典型行業(yè)(金融、銀行、保險等)等應(yīng)用領(lǐng)域的軟件測試和質(zhì)量控制的實踐項目,并在實踐過程中模擬企業(yè)的質(zhì)量管理體系,訓(xùn)練學(xué)生項目管理、團(tuán)隊合作、學(xué)習(xí)創(chuàng)新的能力。

另外,我們還與知名軟件測試職業(yè)培訓(xùn)機(jī)構(gòu)合作,建設(shè)校內(nèi)培訓(xùn)基地,充分利用校內(nèi)的實驗條件、生源條件;培訓(xùn)機(jī)構(gòu)的師資、技術(shù)、資金資源。通過合作辦學(xué),建立良好的測試環(huán)境(各種流行測試工具),引入科學(xué)、系統(tǒng)的課程體系,利用雙方的互補(bǔ)資源優(yōu)勢,相互學(xué)習(xí)、協(xié)作、促進(jìn),實現(xiàn)雙贏。同時與省內(nèi)軟件企業(yè)合作,建立校外實習(xí)、實訓(xùn)基地,學(xué)生在教師和企業(yè)專家的指導(dǎo)下,參與實際測試項目。與第三方測試機(jī)構(gòu)合作,承接了力所能及的測試項目,實施了大學(xué)生科研計劃。

(3) 計算機(jī)學(xué)科和計量測試相關(guān)學(xué)科知識的相互滲透和融通

在軟件質(zhì)量測試應(yīng)用型人才培養(yǎng)過程中,為了體現(xiàn)計量、質(zhì)量、檢測、標(biāo)準(zhǔn)、檢驗檢疫等方面的辦學(xué)特色,我們將“明確標(biāo)準(zhǔn)、注重量化、追求質(zhì)量”滲透于人才培養(yǎng)的過程中,努力達(dá)到“標(biāo)準(zhǔn)先進(jìn)、計量、質(zhì)量”的人才培養(yǎng)目標(biāo),突出計量測試特色,在研究計算機(jī)學(xué)科和計量測試相關(guān)學(xué)科各自特點(diǎn)基礎(chǔ)上,提出了計量測試大學(xué)科意識,實現(xiàn)了兩學(xué)科知識的相互滲透和融通。以選修課的形式在計算機(jī)專業(yè)開設(shè)如計量學(xué)概論、產(chǎn)品質(zhì)量工程概論、檢測技術(shù)與儀器、技術(shù)監(jiān)督法律法規(guī)、質(zhì)量管理體系認(rèn)證、標(biāo)準(zhǔn)化概論等課程,將計量測試相關(guān)學(xué)科基礎(chǔ)知識的滲透和融通到計算機(jī)學(xué)科,使計算機(jī)專業(yè)學(xué)生能建立起標(biāo)準(zhǔn)意識、質(zhì)量意識和法制意識,對計量、標(biāo)準(zhǔn)、質(zhì)量方面的問題更敏感、理解更到位、工作上手更快。近三年來,學(xué)生共有50 余項與專業(yè)特色相關(guān)的專利申請被受理,參與的學(xué)生人數(shù)和專利項目申請數(shù)均列省屬高校前茅。學(xué)生在各級各類學(xué)科性競賽中所獲得的獎項多數(shù)也與專業(yè)特色密切相關(guān)。

4結(jié)束語

中國計量學(xué)院屬于行業(yè)性較強(qiáng)的學(xué)校,計量學(xué)本身涉及自然科學(xué)、人文社會科學(xué)和工程領(lǐng)域等多個方面,由計量派生出來的相關(guān)學(xué)科、領(lǐng)域和方向也在不斷增加。在計量這個大框架下建立我們計算機(jī)專業(yè)特色,是我們培養(yǎng)能夠適應(yīng)21世紀(jì)科技、經(jīng)濟(jì)和社會發(fā)展需要,具有良好質(zhì)量意識和軟件測試技能的應(yīng)用型人才的必然選擇,開展具有計量特色的軟件質(zhì)量測試應(yīng)用型人才的培養(yǎng)模式的研究是迫切的現(xiàn)實需要,這一能夠滿足國家對專業(yè)人才的需求,培養(yǎng)社會急需的軟件度量與測試人才,也更能提高我校計算機(jī)專業(yè)在培養(yǎng)人才和為社會發(fā)展服務(wù)等方面的創(chuàng)造力和競爭力,也有助于提高我校計算機(jī)專業(yè)的水平和實力,爭取更多的社會資源和企業(yè)支持。

軟件測試論文:軟件測試學(xué)習(xí)過程和方法探究

摘要:近幾年來,人們越來越重視軟件測試,軟件測試工作也越來越“熱”,但很多人在學(xué)習(xí)軟件測試的過程當(dāng)中走了不少彎路。本文對軟件測試領(lǐng)域的現(xiàn)狀和誤區(qū)進(jìn)行了闡述,并對學(xué)習(xí)軟件測試的過程和方法進(jìn)行了深入探討,提供了一些軟件測試技巧以供參考。

關(guān)鍵詞:軟件測試;誤區(qū);黑盒測試;測試用例

隨著軟件產(chǎn)業(yè)的發(fā)展、軟件規(guī)模的逐步擴(kuò)大,軟件的質(zhì)量問題日漸突顯,軟件測試與軟件質(zhì)量監(jiān)控也越來越受到軟件行業(yè)的重視。各類招聘信息中對軟件測試類人才的需求猛增,很多人由此而選擇了軟件測試,但其中不少人始終未能拿到軟件測試行業(yè)的“入場券”,原因何在?軟件測試行業(yè)是一個高速發(fā)展的新興行業(yè),盡管當(dāng)下認(rèn)知程度不高,但有著廣闊的發(fā)展前景。如何才能更有效地進(jìn)入軟件測試領(lǐng)域是本文的研究重點(diǎn)所在。

1軟件測試的誤區(qū)

軟件測試不斷受到重視,但總體上,國內(nèi)軟件項目過程不夠規(guī)范,對軟件測試的重要性、測試方法和流程等還存在很多錯誤的認(rèn)識,以致很多人在軟件測試領(lǐng)域走了不少彎路。對于測試人員以及準(zhǔn)備進(jìn)入軟件測試領(lǐng)域的人員來說,首先必須認(rèn)清并更正這些錯誤觀點(diǎn)。

(1) 誤區(qū)一:軟件開發(fā)完成后才開始進(jìn)行軟件測試

軟件從開始計劃、編制、測試,一直到公開使用的過程中都可能存在軟件缺陷。事實證明,需求規(guī)格說明書是導(dǎo)致軟件缺陷的較大原因。隨著時間的推移,修復(fù)軟件缺陷的費(fèi)用呈幾何級數(shù)增長。

(2) 誤區(qū)二:軟件后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測試人員的錯

軟件測試只能確認(rèn)軟件存在錯誤,不能保障軟件沒有錯誤。軟件的高質(zhì)量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程設(shè)計出來的。應(yīng)該分析軟件項目的各個過程,從過程改進(jìn)方面尋找產(chǎn)生錯誤的原因和改進(jìn)的措施。

(3) 誤區(qū)三:軟件測試要求不高,隨便找個人都可以完成這項工作

軟件測試涉及很多領(lǐng)域,簡單的點(diǎn)點(diǎn)鼠標(biāo)、按按鍵盤的工作根本無法達(dá)到軟件測試的目的,若想立足于軟件測試領(lǐng)域必須掌握和學(xué)習(xí)很多方面的知識。

(4) 誤區(qū)四:項目進(jìn)度吃緊時少做些測試,時間富裕時多做測試

縮短測試時間會導(dǎo)致測試不完整,無法達(dá)到測試的目的,測試效果也將大打折扣。軟件項目過程應(yīng)該是有計劃的、可控制的,若項目過程管理混亂必然會降低軟件測試的質(zhì)量。

(5) 誤區(qū)五:自動測試將取代手工測試

自動測試速度快、效率高、度和度高。但動測試只能測試某些軟件的部分特性,且無法靈活處理意外事件。手工測試可以更好地發(fā)揮人的主觀能動性、靈活性、隨機(jī)應(yīng)變性,可以更好地適應(yīng)并處理突發(fā)事件。無論自動測試技術(shù)多么發(fā)達(dá),自動測試也不能取代手工測試。

2學(xué)習(xí)軟件測試的過程和方法研究

不同知識基礎(chǔ)的人,學(xué)習(xí)軟件測試技術(shù)、進(jìn)入軟件測試領(lǐng)域的感受也有所不同,很多人在學(xué)習(xí)軟件測試知識的過程中非常盲目,沒有計劃、沒有方向,學(xué)習(xí)效率低下。在此,本人對學(xué)習(xí)軟件測試的過程和方法進(jìn)行總結(jié)、研究和探討,以作交流學(xué)習(xí)之用。

2.1學(xué)習(xí)軟件測試的過程

(1) 及時步明確測試目的

有目的才有動力,有目標(biāo)才有方向。軟件測試就是對軟件需求分析、設(shè)計規(guī)格說明、程序代碼以及軟件其他相關(guān)產(chǎn)品進(jìn)行測試的過程,是軟件質(zhì)量保障的關(guān)鍵步驟。明確軟件測試的目的和目標(biāo)才能的定位測試并更有效的進(jìn)行測試。

(2) 第二步結(jié)合實際項目,學(xué)習(xí)掌握測試方法、合理設(shè)計測試用例

常用的測試方法有黑盒測試和白盒測試。黑盒測試在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,針對軟件界面和軟件功能等進(jìn)行測試,是最基本的測試方法。白盒測試允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計或選擇測試用例進(jìn)行測試。的理解和掌握這些技術(shù)及其相互關(guān)系是進(jìn)行軟件測試的前提。

測試是有風(fēng)險的行為,測試是不可能的。軟件測試用例是進(jìn)行測試的核心,是測試人員測試過程中的重要參考依據(jù),它的組織和編寫關(guān)系到整個測試工作和思路的正確性、有效性。測試用例的組織性和條理性是軟件測試成功的一個重要因素。因此,在學(xué)習(xí)軟件測試的過程中,要的把握測試方法并有條理的組織和設(shè)計測試用例。

同時,軟件測試重在實踐。理論的掌握只能達(dá)到紙上談兵的功效,若想真正領(lǐng)悟測試技術(shù)的真諦還需進(jìn)行實際的項目測試。結(jié)合具體的測試項目,靈活運(yùn)用各種測試方法組織編寫測試用例可以幫助初學(xué)者更好的理解和掌握這些技術(shù)。

(3) 第三步熟悉測試步驟

一個完整的軟件測試過程包括測試計劃、測試設(shè)計、測試開發(fā)、測試執(zhí)行、缺陷跟蹤和測試評估。軟件測試管理工具可以系統(tǒng)地控制整個測試過程,實現(xiàn)從測試需求、測試設(shè)計、測試執(zhí)行和缺陷跟蹤所有操作的多方位跟蹤管理,并為這幾個部分提供了關(guān)聯(lián)機(jī)制,使整個測試管理過程更加簡單和有組織。在此,本人建議在學(xué)習(xí)軟件測試技術(shù)的過程中,以一個測試管理工具(例:TestDirector)為平臺進(jìn)行測試實踐,用心體會一個完整的測試過程。

(4) 第四步了解測試階段

軟件測試從軟件需求階段就已介入,基本貫穿軟件項目開發(fā)全程,不同階段有不同的測試點(diǎn),需要不同的測試方法和技術(shù)。軟件測試可以大致分為需求評審、單元測試、集成測試、系統(tǒng)測試、驗收測試( 測試/ 測試)這幾個階段。明確各個階段的測試目的和內(nèi)容才能選擇相對合適的方法進(jìn)行測試。

(5) 第五步測試技術(shù)的提高和升級

軟件自動化測試是一項讓計算機(jī)代替測試人員進(jìn)行軟件測試的技術(shù),通常借助測試工具來執(zhí)行。自動化測試可以模擬軟件實際運(yùn)行效果,測試效率高、度和度高、可以持續(xù)測試而無須休息,彌補(bǔ)了手工測試的不足。

性能被列為系統(tǒng)質(zhì)量的重要指標(biāo),并越來越受到人們的重視。性能測試是對軟件性能的表現(xiàn)進(jìn)行測試,較功能測試更難實現(xiàn)。

在掌握基本的測試方法和技術(shù)之后,可以繼續(xù)深入研究自動化測試和性能測試,提高測試水平和測試能力。

2.2學(xué)習(xí)軟件測試的方法

學(xué)習(xí)方法的好壞和學(xué)習(xí)習(xí)慣對學(xué)習(xí)效果的影響非常大,以下是軟件測試初學(xué)者需要注意的幾個地方:

(1) 勤學(xué)好問、充分利用各類學(xué)習(xí)資源

問題積累是學(xué)習(xí)的攔路虎。時間越久,問題越多,給學(xué)習(xí)造成了很大的阻力,更甚者會讓初學(xué)者心生放棄。三人行必有我?guī)?勤學(xué)好問,不要滋生“歷史”遺留問題。當(dāng)然,對于一個復(fù)雜問題,如果在短時間內(nèi)無法理解透徹時,可以先簡單的了解,然后在之后的學(xué)習(xí)和實踐過程中慢慢體會其含義。由簡入繁,勿鉆“牛角尖”。

軟件測試的學(xué)習(xí)資源非常豐富,書籍、網(wǎng)站、論壇、技術(shù)交流群等唾手可得。充分利用這些資源可以縮短學(xué)習(xí)和解決問題的周期,使學(xué)習(xí)更加高效。

(2) 實踐出真知

實踐是檢驗真理的標(biāo)準(zhǔn)。要想真正學(xué)會測試,必須進(jìn)行實際的測試。不要說沒有測試環(huán)境,想學(xué)的話,可以自己搭建環(huán)境。有了行動才能有收獲。

(3) 切莫“閉門造車”

軟件測試技術(shù)是解決實際軟件測試問題的技術(shù),與現(xiàn)實世界密切相關(guān),盲目的學(xué)習(xí)可能適得其反。因此,應(yīng)多關(guān)注軟件測試行業(yè)的動態(tài),了解軟件測試行業(yè)的真正需求,有目的的學(xué)習(xí)。

(4) 細(xì)心、耐心

軟件測試是對人技術(shù)和意志的一種考驗,不細(xì)心就有可能與缺陷擦肩而過,沒有耐心就無法將枯燥的測試進(jìn)行到底。只有充分的細(xì)心和耐心才能適應(yīng)和完成軟件測試工作。

(5)“懷疑”精神

定性思維往往是發(fā)生錯誤的根源,對于軟件測試人員來說,更應(yīng)該具有“懷疑”精神,要考慮每個細(xì)節(jié),不要想當(dāng)然地接受任何假設(shè)。

(6) 溝通能力

軟件測試人員必須具有良好的人際關(guān)系和溝通能力。由于軟件測試工作的特殊性,軟件測試人員在項目小組中并不受歡迎。由于需要經(jīng)常和開發(fā)人員、測試組其他成員進(jìn)行溝通,軟件測試人員說話辦事必須穩(wěn)重得當(dāng),不能隨意指責(zé)別人,否則會事倍功半,影響軟件測試的效率。在學(xué)習(xí)軟件測試的過程中,應(yīng)把握各種機(jī)會,多與人進(jìn)行溝通和交流。

3軟件測試的常用技巧

軟件測試雖然辛苦,但掌握一定技巧后將事半功倍。

(1) 邊界測試

邊界是最容易出錯的地方。在進(jìn)行軟件測試時,應(yīng)測試臨近邊界的合法數(shù)據(jù)(即一個可能合法的數(shù)據(jù),以及剛超過邊界的非法數(shù)據(jù))。

(2) 非法測試

人們在不了解軟件功能或使用方法的情況下,經(jīng)常會不經(jīng)意地輸入一些非法數(shù)據(jù)或進(jìn)行一些非法操作而導(dǎo)致軟件出現(xiàn)意外情況。因此,在進(jìn)行軟件測試的過程當(dāng)中,應(yīng)考慮進(jìn)行類似的非法測試。例如在輸入數(shù)字的地方輸入字符、輸入郵件地址的地方輸入非法格式的數(shù)據(jù)、進(jìn)行一些不合理的操作等。

(3) 接口測試

程序往往在接口的地方發(fā)生錯誤,在進(jìn)行相關(guān)測試時切勿掉以輕心。

(4) 代碼重用測試

在開發(fā)過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼的基礎(chǔ)上作修改或修改不而引發(fā)錯誤。在測試的過程中應(yīng)更加留意這方面的測試。

(5) 失效恢復(fù)測試

當(dāng)意外(如網(wǎng)絡(luò)突然中斷、系統(tǒng)崩潰等)發(fā)生時,用戶能否繼續(xù)使用系統(tǒng),用戶將受到多大的影響也是測試要考慮的問題。

4結(jié)束語

軟件測試是一個入門易、深入難的工作。學(xué)習(xí)軟件測試技術(shù)沒有捷徑可言,一點(diǎn)點(diǎn)的努力才是正道。學(xué)習(xí)過程是指引,學(xué)習(xí)方法是手段,希望以上的方法和技巧能夠給大家以啟迪,也希望更多有識之士能夠與我們共同徜徉在軟件測試這五彩繽紛的世界之中。

軟件測試論文:讓軟件測試實驗和實訓(xùn)課程輕松地走進(jìn)高校或培訓(xùn)機(jī)構(gòu)

目前國內(nèi)為軟件測試?yán)碚撜n程配套的實驗教程很少,即使有也大多是以商用軟件測試工具使用介紹為主,很難普及到各個高校進(jìn)行實踐教學(xué)。針對這些問題,蔡建平教授以主流的開源軟件測試工具作為軟件測試實踐教學(xué)的基礎(chǔ),并在《軟件測試實驗指導(dǎo)教程》中、系統(tǒng)地介紹了軟件測試實踐教學(xué)的方法、步驟和案例,很好地解決了軟件測試實踐教學(xué)面臨的教材問題、案例問題和實踐環(huán)境建設(shè)問題。

該書充分考慮了國內(nèi)大多數(shù)院校辦學(xué)條件不足,實驗教學(xué)經(jīng)費(fèi)有限,無法多方位引進(jìn)商用軟件測試工具,無法開展軟件測試實驗室建設(shè)的實際情況,對國內(nèi)外主流的開源軟件測試工具進(jìn)行分析、研究和挑選,并經(jīng)過北京工業(yè)大學(xué)軟件學(xué)院5輪實踐教學(xué)的檢驗,來設(shè)計該書的實驗教學(xué)重點(diǎn)和實踐能力要求。該書的實驗內(nèi)容之廣,涉及的軟件測試知識之多,以及開源軟件測試工具介紹之,無論是對于教師進(jìn)行實驗指導(dǎo),還是培訓(xùn)機(jī)構(gòu)進(jìn)行實戰(zhàn)訓(xùn)練或者學(xué)生進(jìn)行自學(xué)自練,都是不可多得的實驗教材。

該書與國內(nèi)常見的軟件測試實踐教材重點(diǎn)講授某個或某幾個商用軟件測試工具的方法不同,它是以現(xiàn)代IT企業(yè)軟件測試需求為背景,以主流的軟件測試技術(shù)和方法為基礎(chǔ),以當(dāng)前的軟件測試應(yīng)用為實例,介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應(yīng)用流程及實際案例。特別突出了軟件測試工具在實際測試項目中的使用能夠有效地鞏固所學(xué)軟件測試知識,掌握軟件測試方法和技術(shù)以及提高軟件測試實戰(zhàn)能力。

該書分為管理、靜態(tài)分析、單元測試、GUI測試、性能測試以及軟件綜合評測等6大部分,共有12章。主要內(nèi)容包括:軟件缺陷管理、軟件測試管理、程序理解、代碼靜態(tài)分析、xUnit單元測試框架、單元覆蓋測試、Java GUI基礎(chǔ)類庫應(yīng)用測試、Web頁面測試、Gtk+用戶界面測試、單元性能測試、Web應(yīng)用性能測試以及軟件綜合評測工具等。在該書中,較大篇幅地介紹了如何使用主流開源軟件測試工具建立測試環(huán)境,如何將它們用于實際軟件項目的測試。這種舉一反三、拋磚引玉的內(nèi)容設(shè)計,對高校軟件測試實踐類課程的開設(shè)、培訓(xùn)機(jī)構(gòu)軟件測試的實戰(zhàn)培訓(xùn)以及開發(fā)人員和測試人員自學(xué)是非常有現(xiàn)實意義的。該書在一章特別強(qiáng)調(diào)了軟件綜合評測的意義,并以南京大學(xué)研制的Eastt工具為實例,介紹了軟件評測的思想和過程,有助于學(xué)生掌握軟件評測的方法和技術(shù),提高實際的軟件評測能力。

該書針對軟件測試的實驗內(nèi)容,實驗方案完整,實踐環(huán)境建設(shè)可行,實驗步驟及過程講解清晰,實驗案例豐富實用,可作為高等院校不同學(xué)歷教育的軟件工程專業(yè)及計算機(jī)相關(guān)專業(yè)的“軟件測試實踐課程”教材(如本科生、研究生、甚至高職/高專生等),也可作為社會軟件測試實戰(zhàn)培訓(xùn)教材,同時該書也是軟件開發(fā)或管理人員、測試或質(zhì)量保障人員等的自學(xué)參考書籍。

蔡建平教授以他多年在軟件測試領(lǐng)域開展工作的經(jīng)驗和對軟件測試能力培養(yǎng)如何滿足IT企業(yè)要求的了解,設(shè)計了軟件測試獨(dú)特的實踐教學(xué)方法,并收受學(xué)生認(rèn)可和歡迎。作為蔡建平教授多年在軟件測試實踐教學(xué)上的經(jīng)驗和成果總結(jié),《軟件測試實驗指導(dǎo)教程》的出版發(fā)行,將有益于國內(nèi)軟件測試人員和軟件工程相關(guān)專業(yè)本科生及研究生的學(xué)習(xí)與實踐能力培養(yǎng),有益于推動我國高等高等院校軟件測試實踐教學(xué)方法研究的進(jìn)一步發(fā)展,同時對我國軟件測試業(yè)的發(fā)展和軟件測試緊缺人才的培養(yǎng)起到積極的促進(jìn)作用。

軟件測試論文:高職與培訓(xùn)機(jī)構(gòu)軟件測試人才專業(yè)能力培養(yǎng)差異性研究

摘要:面對軟件測試人才市場的巨大缺口,高職院校迫切需要提高軟件測試方向?qū)W生的專業(yè)能力。文章闡述了高職院校與培訓(xùn)機(jī)構(gòu)對軟件測試人才專業(yè)能力培養(yǎng)的現(xiàn)狀,從培養(yǎng)目標(biāo)方向性、知識傳授深度及廣度、專業(yè)能力提升成效性、企業(yè)需求傳遞時效性這四個方面,對高職與培訓(xùn)機(jī)構(gòu)軟件測試人才專業(yè)能力培養(yǎng)的差異性進(jìn)行了對比分析,提出了優(yōu)化高職院校軟件測試人才專業(yè)能力培養(yǎng)的建議。

關(guān)鍵詞:高職;培訓(xùn)機(jī)構(gòu);軟件測試;專業(yè)能力

隨著我國軟件行業(yè)的迅猛發(fā)展和不斷成熟,市場對軟件測試人員缺口高達(dá)30、40萬。特別是隨著高端軟件測試人員需求的與日俱增,為了保障每個學(xué)生都擁有進(jìn)入測試行業(yè)的就業(yè)基礎(chǔ),高職院校必須抓住這個市場機(jī)遇,采取切實可行的教育教學(xué)改革措施,強(qiáng)化軟件測試方向?qū)W生專業(yè)能力的培養(yǎng)。

1高職與培訓(xùn)機(jī)構(gòu)對軟件測試人才專業(yè)能力培養(yǎng)現(xiàn)狀

專業(yè)能力是人們從事職業(yè)或職業(yè)活動賴以生存的能力,在勞動世界中其作用趨于核心地位,它是高職學(xué)生職業(yè)能力中的核心能力,是高職學(xué)生特點(diǎn)的集中體現(xiàn),也是構(gòu)建高職學(xué)生職業(yè)能力標(biāo)準(zhǔn)的核心內(nèi)容。目前,中國的高職教育觀主要是知識本位的職業(yè)能力觀,對學(xué)生專業(yè)能力的培養(yǎng)主要以開展學(xué)科課程教育為主。通過對湖北省內(nèi)及省外幾所高職院校定位了軟件測試方向人才培養(yǎng)的專業(yè)進(jìn)行了調(diào)研,筆者發(fā)現(xiàn)在專業(yè)人才培養(yǎng)方案中,針對軟件測試專業(yè)能力培養(yǎng)的課程比較少,大多數(shù)都只是開設(shè)了《軟件測試技術(shù)》這一門課程,少數(shù)院校把性能測試單獨(dú)作為一門課程。通過對30余家軟件公司的問卷調(diào)研,筆者了解到軟件測試技術(shù)包括的方面比較廣,企業(yè)需求的測試技術(shù)主要有手工功能測試、性能測試、易用性測試、安全測試、自動化測試、云端測試與眾包測試服務(wù),還有從無到有、從簡單到專業(yè)的移動APP、H5測試。然而,高職院校只用大約32至68個課時來講解部分測試技術(shù),通常就是泛泛地講授軟件工程知識、主流自動化測試軟件(如Quick Test Professional、LoadRunner、TestDirector等)等,以此提高學(xué)生的專業(yè)測試能力,便把軟件測試定位于專業(yè)人才培養(yǎng)目標(biāo)之中。

據(jù)中國產(chǎn)業(yè)信息網(wǎng)報道,國內(nèi)具有一定規(guī)模的軟件測試培訓(xùn)機(jī)構(gòu)有華育國際、安博教育、北大青鳥、達(dá)內(nèi)科技等。其中,華育國際采用“訂單+實訓(xùn)”的人才培養(yǎng)模式來提高軟件測試學(xué)員的專業(yè)能力。華育國際通過與軟件企業(yè)“點(diǎn)對點(diǎn)”方式,即簽訂定向委培協(xié)議,按照企業(yè)的需求,為學(xué)生專業(yè)制定人才培養(yǎng)方案,使學(xué)生在畢業(yè)時就能勝任協(xié)議企業(yè)里約定的工作崗位。華育國際還通過與某一類企業(yè)(如金融行業(yè)、互聯(lián)網(wǎng)應(yīng)用等)“點(diǎn)對面”方式,按照這一類企業(yè)的需求來設(shè)置培訓(xùn)內(nèi)容,安排課程設(shè)置。無論采用哪種與企業(yè)的合作方式,其實訓(xùn)在培養(yǎng)方式上,均是以項目實戰(zhàn)為主,培訓(xùn)學(xué)員都有機(jī)會參加IT名企的實際測試項目,掌握規(guī)范的軟件測試流程,增加豐富的項目測試經(jīng)驗。安博教育實行以就業(yè)為導(dǎo)向的IT人才教育體系,通過IT軟件測試實訓(xùn),協(xié)助畢業(yè)生在就業(yè)之前,參與到企業(yè)的項目開發(fā)與測試過程中,解決軟件測試方向?qū)W生和軟件企業(yè)之間需求的錯位。北大青鳥的培訓(xùn)策略是通過與高校合作辦學(xué)來培養(yǎng)軟件測試人才。通過課程置換的方式,北大青鳥將自身職業(yè)課程體系的優(yōu)勢與高校的教學(xué)優(yōu)勢相結(jié)合來提升學(xué)生的專業(yè)能力。達(dá)內(nèi)科技主要推廣“遠(yuǎn)程教育”,即在全國各地設(shè)置培訓(xùn)教學(xué)點(diǎn),通過網(wǎng)絡(luò)將達(dá)內(nèi)的課堂引進(jìn)各個地方,將擁有國際化大公司工作經(jīng)驗的技術(shù)專家和博學(xué)工程師通過遠(yuǎn)程在線的方式共享。達(dá)內(nèi)也在各個高職院校推廣這種遠(yuǎn)程教育模式,與全國一些高職院校合作,讓高校提供培訓(xùn)場地和學(xué)生,達(dá)內(nèi)提供教學(xué)內(nèi)容和師資,在人才培養(yǎng)方案中進(jìn)行“課程置換”。

2高職與培訓(xùn)機(jī)構(gòu)對軟件測試人才專業(yè)能力培養(yǎng)的差異性

2.1培養(yǎng)目標(biāo)方向性差異

目前,國內(nèi)軟件測試培訓(xùn)機(jī)構(gòu)的市場主要定位在校待就業(yè)學(xué)生,尤其是臨近畢業(yè)的學(xué)生居多,主要是以線下培訓(xùn)為主。很多軟件測試方向的大專生為了提升自己的就業(yè)實力,在畢業(yè)前選擇去軟件測試職業(yè)培訓(xùn)機(jī)構(gòu)接受培訓(xùn)。培訓(xùn)機(jī)構(gòu)對學(xué)生的培訓(xùn)只有幾個月的時間,培養(yǎng)目標(biāo)是能高薪勝任IT企業(yè)軟件測試的工作崗位,在對學(xué)生專業(yè)能力的培養(yǎng)過程中,會強(qiáng)化訓(xùn)練軟件企業(yè)需要的相關(guān)測試技術(shù),如:手工測試、自動化測試、接口測試等,培養(yǎng)內(nèi)容更有針對性和方向性。高職院校軟件技術(shù)專業(yè)軟件測試方向的人才培養(yǎng)目標(biāo)是培養(yǎng)與社會主義現(xiàn)代化建設(shè)要求相適應(yīng)的德、智、體、美發(fā)展,適應(yīng)生產(chǎn)、建設(shè)、管理和服務(wù)及時線需要,具有良好的職I道德和敬業(yè)精神,掌握軟件開發(fā)、軟件服務(wù)所需的系統(tǒng)基礎(chǔ)知識和具備軟件開發(fā)、測試、技術(shù)支持及銷售所需系統(tǒng)動手能力的高素質(zhì)技術(shù)技能型專門人才。高職院校比較注重學(xué)生綜合能力的培養(yǎng),學(xué)生的專業(yè)能力、方法能力和社會能力發(fā)展較均衡,但是專業(yè)能力不突出;軟件測試培訓(xùn)機(jī)構(gòu)比較重視學(xué)生專業(yè)能力的培養(yǎng),但因為受限于培訓(xùn)時間、培訓(xùn)規(guī)模、投入資金等因素,對學(xué)生方法能力和社會能力培養(yǎng)的力度不足。

2.2知識傳授深度及廣度差異

高職院校的課程體系分為通識課程、專業(yè)課程和拓展課程,既有思想道德類、英語類、體育、數(shù)學(xué)等素質(zhì)與通識課程,也有程序設(shè)計、軟件工程等專業(yè)課程,以及職業(yè)指導(dǎo)與創(chuàng)業(yè)教育等拓展課程,課程開設(shè)門數(shù)一般在28門左右,還有各種競賽和團(tuán)體活動,使學(xué)生的職業(yè)能力得到了廣泛發(fā)展,尤其是自學(xué)能力、分析與解決問題的方法能力、創(chuàng)新與溝通等社會能力得到了鍛煉與提高,對學(xué)生知識傳授的廣度比較廣,但對軟件測試專業(yè)知識傳授的深度不夠。培訓(xùn)機(jī)構(gòu)由于培訓(xùn)的內(nèi)容更有針對性和方向性,所以在知識傳授的深度上不斷強(qiáng)化深入,培養(yǎng)的人才短期內(nèi)適應(yīng)軟件測試崗位的各個層次,但今后職業(yè)生涯的發(fā)展會有所局限性。

2.3專業(yè)能力提升成效性差異

培訓(xùn)機(jī)構(gòu)通常在3-6個月的短期內(nèi),對學(xué)員進(jìn)行反復(fù)訓(xùn)練,充分強(qiáng)調(diào)軟件測試專業(yè)能力的培養(yǎng),培訓(xùn)課程范圍窄,使學(xué)員軟件測試的專業(yè)技能得到明顯提高,達(dá)到企業(yè)和社會對功能測試、自動化測試、性能測試、接口測試等專業(yè)能力的要求,對學(xué)生專業(yè)能力的培養(yǎng)更具有速成性。高職院校學(xué)生的專業(yè)課程主要集中在大一下學(xué)期和大二整個學(xué)年,對學(xué)生專業(yè)能力的培養(yǎng)是循序漸進(jìn)的,成效性提升速度緩慢,但是學(xué)生的專業(yè)基礎(chǔ)知識扎實,為以后的可持續(xù)發(fā)展奠定了基礎(chǔ)。