緒論:寫作既是個人情感的抒發(fā),也是對學(xué)術(shù)真理的探索,歡迎閱讀由發(fā)表云整理的1篇軟件測試與軟件測試工程師范文,希望它們能為您的寫作提供參考和啟發(fā)。
摘要:當(dāng)前軟件測試工程師績效考核存在的問題主要表現(xiàn)在:考核定位模糊并存在偏差,重考核、輕管理,重結(jié)果、輕過程,考核主體單一,企業(yè)管理者沒有承擔(dān)起績效管理的責(zé)任,績效考核指標(biāo)不全、標(biāo)準(zhǔn)不明。測試工程師績效考核要明確考核的目標(biāo),突出測試人員在考核中的主體地位,構(gòu)建一體化績效管理體系。
關(guān)鍵詞:測試工程師;績效管理;體系
軟件測試工程師績效考核是IT企業(yè)根據(jù)發(fā)展戰(zhàn)略和使命要求,對測試工程師的工作業(yè)績進(jìn)行考察和評估,包括工作行為和工作效果。隨著中國軟件業(yè)的迅猛發(fā)展,軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為企業(yè)生存與發(fā)展的核心。為了保證軟件在出廠時的“健康狀態(tài)”,幾乎所有的IT企業(yè)在軟件產(chǎn)品前都需要大量的質(zhì)量檢測工作。測試工程師作為軟件質(zhì)量控制中的重要一環(huán),其績效考核成為企業(yè)了解測試人員隊(duì)伍狀況,監(jiān)控測試人員工作過程的重要手段。
軟件測試工程師績效考核是IT企業(yè)人力資源管理的中心環(huán)節(jié),是測試人員薪酬、晉升、人事調(diào)整、職稱評定等決策的基礎(chǔ),并且為企業(yè)制定測試人員的培訓(xùn)、開發(fā)計劃及長期職業(yè)生涯發(fā)展規(guī)劃提供依據(jù)。測試工程師績效考核的有效性直接影響到人力資源制度的激勵效果和企業(yè)管理的公平性,并對測試人員的工作滿意度有重要影響。然而,現(xiàn)實(shí)的績效考核工作往往不盡如人愿。許多測試工程師遇到考核時深感不安,產(chǎn)生焦慮,害怕甚至反對考核;很多測試人員認(rèn)為考核是走過場,抱著無所謂態(tài)度。理論上的必要性和重要性與現(xiàn)實(shí)中的困惑形成強(qiáng)烈反差。為此,我們有必要對測試工程師績效考核存在的問題進(jìn)行反思,從而構(gòu)建能滿足企業(yè)和測試工程師共同發(fā)展的績效管理體系。
一、軟件測試工程師績效考核存在的誤區(qū)及其分析
(一)考核定位模糊并存在偏差
考核定位,就是通過績效考核解決什么問題。考核定位模糊主要表現(xiàn)在考核缺乏明確的目的,僅僅是為了考核而進(jìn)行考核,這樣做的結(jié)果往往導(dǎo)致考核流于形式。考核定位偏差主要體現(xiàn)在片面看待考核的目標(biāo)上,對考核目的定位過于狹窄。目前許多IT企業(yè)績效考核的目的僅僅是為了期末發(fā)獎金或津貼,將考核定位于確定利益分配的依據(jù)和工具。
(二)重績效考核輕績效管理
績效考核和績效管理既有本質(zhì)上的區(qū)別,又有一定聯(lián)系。傳統(tǒng)績效考核以管理者為中心,強(qiáng)調(diào)服從和外部控制,著眼于過去,注重成果,是一種被動反應(yīng)、事后解決問題的管理方法。現(xiàn)代績效管理則以測試工程師為中心,強(qiáng)調(diào)承諾和自我控制,著眼于過去、現(xiàn)在和將來的有機(jī)統(tǒng)一,是一種主動開發(fā)型、在過程中解決問題的管理系統(tǒng)。績效管理是一個完整的系統(tǒng),績效考核只是績效管理中一個不可或缺的組成部分和環(huán)節(jié),絕不能將其等同于績效管理。
(三)重考核結(jié)果輕考核過程
績效是工作成果與工作行為的統(tǒng)一。許多IT企業(yè)重視對績效中的工作結(jié)果考核,而忽視了績效中的行為指標(biāo),這表現(xiàn)在許多項(xiàng)目組重視項(xiàng)目完成進(jìn)度而輕視測試過程,重視項(xiàng)目的數(shù)量而輕視其質(zhì)量,尤其是輕視與測試工程師行為有關(guān)的工作動機(jī)、熱情度、忠誠感等“周邊績效”考核點(diǎn)。這可能與企業(yè)受功利主義思想影響、追求短期利益有關(guān),或者可能與工作結(jié)果容易量化,而行為不易評估有關(guān)。
許多項(xiàng)目組在項(xiàng)目初期給工程師布置測試任務(wù)和預(yù)期應(yīng)完成的指標(biāo),期末予以檢查,而對工程師完成任務(wù)和指標(biāo)的過程不管不問,既不對完成任務(wù)過程中出現(xiàn)的問題予以及時糾正,也不對測試人員在工作中遇到困難和阻力時提供幫助和支持。這種秋后算賬的做法容易造成管理者與被考核者的對立,不利于測試人員的成長與進(jìn)步。
(四)考核主體單一
目前,項(xiàng)目經(jīng)理考核測試工程師已成為一種普遍運(yùn)用的評價方式甚至是唯一的評價方式。項(xiàng)目經(jīng)理考核有一定可信性,但也存在一些弊端,如測試人員一味地迎合項(xiàng)目經(jīng)理的指令,淡化了整個團(tuán)隊(duì)的溝通協(xié)作,忽視一些測試人員不可控制因素的影響而造成考核不公正等。測試工程師在考核時處于一種被動地位,或者消極被迫接受,或者導(dǎo)致內(nèi)部沖突升級。項(xiàng)目組也不重視同行專家的評估意見或根本不吸收同事參與考核。
(五)績效考核指標(biāo)不全,標(biāo)準(zhǔn)不明
考評項(xiàng)目和指標(biāo)的選擇是否恰當(dāng),是否全面、相關(guān),定義是抽象含混還是具體明確,對考核結(jié)果影響很大。如果績效考核標(biāo)準(zhǔn)不明,則不同的考核者可能對優(yōu)、良、一般、差等績效標(biāo)準(zhǔn)做出不同的解釋,從而造成考評者偏松或偏緊或趨中傾向,造成考核結(jié)果的誤差。以測試人員業(yè)績考核為例,業(yè)績考核包括整體工作效率、工作結(jié)果、過程控制三項(xiàng)一級指標(biāo)。其中,工作結(jié)果可以分為測試用例的數(shù)量和質(zhì)量、bug的數(shù)量和質(zhì)量、測試自動化程度及收效等多項(xiàng)二級指標(biāo),若不對這些定性指標(biāo)給出明確定義,則考評時易出現(xiàn)主觀隨意現(xiàn)象。因此,界定應(yīng)具體明確。如bug的數(shù)量和質(zhì)量可定義為:提交bug的數(shù)量(根據(jù)項(xiàng)目的不同而確定經(jīng)驗(yàn)值)、提交bug的時間段(具體統(tǒng)計在測試的每個階段)、發(fā)現(xiàn)bug的比例等。
二、軟件測試工程師績效管理體系的構(gòu)建
(一)明確測試工程師績效考核目標(biāo)
Bevan和Thompson(1991)認(rèn)為績效管理的主要目的是“促進(jìn)人力資源管理不同組成部分的整合,并使它們與公司的經(jīng)營目標(biāo)緊密聯(lián)系在一起。”測試工程師績效考核的目標(biāo),一是為企業(yè)的發(fā)展服務(wù),支撐企業(yè)使命和戰(zhàn)略的實(shí)現(xiàn);二是服務(wù)于工程師個人需要及其職業(yè)進(jìn)步。
(二)構(gòu)建一體化績效管理體系
績效管理就是根據(jù)組織的要求,對雇員進(jìn)行指導(dǎo)和支持,使雇員盡可能地以更高的效率完成自己的工作。從狹義角度理解,績效管理系統(tǒng)由制定績效計劃,持續(xù)的績效溝通與績效信息收集,績效考核,績效反饋、診斷與輔導(dǎo)等部分組成。從廣義上講,績效管理系統(tǒng)由績效管理的影響力量、狹義的績效管理系統(tǒng)、績效管理的運(yùn)用和目標(biāo)等部分構(gòu)成。
廣義的績效管理系統(tǒng)包括以下3部分:對影響測試工程師績效的原因進(jìn)行分析,尤其是從企業(yè)內(nèi)部的組織結(jié)構(gòu)、領(lǐng)導(dǎo)方式、企業(yè)文化、招聘和聘任制度、崗位分析等方面探討與測試工程師績效有關(guān)的因素;狹義的績效管理系統(tǒng);績效管理的目標(biāo),包括績效管理要達(dá)到的組織目標(biāo)和測試工程師個人發(fā)展目標(biāo)(見圖1)。
制定績效計劃和考核目標(biāo)的目的是為了清楚地說明企業(yè)期望測試工程師達(dá)到的結(jié)果以及為達(dá)到該結(jié)果所期望測試人員表現(xiàn)出來的行為和技能。管理者通過與被考核者協(xié)商,共同制定與企業(yè)使命相關(guān)的具有挑戰(zhàn)性、可實(shí)現(xiàn)性、具體明確且有時間限制的績效計劃。持續(xù)的、動態(tài)的績效溝通就是管理者和被考核者共同工作,以分享有關(guān)信息的過程。這些信息包括工作進(jìn)展情況,潛在的障礙和問題,可能的解決措施以及管理者如何才能幫助被考核者。這些信息必須是有據(jù)可查、準(zhǔn)確真實(shí)的且與績效相關(guān)的信息。管理者可通過面談,向其他同事了解意見,查看被考核者的工作記錄等方式獲取信息。績效考核包括測評內(nèi)容、何時測評、哪些人參加測評、測評方式及責(zé)任等。績效診斷與輔導(dǎo),是管理者和被考核者雙方合作,共同尋找導(dǎo)致績效低的原因,以及幫助被考核者提高未來績效的方法,涉及處理矛盾、準(zhǔn)備反饋面談、解決問題和重新設(shè)定目標(biāo)等內(nèi)容。
(三)實(shí)現(xiàn)測試工程師績效考核主體的多元化
在傳統(tǒng)的測試工程師績效考核中,將工程師排斥在外,測試人員作為被考核者處于被動應(yīng)考的地位,被考核者與考評者的這種對立狀態(tài)造成測試人員不認(rèn)同、不支持考核,使其考核失去應(yīng)有價值。雖然測試工程師可能由于認(rèn)知或自利性偏差(根據(jù)歸因理論,測試人員可能將自己的成功歸之于自身的能力與努力等內(nèi)因,而將其失敗或績效不理想歸之于工作難度和機(jī)遇等外因;而對別人的成功與失敗歸因與自身歸因相反)和自我防御心理的原因,測試工程師有高估自身的業(yè)績,而看不到或有意掩蓋自身存在的問題的可能性,但可以通過構(gòu)建系統(tǒng)化的績效管理系統(tǒng),明確績效考核的目標(biāo),管理者與被考核者的平等溝通,以及通過考核主體的多元化(除測試工程師本人外,還有領(lǐng)導(dǎo)、同事、客戶等)等方法來避免這些弊端。
(四)構(gòu)建測試工程師績效考核合理分工、各司其職的組織管理機(jī)構(gòu)
對測試工程師的績效管理是企業(yè)人力資源部和項(xiàng)目組的共同責(zé)任。人力資源部主要從事組織、指導(dǎo)和協(xié)調(diào)工作,具體職責(zé)包括培訓(xùn)考核者、規(guī)范考核制度、制定各種考核表格、發(fā)放及統(tǒng)計等工作。考核由項(xiàng)目組具體組織實(shí)施,包括測試工程師工作任務(wù)的安排、考核指標(biāo)與內(nèi)容的確定、考核方法與時間的確定、考核主體的組織、考核結(jié)果的反饋、績效改進(jìn)與提升等工作。項(xiàng)目經(jīng)理首先應(yīng)當(dāng)是一名合格的人力資源管理者,應(yīng)把人力資源管理工作如激勵、員工發(fā)展、績效管理納入企業(yè)的議事日程,并構(gòu)成企業(yè)管理者對項(xiàng)目經(jīng)理考核的重要內(nèi)容。當(dāng)然,這需要改變目前IT企業(yè)高度集中的人事管理體制,將部分人事管理權(quán)由企業(yè)下放至項(xiàng)目組。
(五)根據(jù)測試工程師的工作特征,建立考核內(nèi)容全面、結(jié)果與行為(過程)并重的績效考核機(jī)制
測試工程師作為專業(yè)人員和知識工作者,在其需求和工作方面存在以下特征:追求工作自主,不愿意受過多的外部控制;個人品性對測試工作及其事業(yè)影響很大;需求具有多樣性和復(fù)雜性,既追求較低層次的需要,如生理、安全需要,又追求較高層次的需要,如受人尊重、自我實(shí)現(xiàn)的需要;工作具有分散性、個體性等。這些特征要求在測試工程師績效考核時注意以下方面:一是績效考核內(nèi)容要全面,德、知、能、勤、績一樣都不能少。測試工程師品德潛移默化影響其對測試工作的態(tài)度;知識包括測試工程師應(yīng)掌握的專業(yè)技能及業(yè)務(wù)知識、個人素養(yǎng);能力包括軟件測試能力、溝通與團(tuán)隊(duì)協(xié)作等方面。二是測試工程師績效考核堅持結(jié)果與行為(過程)考核并重。Brumbrach(1988)認(rèn)為“績效指行為和結(jié)果。行為由從事工作的人表現(xiàn)出來,將工作任務(wù)付諸實(shí)施。(行為)不僅僅是結(jié)果的工具,行為本身也是結(jié)果,是為完成工作任務(wù)所付出的腦力和體力的結(jié)果,并且能與結(jié)果分開進(jìn)行判斷。”Borman和Motowidlo(1993)認(rèn)為行為績效包括任務(wù)績效和關(guān)系績效(周邊績效)兩個方面。任務(wù)績效指正式工作職責(zé)和所規(guī)定的行為,關(guān)系績效指自發(fā)性行為或超職責(zé)行為。由于測試工程師工作的效果難以量化,且具有滯后性和共同屬性。因此,在堅持完善目前通過測試工作量和測試用例等結(jié)果指標(biāo)衡量測試工程師績效的同時,企業(yè)還要重視對測試人員行為,包括團(tuán)隊(duì)合作行為的考核,尤其要關(guān)注關(guān)系績效的考核,這對克服測試人員工作分散化,形成合作的團(tuán)隊(duì)以及按質(zhì)按量地完成項(xiàng)目組的目標(biāo)有重大意義。
(作者單位:北京化工大學(xué)經(jīng)濟(jì)管理學(xué)院)
摘要:為了培養(yǎng)創(chuàng)新能力強(qiáng)、適應(yīng)社會經(jīng)濟(jì)發(fā)展需要的軟件測試人才,本文結(jié)合常熟理工學(xué)院《軟件測試與質(zhì)量保證》課程建設(shè)經(jīng)驗(yàn),以中小企業(yè)對軟件測試人才的需求為導(dǎo)向開展實(shí)驗(yàn)教學(xué)改革,分別從實(shí)驗(yàn)教學(xué)改革基本思路、教學(xué)內(nèi)容組織等方面探討應(yīng)用技術(shù)大學(xué)建設(shè)背景下軟件測試課程實(shí)驗(yàn)教學(xué)改革措施。
關(guān)鍵詞:軟件測試;軟件質(zhì)量保證;教學(xué)改革;軟件測評師;實(shí)驗(yàn)教學(xué)
一、引言
隨著我國軟件產(chǎn)業(yè)迅速發(fā)展,企業(yè)面臨著開發(fā)高質(zhì)量軟件系統(tǒng)的巨大壓力,軟件測試、軟件質(zhì)量保證受到越來越多的重視。軟件企業(yè)對承擔(dān)軟件測試、質(zhì)量保證工作的軟件測試人才需要劇增,軟件測試工程師的職業(yè)價值、發(fā)展前景得到前所未有的提升。為此,國內(nèi)高校開設(shè)了軟件測試相關(guān)課程。但是,由于其重理論、輕實(shí)踐的教學(xué)模式使得培養(yǎng)出的學(xué)生軟件測試實(shí)戰(zhàn)能力差,導(dǎo)致大量畢業(yè)生應(yīng)聘軟件測試相關(guān)職位時受到冷遇。
為培養(yǎng)創(chuàng)新能力強(qiáng)、適應(yīng)社會經(jīng)濟(jì)發(fā)展需要的軟件測試人才,《軟件測試與質(zhì)量保證》實(shí)驗(yàn)教學(xué)亟需改變傳統(tǒng)的教學(xué)理念,改進(jìn)教學(xué)方法,更新教學(xué)內(nèi)容。筆者結(jié)合自身教學(xué)科研和工程實(shí)踐經(jīng)驗(yàn),分別從改革思路、實(shí)驗(yàn)教學(xué)內(nèi)容設(shè)計等方面,論述常熟理工學(xué)院《軟件測試與質(zhì)量保證》實(shí)驗(yàn)教學(xué)改革的措施和體會。
二、實(shí)驗(yàn)教學(xué)面臨諸多挑戰(zhàn)
筆者調(diào)研國內(nèi)高校軟件測試課程的建設(shè)情況,發(fā)現(xiàn)普遍存在重理論、輕實(shí)踐的教學(xué)傾向,實(shí)驗(yàn)教學(xué)環(huán)節(jié)存在諸多問題:
1.企業(yè)對軟件測試工程師的能力要求是綜合性的,要求軟件測試人員具有軟件項(xiàng)目經(jīng)驗(yàn),具備軟件測試、軟件質(zhì)量保證知識,能夠獨(dú)立開展軟件測試工作。但是,國內(nèi)高校教學(xué)計劃制定時片面強(qiáng)調(diào)軟件測試的作用,對軟件測試與軟件質(zhì)量保證之間的天然聯(lián)系缺乏理解,對軟件質(zhì)量保證相關(guān)實(shí)驗(yàn)的重視程度,課時安排存在嚴(yán)重不足。
2.目前,《軟件測試與質(zhì)量保證》實(shí)驗(yàn)教材選擇面臨無書可選的尷尬局面。課程實(shí)驗(yàn)設(shè)計只能全憑任課教師把握,使得實(shí)驗(yàn)教學(xué)過程中存在較多風(fēng)險。
3.國內(nèi)高校在實(shí)驗(yàn)設(shè)計方面,多以基礎(chǔ)性實(shí)驗(yàn)為主。這種單一的實(shí)驗(yàn)設(shè)計方式,難以適應(yīng)軟件測試工程實(shí)踐能力培養(yǎng)的需要。
三、實(shí)驗(yàn)教學(xué)改革措施
在應(yīng)用技術(shù)大學(xué)建設(shè)驅(qū)動下,以中小企業(yè)對軟件測試人才的需求和軟件測試工程師認(rèn)證大綱為導(dǎo)向,我們整合已有的校企合作課程資源,按照Daniel Galan軟件質(zhì)量保證框架組織實(shí)驗(yàn)教學(xué)內(nèi)容,采用項(xiàng)目驅(qū)動的案例教學(xué)法開展實(shí)驗(yàn)教學(xué),讓學(xué)生在實(shí)驗(yàn)實(shí)踐中加深對軟件測試與質(zhì)量保證專業(yè)知識的理解,培養(yǎng)學(xué)生軟件測試實(shí)踐能力。
(一)教學(xué)改革基本思路
軟件企業(yè)對軟件測試人才的需求是軟件測試課程改革的源動力和驅(qū)動力,軟件測試相關(guān)的從業(yè)資格認(rèn)證是學(xué)生入職的敲門磚。為此,在應(yīng)用技術(shù)大學(xué)建設(shè)背景下,我們以切合中小企業(yè)對軟件測試人才的需求為導(dǎo)向,結(jié)合全國計算機(jī)等級考試軟件測試工程師認(rèn)證、全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試軟件評測師認(rèn)證的考試大綱要求,選擇朱少民老師編寫的《全程軟件測試》[1]和NIIT培訓(xùn)教程《Software Testing and Quality Assurance:Student Guide》[2]作為課程教材,按照Daniel Galin軟件質(zhì)量保證框架組織教學(xué)內(nèi)容。Daniel Galin軟件質(zhì)量保證框架[3]指出軟件質(zhì)量保證是建立企業(yè)軟件質(zhì)量文化所需的一些列活動的集合,認(rèn)為軟件測試是一種典型的軟件質(zhì)量保證措施,軟件測試的目的是為了發(fā)現(xiàn)潛在的軟件缺陷,軟件測試工作貫穿軟件項(xiàng)目的始終。按照Daniel Galin軟件質(zhì)量保證框架組織課程內(nèi)容有助于保持軟件測試與軟件質(zhì)量保證之間的內(nèi)在聯(lián)系,符合軟件企業(yè)軟件測試與質(zhì)量保證的最新經(jīng)驗(yàn)。
(二)實(shí)驗(yàn)設(shè)計
如何在有限的實(shí)驗(yàn)課時內(nèi),最大限度地加深學(xué)生對軟件測試、軟件質(zhì)量保證的理解,增強(qiáng)其軟件測試實(shí)踐能力,是實(shí)驗(yàn)教學(xué)的主要任務(wù)。我們設(shè)計了導(dǎo)入性實(shí)驗(yàn)、基礎(chǔ)性實(shí)驗(yàn)、創(chuàng)新項(xiàng)目實(shí)踐三種類型的課程實(shí)驗(yàn)。導(dǎo)入性實(shí)驗(yàn)要求學(xué)生應(yīng)用已修課程(包括程序設(shè)計、數(shù)據(jù)庫設(shè)計、軟件工程等)知識進(jìn)行軟件調(diào)試,在軟件調(diào)試過程中理解軟件調(diào)試與軟件測試、軟件質(zhì)量保證之間的關(guān)系,實(shí)現(xiàn)到本課程學(xué)習(xí)的過渡;基礎(chǔ)性實(shí)驗(yàn)?zāi)康脑谟趶?qiáng)化課程基礎(chǔ)理論、原理的理解,讓學(xué)生在實(shí)驗(yàn)中理解所學(xué)知識,掌握軟件測試工具的使用;創(chuàng)新項(xiàng)目實(shí)踐以課程實(shí)訓(xùn)項(xiàng)目為載體,為學(xué)生運(yùn)行所學(xué)知識解決軟件測試實(shí)踐過程中涌現(xiàn)的各類問題,鍛煉學(xué)生的動手實(shí)踐能力、自主學(xué)習(xí)能力,從而提高學(xué)生的工程實(shí)踐素養(yǎng)。
1.導(dǎo)入性實(shí)驗(yàn)。軟件測試的目的是發(fā)現(xiàn)軟件系統(tǒng)中潛在缺陷,而缺陷的解決則通過軟件調(diào)試手段實(shí)現(xiàn)。為此,設(shè)計導(dǎo)入性實(shí)驗(yàn)“軟件調(diào)試”。本次實(shí)驗(yàn)以員工工資核算軟件Employee作為實(shí)驗(yàn)對象,要求學(xué)生發(fā)現(xiàn)Employee中人為注入的軟件缺陷,然后應(yīng)用Java調(diào)試器的斷點(diǎn)調(diào)試功能,結(jié)合回歸測試手段修訂所發(fā)現(xiàn)的缺陷。
通過導(dǎo)入性實(shí)驗(yàn),學(xué)生體驗(yàn)了改正軟件缺陷的艱辛,在教師引導(dǎo)下思考如何發(fā)現(xiàn)軟件缺陷、如何提高軟件質(zhì)量。教師適時點(diǎn)撥學(xué)生,指出發(fā)現(xiàn)軟件缺陷是軟件測試工程師的職責(zé),軟件測試工程師需運(yùn)行軟件測試方法、技術(shù)和工具才能發(fā)現(xiàn)潛在的軟件缺陷。教師進(jìn)一步啟發(fā)學(xué)生:提高軟件質(zhì)量需要開展包括軟件測試在內(nèi)的各項(xiàng)軟件質(zhì)量保證工作。
2.基礎(chǔ)性實(shí)驗(yàn)。基礎(chǔ)性實(shí)驗(yàn)旨在加深學(xué)生對課程基本概念、原理的理解,讓學(xué)生在動手實(shí)踐中加深對基礎(chǔ)概念、原理的理解。課程安排8次基礎(chǔ)性實(shí)驗(yàn),實(shí)驗(yàn)2、3、4和5屬于軟件質(zhì)量保證實(shí)驗(yàn),6、7、8和9是軟件測試實(shí)驗(yàn)。
(1)實(shí)驗(yàn)2:軟件度量實(shí)踐。實(shí)驗(yàn)2關(guān)注軟件度量問題,介紹軟件規(guī)模、項(xiàng)目工作量和軟件成本之間的關(guān)系,要求學(xué)生掌握軟件規(guī)模估算、工作量估算和成本估算的方法和過程。通過本次實(shí)驗(yàn),學(xué)生可以應(yīng)用USC CoCoMo II進(jìn)行軟件成本估算。(2)實(shí)驗(yàn)3:基于Microsoft Project的軟件項(xiàng)目管理。軟件項(xiàng)目計劃及進(jìn)度管理,是軟件質(zhì)量保證中重要的管理部件,也是開展軟件測試活動的前提。實(shí)驗(yàn)3要求學(xué)生使用Microsoft Project建立軟件項(xiàng)目計劃、運(yùn)用跟蹤甘特圖追蹤項(xiàng)目進(jìn)度,等等。(3)實(shí)驗(yàn)4:版本控制軟件CVSNT。CVSNT是當(dāng)前最流行的版本控制系統(tǒng),是中小企業(yè)進(jìn)行版本控制的利器。實(shí)驗(yàn)4講解CVSNT的安裝和使用,要求學(xué)生掌握CVSNT的操作技巧。(4)實(shí)驗(yàn)5:BugFree軟件缺陷管理。軟件缺陷管理貫穿軟件測試項(xiàng)目的始終,記錄軟件缺陷從發(fā)現(xiàn)、修復(fù)直至關(guān)閉軟件缺陷的全過程。實(shí)驗(yàn)5介紹開源缺陷管理軟件BugFree的軟件缺陷管理思想,要求學(xué)生掌握BugFree安裝與配置、軟件缺陷管理等技能。(5)實(shí)驗(yàn)6:軟件靜態(tài)測試。軟件靜態(tài)測試是軟件測試技術(shù)中發(fā)現(xiàn)軟件缺陷效率最高的技術(shù)。我們安排“軟件靜態(tài)測試”專題講座,講解軟件制品閱讀、靜態(tài)分析的技巧,還介紹如何運(yùn)用CheckStyle、FindBugs等靜態(tài)測試工具分析程序源代碼、目標(biāo)程序中潛在缺陷。本次實(shí)驗(yàn)有學(xué)生利用課后時間,自主實(shí)踐。(6)實(shí)驗(yàn)7:JUnit單元測試。實(shí)驗(yàn)7介紹單元測試工具JUnit的使用,要求理解JUnit單元測試框架,掌握單元測試腳本的編寫技巧。本次實(shí)驗(yàn)還推薦學(xué)有余力的學(xué)生自學(xué)JMock,綜合應(yīng)用JUnit和JMock進(jìn)行對Java應(yīng)用系統(tǒng)進(jìn)行集成測試。(7)實(shí)驗(yàn)8:軟件功能測試。軟件功能測試是檢驗(yàn)?zāi)繕?biāo)軟件是否正確實(shí)現(xiàn)了客戶需求,是軟件測試執(zhí)行的重要內(nèi)容。實(shí)驗(yàn)8要求學(xué)生使用QuickTest Professional(簡稱QTP)對機(jī)票預(yù)訂系統(tǒng)進(jìn)行功能測試。本次實(shí)驗(yàn)要求學(xué)生能夠獨(dú)立完成功能測試腳本的錄制和編輯,掌握QTP檢查點(diǎn)設(shè)計的方法及技巧。(8)實(shí)驗(yàn)9:軟件性能測試。實(shí)驗(yàn)9介紹軟件性能的概念和原理,講述如何運(yùn)用HP Mercury LoadRunner對Web系統(tǒng)進(jìn)行性能測試,讓學(xué)生在實(shí)驗(yàn)過程中理解虛擬用戶技術(shù),掌握基于LoadRunner的性能測試技術(shù)的過程及技巧。此外,本次實(shí)驗(yàn)要求學(xué)生利用課余時間使用開源的性能測試工具JMeter進(jìn)行軟件性能測試。
3.創(chuàng)新項(xiàng)目實(shí)踐。為了培養(yǎng)學(xué)生的工程實(shí)踐能力,我們從學(xué)生課程項(xiàng)目、畢業(yè)設(shè)計、大學(xué)生創(chuàng)新項(xiàng)目、開源軟件項(xiàng)目等中篩選出軟件規(guī)模適中的軟件系統(tǒng)作為課程實(shí)訓(xùn)項(xiàng)目,讓學(xué)生對課程實(shí)訓(xùn)項(xiàng)目進(jìn)行系統(tǒng)化的軟件測試,要到學(xué)生主動動手實(shí)踐,在軟件測試項(xiàng)目實(shí)踐中培養(yǎng)工程素養(yǎng)。
在課程教學(xué)過程中,我們還加強(qiáng)對基礎(chǔ)扎實(shí)、動手能力強(qiáng)、思維活躍的學(xué)生的培養(yǎng),推薦這些學(xué)生參與到教師科研項(xiàng)目中,為學(xué)生在科研項(xiàng)目中積累軟件評測經(jīng)驗(yàn)。
四、結(jié)束語
《軟件測試與質(zhì)量保證》通過十余年的建設(shè)已形成了較完善的課程體系,十多輪的授課實(shí)踐積累了豐富的教學(xué)經(jīng)驗(yàn),課程實(shí)驗(yàn)教學(xué)體系也日趨完善。
當(dāng)前,我校正轉(zhuǎn)型應(yīng)用技術(shù)大學(xué),這將對本課程的教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等提出更多、更高的要求。鑒于此,本課程教學(xué)團(tuán)隊(duì)正嘗試通過校企合作模式開展課程教學(xué)活動,編寫校本教材,多措并舉提升學(xué)生軟件測試能力。
摘要:本文針對軟件測試課程培養(yǎng)的學(xué)生與卓越軟件測試工程師要求的差距,分析了目前軟件測試教學(xué)中存在的不足,提出了“方法―過程―工具―案例”四位一體的教學(xué)方法,旨在培養(yǎng)理論扎實(shí)、工程能力強(qiáng)的卓越軟件測試工程師,以實(shí)現(xiàn)與軟件測試行業(yè)的銜接。
關(guān)鍵詞:測試工程師;軟件測試;教學(xué)改革;工程能力
隨著軟件產(chǎn)業(yè)的迅猛發(fā)展,軟件的復(fù)雜性也日益增加,導(dǎo)致對軟件產(chǎn)品的質(zhì)量提出了更高的要求,這也使得軟件測試工程師成為每個軟件企業(yè)都不可或缺的技術(shù)人才。目前許多軟件工程專業(yè)教育者進(jìn)行了積極的探索,許多學(xué)校也提出了一些方案,做了有益的嘗試。
中國石油大學(xué)(華東)的軟件工程專業(yè)入選了山東省卓越工程師培養(yǎng)計劃,為了執(zhí)行國家對軟件工程專業(yè)卓越工程師培養(yǎng)的精神,融合學(xué)校的“三三三”培養(yǎng)體系的頂層設(shè)計,為培養(yǎng)卓越的軟件測試工程師,我們也在軟件測試課程的培養(yǎng)方案、課程結(jié)構(gòu)、教學(xué)方法和考評體系等方面進(jìn)行了一系列的改革和探索。軟件測試課程作為軟件工程專業(yè)的一門核心課,是對理論性和工程性都有很高要求的課程,一方面要求學(xué)生必須有扎實(shí)的理論基礎(chǔ)知識,另一方面要求學(xué)生能夠熟練地應(yīng)用理論基礎(chǔ)知識轉(zhuǎn)化為實(shí)際的工程應(yīng)用。
雖然已有的教學(xué)改革改善了教學(xué)效果,但目前的軟件測試課程教學(xué)依然存在幾個比較突出的問題:第一,教學(xué)內(nèi)容抽象,學(xué)生學(xué)習(xí)興趣不高;第二,教學(xué)內(nèi)容碎片化,學(xué)生沒有完善的測試知識體系;第三,輕視測試工具應(yīng)用,培養(yǎng)的學(xué)生與企業(yè)需求難以銜接;第四,教學(xué)案例簡單,學(xué)生沒有完整的測試思路;第五,學(xué)生對軟件測試存在認(rèn)識偏差,缺乏從事軟件測試職業(yè)的意愿。
為了解決上述問題,我們提出了“方法為基、過程引導(dǎo)、工具跟進(jìn)、案例貫穿”的“方法―過程―工具―案例”四位一體的教學(xué)方法,旨在培養(yǎng)理論扎實(shí)、功能能力強(qiáng)的卓越軟件測試工程師,以實(shí)現(xiàn)與軟件測試行業(yè)的銜接。
一、課程體系與教學(xué)內(nèi)容設(shè)計
根據(jù)國際標(biāo)準(zhǔn)的SWEBOK軟件核心知識體系中軟件測試的知識域,充分調(diào)研軟件行業(yè)中對卓越軟件測試工程師的需求,建立軟件測試能力培養(yǎng)標(biāo)準(zhǔn),明確各培養(yǎng)標(biāo)準(zhǔn)與軟件測試課程內(nèi)容的對應(yīng)關(guān)系。表1為我們初步建立的軟件測試能力培養(yǎng)標(biāo)準(zhǔn)列表。
四位一體的教學(xué)方法,就是以講授軟件測試的基本理論與方法與基礎(chǔ),按照軟件開發(fā)過程與測試過程為主線引導(dǎo),輔以介紹典型軟件測試工程的應(yīng)用,并在課程教學(xué)中選擇一個案例貫穿整個教學(xué)。具體教學(xué)路線如圖1所示。
為此,我們重新規(guī)劃了教學(xué)內(nèi)容,教學(xué)內(nèi)容的組織如圖2所示。
二、具體教學(xué)內(nèi)容
四位一體的教學(xué)方法圍繞著測試方法、測試過程、測試工具以及測試案例進(jìn)行展開。在具體實(shí)施過程中,構(gòu)建了測試工具箱與測試案例庫,并編寫了適合該教學(xué)方法的教材。
(一)測試工具箱的構(gòu)建
工具的掌握是工程能力的重要一環(huán),因此在軟件測試課程及相應(yīng)實(shí)踐課上有必要掌握一些典型測試工具的使用。軟件測試方法體系龐大,造成軟件測試工具眾多,而且一些商業(yè)化的測試工具價格不菲,為了適應(yīng)課堂教學(xué)的實(shí)際,需要對各種測試工具進(jìn)行比較篩選,選擇合適的測試工具并構(gòu)造測試工具箱。在多年的軟件測試課程教學(xué)中我們已經(jīng)積累了一些適合教學(xué)的測試工具,包括測試管理工具TestCenter、功能測試工具AutoRunner、源代碼缺陷檢測工具在選擇測試工具FindBugs與DTS、性能測試工具Jmeter等。我們將繼續(xù)本著覆蓋多個測試方法、開源工具優(yōu)先等原則完善測試工具箱,并對工具箱的工具進(jìn)行分層次、分類別的維護(hù)更新。
(二)測試案例庫的建立
案例教學(xué)是促進(jìn)對理論知識消化、掌握實(shí)際問題解決策略的一種有效教學(xué)方法。軟件測試課程要求所選案例能夠體現(xiàn)測試方法與工具的應(yīng)用。為構(gòu)建適合教學(xué)的測試案例庫,我們一方面需要對已有的案例進(jìn)行刻意的改造,也選擇了一些新型示范應(yīng)用項(xiàng)目,另外選取了一些有代表意義的開源工程,以及教師科研轉(zhuǎn)化項(xiàng)目、學(xué)生優(yōu)秀實(shí)習(xí)項(xiàng)目與課外設(shè)計項(xiàng)目等完善測試案例庫。目前的軟件測試教學(xué)中,我們選擇了一個所在學(xué)院使用的本科畢業(yè)設(shè)計管理系統(tǒng)作為案例進(jìn)行了講解,起到了較好的教學(xué)效果。
(三)融合軟件測試的方法、過程、工具、案例的教材的編寫
為適應(yīng)四位一體教學(xué)方法,我們自主編寫了軟件測試教材。教材以RUP的四個階段為線,將測試方法與工具分化在不同階段進(jìn)行介紹,加強(qiáng)了測試管理內(nèi)容。軟件測試?yán)碚摪凑蒸~骨圖式的組織,例如對于白盒測試技術(shù)的介紹,分解為兩章,其中在RUP的細(xì)化階段介紹了邏輯覆蓋測試、基本路徑覆蓋測試,在RUP的構(gòu)造階段介紹了數(shù)據(jù)流測試、變異測試,這種組織安排有利于學(xué)生根據(jù)軟件測試過程循序漸進(jìn)地掌握相關(guān)知識。
(四)“方法―過程―工具―案例”四位一體教學(xué)方法
該方法基于所修訂的軟件測試教材與測試工具箱、測試案例庫,沿用RUP的四個階段進(jìn)行教學(xué)的安排,在教學(xué)中以測試?yán)碚撆c方法介紹為根本,并輔以案例介紹以加深對實(shí)際測試的理解,再選用合適的測試工具,具體實(shí)施如圖1所示。“方法為基、過程引導(dǎo)、工具跟進(jìn)、案例貫穿”的教學(xué)將培養(yǎng)學(xué)生既具備扎實(shí)的理論基礎(chǔ),又擁有工程實(shí)踐能力,符合卓越軟件測試工程師的要求。
三、結(jié)語
該次軟件測試課程教學(xué)改革圍繞卓越軟件測試工程師的培養(yǎng)目標(biāo),注重理論素養(yǎng)與工程能力的雙重提高。教學(xué)實(shí)踐表明,“方法―過程―工具―案例”四位一體的教學(xué)方法,有一個圍繞軟件測試過程的邏輯性強(qiáng)的理論知識體系,輔以工具的訓(xùn)練,再以實(shí)際案例貫穿介紹測試方法與測試工具的應(yīng)用,學(xué)生學(xué)習(xí)的積極性和主動性都得到了大幅提升,有意識地增加了軟件測試的內(nèi)容,說明學(xué)生已經(jīng)意識到了軟件測試的重要性,并能夠在軟件項(xiàng)目開發(fā)中執(zhí)行軟件測試的諸多活動。初步的課程改革取得了一定的效果,筆者今后將對軟件測試適合敏捷等流行的軟件開發(fā)過程進(jìn)行改造已有的方法,并擴(kuò)充完善已有的測試工具箱與案例庫,以培養(yǎng)卓越的軟件測試工程師,滿足軟件測試行業(yè)的需求。