沈海娟
軟件測(cè)試是軟件質(zhì)量保證的關(guān)鍵步驟。測(cè)試貫穿整個(gè)軟件開(kāi)發(fā)的過(guò)程,是對(duì)軟件需求分析、設(shè)計(jì)規(guī)范和編碼的最終復(fù)審。軟件測(cè)試已成為軟件產(chǎn)業(yè)的新興門類而迅速發(fā)展起來(lái),其專業(yè)機(jī)構(gòu)和組織迅速發(fā)展、人才需求旺盛、職業(yè)的價(jià)值日益提升,軟件測(cè)試人才的培養(yǎng)也應(yīng)該成為高職IT教育的重要內(nèi)容。
1 高職軟件測(cè)試課程構(gòu)建背景
1.1 軟件產(chǎn)業(yè)的技術(shù)發(fā)展和需求
隨著軟件技術(shù)的發(fā)展和應(yīng)用的日益廣泛,軟件的功能越來(lái)越強(qiáng),系統(tǒng)的規(guī)模越來(lái)越大,內(nèi)部結(jié)構(gòu)愈來(lái)愈復(fù)雜,軟件的質(zhì)量和軟件的生產(chǎn)率難以適應(yīng)發(fā)展需求的問(wèn)題統(tǒng)一起來(lái)突出,已成為軟件企業(yè)規(guī)范管理和軟件產(chǎn)業(yè)快速發(fā)展的絆腳石。作為一種有別于實(shí)物產(chǎn)品的邏輯產(chǎn)品,軟件產(chǎn)品有其特有的復(fù)雜性,如功能的多樣性、實(shí)現(xiàn)方式的多樣性、產(chǎn)品要求難以表達(dá)、進(jìn)度能見(jiàn)度低、運(yùn)行依賴于環(huán)境等。作為人腦高度智力化的體現(xiàn),軟件存在缺陷無(wú)可避免,而且軟件系統(tǒng)規(guī)模擴(kuò)大,其缺陷生成機(jī)率也會(huì)加大,發(fā)現(xiàn)的愈遲,故障造成的各類損失也愈大。
軟件質(zhì)量的提高,既依賴于軟件過(guò)程工程的一些方法,也依賴于軟件測(cè)試。我國(guó)軟件開(kāi)發(fā)長(zhǎng)期以來(lái)存在“重開(kāi)發(fā),輕測(cè)試”的現(xiàn)象,中小企業(yè)往往研發(fā)測(cè)試混雜,沒(méi)有專業(yè)的測(cè)試人員和體系;缺少測(cè)試概念和方法,沒(méi)有測(cè)試方面的專業(yè)知識(shí);缺少測(cè)試流程或不規(guī)范。用戶驗(yàn)收由于缺乏專業(yè)人才而失之全面甚至流于形式。從行業(yè)發(fā)展來(lái)說(shuō),急需建立專業(yè)的測(cè)試隊(duì)伍、流程和規(guī)范,提高產(chǎn)品研發(fā)質(zhì)量。
隨著軟件技術(shù)的發(fā)展,軟件測(cè)試的技術(shù)和內(nèi)容也有了很大的發(fā)展。當(dāng)前軟件測(cè)試已不僅僅體現(xiàn)為測(cè)試的執(zhí)行,而且貫穿軟件生存周期全過(guò)程,內(nèi)容包含理論與技術(shù)、標(biāo)準(zhǔn)與規(guī)范、環(huán)境與工具及測(cè)試管理等多方面。軟件測(cè)試對(duì)于軟件質(zhì)量的保證作用正得到軟件行業(yè)以及軟件用戶的重視,軟件測(cè)試在軟件工程中的地位得到空前地提高。近年來(lái),一些大型企業(yè)以ISO9000或CMM為導(dǎo)向構(gòu)建質(zhì)量體系,在ISO9000中共有19個(gè)要素,其中一個(gè)就是“檢驗(yàn)和試驗(yàn)”;CMU/SEI的CMM中共有18個(gè)過(guò)程關(guān)鍵域,其中有一個(gè)質(zhì)量保證過(guò)程關(guān)鍵域。這其中都體現(xiàn)了軟件測(cè)試是軟件開(kāi)發(fā)中必不可少的環(huán)節(jié)。
1.2軟件測(cè)試人才緊缺
根據(jù)國(guó)外軟件業(yè)發(fā)展的經(jīng)驗(yàn),軟件測(cè)試工程師和軟件開(kāi)發(fā)工程師在企業(yè)的配置比例一般至少應(yīng)該達(dá)到1∶1 的水平。但我國(guó)軟件產(chǎn)業(yè)在這方面狀況堪憂,很多軟件企業(yè)的測(cè)試和開(kāi)發(fā)人員之比為1∶6,甚至更低。隨著近幾年軟件企業(yè)對(duì)軟件測(cè)試重要性的不斷認(rèn)識(shí),產(chǎn)生了對(duì)軟件測(cè)試人才的大量需求。業(yè)界有關(guān)人士稱,未來(lái)幾年,國(guó)內(nèi)軟件行業(yè)對(duì)軟件測(cè)試工程師的需求將超過(guò)20萬(wàn)人。
目前在軟件測(cè)試人才供需方面存在矛盾。一方面,企業(yè)對(duì)軟件測(cè)試人才有大量需求,但苦于招不到合適的人;另一方面國(guó)內(nèi)的高等教育也忽視了這一領(lǐng)域,高校計(jì)算機(jī)專業(yè)???、本科、碩士課程中普遍未開(kāi)設(shè)專門的軟件測(cè)試課程,測(cè)試僅僅是作為軟件工程課中的一個(gè)章節(jié)被提到,因此行業(yè)內(nèi)的軟件測(cè)試人才嚴(yán)重短缺。目前企業(yè)在軟件測(cè)試人員組成上還存在結(jié)構(gòu)性矛盾。在企業(yè)執(zhí)行軟件測(cè)試的技術(shù)人員通常由具備本科以上學(xué)歷的軟件技術(shù)人員來(lái)承擔(dān),沒(méi)有形成合理的金字塔形結(jié)構(gòu),這一方面加重了企業(yè)人力資源的成本,另一方面也加劇了軟件測(cè)試技術(shù)人員的匱乏,而實(shí)際上通過(guò)恰當(dāng)?shù)呐囵B(yǎng)渠道,高職畢業(yè)生完全可以成為合格的軟件測(cè)試執(zhí)行人員。
基于以上背景,軟件測(cè)試技術(shù)將成為軟件專業(yè)人才知識(shí)結(jié)構(gòu)與技能培養(yǎng)的重要組成,企業(yè)對(duì)軟件測(cè)試人員的需求也應(yīng)當(dāng)納入高職教育視野之中。
2 高職軟件測(cè)試課程目標(biāo)分析
高職教育以職業(yè)能力培養(yǎng)為目標(biāo),通常在完成學(xué)歷教育同時(shí)取得相應(yīng)的國(guó)家職業(yè)資格證書(shū),國(guó)家職業(yè)資格證書(shū)或行業(yè)技能證書(shū)也是高職教育內(nèi)容的一個(gè)重要參照物。而針對(duì)軟件測(cè)試人員,目前還沒(méi)有相應(yīng)的國(guó)家資格標(biāo)準(zhǔn),也缺乏相應(yīng)的行業(yè)證書(shū),我們參照國(guó)家職業(yè)資格標(biāo)準(zhǔn)的等級(jí)劃分原則,將滿足相當(dāng)于國(guó)家職業(yè)資格四級(jí)(中級(jí))水準(zhǔn)的人員稱為軟件測(cè)試員,而將滿足相當(dāng)于國(guó)家職業(yè)資格三級(jí)(高級(jí))水準(zhǔn)的人員稱為高級(jí)軟件測(cè)試員,并將這兩者的技能要求根據(jù)具體情況納入到高職教育培養(yǎng)目標(biāo)之中。
軟件測(cè)試員應(yīng)了解軟件測(cè)試的基本測(cè)試概念、測(cè)試?yán)碚?,根?jù)測(cè)試用例能夠執(zhí)行測(cè)試,具備基本的測(cè)試心理素質(zhì),能與開(kāi)發(fā)人員進(jìn)行有效溝通,掌握一門腳本語(yǔ)言。相當(dāng)于國(guó)家職業(yè)資格四級(jí)(中級(jí))水準(zhǔn)。
高級(jí)軟件測(cè)試員是軟件測(cè)試工作最基本的力量。他們應(yīng)掌握基本測(cè)試概念、測(cè)試?yán)碚?、測(cè)試標(biāo)準(zhǔn)和測(cè)試技術(shù)方法,能獨(dú)立設(shè)計(jì)測(cè)試用例,有效進(jìn)行缺陷報(bào)告和跟蹤,使用常用測(cè)試工具,掌握一門腳本語(yǔ)言。能夠完成一般軟件程序的測(cè)試任務(wù)。相當(dāng)于國(guó)家職業(yè)資格三級(jí)(高級(jí))水準(zhǔn)。
據(jù)當(dāng)前軟件行業(yè)相關(guān)統(tǒng)計(jì)資料分析,具備測(cè)試執(zhí)行能力高級(jí)軟件測(cè)試員和具有更高技能水準(zhǔn)的軟件測(cè)試工程師都是企業(yè)的緊缺人員,從企業(yè)人力資源管理的合理結(jié)構(gòu)來(lái)說(shuō),具備測(cè)試執(zhí)行能力的高級(jí)軟件測(cè)試員的人數(shù)需求更大,完全可以成為高職軟件測(cè)試專業(yè)的技能培養(yǎng)目標(biāo)。教育部的目錄中尚無(wú)軟件測(cè)試專業(yè),對(duì)于眾多的高職院校來(lái)說(shuō),這是一個(gè)空白。因此對(duì)于條件成熟的高職院校,可將高級(jí)軟件測(cè)試員納入到軟件專業(yè)(測(cè)試方向)的培養(yǎng)目標(biāo)中。也可將軟件測(cè)試員調(diào)整為軟件專業(yè)的培養(yǎng)目標(biāo)之一,提高畢業(yè)生的專業(yè)溝通能力和就業(yè)適應(yīng)面。
3 課程構(gòu)建原則
3.1 以軟件測(cè)試工作的邏輯順序構(gòu)建課程
目前的軟件測(cè)試教材大都是近兩三年出版的,體例基本上是按照測(cè)試?yán)碚摗y(cè)試技術(shù)、測(cè)試工具、測(cè)試實(shí)踐、測(cè)試管理的順序依次展開(kāi)。高職的教材如果局限于對(duì)相應(yīng)內(nèi)容作的篩選、簡(jiǎn)化,是難以適應(yīng)高職學(xué)生的,也不符合職業(yè)技術(shù)教育的規(guī)律。
“職業(yè)教育的教學(xué)內(nèi)容應(yīng)置于由實(shí)踐環(huán)境構(gòu)成的,以過(guò)程邏輯為中心的行動(dòng)體系框架之中”,“其內(nèi)容編排應(yīng)以典型職業(yè)活動(dòng)順序?yàn)閰⒄障?,故具有串行結(jié)構(gòu)的特點(diǎn)。針對(duì)工作過(guò)程環(huán)節(jié)的順序性與時(shí)序性傳授的課程內(nèi)容,既符合職業(yè)院校學(xué)生與生俱有的心理順序和具象思維的指向,也符合動(dòng)態(tài)變化的職業(yè)工作過(guò)程的實(shí)際需要”。
因此,軟件測(cè)試課程構(gòu)建首先要按照典型的測(cè)試活動(dòng)順序,分解測(cè)試職業(yè)能力技術(shù)要求,按照需求→概要設(shè)計(jì)→詳細(xì)設(shè)計(jì)的V字型測(cè)試模型,由易到難,由表及里,由簡(jiǎn)單到復(fù)雜,由單一到綜合,逐步展開(kāi)課程。按照組成測(cè)試技能實(shí)踐教學(xué)內(nèi)容及相互間的內(nèi)在聯(lián)系,使數(shù)據(jù)庫(kù)、操作系統(tǒng)、自動(dòng)化測(cè)試工具、測(cè)試管理工具、配置管理工具等各部分實(shí)踐內(nèi)容有所側(cè)重,互相銜接,彼此關(guān)聯(lián),具有連續(xù)性。
3.2 要高度重視過(guò)程性知識(shí)與經(jīng)驗(yàn)的獲得
“現(xiàn)代工業(yè)心理學(xué)研究表明,高新技術(shù)工作崗位的工作人員所需要的知識(shí),約一半是介于經(jīng)驗(yàn)性知識(shí)和學(xué)科理論知識(shí)之間的一種特殊的知識(shí),即“勞動(dòng)過(guò)程知識(shí)”。軟件測(cè)試在規(guī)范的軟件生產(chǎn)中屬于軟件過(guò)程工程的重要組成,軟件測(cè)試課程構(gòu)建必須使學(xué)生能在“完整工作過(guò)程”中學(xué)習(xí)。
課程開(kāi)發(fā)難點(diǎn)在于提供一定規(guī)模的實(shí)際軟件產(chǎn)品,發(fā)放多個(gè)包含bug的軟件版本,且每個(gè)版本都模擬真實(shí)測(cè)試過(guò)程中的情況進(jìn)行了定制調(diào)整,以保證為學(xué)生創(chuàng)造一個(gè)與日常測(cè)試工作環(huán)境類似的場(chǎng)景。學(xué)生通過(guò)這個(gè)項(xiàng)目實(shí)訓(xùn),將本階段學(xué)習(xí)過(guò)程中涉及的測(cè)試技能、測(cè)試方法等知識(shí)點(diǎn)靈活運(yùn)用,從而保證將書(shū)本中的知識(shí)點(diǎn)真正消化掌握,進(jìn)而達(dá)到軟件測(cè)試綜合能力的提升。因此缺陷報(bào)告庫(kù)的規(guī)模是項(xiàng)目實(shí)訓(xùn)效果的重要保證之一。
注意引入在國(guó)際市場(chǎng)占有率高、有代表性的自動(dòng)測(cè)試工具,如Mercury、IBM的有關(guān)產(chǎn)品,內(nèi)容涵蓋從安裝到使用,并結(jié)合實(shí)際操作案例進(jìn)行分析講解,以此來(lái)加深概念與方法理解,達(dá)到技術(shù)運(yùn)用舉一反三,知識(shí)傳授與技能培養(yǎng)并重的目的。
有了供實(shí)踐訓(xùn)練的軟件產(chǎn)品和測(cè)試工具,僅僅能夠找出bug還是不夠的。要在軟件過(guò)程工程中,圍繞測(cè)試工作的的基本程序,在一個(gè)“完整工作過(guò)程”中進(jìn)行工作分析,進(jìn)而構(gòu)建測(cè)試課程,在項(xiàng)目教學(xué)中建立與測(cè)試過(guò)程的直接關(guān)系。但是,對(duì)于大多數(shù)企業(yè)而言,目前測(cè)試工作流程遠(yuǎn)未規(guī)范,甚至測(cè)試員的職責(zé)也不夠明確。如何進(jìn)行測(cè)試工作分析呢?從形式來(lái)看,測(cè)試報(bào)告是測(cè)試人員的工作成果,因此,測(cè)試人員的工作分析可以圍繞著“測(cè)試報(bào)告”來(lái)進(jìn)行,包括“測(cè)試報(bào)告”的前期工作:測(cè)試計(jì)劃、測(cè)試案例、測(cè)試過(guò)程、信息收集;“測(cè)試報(bào)告”中的信息管理:通常使用測(cè)試管理工具,對(duì)測(cè)試中的問(wèn)題進(jìn)行收集、流轉(zhuǎn)、分析與統(tǒng)計(jì);不同類型的“測(cè)試報(bào)告”的撰寫、“測(cè)試報(bào)告”的管理、測(cè)試評(píng)估等。這樣的程序,體現(xiàn)了人類實(shí)踐活動(dòng)的“完整模式”。
3.3 在“完整工作過(guò)程”中培養(yǎng)方法能力與社會(huì)能力
實(shí)際上,測(cè)試技術(shù)人員的要求不低于開(kāi)發(fā)人員,但是需要不同于開(kāi)發(fā)人員的知識(shí)結(jié)構(gòu)。在具體細(xì)節(jié)上,可能不必非常深入,但知識(shí)面要求更廣,涉及開(kāi)發(fā)、管理、行業(yè)等多方面。
由于目前國(guó)內(nèi)軟件企業(yè)專職測(cè)試人員基本上只承擔(dān)系統(tǒng)測(cè)試,所以測(cè)試課程的重點(diǎn)在系統(tǒng)測(cè)試,在單元測(cè)試、集成測(cè)試方面?zhèn)戎赜谡莆栈靖拍詈蛯?duì)測(cè)試過(guò)程的了解,能在指導(dǎo)下完成單元測(cè)試、集成測(cè)試。與此同時(shí),要注重從業(yè)務(wù)需求描述與評(píng)審到文檔評(píng)審的一系列質(zhì)量管理問(wèn)題。因此要求課程開(kāi)發(fā)在內(nèi)容上作出取舍,體現(xiàn)整體優(yōu)化。要注意引入有關(guān)質(zhì)量與質(zhì)量體系、測(cè)試標(biāo)準(zhǔn)等概念,有利于提高職業(yè)素養(yǎng),甚至也有利于企業(yè)澄清一些對(duì)于測(cè)試崗位的模糊觀念。針對(duì)軟件測(cè)試崗位的特定心理素質(zhì)要求,如與程序員的溝通困惑,加強(qiáng)溝通與職業(yè)素質(zhì)培養(yǎng)。
3.4 按照職業(yè)技術(shù)能力發(fā)展階段來(lái)設(shè)計(jì)典型工作任務(wù)
研究表明,“人的職業(yè)能力的發(fā)展是按照從門外漢到專家的過(guò)程進(jìn)行的”,而不是傳統(tǒng)心理學(xué)認(rèn)為的“從不知道到知道”的過(guò)程。因此,按照職業(yè)技術(shù)能力發(fā)展階段來(lái)設(shè)計(jì)典型工作任務(wù)是高職課程開(kāi)發(fā)的重要課題。
高職軟件專業(yè)的課程在開(kāi)發(fā)上一般涉及單機(jī)桌面軟件和基于網(wǎng)絡(luò)的分布式應(yīng)用系統(tǒng),從運(yùn)行環(huán)境來(lái)說(shuō)有Windows平臺(tái)和Linux平臺(tái)。測(cè)試課程也可以相應(yīng)地劃分為兩個(gè)階段,分別確定Windows平臺(tái)下單機(jī)桌面軟件和Linux平臺(tái)(或Windows平臺(tái))下的典型測(cè)試任務(wù)。根據(jù)教學(xué)對(duì)象的軟件專業(yè)知識(shí)背景與接受能力,在其他課程中作必要的軟件知識(shí)鋪墊。如在第一階段,通過(guò)C語(yǔ)言的簡(jiǎn)單開(kāi)發(fā)應(yīng)用、搭建Windows測(cè)試環(huán)境、從測(cè)試角度敘述Windows開(kāi)發(fā)環(huán)境及應(yīng)用程序編程接口、Windows內(nèi)部對(duì)象及程序運(yùn)行機(jī)制、Windows消息機(jī)制、內(nèi)存泄漏和檢測(cè)技術(shù)等,了解編碼規(guī)范,理解Windows軟件錯(cuò)誤產(chǎn)生原因,為有效地設(shè)計(jì)Windows應(yīng)用軟件的測(cè)試用例和測(cè)試腳本做準(zhǔn)備。在對(duì)Java開(kāi)發(fā)、OOP、OOAD技術(shù)、UML設(shè)計(jì)工具和基本表示方法、配置和管理數(shù)據(jù)庫(kù)系統(tǒng)等作必要鋪墊后開(kāi)始第二階段的測(cè)試課程。因此,在課程開(kāi)發(fā)時(shí)一方面注意知識(shí)銜接,內(nèi)容涵蓋全面,另一方面深度適宜,體現(xiàn)理論分析“必須、適度、夠用”的原則。
“職業(yè)教育的系統(tǒng)性,首先是要保證專業(yè)勞動(dòng)過(guò)程這一大系統(tǒng)的完整,而不是教學(xué)所涉及的各學(xué)科子系統(tǒng)的完整性,否則,就會(huì)混淆全面和局部的關(guān)系,本末倒置”。也只有通過(guò)對(duì)完整測(cè)試工作過(guò)程的把握,才能夠突破對(duì)普通高教課程的精簡(jiǎn)、篩選,做到理論分析“必須、適度、夠用”。
4結(jié)語(yǔ)
隨著IT技術(shù)應(yīng)用的發(fā)展,產(chǎn)品質(zhì)量控制與質(zhì)量管理正逐漸成為企業(yè)生存與發(fā)展的焦點(diǎn)。從軟件、硬件到系統(tǒng)集成,幾乎每個(gè)大中型IT企業(yè)的產(chǎn)品在發(fā)布前都需要大量的質(zhì)量控制、測(cè)試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)人才,即測(cè)試技術(shù)人員來(lái)完成,在這里高職軟件測(cè)試課程建設(shè)通過(guò)引進(jìn)工作過(guò)程導(dǎo)向的課程開(kāi)發(fā)方法可以發(fā)揮重要作用。