時間:2022-04-28 11:12:13
導(dǎo)言:作為寫作愛好者,不可錯過為您精心挑選的10篇軟件測試培訓(xùn)總結(jié),它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。
該書與國內(nèi)常見的軟件測試實(shí)踐教材重點(diǎn)講授某個或某幾個商用軟件測試工具的方法不同,它是以現(xiàn)代IT企業(yè)軟件測試需求為背景,以主流的軟件測試技術(shù)和方法為基礎(chǔ),以當(dāng)前的軟件測試應(yīng)用為實(shí)例,全面介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應(yīng)用流程及實(shí)際案例。特別突出了軟件測試工具在實(shí)際測試項(xiàng)目中的使用能夠有效地鞏固所學(xué)軟件測試知識,掌握軟件測試方法和技術(shù)以及提高軟件測試實(shí)戰(zhàn)能力。
軟件質(zhì)量重于泰山,軟件質(zhì)量是核心競爭力之一?,F(xiàn)在和未來軟件企業(yè)的競爭力不僅體現(xiàn)在產(chǎn)品類型的多樣性,產(chǎn)品功能的先進(jìn)性,更多的體現(xiàn)在產(chǎn)品質(zhì)量的穩(wěn)定性和可靠性。軟件應(yīng)用的領(lǐng)域不斷深入,設(shè)計(jì)的復(fù)雜程度逐步增加,開發(fā)的周期不斷縮短,質(zhì)量的要求水漲船高,軟件企業(yè)面臨著巨大挑戰(zhàn)。
用戶對軟件產(chǎn)品質(zhì)量的要求不斷提高,促使軟件企業(yè)把提高軟件質(zhì)量作為增強(qiáng)競爭力的策略。提高軟件質(zhì)量要素在哪里?可以通過采用軟件設(shè)計(jì)技術(shù),加強(qiáng)軟件過程管理,實(shí)施軟件測試等方法。從提高軟件質(zhì)量的顯著程度、投資回報(bào)率和可實(shí)施性等方面比較,實(shí)施有效的軟件測試,提高軟件測試的效率,是保證軟件質(zhì)量的顯著方法。
軟件測試是通過技術(shù)、流程、工具、人員以及管理手段,檢測軟件文檔、軟件中間產(chǎn)品和最終產(chǎn)品,查找和報(bào)告軟件缺陷、錯誤以及隱患的專業(yè)技術(shù)。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產(chǎn)品、中間產(chǎn)品和文檔符合軟件工程過程需求和用戶的最終需求。
軟件測試創(chuàng)新之道
軟件測試在國內(nèi)仍處于起步階段,各種軟件測試的方法、技術(shù)和標(biāo)準(zhǔn)都還在探索階段。國內(nèi)軟件行業(yè)規(guī)模普遍偏小,缺乏大型軟件產(chǎn)品經(jīng)驗(yàn),開發(fā)過程不夠規(guī)范,這決定了國內(nèi)軟件質(zhì)量和測試行業(yè),必須根據(jù)國內(nèi)行業(yè)現(xiàn)狀,確定軟件質(zhì)量目標(biāo)和測試策略方法,而不是照搬照抄國外成熟軟件企業(yè)的測試方法。
觀念創(chuàng)新
提高軟件質(zhì)量的決定因素不是軟件測試技術(shù),而是對軟件質(zhì)量和測試的思想觀念。只有把提高軟件質(zhì)量上升到企業(yè)戰(zhàn)略發(fā)展的高度,才能從根本上解決問題。長期以來,國內(nèi)軟件行業(yè)對軟件質(zhì)量重視程度不足,對于軟件測試的作用認(rèn)識不夠,造成項(xiàng)目因質(zhì)量問題造成進(jìn)度推遲甚至失敗。
為了徹底改變這種被動現(xiàn)象,企業(yè)高層管理人員必須從管理思想、資源支持等方面為軟件質(zhì)量和測試部門提供全力支持。軟件項(xiàng)目經(jīng)理必須堅(jiān)持軟件開發(fā)和軟件測試并行處理并且互相協(xié)調(diào)。軟件開發(fā)人員重視和配合軟件測試人員。
觀念創(chuàng)新不要僅停留在口頭上,而要落實(shí)在具體行動上,通過軟件質(zhì)量和測試的有效流程進(jìn)行推動,通過過程改進(jìn)進(jìn)行提高。通過有效組織管理,形成“以重視軟件質(zhì)量為榮,以輕視軟件質(zhì)量為恥”的工作氛圍。
流程創(chuàng)新
測試流程決定軟件質(zhì)量。軟件測試如同軟件開發(fā)一樣,需要經(jīng)過收集測試需求、確定測試策略、設(shè)計(jì)測試、執(zhí)行測試、分析測試等流程。軟件測試不是軟件開發(fā)的最后階段,而是貫穿于軟件項(xiàng)目的整個生命周期。
軟件測試流程既不是僵化的生搬硬套,也不是隨機(jī)的增添取舍。軟件企業(yè)的質(zhì)量管理部門和項(xiàng)目開發(fā)團(tuán)隊(duì)需要根據(jù)公司技術(shù)、資源現(xiàn)狀,針對項(xiàng)目的特點(diǎn)和客戶需求,從保證軟件質(zhì)量、項(xiàng)目進(jìn)度和測試成本等方面,進(jìn)行優(yōu)化設(shè)計(jì)并且不斷改進(jìn)流程管理。對于項(xiàng)目周期長、應(yīng)用領(lǐng)域廣、對質(zhì)量要求高的軟件,必須制定和遵守嚴(yán)格的測試流程。
測試流程創(chuàng)新的目標(biāo)是在公司內(nèi)部制定和執(zhí)行完善的項(xiàng)目質(zhì)量管理體系。優(yōu)化項(xiàng)目生產(chǎn)方式,跟蹤和度量生產(chǎn)過程和產(chǎn)品,使得生產(chǎn)過程和各階段產(chǎn)品處于可控制和可度量狀態(tài),保證產(chǎn)品符合客戶的功能和進(jìn)度需求。
技術(shù)創(chuàng)新
軟件測試是一項(xiàng)軟件工程領(lǐng)域的專業(yè)技術(shù),而不是簡單的把軟件測試認(rèn)為隨便找個人運(yùn)行幾次軟件,就可以發(fā)現(xiàn)全部的軟件問題。前文已經(jīng)提到,軟件測試需求和測試設(shè)計(jì)是決定軟件測試效果的關(guān)鍵因素,因此,加強(qiáng)測試技術(shù)創(chuàng)新的重點(diǎn)是在測試需求和設(shè)計(jì)設(shè)計(jì)的創(chuàng)新。
在軟件測試技術(shù)創(chuàng)新方面,要避免陷入過度追求自動化測試技術(shù)的誤區(qū)。自動化測試確實(shí)可以在某些方面顯著提高測試效率和準(zhǔn)確性,但是自動化測試只適合測試軟件的某些方面的質(zhì)量,80%左右的軟件缺陷是靠測試人員手工測試發(fā)現(xiàn)的。
對于某些特別需要自動化測試的軟件特性,需要加強(qiáng)開發(fā)軟件測試工具,而不是全部依賴市場上的現(xiàn)有測試工具。這是因?yàn)樯虡I(yè)工具功能繁多,價(jià)格昂貴,培訓(xùn)和學(xué)習(xí)周期很長,選擇不當(dāng)就會造成巨大浪費(fèi)。
管理創(chuàng)新
軟件測試管理的目標(biāo)是實(shí)現(xiàn)軟件質(zhì)量、進(jìn)度、成本之間的最佳平衡。有效的測試管理需要企業(yè)管理層、軟件開發(fā)團(tuán)隊(duì)、質(zhì)量保證與測試團(tuán)隊(duì)通力合作,采用計(jì)劃、組織、領(lǐng)導(dǎo)、控制等手段,組建高效團(tuán)隊(duì),制定完善的測試流程,做好測試設(shè)計(jì),有效執(zhí)行測試,加強(qiáng)過程跟蹤,從而順利完成質(zhì)量保證和測試任務(wù)。
測試管理創(chuàng)新的核心是軟件質(zhì)量和測試的團(tuán)隊(duì)建設(shè),軟件質(zhì)量和測試是技術(shù)密集型活動,團(tuán)隊(duì)的知識結(jié)構(gòu)、創(chuàng)造力和凝聚力是保證測試流程、測試技術(shù)充分實(shí)施的基礎(chǔ)。質(zhì)量和測試團(tuán)隊(duì)建設(shè)的重點(diǎn)是設(shè)置和培養(yǎng)各類技術(shù)和管理人才,進(jìn)行有效交流,形成良好的評估和促進(jìn)機(jī)制。
測試管理創(chuàng)新的另一個重點(diǎn)是測試管理平臺建設(shè)。包括構(gòu)建測試項(xiàng)目管理的集成系統(tǒng),實(shí)現(xiàn)公司產(chǎn)品和項(xiàng)目數(shù)據(jù)信息的有效管理和順序控制,使項(xiàng)目數(shù)據(jù)透明化,技術(shù)知識有效傳承,項(xiàng)目質(zhì)量和進(jìn)度數(shù)據(jù)化、圖形化。可以根據(jù)公司的現(xiàn)狀,購買軟件測試管理的商業(yè)工具,也可以內(nèi)部開發(fā)軟件測試管理工具。
軟件測試技術(shù)路線圖
如果把軟件測試之道成為測試戰(zhàn)略,要發(fā)揮測試戰(zhàn)略的現(xiàn)實(shí)意義,需要把測試戰(zhàn)略轉(zhuǎn)化為測試戰(zhàn)術(shù)。測試的“道”與“術(shù)”的無縫集成,才能顯著地、持續(xù)地、逐步地提高軟件產(chǎn)品質(zhì)量。實(shí)施軟件測試的戰(zhàn)術(shù)是一系列過程的組合,涉及測試團(tuán)隊(duì)建設(shè)、流程設(shè)計(jì)、測試平臺、測試管理等多個方面。
測試團(tuán)隊(duì)建設(shè)
測試團(tuán)隊(duì)可以是測試部,也可以是測試組。公司規(guī)模決定了測試團(tuán)隊(duì)的大小和組織形式。測試團(tuán)隊(duì)建設(shè)需要執(zhí)行兩個原則:第一,測試團(tuán)隊(duì)必須獨(dú)立于開發(fā)團(tuán)隊(duì),而不是附屬于開發(fā)團(tuán)隊(duì),實(shí)現(xiàn)測試的獨(dú)立性和公正性;第二,測試團(tuán)隊(duì)必須具有明確的工作目標(biāo),即發(fā)現(xiàn)和報(bào)告軟件缺陷,推動和確認(rèn)缺陷修正,協(xié)助軟件開發(fā)的過程改進(jìn),提高軟件整體質(zhì)量。
軟件測試團(tuán)隊(duì)根據(jù)規(guī)模可以設(shè)置多個職位,每個職位具有明確的崗位職責(zé)。例如,測試部門經(jīng)理、測試項(xiàng)目經(jīng)理、測試組長、測試架構(gòu)師、高級測試工程師、測試工程師等。對于剛剛成立的測試團(tuán)隊(duì),可以一個人兼任多個職位,完成多項(xiàng)測試任務(wù)。測試人員的總數(shù)應(yīng)該與開發(fā)人員相適應(yīng),最好在1:1到1:2之間。
流程設(shè)計(jì)
測試流程設(shè)計(jì)必須與軟件設(shè)計(jì)流程相對應(yīng),基本測試流程包括測試需求分析、測試計(jì)劃設(shè)計(jì)、測試用例設(shè)計(jì)、測試執(zhí)行、測試評價(jià)、測試總結(jié)等。
根據(jù)軟件需求和軟件設(shè)計(jì)規(guī)格說明進(jìn)行測試需求分析,測試需求分析的目的是明確需要測試的對象、特征、范圍和方法,從而制定測試計(jì)劃,確定測試策略。
測試計(jì)劃設(shè)計(jì)是為了有效配置測試過程、人員和工具,充分利用現(xiàn)有的資源,按照項(xiàng)目計(jì)劃進(jìn)度,組織有效的測試。測試計(jì)劃設(shè)計(jì)的輸出結(jié)果是測試計(jì)劃文檔,它是指導(dǎo)軟件測試活動的綱領(lǐng)性文檔。
測試用例設(shè)計(jì)是指導(dǎo)具體測試內(nèi)容和方法的關(guān)鍵內(nèi)容,如果需要執(zhí)行自動化測試,還需要依靠測試用例設(shè)計(jì)生成對應(yīng)的測試腳本。測試用例設(shè)計(jì)的輸出結(jié)果是不同類型的測試用例,這些測試用例必須以標(biāo)準(zhǔn)、一致的形式設(shè)計(jì)、評審、存儲、更新。
測試執(zhí)行是報(bào)告軟件缺陷的階段,根據(jù)軟件計(jì)劃的進(jìn)度,分配測試內(nèi)容,構(gòu)建測試環(huán)境,依靠測試用例運(yùn)行測試程序和程序文檔。測試執(zhí)行的輸出結(jié)果是缺陷報(bào)告、測試進(jìn)度報(bào)告等。
測試評價(jià)是度量軟件測試執(zhí)行效率和有效性的過程。測試評價(jià)的輸入是測試用例的執(zhí)行情況,軟件缺陷的報(bào)告數(shù)據(jù)。測試評價(jià)的輸出包括測試用例的有效性分析,軟件缺陷的類型和有效性分析等,測試進(jìn)度和有效性分析等。
測試總結(jié)包括測試過程每天或者每周的過程總結(jié),也包括測試項(xiàng)目結(jié)束后的測試項(xiàng)目總結(jié)。測試總結(jié)的輸出是測試總結(jié)報(bào)告,總體評價(jià)軟件質(zhì)量,指出測試存在的問題,提出改進(jìn)的方法和進(jìn)程,總計(jì)測試的有效經(jīng)驗(yàn)。
測試平臺設(shè)計(jì)
測試平臺設(shè)計(jì)包括測試技術(shù)平臺設(shè)計(jì)和測試管理平臺設(shè)計(jì)。測試技術(shù)平臺包括設(shè)計(jì)測試環(huán)境,設(shè)計(jì)或設(shè)置測試工具等。測試管理平臺設(shè)計(jì)包括測試文檔系統(tǒng)設(shè)計(jì)、測試版本配置管理、缺陷數(shù)據(jù)庫設(shè)計(jì)、測試進(jìn)度和質(zhì)量分析系統(tǒng)設(shè)計(jì)。
測試技術(shù)平臺設(shè)計(jì)需要根據(jù)測試計(jì)劃的測試內(nèi)容和測試環(huán)境要求,組織軟件、硬件、數(shù)據(jù)庫和網(wǎng)絡(luò)等,這經(jīng)常是一項(xiàng)較為耗時的工作,同時它影響著測試的正確性,必須盡快在測試開始階段完成,最好采用有效的方法把搭建的測試環(huán)境進(jìn)行備份保存,以便今后可以快速恢復(fù),重復(fù)利用。
測試管理平臺設(shè)計(jì),影響測試管理的復(fù)雜度,好的測試管理平臺可以使測試管理人員,方便地跟蹤、查詢、分析測試進(jìn)度,評估測試人員的工作績效,評價(jià)測試的總體質(zhì)量。對于測試技術(shù)人員而言,可以方便的尋找測試對象和測試文檔,報(bào)告和輸出測試結(jié)果,共享測試數(shù)據(jù),提高測試效率。
測試管理
測試管理關(guān)注人員、過程、產(chǎn)品三要素的互動與變化,測試管理包含項(xiàng)目計(jì)劃和組織結(jié)構(gòu)管理,測試階段管理,時間、資源和質(zhì)量管理,文檔管理和團(tuán)隊(duì)管理等。測試部門經(jīng)理、測試項(xiàng)目經(jīng)理和測試組長是測試管理的主要執(zhí)行者,需要與測試團(tuán)隊(duì)成員、開發(fā)人員、公司管理人員密切配合。
中圖分類號:G420 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)30-7258-02
近幾年來,計(jì)算機(jī)信息技術(shù)發(fā)展迅速,我國的IT行業(yè)開始向國際化、規(guī)范化邁進(jìn)。以往只重視軟件開發(fā)而忽視軟件測試的情況正在改變,軟件測試行業(yè)開始迅速發(fā)展。
國外小一些的軟件企業(yè),軟件開發(fā)與測試人員之比基本上是1:1,微軟公司更是達(dá)到了1:2,軟測試人員規(guī)模遠(yuǎn)超過開發(fā)人員的規(guī)模[1]。盡管一些國內(nèi)大型軟件企業(yè)開始重視軟件人才的合理配置,但有的企業(yè)其比例也就只有10:1。軟件測試工程師鬧人才荒[2],中高級測試員緊缺的現(xiàn)象已十分明顯。
據(jù)統(tǒng)計(jì),國內(nèi)軟件測試工程師的缺口為20萬人左右,這一點(diǎn)從51JOB的招聘信息中可見一斑。近兩年,軟件測試工程師的需求和待遇都達(dá)到了歷史新高。
然而與當(dāng)前軟件測試行業(yè)如火如荼的現(xiàn)狀極不協(xié)調(diào)的是當(dāng)前軟件測試培訓(xùn)領(lǐng)域的現(xiàn)狀[3],從事軟件測試工程師培訓(xùn)的專業(yè)機(jī)構(gòu)寥寥無幾,而且價(jià)格昂貴。大學(xué)里幾乎沒有軟件測試專業(yè),部分院校開設(shè)《軟件測試》這門課程面臨三方面的問題,一是軟件測試教材知識片面。二是內(nèi)容枯燥,學(xué)生不感興趣。三是教師教學(xué)經(jīng)驗(yàn)嚴(yán)重不足。面對軟件測試人才的社會需求緊迫性,人才培養(yǎng)單位應(yīng)該擴(kuò)大軟件測試人才培養(yǎng)規(guī)模,總結(jié)軟件測試知識點(diǎn),改革教學(xué)方法,培養(yǎng)學(xué)生興趣,提高培養(yǎng)質(zhì)量。
1 軟件測試課程教學(xué)方法探討
針對以上問題,在教學(xué)中應(yīng)采取以下解決方法:
1.1 融合軟件測試知識點(diǎn),分階段教學(xué)
目前,國內(nèi)的軟件測試教材只涉及了部分基本理論知識,不夠全面,介紹的軟件測試工具也相對落后一些。針對這種情況,任課教師首先要融合多本軟件測試書籍內(nèi)容,總結(jié)出軟件測試所涵蓋的知識點(diǎn),更新軟件測試發(fā)展情況。
其次,根據(jù)學(xué)生學(xué)習(xí)過程分階段教學(xué)[4]。第一階段是基礎(chǔ)階段,讓學(xué)生掌握軟件測試基礎(chǔ)理論知識和軟件測試核心技術(shù),以及常用測試工具的操作。第二階段是項(xiàng)目綜合實(shí)訓(xùn)提高階段,在掌握基礎(chǔ)理論的前提下,加強(qiáng)綜合測試技術(shù)在項(xiàng)目實(shí)訓(xùn)中的運(yùn)用,針對不同的開發(fā)階段,撰寫各開發(fā)階段相應(yīng)的文檔,并制定相應(yīng)的測試計(jì)劃,設(shè)計(jì)典型測試用例,使用不同的軟件測試技術(shù)和測試工具,完成不同的測試目標(biāo)。最后是培養(yǎng)學(xué)生自主學(xué)習(xí)階段,介紹軟件測試最新的技術(shù)與發(fā)展方向,引導(dǎo)學(xué)生對基本技術(shù)向縱深方向思考。同時向?qū)W生提供軟件測試方面重要的會議、雜志、論壇、網(wǎng)站,引導(dǎo)學(xué)生課下查閱學(xué)習(xí)資料,鼓勵學(xué)生自我學(xué)習(xí)。
1.2 改革教學(xué)方法,采用案例驅(qū)動教學(xué)
大部分高職院校學(xué)生基礎(chǔ)差、學(xué)習(xí)積極性主動性不強(qiáng)、自制力不高。在課堂教學(xué)活動中,如果繼續(xù)采用傳統(tǒng)教學(xué)方法,很難激發(fā)學(xué)生學(xué)習(xí)興趣。應(yīng)該采用案例教學(xué)方法[5],將《手機(jī)信息管理系統(tǒng)》、《學(xué)生圖書借閱系統(tǒng)》、《學(xué)生信息管理系統(tǒng)》等案例資料發(fā)給學(xué)生,學(xué)生拿到案例后,在教師的引導(dǎo)下,課下先要進(jìn)行消化,然后查閱各種他認(rèn)為必要的理論知識,理解知識并思考提出解決問題的方法。課上教師答復(fù)學(xué)生的問題,并引導(dǎo)學(xué)生更深層次的思考。通過這種方法充分調(diào)動學(xué)生的學(xué)習(xí)積極性,提高其學(xué)習(xí)興趣,使學(xué)生既學(xué)會理論知識分析又學(xué)會用理論知識解決實(shí)際工程的問題。
1.3 采用軟件測試項(xiàng)目綜合實(shí)訓(xùn)的實(shí)驗(yàn)教學(xué)模式
開設(shè)綜合性的軟件測試課程實(shí)驗(yàn),按軟件企業(yè)項(xiàng)目管理和開發(fā)模式,進(jìn)行軟件測試項(xiàng)目實(shí)訓(xùn)[6],培養(yǎng)學(xué)生的創(chuàng)新意識與實(shí)踐能力。將班內(nèi)學(xué)生分成若干個測試小組,每小組成員不超過7人,每組分配不同的軟件項(xiàng)目,如工資管理系統(tǒng)、圖書管理系統(tǒng)、學(xué)生信息管理系統(tǒng)、酒店預(yù)訂系統(tǒng)等。小組成員模擬與體驗(yàn)軟件測試工程全過程工作職位和角色,使學(xué)生全過程適應(yīng)工作職位的要求。
各項(xiàng)目小組在測試項(xiàng)目過程中,針對不同的開發(fā)階段,撰寫各開發(fā)階段相應(yīng)的文檔,并制定相應(yīng)的測試計(jì)劃,設(shè)計(jì)典型測試用例,使用不同的軟件測試技術(shù)和測試工具,完成不同的測試目標(biāo),并進(jìn)行回歸測試,以實(shí)現(xiàn)軟件測試各單項(xiàng)專業(yè)知識與技能整合運(yùn)用的目標(biāo)。在整個測試過程可以體現(xiàn)“學(xué)以致用”的思想,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。
各項(xiàng)目小組通過演練項(xiàng)目開發(fā),不僅讓同學(xué)們切身體會到軟件開發(fā)的整個過程,還讓同學(xué)們對軟件開發(fā)中各個角色有充分的了解,同時也更深刻的體會到團(tuán)隊(duì)合作的重要性。
1.4 加強(qiáng)校企合作
堅(jiān)持“走出去,引進(jìn)來”的思想,經(jīng)常邀請企事業(yè)、軟件公司里一線軟件測試人員或軟件測試組長和項(xiàng)目經(jīng)理,來學(xué)校為學(xué)生做定期講座,或定期對教師進(jìn)行培訓(xùn)。也可以利用假期或其他時間,安排教師學(xué)生進(jìn)軟件公司,一起跟進(jìn)項(xiàng)目開發(fā)測試。目前本校已經(jīng)連續(xù)兩年安排教師學(xué)生去齊魯軟件園,進(jìn)公司一起進(jìn)行項(xiàng)目開發(fā)測試工作。效果不錯,參加實(shí)訓(xùn)的軟件項(xiàng)目綜合實(shí)訓(xùn)的教師軟件開發(fā)測試能力有較大提高,并且學(xué)到一些最新最實(shí)用的軟件開發(fā)測試技術(shù)。
1.5 改革課程考核方法
軟件測試這門課程兼具理論與操作,目前大部分院??己朔绞脚c理論考試為主,這種考核方式會促使部分學(xué)生考前抱佛腳,考前死記硬背,降低學(xué)生學(xué)習(xí)的積極性。除了理論考核之外,還應(yīng)注重學(xué)生綜合知識和應(yīng)用能力方面的考核。建議課程考核應(yīng)該包含平時作業(yè)、課堂表現(xiàn)(發(fā)言與討論)、實(shí)驗(yàn)、綜合實(shí)訓(xùn)、理論考試這幾部分。采用這種考核方式,促使學(xué)生加強(qiáng)對知識的理解和運(yùn)用,課堂踴躍發(fā)言,提高學(xué)習(xí)的主動性和創(chuàng)造性,以及動手操作能力。
1.6 適當(dāng)加入一些最新的游戲測試
高職院校學(xué)生大部分的課余時間都是泡在網(wǎng)吧里玩游戲,有很多同學(xué)一有時間就玩手機(jī)游戲。學(xué)生對最新的游戲內(nèi)容比較感興趣,游戲測試也是軟件測試的一方面,教師可以在課堂教學(xué)中加入一些游戲測試內(nèi)容,提高學(xué)生的學(xué)習(xí)興趣。
1.7 采取雙證教育
實(shí)行“雙證教育”模式[7],將學(xué)歷教育與技能學(xué)習(xí)無縫對接,學(xué)生畢業(yè)后不僅能獲得國家勞動部高級職業(yè)技能認(rèn)證證書、擁有扎實(shí)的操作技能,同時還將獲得國家承認(rèn)大學(xué)學(xué)歷證書。雙證教育使學(xué)生專業(yè)能力更強(qiáng)、職業(yè)素養(yǎng)更高、綜合素質(zhì)更好、更符合企業(yè)用人標(biāo)準(zhǔn)。
測試工程師有高級測試工程師、中級測試工程師、初級測試工程師。根據(jù)高職學(xué)生的能力特點(diǎn),應(yīng)該把高職學(xué)生定位在初級和準(zhǔn)中級測試工程師,具有一定的設(shè)計(jì)方案的編寫能力,能利用測試工具完成一定的測試任務(wù),并能夠執(zhí)行功能測試。
2 總結(jié)
通過在本校近五六年的軟件測試教學(xué)實(shí)踐,發(fā)現(xiàn)軟件測試教學(xué)方法需要不斷改進(jìn),融合軟件測試知識點(diǎn)分階段教學(xué),采用案例驅(qū)動和雙證教育模式,加強(qiáng)校企合作和教學(xué)實(shí)踐這些措施能較好地提高學(xué)生學(xué)習(xí)興趣和動手操作能力,教學(xué)質(zhì)量也有較大提高。軟件測試人才培養(yǎng)剛剛起步,很多工作處于摸索階段,需要學(xué)校、教師和學(xué)生的共同努力,為社會培養(yǎng)出大批合格的軟件測試人才。
參考文獻(xiàn):
[1]程茂,溫靜,吳玉潔.《軟件測試》課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào)/教育科學(xué)版,2010(4):117-120.
[2] .
[3]趙斌.軟件測試技術(shù)經(jīng)典教程[M].北京:科學(xué)出版社,2011(3).
[4]葛漢強(qiáng).高職《軟件測試》課程分層教學(xué)之實(shí)踐[J].職業(yè)教育研究,2011(8):105-107.
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)17-0226-03
Abstract: Modeling software testing can greatly improve the quality and efficiency of software testing, and CMMI and other popular models, there is no detailed description of the process for software testing, software testing is no level of maturity of the evaluation and measurement, There is a lack of software testing process improvement goals and guidance. Based on this situation, this article Test Maturity Model(TMM) has been proposed by Dr. Burnstein formal description given maturity level structure TMM model elaborated five test level of maturity goals and sub-goals,, TMM and implementation methods are described, as well as the author summarizes and Reflection on the TMM model.
Key words: software testing; Test Maturity Model(TMM); modeling framework; maturity level structure
1 背景
隨著信息時代的快速發(fā)展,軟件產(chǎn)業(yè)也逐步進(jìn)入高速增長態(tài)勢,軟件過程的研究已經(jīng)發(fā)展為軟件測試行業(yè)的基礎(chǔ)工作之一。要加強(qiáng)軟件組織的開發(fā)能力、提高軟件產(chǎn)品的質(zhì)量,就必須不斷地對軟件過程的能力進(jìn)行改進(jìn)。因此,軟件能力成熟度模型即CMM在1987年美國Carnegie Mellon 大學(xué)軟件工程研究所應(yīng)運(yùn)而生CMM逐漸成為了評估軟件開發(fā)過程的管理以及工程能力的標(biāo)準(zhǔn)。目前,已經(jīng)形成了以個體軟件過程、團(tuán)隊(duì)軟件過程以及過程成熟度集成模型CMMI等為主導(dǎo)的軟件開發(fā)過程改進(jìn)體系[1]。但是,傳統(tǒng)CMM的著眼點(diǎn)在于軟件組織的開發(fā)過程和軟件過程能力,并沒有關(guān)于軟件測試成熟度的概念,也沒有研究改進(jìn)軟件測試過程的方法,因此,隨著軟件測試在軟件生命周期中的地位越來越突出,軟件測試成熟度得到了業(yè)內(nèi)人士的高度重視,并且在傳統(tǒng)的軟件過程成熟度基礎(chǔ)上繼續(xù)進(jìn)行模型改進(jìn),其中,比較具有代表性的是由Ilene Burnstein博士等人提出的軟件測試成熟度模型(TMM),該模型是對CMMI模型的補(bǔ)充,是對CMMI模型的存在問題的修正,同時也對改進(jìn)軟件測試過程及提高軟件測試能力做出了思想和方法上的指導(dǎo)。
2 TMM模型框架簡介
TMM模型為了改進(jìn)軟件測試與評價(jià)過程,對CMM模型進(jìn)行了較大程度的改進(jìn)與補(bǔ)充。TMM模型在CMM模型的原有基礎(chǔ)將軟件測試過程劃分為初始級、定義級、集成級、管理與度量級和優(yōu)化級5個等級[2]`。處于初始級的軟件測試,是一個混亂的過程,測試過程在編碼之后,與調(diào)試未加區(qū)分;階段定義級的測試過程,很大程度上凸顯出測試過程與調(diào)試的區(qū)分,但是其被定義為編碼之后進(jìn)行的的獨(dú)立階段,顯然不符合軟件工程的要求;前兩個階段的存在的問題在集成級得到改善,集成級將軟件測試融入到整個軟件生命周期中,從需求分析開始,測試人員將伴隨這個開發(fā)過程制定相應(yīng)的測試計(jì)劃、測試目標(biāo)等;從管理和度量級開始,整個測試過程就已經(jīng)由定性描述進(jìn)入可度量化的過程。在此過程中,除進(jìn)行測試之外,還有對軟件生命周期各個環(huán)節(jié)的管理與審查;優(yōu)化級是以前四級為基礎(chǔ),優(yōu)化并預(yù)防缺陷、質(zhì)量控制、監(jiān)控測試成本與效率,為整個測試過程指引方向。
而每個等級(除等級1)都有自己的成熟度目標(biāo)、子目標(biāo)以及活動、任務(wù)和職責(zé)。TMM的模型框架如圖1所示。
由圖1可以得出,若要達(dá)到某成熟度等級,所必須實(shí)現(xiàn)的成熟度目標(biāo),即軟件測試的改進(jìn)目標(biāo)。而成熟度子目標(biāo)的定義更為具體,定義了該等級的范圍、界限和需要完成的事項(xiàng)。通過活動和任務(wù)來實(shí)現(xiàn)子目標(biāo),任務(wù)和活動涉及實(shí)施和組織調(diào)整問題?;顒雍腿蝿?wù)則定義了為了軟件組織達(dá)到某一等級,進(jìn)行軟件測試改進(jìn)的行動計(jì)劃。三組人員各司其職,完成相關(guān)任務(wù)與活動,達(dá)到成熟度子目標(biāo)[3]。
3 TMM的等級結(jié)構(gòu)
TMM將測試的成熟度分為5個等級,每一級別都是一個測試過程,都有自己的過程域,軟件組織要想達(dá)到更高的級別,就必須先滿足前一個級別的過程域。同時也必須完成所有的被定義的目標(biāo)。這些目標(biāo)的定義,需要通過活動、任務(wù)和責(zé)任進(jìn)行標(biāo)記,在進(jìn)行過程中,需要根據(jù)相關(guān)人員的特殊需求來不斷調(diào)整[1]。如圖2所示:
在TMM等級描述中,詳細(xì)闡述了測試過程的特點(diǎn)以及為達(dá)到規(guī)定級別所需要完成的目標(biāo)和子目標(biāo)。
1)第一等級為初始級。軟件測試的終極目標(biāo)是為了查找程序中的錯誤,在這一階段,由于相應(yīng)的編碼任務(wù)還沒有完成,缺乏一定的測試資源,因此軟件測試沒有相對清晰的目標(biāo),測試任務(wù)也可有可無。
2)第二等級為定義級。在這一階段,軟件測試的目標(biāo)是為了驗(yàn)證軟件是否符合相應(yīng)的需求,因此會啟動一些相應(yīng)的軟件測試計(jì)劃過程,并對采用的軟件測試方法制度化,在定義級,由于在進(jìn)行軟件測試之前要把所有的編碼工作完成,導(dǎo)致的結(jié)果就是在需求分析階段與設(shè)計(jì)階段產(chǎn)生的一些軟件缺陷會一直遺留到編碼階段才能被發(fā)現(xiàn)。
3)第三等級是集成級。在這一階段,會有相應(yīng)的、相對獨(dú)立的測試部門出現(xiàn),測試工作不需要在完成編碼后才能進(jìn)行,而是在滿足用戶需求的目標(biāo)上進(jìn)行測試工作。并集成到軟件生命周期的各個階段中。在第三等級,需組建一個軟件測試組織用于負(fù)責(zé)測試規(guī)劃、測試缺陷跟蹤等測試技術(shù)工作。同時在測試過程中需要有相應(yīng)的測試工具對測試工作進(jìn)行輔助。同時,軟件測試小組成員要和質(zhì)量保證專家一起,與客戶進(jìn)行溝通,從軟件需求分析階段制定軟件測試計(jì)劃,并根據(jù)需求分析表格制定相應(yīng)的軟件測試目標(biāo)。該階段的缺點(diǎn)為沒有行之有效的評審制度以及沒有一套質(zhì)量控制與度量的標(biāo)準(zhǔn)等。
4)第四等級為管理與度量級。在這一階段,軟件測試是可以進(jìn)行度量與質(zhì)量控制的過程,應(yīng)保證進(jìn)行可靠性、可用性與可維護(hù)性等方面的測試。軟件測試活動既包括程序語言,還把評審與審查作為軟件測試活動的補(bǔ)充,用于發(fā)現(xiàn)及消除軟件產(chǎn)品缺陷。為了測試過程的完備性,建立了缺陷管理系統(tǒng)并將缺陷的等級進(jìn)行劃分。同時測試人員采用數(shù)據(jù)庫記錄和管理相應(yīng)的測試數(shù)據(jù)以及測試用例。但在管理與度量級,由于沒有相應(yīng)的缺陷預(yù)防系統(tǒng),不能自動的進(jìn)行收集與分析軟件測試中生成的相應(yīng)數(shù)據(jù)。
5)第五等級為優(yōu)化級。在這一階段,改進(jìn)了第四等級的缺陷,已經(jīng)具有相應(yīng)的缺陷預(yù)防能力和軟件質(zhì)量控制能力,能夠保證之前發(fā)現(xiàn)的缺陷不會在后期繼續(xù)產(chǎn)生。在這一級,自動化測試工具是整個測試過程的重要組成部分。可以進(jìn)行自動的收集與分析測試中產(chǎn)生的數(shù)據(jù)。并建立了測試流程與測試的規(guī)章制度。由于優(yōu)化級的測試活動是可重復(fù)性、已定義、已管理和已測量,所以軟件組織可以對測試過程進(jìn)行不斷的優(yōu)化改進(jìn)和調(diào)整。
根據(jù)上面描述的TMM的5個等級,給出相應(yīng)的成熟度等級目標(biāo)和子目標(biāo),如表1所示。
② 為軟件測試活動定義相應(yīng)的目標(biāo)、任務(wù)、活動和工具等\&
啟動測試計(jì)劃過程\&① 制定軟件測試計(jì)劃模版并進(jìn)行任務(wù)分配
② 獲取用戶需求
③ 準(zhǔn)備軟件測試活動所需的工具\&將基本的測試技術(shù)和方法制度化\&① 在軟件組織中實(shí)施基本的測試技術(shù)與方法,例如黑盒測試、白盒測試策略等。
② 制定相應(yīng)的管理制度,明確規(guī)定基本的測試技術(shù)和方法何時、怎樣實(shí)施,以及基本的測試工具等。\&集成級\&
建立軟件測試組織\&① 選擇和培訓(xùn)相關(guān)人員成立測試小組
② 為每個測試小組成員進(jìn)行職責(zé)分配
③ 與客戶進(jìn)行討論,獲取用戶需求\&
制定技術(shù)培訓(xùn)計(jì)劃\&① 為測試人員制定技術(shù)培訓(xùn)計(jì)劃
② 明確具體的培訓(xùn)內(nèi)容,例如:測試方法、測試標(biāo)準(zhǔn)、測試技術(shù)與工具、審查與評審過程等\&將軟件測試集成到軟件生命周期中\&① 將軟件測試計(jì)劃階段劃分為和生命周期各階段相關(guān)聯(lián)的各個子階段
② 將測試策劃集成到生命周期的各階段
③ 打通渠道,提高用戶參與度\&控制與監(jiān)督測試過程\&① 監(jiān)督和控制過程可視化,為測試過程提供依據(jù)
② 隨時與測試策劃對比,及時調(diào)整測試進(jìn)展
③ 定義和配置測試相關(guān)項(xiàng)\&
管理和測量級\&
建立組織范圍內(nèi)的評審程序\&① 擬定正式的評審程序
② 將評審定義為測試活動,在生命周期中實(shí)施通行評審
③ 識別、記錄、清除軟件產(chǎn)品和測試工作的缺陷\&
擬制測試度量程序\&① 擬定一套關(guān)于測試過程質(zhì)量與能力的度量程序
② 準(zhǔn)確識別測試數(shù)據(jù),對測試數(shù)據(jù)進(jìn)行詳細(xì)處理分析
③ 根據(jù)測試結(jié)果,不斷修正測試計(jì)劃\&
軟件質(zhì)量評價(jià)\&① 根據(jù)測試過程充分性,定義可度量的質(zhì)量屬性和目標(biāo)
② 測試過程完成后,需要保證軟件產(chǎn)品可靠、可用、穩(wěn)定、安全\&
優(yōu)化級\&
應(yīng)用過程數(shù)據(jù)預(yù)防缺陷\&① 成立預(yù)防缺陷相關(guān)小組
② 記錄缺陷、分析缺陷,找出缺陷根源
③ 缺陷預(yù)防組的相關(guān)成員與其他組的成員相互配合制定缺陷預(yù)防計(jì)劃,防止已被識別的缺陷再次產(chǎn)生\&
實(shí)施質(zhì)量控制度量\&① 根據(jù)所定義質(zhì)量屬性,進(jìn)行測試
② 通過統(tǒng)計(jì)抽樣、等級度量促進(jìn)測試過程
③ 融入開發(fā)團(tuán)隊(duì),減少缺陷,提高軟件質(zhì)量
④ 運(yùn)用模型工具,加強(qiáng)測試充分性\&
優(yōu)化測試過程\&① 根據(jù)測試進(jìn)展,量化測試過程,對測試過程不斷優(yōu)化調(diào)整
② 建立組織結(jié)構(gòu)標(biāo)準(zhǔn),支撐成熟度的不斷提高\&]
4 TMM實(shí)施
為了指導(dǎo)軟件工程人員進(jìn)行正確的軟件過程評估,采用TMM等級提供支持。在軟件組織中實(shí)施TMM時,可遵循以下步驟:
1)準(zhǔn)備活動
這個步驟中要建立評估小組,選擇與培訓(xùn)小組成員,確定組長,選擇測評項(xiàng)目,并制定評估計(jì)劃,準(zhǔn)備參加評估的組織部門。根據(jù)客戶需求制定評估問題表。
2)實(shí)施評估
評估過程中,評估小組成員通過和被評估人員進(jìn)行溝通,獲取相關(guān)的評估信息,通過查詢相關(guān)文檔與調(diào)查表進(jìn)行信息補(bǔ)充。為保證信息的準(zhǔn)確性與客觀性,可將信息記入問題表。評估人員根據(jù)記錄信息,劃分軟件組織的TMM等級。
3)分析評估結(jié)果
評估人員根據(jù)評估輸出的TMM等級及相應(yīng)的記錄分析當(dāng)前軟件組織存在的缺陷,并指出該軟件組織需要提高的領(lǐng)域以及要達(dá)到的下一個目標(biāo)的優(yōu)先級。量化的改進(jìn)目標(biāo),制定出相應(yīng)的行動計(jì)劃。
4)活動計(jì)劃
為了使軟件組織能夠達(dá)到TMM的高等級,評估小組應(yīng)根據(jù)高優(yōu)先級的改進(jìn)目標(biāo)開發(fā)活動計(jì)劃,通過該計(jì)劃描述相應(yīng)的活動和資源,并改進(jìn)現(xiàn)有的實(shí)踐內(nèi)容和進(jìn)度。
5 結(jié)束語
軟件產(chǎn)品的開發(fā)過程是一項(xiàng)長期的工程,需要不斷研究和實(shí)踐。本文針對傳統(tǒng)軟件成熟度模型的不足,將TMM模型進(jìn)行了詳細(xì)的闡述。TMM模型補(bǔ)充了CMMI模型的不足,能夠充分的覆蓋軟件測試的一系列問題,并且軟件組織可以根據(jù)TMM的要求,評估當(dāng)前軟件測試能力的狀態(tài),并對測試目標(biāo)和測試過程進(jìn)行不斷修正,極大提高軟件測試人員的工作效率。利用TMM模型不斷優(yōu)化測試過程和目標(biāo),將會給軟件開發(fā)和測試組織帶來質(zhì)量和經(jīng)濟(jì)上的雙豐收。
參考文獻(xiàn):
[1] 朱少民. 軟件測試方法和技術(shù)[M]. 北京: 清華大學(xué)出版社, 2010: 71-74.
北京工業(yè)大學(xué)軟件學(xué)院蔡建平教授長期從事軟件工程、軟件測試及軟件質(zhì)量保證的研究,在多年講授軟件測試課程經(jīng)驗(yàn)和體會的基礎(chǔ)上,對軟件測試課程教學(xué)內(nèi)的知識點(diǎn)進(jìn)行調(diào)整、補(bǔ)充和完善等方面的改革,針對軟件質(zhì)量評價(jià)和軟件高可靠性的要求,針對國內(nèi)軟件研發(fā)和測試外包的本地化要求,以及針對軟件測試用于各種應(yīng)用領(lǐng)域的要求選擇授課的知識點(diǎn),并取得了較好的效果。
目前國內(nèi)關(guān)于軟件測試的書籍較多,其中很多書籍是翻譯的、為培訓(xùn)用的或介紹軟件測試技術(shù)和方法,作為教材滿足各類測試人員的學(xué)習(xí)還有一定的距離。本書是在作者長達(dá)二十幾年軟件工程、軟件測試和軟件質(zhì)量保證實(shí)踐經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,借鑒前人成果,參考當(dāng)前軟件測試方法和技術(shù)應(yīng)用實(shí)踐案例進(jìn)行編寫的。蔡建平教授編寫的《軟件測試大學(xué)教程》一書,以現(xiàn)代軟件測試需求為背景,以現(xiàn)代軟件測試技術(shù)和方法為基礎(chǔ),以當(dāng)前軟件測試通常應(yīng)用為典型實(shí)例,從軟件危機(jī)及軟件缺陷開始,全面介紹軟件測試的基本概念,軟件測試的技術(shù)、方法和工具應(yīng)用,以及軟件測試在當(dāng)前主流應(yīng)用中的具體開展和實(shí)施。
其特點(diǎn)如下:
(1) 內(nèi)容全面。突出全生命周期軟件測試概念、軟件質(zhì)量分析手段、現(xiàn)代軟件測試技術(shù)、主流測試工具應(yīng)用以及典型應(yīng)用測試方法等,幫助學(xué)生了解和掌握現(xiàn)代軟件測試的各種原理、方法和技術(shù),并能夠選擇合適的軟件測試工具進(jìn)行相關(guān)測試。為培養(yǎng)學(xué)生今后成為高素質(zhì)、專業(yè)化的軟件測試人才打下基礎(chǔ)。
(2) 針對性強(qiáng)。針對軟件開發(fā)方法和技術(shù)的發(fā)展變化,針對我國軟件外包服務(wù)的蓬勃興起,針對我國國防工業(yè)如航空、航天、船舶、電子、通訊等大量重要軟件或關(guān)鍵軟件的實(shí)際應(yīng)用情況和測試需求,特別是對軟件高可靠性的要求,選擇教材的知識點(diǎn)。
(3) 重實(shí)踐性。該書對支撐現(xiàn)代軟件測試技術(shù)應(yīng)用的測試工具進(jìn)行了全面地介紹,特別是對開源軟件測試工具的介紹,這對高校開設(shè)軟件測試實(shí)驗(yàn)課程是非常有意義的。在教材中給出了軟件測試在幾個典型應(yīng)用領(lǐng)域具體實(shí)施的要點(diǎn)和注意事項(xiàng),這對缺乏實(shí)踐經(jīng)驗(yàn)的培養(yǎng)對象而言具有極好的引領(lǐng)作用,對開闊軟件測試人員的眼界、思路和具體實(shí)踐有很大幫助。
中圖分類號:G642.4文獻(xiàn)標(biāo)識碼:A
目前我國軟件測試人才嚴(yán)重匱乏,人才缺口達(dá)到30萬,造成這一結(jié)果的主要原因是國內(nèi)軟件測試人才教育相對滯后。但實(shí)際上,很多學(xué)習(xí)了軟件測試課程的學(xué)生卻找不到工作,業(yè)內(nèi)專家稱之為人才的“結(jié)構(gòu)性過?!保?],因此,滯后的原因不僅僅是教育機(jī)構(gòu)開設(shè)軟件測試課程時間的滯后,主要是教學(xué)內(nèi)容和教學(xué)效果與實(shí)際需要的差距產(chǎn)生的滯后。隨著外包開發(fā)行業(yè)的快速發(fā)展,對人才在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來越高,而這些要求正是軟件測試人才教育的薄弱環(huán)節(jié)。如何順應(yīng)市場需求,培養(yǎng)出企業(yè)所需的軟件測試人員,成為《軟件測試》課程改革的目標(biāo)。
一、《軟件測試》課程存在的問題
隨著軟件測試人員市場需求的不斷增加,各大高校、職業(yè)技術(shù)學(xué)校及IT培訓(xùn)機(jī)構(gòu)紛紛開設(shè)了《軟件測試》課程,各種軟件測試的教材也相繼出版發(fā)行,但教材中技術(shù)實(shí)現(xiàn)的內(nèi)容較多,對常用的軟件測試文檔書寫介紹很少,對自動化測試工具基本也是簡略介紹其功能。在實(shí)驗(yàn)教材方面,目前還沒有配套的軟件測試實(shí)驗(yàn)教材問世,在教學(xué)過程中基本是任課教師自行設(shè)計(jì)實(shí)驗(yàn)教學(xué)內(nèi)容。對于實(shí)踐性較強(qiáng)的課程,如果沒有大量的項(xiàng)目開發(fā)經(jīng)驗(yàn)和完整的系統(tǒng)案例作為支撐,就難于用恰當(dāng)?shù)膶?shí)例來解釋相關(guān)理論,更難設(shè)計(jì)出實(shí)用有效的實(shí)驗(yàn)內(nèi)容,導(dǎo)致在校學(xué)習(xí)的知識與實(shí)際工作脫節(jié)的現(xiàn)象。
二、《軟件測試》課程采用案例教學(xué)法的必要性
案例教學(xué)法最早起源于美國哈佛大學(xué)商學(xué)院,自20世紀(jì)20年代以來一直被廣泛地應(yīng)用于商業(yè)、法律、醫(yī)學(xué)領(lǐng)域培訓(xùn)中,隨著案例教學(xué)法的推廣、成熟,案例教學(xué)法受到其他專業(yè)領(lǐng)域的重視。案例教學(xué)法是根據(jù)教學(xué)目的和培養(yǎng)目標(biāo)的要求,教師在教學(xué)過程中,以案例為基本素材,把學(xué)生帶入到特定的事件情景中進(jìn)行分析問題和解決問題,培養(yǎng)學(xué)生運(yùn)用理論知識并形成技能技巧的一種教學(xué)方法。與知識為導(dǎo)向的講授式課堂教學(xué)模式相比,案例教學(xué)法更注重學(xué)生知識的運(yùn)用能力,以學(xué)生實(shí)際能力的提高為最終教學(xué)目的。
“軟件測試”課程的教學(xué)目的是讓學(xué)生深刻理解軟件測試思想和基本理論,熟悉多種軟件的測試方法、相關(guān)技術(shù)和系統(tǒng)的軟件測試過程,學(xué)會編寫測試規(guī)格說明書,測試報(bào)告,并學(xué)會使用幾種流行的自動化測試工具,從工程化角度提高和培養(yǎng)學(xué)生從事大型軟件的測試技術(shù)和能力。因此在教學(xué)過程中,必須引用系統(tǒng)的工程化的案例作為理論課教學(xué)載體和實(shí)驗(yàn)課教學(xué)的實(shí)施對象,這樣才能幫助學(xué)生深刻理解基本理論,并通過實(shí)驗(yàn)掌握測試的技能和技巧。
三、案例教學(xué)法在《軟件測試》課程中的實(shí)施
本課程的培養(yǎng)目標(biāo)是根據(jù)市場需求,結(jié)合實(shí)際工作中企業(yè)對“新人”的培養(yǎng)模式及實(shí)際工作的方式方法,通過若干系統(tǒng)案例對學(xué)生進(jìn)行測試技能的訓(xùn)練,讓學(xué)生以“經(jīng)驗(yàn)者”的身份進(jìn)入人才市場參與競爭。
(一)根據(jù)學(xué)生特點(diǎn)規(guī)劃教學(xué)內(nèi)容
由于學(xué)生缺乏整體項(xiàng)目開發(fā)經(jīng)驗(yàn),我們主要針對初、中級測試工程師設(shè)計(jì)教學(xué)內(nèi)容。而針對高級測試工程師和測試管理者擔(dān)當(dāng)?shù)墓ぷ?,比如測試計(jì)劃的制作、各種設(shè)計(jì)的驗(yàn)證、測試評估和總結(jié),需要經(jīng)歷初中級測試工程師的實(shí)戰(zhàn),積累大量經(jīng)驗(yàn)才能承擔(dān)。這一部分內(nèi)容,我們只在理論教學(xué)中簡單講述,不在實(shí)驗(yàn)教學(xué)中安排實(shí)驗(yàn)內(nèi)容。
(二)根據(jù)教學(xué)階段選擇案例素材
根據(jù)教學(xué)進(jìn)度和學(xué)生對知識的掌握程度,采用由簡到繁、循序漸進(jìn)的方式選擇如下三個案例進(jìn)行教學(xué):
(1)選擇經(jīng)典案例設(shè)計(jì)的“被測軟件系統(tǒng)”作為軟件測試基本技術(shù)的案例進(jìn)行理論和實(shí)踐教學(xué)。
(2)選擇以C/S模式實(shí)現(xiàn)的“小區(qū)物業(yè)管理系統(tǒng)”作為軟件測試過程、測試用例設(shè)計(jì)、測試文檔書寫相關(guān)內(nèi)容的案例。
(3)選擇以B/S模式實(shí)現(xiàn)的“圖書館管理系統(tǒng)”作為面向?qū)ο鬁y試、網(wǎng)站測試的案例。
在理論課教學(xué)中主要以“被測軟件系統(tǒng)”、“小區(qū)物業(yè)管理系統(tǒng)”作為案例進(jìn)行理論知識的講解,與網(wǎng)站測試和面向?qū)ο鬁y試相關(guān)的內(nèi)容以“圖書館管理系統(tǒng)”作為案例進(jìn)行講解。這樣,進(jìn)行完理論教學(xué),學(xué)生對案例系統(tǒng)的功能基本了解。在實(shí)驗(yàn)教學(xué)中,我們提供給學(xué)生在測試中需要的代碼、開發(fā)規(guī)范、需求分析、系統(tǒng)設(shè)計(jì)書、概要設(shè)計(jì)書、詳細(xì)設(shè)計(jì)書,具備了以上資料,便可模擬實(shí)際工作模式,將理論教學(xué)中講述的測試技術(shù)和測試文檔的書寫方法運(yùn)用到案例的測試實(shí)驗(yàn)中。
(三)模擬實(shí)際項(xiàng)目完善案例系統(tǒng)
現(xiàn)有的軟件測試教材,通常會在最后章節(jié)給出一個案例,對該案例利用教材上介紹的各種測試方法針對性地進(jìn)行測試用例設(shè)計(jì)。但是,教材對案例的描述基本只限于項(xiàng)目背景介紹、子系統(tǒng)介紹、子系統(tǒng)性能及可用性要求方面的內(nèi)容,基本沒有提供可運(yùn)行案例系統(tǒng)的代碼,同時也缺乏必要的供測試使用的文檔。大量的案例參考書中,有可運(yùn)行的系統(tǒng)代碼卻沒有測試必須的較完備的文檔。實(shí)際工作中,軟件測試過程與軟件設(shè)計(jì)周期有相互對應(yīng)的關(guān)系,軟件測試過程中的單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試分別對應(yīng)軟件設(shè)計(jì)中的詳細(xì)設(shè)計(jì)、概要設(shè)計(jì)、系統(tǒng)設(shè)計(jì)和需求分析。因此,要完成一個系統(tǒng)的較完整的測試過程,不僅要提供被測系統(tǒng)的完整代碼及數(shù)據(jù),還必須提供全套的設(shè)計(jì)文檔。
針對以上三個案例系統(tǒng),我們首先補(bǔ)充完成需求分析、系統(tǒng)設(shè)計(jì)書、部分模塊(單元)的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)書,力爭陸續(xù)完成整個系統(tǒng)的完整設(shè)計(jì)資料,以供學(xué)生測試使用。
(四)針對測試技能訓(xùn)練設(shè)計(jì)缺陷案例
為了檢驗(yàn)學(xué)生的測試技能,在不同的實(shí)驗(yàn)中,人為地在案例中設(shè)計(jì)針對性的缺陷,鍛煉學(xué)生檢測故障的能力、故障描述能力以及跟蹤定位缺陷的能力。在測試技術(shù)實(shí)驗(yàn)中我們?nèi)藶橹圃旄鞣N缺陷,讓學(xué)生通過白盒及黑盒測試技術(shù)去發(fā)現(xiàn)缺陷,并學(xué)會根據(jù)不同的軟件設(shè)計(jì)選擇最佳的測試技術(shù)進(jìn)行有效、高效的測試。在軟件測試過程實(shí)驗(yàn)中,人為拆散系統(tǒng),讓學(xué)生自行設(shè)計(jì)樁模塊及驅(qū)動模塊,搭建單元測試環(huán)境;提供給學(xué)生零散的單元模塊及概要設(shè)計(jì)書,讓學(xué)生利用集成測試策略實(shí)施集成測試。
(五)選擇適當(dāng)測試工具進(jìn)行案例測試
教材上簡略介紹了十幾種測試工具的功能,但實(shí)際使用方法缺乏資料。在教學(xué)中,我們選擇代表性的CodeReview、Nunit、QTP三種工具進(jìn)行代碼檢查、面向?qū)ο鬁y試、錄制測試過程及編寫測試腳本,幫助學(xué)生掌握常用工具使用方法。
在教學(xué)過程中,引導(dǎo)學(xué)生分析測試工具的實(shí)現(xiàn)原理,啟發(fā)學(xué)生從不同的側(cè)重點(diǎn)去思考測試自動化工具的設(shè)計(jì)及實(shí)現(xiàn)方法。
四、后續(xù)教學(xué)改革構(gòu)想
(一)教學(xué)進(jìn)度的調(diào)整
計(jì)算機(jī)課程的實(shí)驗(yàn)教學(xué),通常和理論課同步或遲后幾周進(jìn)行。對于“軟件測試”這門課程的實(shí)驗(yàn)教學(xué),如果與理論課同步進(jìn)行,前期的實(shí)驗(yàn)內(nèi)容安排就缺乏理論支持,如果比理論課遲后幾次,即在講述白盒測試和黑盒測試后開始實(shí)驗(yàn)教學(xué),就可以將各種測試方法融入實(shí)驗(yàn)中進(jìn)行。但由于軟件測試過程及技術(shù)、測試文檔書寫相關(guān)內(nèi)容還未講述,實(shí)驗(yàn)內(nèi)容的安排顯得孤立,沒有整體感。為了讓學(xué)生體驗(yàn)軟件測試在實(shí)際工作環(huán)境中的實(shí)施過程,將理論課講述的知識有機(jī)地融入到完整的案例中進(jìn)行實(shí)驗(yàn),就需要系統(tǒng)地學(xué)習(xí)完理論知識后,再結(jié)合實(shí)際案例系統(tǒng)地進(jìn)行實(shí)驗(yàn)。
以后的教學(xué)中,擬打破傳統(tǒng)的周4學(xué)時,即理論2+實(shí)驗(yàn)2的排課模式,將一個學(xué)期分為理論上半學(xué)期,實(shí)驗(yàn)下半學(xué)期,上半學(xué)期周4學(xué)時用于結(jié)合案例進(jìn)行理論教學(xué),下半學(xué)期周4學(xué)時針對理論課講述的案例進(jìn)行實(shí)驗(yàn)教學(xué),以便學(xué)生能夠模擬實(shí)際工作環(huán)境進(jìn)行系統(tǒng)的軟件測試實(shí)驗(yàn)。
(二)相關(guān)課程連貫教學(xué)
軟件測試課程是伴隨軟件行業(yè)的迅猛發(fā)展而誕生的,在此之前,軟件測試隸屬于軟件工程課程進(jìn)行教學(xué)。由于軟件測試伴隨軟件的整個生命周期,因此,軟件測試課程的理論教學(xué)和實(shí)驗(yàn)教學(xué),必須貫穿于軟件開發(fā)的全過程。在以后的教學(xué)中,對軟件工程專業(yè)的學(xué)生,擬采用課程連貫教學(xué)法,通過編程語言課程、軟件工程、編程實(shí)訓(xùn)課程、軟件測試課程相結(jié)合的方式,采用同案例、跨學(xué)期的方法進(jìn)行連貫教學(xué),即在某一編程語言教學(xué)中引入案例,進(jìn)行案例片段程序的講解,在軟件工程課程中進(jìn)行系統(tǒng)設(shè)計(jì),在實(shí)訓(xùn)課程中實(shí)現(xiàn)案例,在軟件測試課程中進(jìn)行測試的一系列訓(xùn)練。這樣,便于學(xué)生將所學(xué)知識關(guān)聯(lián)起來,了解課程之間的聯(lián)系和軟件項(xiàng)目開發(fā)的流程,讓學(xué)生通過兩至三學(xué)期的時間去消化幾門課程的同時,體會一個項(xiàng)目開發(fā)的全過程。
五、結(jié)束語
各高校、職業(yè)技術(shù)學(xué)校和職業(yè)培訓(xùn)機(jī)構(gòu)都相繼開設(shè)了軟件測試課程,在這門課的教學(xué)過程中,教師們不斷摸索新的教學(xué)方法和教學(xué)手段,取得了一定的成果。但由于計(jì)算機(jī)行業(yè)日新月異的發(fā)展,也給軟件的測試帶來了挑戰(zhàn)。因此,在教學(xué)過程中,教師必須關(guān)注行業(yè)發(fā)展的前沿,提出軟件測試過程中亟待解決的問題,啟發(fā)學(xué)生去思考并尋求解決的方法。同時,教師應(yīng)盡可能參與實(shí)際項(xiàng)目開發(fā),為理論及實(shí)驗(yàn)教學(xué)積累實(shí)用真實(shí)的案例資源。
參考文獻(xiàn)
[1]劉德寶.軟件測試工程師培訓(xùn)教材[M] .北京:科學(xué)出版社,2009.
中圖分類號: TP311.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)24-5462-02
軟件測試是軟件開發(fā)中的一個重要環(huán)節(jié),國內(nèi)軟件開發(fā)與測試人員的比例嚴(yán)重失調(diào),市場對軟件測試人員的需求量很大。同時,軟件測試作為新興行業(yè),發(fā)展前景好、空間大,薪酬待遇好;工作地點(diǎn)以北京、上海、廣州等IT產(chǎn)業(yè)發(fā)達(dá)、環(huán)境好的一線城市為主。目前市場上急缺的就是初、中級軟件測試工程師,這正是高職院校的人才培養(yǎng)目標(biāo)。
蘭州石化職業(yè)技術(shù)學(xué)院于2011年開辦軟件測試專業(yè),目前第一批畢業(yè)生已經(jīng)走向社會,進(jìn)行頂崗實(shí)習(xí),接受社會的檢驗(yàn)。在專業(yè)建設(shè)的不斷實(shí)踐和探索中,如何做好、做強(qiáng)軟件測試專業(yè)是我們一直思考的問題。
1 專業(yè)建設(shè)依托區(qū)域經(jīng)濟(jì)發(fā)展
高職院校每個專業(yè)的建設(shè)都應(yīng)充分依托區(qū)域經(jīng)濟(jì)發(fā)展,體現(xiàn)行業(yè)特色。甘肅省“十二五”規(guī)劃明確指出:“十二五”期間,將以蘭州、天水、平?jīng)鰹楹诵?,聚集?yōu)勢資源,進(jìn)一步擴(kuò)大集成電路、新型元器件、軟件等電子信息產(chǎn)品和產(chǎn)業(yè)規(guī)模,建設(shè)天水電子科技產(chǎn)業(yè)園、蘭州軟件產(chǎn)業(yè)園、西北云計(jì)算中心等園區(qū),支持蘭州市創(chuàng)建國家級軟件和信息技術(shù)服務(wù)業(yè)示范基地,爭創(chuàng)中國軟件名城[1]。面臨巨大的市場機(jī)遇和挑戰(zhàn),軟件測試專業(yè)如何進(jìn)一步把握市場需求,明確專業(yè)定位,確定人才培養(yǎng)模式,細(xì)化人才培養(yǎng)方案,構(gòu)建專業(yè)課程體系,進(jìn)一步開發(fā)課程資源,落實(shí)教學(xué)團(tuán)隊(duì)和實(shí)訓(xùn)基地建設(shè),是我們重點(diǎn)要解決的問題。
2 專業(yè)建設(shè)內(nèi)容
1)專業(yè)定位更加準(zhǔn)確,人才培養(yǎng)目標(biāo)具體化。進(jìn)一步加強(qiáng)專業(yè)建設(shè)與社會需求的緊密接軌,深入企業(yè)調(diào)研,加強(qiáng)市場分析,按照軟件測試工作過程所需的典型工作崗位提煉專業(yè)人才培養(yǎng)目標(biāo),將學(xué)生知識學(xué)習(xí)、技能提升、能力培養(yǎng)和素養(yǎng)形成融入整個教學(xué)過程,實(shí)現(xiàn)從學(xué)習(xí)者到工作者的角色轉(zhuǎn)換,努力培養(yǎng)適應(yīng)軟件測試崗位的職業(yè)技能強(qiáng)、綜合素質(zhì)高、具有可持續(xù)發(fā)展能力的高素質(zhì)技能型人才。
2)課程體系與崗位及崗位群緊密對接。加強(qiáng)對軟件測試企業(yè)的崗位調(diào)研,緊密跟蹤市場對本專業(yè)人才結(jié)構(gòu)、規(guī)模和質(zhì)量的需求變化,及時將本專業(yè)領(lǐng)域的新知識、新方法、新技術(shù)和新思想融入專業(yè)人才培養(yǎng)方案,對現(xiàn)有課程體系進(jìn)行持續(xù)改進(jìn)和優(yōu)化整合。加大理論實(shí)踐一體化課程、任務(wù)引領(lǐng)型課程在專業(yè)學(xué)習(xí)領(lǐng)域課程中的比重;根據(jù)課程特點(diǎn),整合教學(xué)內(nèi)容,構(gòu)建“公共學(xué)習(xí)領(lǐng)域”、“專業(yè)學(xué)習(xí)領(lǐng)域”和“拓展學(xué)習(xí)領(lǐng)域”三大模塊;進(jìn)一步優(yōu)化頂崗實(shí)習(xí)課程的設(shè)計(jì),完善相關(guān)管理制度和實(shí)施辦法;加強(qiáng)職業(yè)素質(zhì)課程的針對性與應(yīng)用性,加強(qiáng)所學(xué)知識與生活的聯(lián)系,提高為專業(yè)服務(wù)的能力[2]。
3)充分開發(fā)課程資源。在建立完備的課程體系基礎(chǔ)上,根據(jù)具體情況開發(fā)校本教材,豐富教材形態(tài)(包括課程標(biāo)準(zhǔn)、教材、教案、電子課件、在線學(xué)習(xí)課件、企事業(yè)案例、畢業(yè)實(shí)習(xí)案例、習(xí)題集、參考書等),建立具有明顯職業(yè)教育特色的課程和教材體系。要打破傳統(tǒng)的按照技術(shù)學(xué)科進(jìn)行教材編寫的模式,開發(fā)和推廣與軟件測試行業(yè)密切聯(lián)系的綜合性和案例式課程和教材。
4)加強(qiáng)軟件測試專業(yè)實(shí)訓(xùn)基地建設(shè)。在充分發(fā)揮現(xiàn)有實(shí)訓(xùn)基地效能的基礎(chǔ)上,深入其他同類院校和軟件企業(yè)內(nèi)部考察,了解市場用量最廣的軟件測試方法和新型的測試工具軟件,學(xué)習(xí)其先進(jìn)、高效的實(shí)訓(xùn)基地管理辦法,與企業(yè)專家共同討論符合高職學(xué)生特點(diǎn)的典型測試案例,探索校企互惠雙贏、長效合作共建校內(nèi)外實(shí)訓(xùn)基地的新思路。
5)優(yōu)化軟件測試專業(yè)人才培養(yǎng)方案。邀請企業(yè)專家、校內(nèi)專家、項(xiàng)目組成員和學(xué)生代表共同討論現(xiàn)有人才培養(yǎng)方案中存在的問題和不足,將前期的調(diào)研工作結(jié)果匯總、分析、提煉、篩選,結(jié)合新形式下的人才培養(yǎng)思路和學(xué)生特點(diǎn),進(jìn)一步優(yōu)化專業(yè)人才培養(yǎng)方案中的各個環(huán)節(jié),重新制定課程標(biāo)準(zhǔn),探討項(xiàng)目案例,細(xì)化教學(xué)過程,保證每一門課程開設(shè)的有效性和針對性。
3 專業(yè)建設(shè)思路
1)突出專業(yè)建設(shè)的開放性。軟件測試專業(yè)本著“高職教育、源于崗位、工學(xué)結(jié)合、融入企業(yè)”的理念,按照“專業(yè)知識+崗位技能+資格證書+職業(yè)素質(zhì)”的培養(yǎng)標(biāo)準(zhǔn),積極開展“產(chǎn)學(xué)結(jié)合”的辦學(xué)模式,注重行業(yè)、企業(yè)參與專業(yè)人才培養(yǎng)方案的研討和修訂。把企業(yè)搬進(jìn)校區(qū),把課堂搬上工作崗位,把教和練更加緊密的結(jié)合在一起,變學(xué)生被動學(xué)習(xí)為主動學(xué)習(xí),將專業(yè)知識理論教學(xué)和實(shí)踐教學(xué)有機(jī)融合,將專業(yè)知識學(xué)習(xí),崗位技能學(xué)習(xí),資格證書培訓(xùn),職業(yè)素質(zhì)教育連成一體,形成 “工學(xué)交替,雙螺旋上升”的人才培養(yǎng)模式[3]。
2)注重課程體系的完整性。通過與行業(yè)企業(yè)合作,針對畢業(yè)生可能面向的不同的潛在的就業(yè)崗位,如軟件測試員、缺陷分析員、測試組長等,按照“分解崗位工作任務(wù)確定工作能力設(shè)置課程體系開發(fā)教學(xué)資源”的專業(yè)建設(shè)思路,構(gòu)建“基于軟件測試工作過程”的專業(yè)課程體系。
3)凸顯課程設(shè)置的針對性。根據(jù)“倒推”理論,據(jù)崗設(shè)課,按照“崗位決定能力,能力決定課程”的主導(dǎo)思想,首先篩選軟件測試行業(yè)的崗位和崗位群,以及社會認(rèn)可度較高的職業(yè)資格證書;接下來獲取每個職業(yè)崗位的能力要求、專業(yè)知識結(jié)構(gòu)要求和職業(yè)素養(yǎng)要求;然后根據(jù)獲取的崗位能力要求,設(shè)置崗位能力課程;根據(jù)專業(yè)知識結(jié)構(gòu)要求,設(shè)置專業(yè)知識課程;根據(jù)職業(yè)素質(zhì)要求,設(shè)置職業(yè)素質(zhì)課程;根據(jù)職業(yè)技能取證要求,對應(yīng)取證課程;最后,根據(jù)高技能測試人才的成長規(guī)律組合課程,并考慮各課程之間的銜接關(guān)系及專業(yè)教學(xué)資源的配置與均衡,我們對同一階段的課程進(jìn)行排序,形成軟件測試專業(yè)課程體系的“倒推”鏈,即確定崗位及崗位群獲取崗位能力據(jù)崗設(shè)課組合和序化課程形成專業(yè)課程體系[4]。
4 思考與總結(jié)
蘭州石化職業(yè)技術(shù)學(xué)院地處西部欠發(fā)達(dá)地區(qū),通過不斷與沿海發(fā)達(dá)地區(qū)的軟件企業(yè)深度合作,不斷交流專業(yè)技術(shù),聘請IT培訓(xùn)機(jī)構(gòu)名師親臨指導(dǎo),目前學(xué)院的軟件測試專業(yè)已經(jīng)成功探索出了一條適合自己發(fā)展的專業(yè)建設(shè)之路。但在IT市場新技術(shù)不斷更新、飛速發(fā)展的嚴(yán)峻形勢下,我們還需進(jìn)一步解放思想,開拓創(chuàng)新,迎接新的挑戰(zhàn)。
參考文獻(xiàn):
[1] 甘肅新聞網(wǎng)[EB/OL].http://.
中圖分類號:G64文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)14-3353-02
Course System Research of Software Testing Technology Based on Demand of Talent Market
ZHENG Hao, LIU Jian-fang
(Pingdingshan University, Pingdingshan 467000, China)
Abstract: This paper analyze the actual needs of talent market at first, and then set up the Curriculum system based on the software testing theory and technology. Paying more attention on the application, we want to construct course system to meet the market, which has deep foundation and strong skills. All of these promote the quality of the professional course.
Key words: Market requirement; software testing; Curriculum system
最近的年度軟件測試行業(yè)專項(xiàng)調(diào)查報(bào)告顯示,社會對軟件測試人才的需求越來越大,可人才市場提供的人力資源、實(shí)際能力卻不能滿足這種需求。目前國內(nèi)對測試人才職業(yè)化培養(yǎng)體系還不夠充分,現(xiàn)行的傳統(tǒng)教育體制重學(xué)歷教育,輕職業(yè)技能培訓(xùn),導(dǎo)致了軟件測試人才告急。如何結(jié)合人才市場的實(shí)際需求,構(gòu)建適合的課程培養(yǎng)體系,成為軟件測試課程改革迫在眉睫的問題。
1中國軟件測試行業(yè)的市場需求分析
在我國,軟件產(chǎn)業(yè)的興起和發(fā)展也就是這短短十幾年。在前面的興起和發(fā)展壯大階段,一般的軟件公司都是重開發(fā)輕測試,甚至存在把測試工作都放在用戶那里去做的錯誤思想;追求眼前功能的實(shí)現(xiàn),開發(fā)軟件追求“短”、“平”、“快”。不太考慮性能和功能的優(yōu)化。軟件測試以往一直被中小IT企業(yè)所忽視,只有一些知名企業(yè)才有專門的軟件測試人員。
現(xiàn)在,更多的國內(nèi)企業(yè)認(rèn)識到測試的重要性,但是由于國內(nèi)測試人才的儲備相對較少,據(jù)國家權(quán)威部門統(tǒng)計(jì),中國軟件人才缺口超過100萬人,其中很大一部分為軟件測試人才,缺口達(dá)到30~40萬。但由于軟件測試的重要性是近幾年才被充分認(rèn)識到的,高校教育和企業(yè)培養(yǎng)都還沒有跟上,致使軟件測試需求嚴(yán)重供不應(yīng)求。
分析年度軟件測試行業(yè)專項(xiàng)調(diào)查報(bào)告,目前對測試人員的素質(zhì)和要求逐步提高,測試人員不僅應(yīng)掌握相關(guān)計(jì)算機(jī)知識背景、軟件工程基本知識、熟悉項(xiàng)目編程語言、熟悉項(xiàng)目技術(shù)架構(gòu)及需求內(nèi)容,而且要求工作有責(zé)任感、獨(dú)立分析能力及團(tuán)隊(duì)精神等方面。其中“動手能力”和“實(shí)際經(jīng)驗(yàn)”是軟件企業(yè)在招聘軟件測試人員時最為看重的,而這也恰恰是很多求職者的“軟肋”。
2現(xiàn)有軟件測試課程體系存在的問題
2007年,我校軟件學(xué)院認(rèn)證管理中心被授予計(jì)算機(jī)軟件測試人才培養(yǎng)基地。軟件學(xué)院軟件工程專業(yè)以及軟件技術(shù)專業(yè)均開設(shè)有軟件測試相關(guān)課程。由于軟件測試是一門實(shí)踐性很強(qiáng)的課程,應(yīng)采用精講多練的原則開展教學(xué),即學(xué)生通過大量的上機(jī)實(shí)踐,循序漸進(jìn)地提高自身的軟件測試用例設(shè)計(jì)、開發(fā)、執(zhí)行能力以及軟件測試的管理能力。但在具體實(shí)踐教學(xué)組織中,教師普遍感覺有許多不如意的地方,具體存在的問題有:
1)對實(shí)踐課程的認(rèn)識程度和重視程度不夠,軟件測試開展的不夠徹底,測試過程中存在大量的不規(guī)范性;
2)缺乏合適的教材,同時教師缺乏相應(yīng)的實(shí)戰(zhàn)經(jīng)驗(yàn),導(dǎo)致教學(xué)上知識結(jié)構(gòu)不合理,教學(xué)內(nèi)容與具體應(yīng)用脫節(jié),盡管教師都能很好的講解軟件測試?yán)碚撝R,但卻由于缺乏合適的測試案例,沒有將理論教學(xué)內(nèi)容和最新相關(guān)技術(shù)結(jié)合,使得學(xué)生思維局限性大,并沒有真正提高學(xué)生自主思考的能力和創(chuàng)造性思維。
3)教學(xué)方法和手段因循守舊,學(xué)生對軟件測試職業(yè)存在一些片面的,甚至是錯誤的理解。
3基于人才市場需求的《軟件測試技術(shù)》課程體系研究
基于人才市場需求的軟件測試技術(shù)課程體系研究主要是分析目前人才市場對軟件測試行業(yè)人才的崗位需求,掌握軟件測試人才需要具備的職業(yè)素質(zhì),同時調(diào)查研究在學(xué)生對前續(xù)課程的掌握情況,以及目前所具備的相關(guān)職業(yè)素養(yǎng)的程度,計(jì)劃從技術(shù)、溝通協(xié)調(diào)能力、經(jīng)驗(yàn)和技能、綜合素質(zhì)能力等方面分別對崗位需求和學(xué)生水平展開調(diào)研。
3.1課程體系目標(biāo)定位
我校軟件工程專業(yè)的培養(yǎng)目標(biāo)是培養(yǎng)適應(yīng)社會發(fā)展需求,具有扎實(shí)的計(jì)算機(jī)知識基礎(chǔ),掌握軟件工程領(lǐng)域的前沿技術(shù)和軟件開發(fā)方法,具有較強(qiáng)的軟件實(shí)踐能力和創(chuàng)新精神,具備較強(qiáng)的軟件項(xiàng)目的分析、設(shè)計(jì)、開發(fā)和維護(hù)能力,能夠按照工程化的原則和方法從事軟件開發(fā)和管理的應(yīng)用型人才。
作為該專業(yè)的一門專業(yè)必修課,為構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。將以軟件技術(shù)為基礎(chǔ),測試?yán)碚撆c技術(shù)為核心,進(jìn)行課程體系設(shè)置。理論教學(xué)目的是讓學(xué)生深刻理解軟件測試思想和基本理論;熟悉多種軟件的測試方法、相關(guān)技術(shù)和系統(tǒng)地軟件測試過程;會熟練編寫測試計(jì)劃,測試用例,測試報(bào)告,并熟悉幾種自動化測試工具,從而從工程化角度提高和培養(yǎng)學(xué)生從事大型軟件的測試技術(shù)和能力。
同時在實(shí)踐環(huán)節(jié),要求學(xué)生通過實(shí)驗(yàn)學(xué)習(xí),培養(yǎng)與提高項(xiàng)目測試過程中采用的主要技術(shù)、設(shè)計(jì)測試用例、編寫測試總結(jié)報(bào)告等能力,激發(fā)學(xué)生創(chuàng)新精神和創(chuàng)新能力,具體應(yīng)達(dá)到下列基本要求。1)使學(xué)生掌握分析問題和解決問題的技巧,通過具體實(shí)驗(yàn)使學(xué)生掌握常用的黑盒測試技術(shù)、白盒測試技術(shù)、自動化測試工具。2)讓學(xué)生了解測試流程,掌握測試總結(jié)報(bào)告的編寫。通過實(shí)驗(yàn)使學(xué)生理解軟件缺陷的描述,并能結(jié)合項(xiàng)目設(shè)計(jì)出較完善的測試用例。
3)了解Web系統(tǒng)的測試范圍,使學(xué)生能在應(yīng)用場景下聯(lián)系實(shí)際和所學(xué)知識分析和解決問題,縮短理論和實(shí)踐的距離。
3.2課程教學(xué)內(nèi)容選取
結(jié)合課程體系目標(biāo)定位,該課程在教學(xué)內(nèi)容選取上主要是基于人才市場需求,厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用。總學(xué)時共72學(xué)時,其中理論和實(shí)踐各36學(xué)時。結(jié)合課堂教學(xué)和實(shí)踐教學(xué),軟件測試技術(shù)課程包括以下幾部分:
1)軟件測試基本理論及方法:包括軟件測試的概念、測試的原則、用例的設(shè)計(jì)、各種測試方法及技巧,測試策略。同時通過實(shí)驗(yàn)掌握軟件測試的步驟、方法及常見問題的處理。
2)測試流程及文檔寫作:軟件測試流程、各階段的文檔編寫;書寫測試計(jì)、測試用例、測試報(bào)告、產(chǎn)品安裝手冊、產(chǎn)品使用手冊。在實(shí)踐環(huán)節(jié),通過SATM系統(tǒng)讓學(xué)生掌握軟件測試流程各個階段的相關(guān)技術(shù)、測試相關(guān)文檔的寫作技巧。
3)系統(tǒng)學(xué)習(xí)軟件測試的各種工具,包括:自動測試工具WinRunner;壓力測試工具LoadRunner;測試管理工具Testdirector;流程管理工具CVS;JAVA單元測試工具Junit。要求學(xué)生掌握自動化測試?yán)碚撆c方法,熟練使用常見測試工具。
4)軟件過程控制與質(zhì)量保證:軟件質(zhì)量的概念及軟件質(zhì)量管理的基本方法;測試項(xiàng)目的范圍管理、人員組織結(jié)構(gòu)、理解測試的配置管理、風(fēng)險(xiǎn)管理、成本管理等。
5)項(xiàng)目實(shí)訓(xùn):引入具有真實(shí)企業(yè)背景的軟件測試案例,充分考慮人才市場的需求,突出強(qiáng)調(diào)工學(xué)結(jié)合的重要性。通過實(shí)際項(xiàng)目掌握實(shí)際工作中開發(fā)和測試的流程,使用相關(guān)工具,完成各種測試目標(biāo),實(shí)現(xiàn)軟件測試實(shí)踐環(huán)節(jié)單項(xiàng)專業(yè)知識與整體技能綜合運(yùn)用的目標(biāo),提高測試能力和積累相關(guān)經(jīng)驗(yàn)。
3.3課程教學(xué)方法設(shè)計(jì)
為構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系,在教學(xué)過程中,需要把技能訓(xùn)練和職業(yè)素質(zhì)培養(yǎng)有機(jī)結(jié)合起來,注重學(xué)生綜合能力的培養(yǎng)與提高,突出強(qiáng)調(diào)職業(yè)崗位針對性。提高學(xué)生綜合運(yùn)用所學(xué)知識發(fā)現(xiàn)問題、分析問題、解決問題的能力,進(jìn)而培養(yǎng)學(xué)生的技術(shù)應(yīng)用和技術(shù)創(chuàng)新能力。在教學(xué)方法設(shè)計(jì)上做了一下改進(jìn):
1)突出工學(xué)結(jié)合:在講解基本理論知識的基礎(chǔ)上,引入具有真實(shí)背景的軟件測試案例,并結(jié)合理論知識講解將案例進(jìn)行改造,使案例的分析應(yīng)用與理論知識相呼應(yīng)。目前市場上IT公司在招聘測試人員時按照所需技能的不同,將測試人員分為三個等級,分別為初級測試工程師、中級測試工程師和高級測試工程師。分析不同等級的要求,在教學(xué)過程中,主要針對初級和中級的技能要求循序漸近的展開教學(xué)。使通過此教學(xué)改進(jìn),既彌補(bǔ)了教師缺乏實(shí)戰(zhàn)經(jīng)驗(yàn)帶來的不足,也使學(xué)生能較真實(shí)的接觸到實(shí)際應(yīng)用,從一定程度上實(shí)現(xiàn)了人才培養(yǎng)與市場需求的接軌。
2)強(qiáng)調(diào)團(tuán)隊(duì)合作:在教學(xué)過程中實(shí)施“1-7”模式,即在實(shí)驗(yàn)課教學(xué)中,采用團(tuán)隊(duì)合作的方式,分組完成各項(xiàng)任務(wù)。在實(shí)驗(yàn)初期由教師合理分配各團(tuán)隊(duì)成員間的任務(wù),培養(yǎng)學(xué)生的基本崗位技能。經(jīng)過兩個實(shí)驗(yàn)任務(wù)的完成,每個團(tuán)隊(duì)挑出一名同學(xué)為項(xiàng)目組長,模擬公司招聘的形式,招聘4~6個組員組建自己的團(tuán)隊(duì)。后期實(shí)驗(yàn)任務(wù)的分工由團(tuán)隊(duì)組長負(fù)責(zé)項(xiàng)目進(jìn)展、分工協(xié)作、制定測試計(jì)劃等工作,其他小組成員則按要求完成自己的工作,如編寫測試策略、設(shè)計(jì)測試用例、撰寫測試報(bào)告等,教師主要起引導(dǎo)作用,充分發(fā)揮以學(xué)生為主體。為了全面培養(yǎng)學(xué)生,在不同的任務(wù)中,組員通過角色互換,充分發(fā)揮其溝通能力及綜合技術(shù)能力。在學(xué)期末,通過團(tuán)隊(duì)評比,以提高平時成績的形式對表現(xiàn)優(yōu)秀的團(tuán)隊(duì)進(jìn)行獎勵。通過此教學(xué)手段,可以培養(yǎng)加強(qiáng)學(xué)生面試技巧、溝通能力、團(tuán)隊(duì)意識、競爭意識等職業(yè)素質(zhì)的培養(yǎng)。
4結(jié)束語
基于人才市場需求的《軟件測試技術(shù)》課程體系研究定位在對人才市場的實(shí)際需求分析之上,針對軟件測試人才的特點(diǎn)要求,把行業(yè)、企業(yè)對人才的要求轉(zhuǎn)化為教學(xué)中的具體目標(biāo)。構(gòu)建厚基礎(chǔ)、強(qiáng)技能、注重技術(shù)應(yīng)用的適合應(yīng)用性人才培養(yǎng)的課程體系。
參考文獻(xiàn):
[1]朱少民.軟件測試方法和技術(shù)[M].北京:清華大學(xué)出版社,2010.
[2]古樂.軟件測試案例與實(shí)踐教程[M].北京:清華大學(xué)出版社,2007.
[3]馬民生,馬友忠,任剛.以就業(yè)為導(dǎo)向的軟件測試實(shí)踐課課程改革[J].電腦知識與技術(shù),2010(4):241-242.
關(guān)鍵詞: 軟件第三方測試;質(zhì)量評測;開發(fā)成本;規(guī)范;驗(yàn)收
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)28-7982-03
Problem Analysis and Suggestions for Third-Party Software Testing
ZHOU Ping,WU Wei-wei
(Tongji university, Shanghai 201804, China)
Abstract: This paper analyzed the development situation of software testing in foreign and domestic,and then arrived at the third-party software testing. It next introduced the present application situation of third-party software testing in domestic. Then, it focused on the problems existing in the executing process of third-party software testing. Based on the problems those were discussed, it proposed some suggestions for the long-term development of third-party software testing and prospected the future of it.
Key words: third-party software testing; quality evaluation; development cost; specification; acceptance
隨著社會對信息化依賴程度的不斷加深,軟件的種類和數(shù)量也越來越多,軟件行業(yè)也因此由“賣方市場”轉(zhuǎn)變?yōu)椤百I方市場”。在供過于求的情況下,軟件用戶必然會對軟件質(zhì)量提出更高的要求。國家應(yīng)用軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心總工程師鞠琳博士在《提升軟件質(zhì)量,推進(jìn)行業(yè)信息化》主題演講中提到美國國家標(biāo)準(zhǔn)和技術(shù)機(jī)構(gòu)(NIST)近期的一項(xiàng)研究發(fā)現(xiàn):軟件的自身缺陷使美國經(jīng)濟(jì)每年要付出近600億美元的代價(jià),其中80%的資金被開發(fā)人員用于確定和糾正軟件缺陷。據(jù)調(diào)查,國際上軟件開發(fā)人員與測試人員的比例大都在1:1,軟件測試收入占軟件總產(chǎn)值的20%,而國內(nèi)軟件產(chǎn)業(yè)尚未形成這種狀態(tài)。
1 國內(nèi)外軟件測試工程發(fā)展現(xiàn)狀
軟件測試是許多軟件交付用戶前的最后一個環(huán)節(jié),是保證軟件質(zhì)量的主要手段[1]。國外的軟件廠商極為重視軟件測試工作,軟件開發(fā)成本中的30%-50%用于軟件測試。為打造Windows 2000,微軟用了250多個項(xiàng)目經(jīng)理、1700多個開發(fā)人員,而測試人員則用了3200人,測試人員幾乎是開發(fā)人員的兩倍[2]。每修改一個錯誤,都要花費(fèi)大量時間和精力確保沒有新錯誤產(chǎn)生。目前,國外軟件測試工作已經(jīng)演變?yōu)橐婚T獨(dú)立的學(xué)科,囊括了配置方案、測試機(jī)制、跨平臺策略和產(chǎn)品性能、穩(wěn)定性等獨(dú)立的知識模塊。
雖然國內(nèi)許多大中型軟件企業(yè)已經(jīng)開始意識到軟件質(zhì)量的重要性,很多軟件企業(yè)也已經(jīng)配備了質(zhì)量保證體系以及企業(yè)內(nèi)部的測試隊(duì)伍,但在軟件項(xiàng)目面臨時間壓力、必須加快研制速度的情況下,通常測試會成為換取項(xiàng)目進(jìn)度的犧牲品[3]。除此之外,由于許多企業(yè)軟件工程過程管理不力,甚至缺乏管理,致使軟件產(chǎn)品文檔和資料不齊全,缺乏統(tǒng)一標(biāo)準(zhǔn),消化理解困難,特別嚴(yán)重的是,有時小的需求錯誤,經(jīng)過多次開發(fā)放大,到后來牽一發(fā)動全身以至于不可收拾。
令人欣喜的是,隨著軟件產(chǎn)業(yè)的發(fā)展,國內(nèi)越來越多的第三方測試機(jī)構(gòu)應(yīng)運(yùn)而生。第三方測試作為獨(dú)立的測試服務(wù)機(jī)構(gòu),其相對于軟件開發(fā)企業(yè)的內(nèi)部測試及用戶測試具有很多優(yōu)勢。首先,第三方測試以合同的形式制約了測試方,使得它與開發(fā)方之間存在某種“對立”的關(guān)系,所以它不會刻意維護(hù)開發(fā)方的利益,能夠保證測試的客觀性;其次,獨(dú)立測試在長期的工作過程中勢必能夠積累大量的實(shí)踐經(jīng)驗(yàn),形成自己的專業(yè)優(yōu)勢。并且軟件工程測試也是技術(shù)含量很高的工作,需要有專業(yè)隊(duì)伍加以研究,并進(jìn)行工程實(shí)踐。長期的實(shí)踐積累加持續(xù)深入地學(xué)習(xí),使得第三方測試具有難以比擬的優(yōu)越性。再次,第三方測試機(jī)構(gòu)的主要任務(wù)就是進(jìn)行獨(dú)立測試工作,這使得測試工作在經(jīng)費(fèi)、人力和計(jì)劃方面更有保證。不會因?yàn)殚_發(fā)的壓力而減少對測試的投人,降低測試的充分性,可以避免目前開發(fā)單位普遍存在的重開發(fā)、輕測試的現(xiàn)象。最后,開發(fā)人員由于對軟件產(chǎn)品的設(shè)計(jì)、編碼等過程都比較熟悉,容易養(yǎng)成思維定勢[4],以至于在測試過程中思路比較有限,采用第三方測試能有效地避免這一問題。
伴隨著軟件生產(chǎn)規(guī)模的擴(kuò)大和用戶對軟件質(zhì)量要求的提高,第三方測試的優(yōu)勢也將日益明顯,在今后的發(fā)展中軟件第三方測試必然會得到更多軟件用戶和軟件企業(yè)的認(rèn)可。
2 軟件第三方測試的應(yīng)用現(xiàn)狀
從國外的經(jīng)驗(yàn)來看,軟件測試工作已逐漸由專業(yè)的第三方來承擔(dān)。第三方測試工程主要包括需求分析審查、設(shè)計(jì)審查、代碼審查、單元測試、功能測試、性能測試、可恢復(fù)性測試、資源消耗測試、并發(fā)測試、健壯性測試、安全測試、安裝配置測試、可移植性測試、文檔測試以及最終的驗(yàn)收測試等十余項(xiàng)。測試并不僅僅是為了要找出錯誤,測試方還需要對錯誤進(jìn)行歸類和總結(jié)[5]。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn),從而更好地幫助用戶。
軟件第三方測試是軟件開發(fā)方和用戶出于不同目的共同選擇。隨著軟件全球化競爭的日益加劇,用戶對軟件質(zhì)量的要求也隨之提高。為了提高軟件質(zhì)量,降低軟件開發(fā)成本,許多軟件開發(fā)方已經(jīng)逐步將部分測試業(yè)務(wù)交給第三方負(fù)責(zé)。與此同時,對于應(yīng)用軟件、甚至系統(tǒng)軟件,大多數(shù)用戶都不是很熟悉其特性,質(zhì)量評測基本難以進(jìn)行,迫切需要專業(yè)的機(jī)構(gòu)對開發(fā)方提供的軟件給予客觀的測試。正是由于采用第三方測試可以保證測試的獨(dú)立性、客觀性及第三方具有的測試的專業(yè)性使得第三方測試越來越成為用戶的首選。
目前在國內(nèi),雖然軟件第三方測試的發(fā)展還處于起步階段,但已經(jīng)有許多軟件企業(yè)開始認(rèn)識到軟件質(zhì)量的重要性,選擇第三方測試的軟件企業(yè)和用戶都越來越多。在一些重要計(jì)算機(jī)軟件應(yīng)用領(lǐng)域,如金融、安全、航空、航天以及軍事等方面,已經(jīng)有不少用戶開始頒布測試規(guī)定,要求第三方測試,并在逐步將軟件測試通過合同關(guān)系委托第三方承擔(dān)[6]。在通信領(lǐng)域,手機(jī)等產(chǎn)品的軟件需要第三方測試后才可交付使用。在已經(jīng)進(jìn)行的一些工程項(xiàng)目當(dāng)中,軟件測試都取得了確保軟件產(chǎn)品質(zhì)量的預(yù)期效果,逐步被軟件用戶和軟件企業(yè)所認(rèn)可。
3 軟件第三方測試在實(shí)施中遇到的問題
目前,軟件第三方測試在國內(nèi)已經(jīng)興起,隨著社會信息化程度的提高、軟件大生產(chǎn)的發(fā)展,軟件第三方測試必將在國內(nèi)盛行。但由于軟件第三方測試在國內(nèi)還處于起步階段,在具體的實(shí)施中不可避免地遇到了如下一些困難和問題。
1)軟件企業(yè)對測試仍不夠重視,重開發(fā)、輕測試的現(xiàn)象在國內(nèi)許多軟件企業(yè)中仍普遍存在。由于對軟件測試的不重視,常常導(dǎo)致軟件產(chǎn)品的售后服務(wù)費(fèi)用大大增加,從而使得軟件產(chǎn)品的成本大幅度提高。成本的增加又導(dǎo)致軟件公司考慮到資金問題不愿意增加投入為軟件做第三方測試,即使做,給第三方軟件測試公司的報(bào)價(jià)也是極低的。軟件企業(yè)陷入了這樣的死循環(huán),作為軟件測試的第三方,面臨的問題是回報(bào)低但工作量又十分龐大,使得軟件測試公司沒有盈利的空間,這就成為制約第三方測試公司發(fā)展的一個瓶頸。
2)用戶和測試機(jī)構(gòu)都還不夠成熟,對第三方的認(rèn)識還比較粗淺,工程實(shí)施過程比較隨意,項(xiàng)目水平不盡如人意。
3)用戶、開發(fā)方和第三方的責(zé)任與權(quán)利常常劃分不明確。在實(shí)際的第三方測試實(shí)施過程中,有些用戶甚至軟件開發(fā)商,容易將軟件質(zhì)量的高低完全寄托于第三方評測服務(wù)商,一旦軟件達(dá)不到系統(tǒng)設(shè)計(jì)的質(zhì)量效果,就歸罪于第三方。這種認(rèn)識很打擊測試人員的積極性,軟件中的錯誤可能發(fā)生在軟件項(xiàng)目的各個環(huán)節(jié),軟件測試只能確認(rèn)軟件存在錯誤,不能保證軟件沒有錯誤,軟件測試不可能發(fā)現(xiàn)全部的錯誤。
4)三方關(guān)系的協(xié)調(diào)問題。軟件第三方測試的形式一般是第三方評測服務(wù)商與軟件用戶之間簽訂合同,但實(shí)際工作中往往需要軟件開發(fā)方的密切配合,因此能否處理好用戶、開發(fā)商與第三方之間的關(guān)系,在很大程度上影響第三方測試的效率和質(zhì)量。
5)許多國家機(jī)構(gòu)也發(fā)現(xiàn)軟件第三方測試市場,他們對企業(yè)軟件進(jìn)行測試,發(fā)放國家認(rèn)可的證書。這就給民間的第三方軟件測試公司的成立帶來了很大的壓力,這些企業(yè)的創(chuàng)辦者經(jīng)過測試很難給企業(yè)發(fā)放這些證書。所以許多軟件企業(yè)紛紛停止這項(xiàng)業(yè)務(wù),而轉(zhuǎn)入更容易賺錢的其他項(xiàng)目,比如軟件測試培訓(xùn)。而需要第三方軟件測試的企業(yè)也找國家直屬的企業(yè)進(jìn)行產(chǎn)品認(rèn)證。
6)軟件大企業(yè)測試的競爭。許多產(chǎn)品往往都需要進(jìn)行第三方測試,比如軟件本地化測試。微軟的產(chǎn)品,生產(chǎn)一個就要產(chǎn)生世界各地的本地化版本,如果這些工作都讓微軟來做,得不償失。而國內(nèi)許多大企業(yè),他們一直與這些大的國際企業(yè)有著長年的友好關(guān)系。他們往往可以接下這種測試任務(wù),在社會上招聘測試工程師,宣稱赴某大公司工作,然而項(xiàng)目一旦完畢,就將這些人員解散。
總之,由于沒有建立起一套正規(guī)的游戲規(guī)則,給軟件第三方軟件測試的發(fā)展帶來了許多不利因素。雖然業(yè)界已經(jīng)認(rèn)識到了第三方測試的重要性,但是在目前條件下第三方測試發(fā)展的道路仍舊十分艱難。
4 軟件第三方測試發(fā)展的一些建議
軟件第三方測試是測試工程未來的發(fā)展趨勢,但由于第三方測試在國內(nèi)尚處于起步階段,其在具體的實(shí)施過程中不可避免地遇到了種種困難和問題。針對目前第三方測試在實(shí)際項(xiàng)目實(shí)施中遇到的問題,筆者給出以下幾點(diǎn)建議。
1)切實(shí)提高軟件企業(yè)及軟件用戶的產(chǎn)品質(zhì)量意識。不論是對于軟件企業(yè)還是軟件用戶,質(zhì)量管理的薄弱都會為其帶來不可估量的損失。對軟件企業(yè)而言,如果因軟件質(zhì)量的不過關(guān),導(dǎo)致用戶蒙受損失,其必將失去客戶的信任,從而影響自身的發(fā)展。對軟件用戶而言,嚴(yán)格的軟件質(zhì)量控制關(guān)系到自身的切身利益。軟件質(zhì)量缺陷問題為軟件使用方帶來諸多不便、甚至讓軟件用戶蒙受巨額損失的例子比比皆是[7]。因此,作為專業(yè)測試的第三方,必須加大軟件質(zhì)量意識方面的宣傳,只有軟件企業(yè)和軟件用戶的質(zhì)量意識提高了,軟件第三方測試才會有更大的發(fā)展空間。
2)規(guī)范軟件第三方測試市場。面對日益增大的市場需求,不少軟件第三方測評中心紛紛建立,甚至有些企業(yè)購買一兩套自動化測試工具就成立了軟件測試中心。其結(jié)果可想而知,測試過的軟件質(zhì)量不過關(guān),用戶不滿意,導(dǎo)致用戶失去了對第三方測試的信任,制約了第三方測試的發(fā)展。筆者建議不要盲目建立測試機(jī)構(gòu),搞重復(fù)建設(shè)。要規(guī)范軟件測試市場,對測試結(jié)構(gòu)進(jìn)行整合,建立較大規(guī)模的權(quán)威測評機(jī)構(gòu),做到測試不是走過場,真正達(dá)到提高軟件質(zhì)量的目的。
3)制定合理的項(xiàng)目驗(yàn)收標(biāo)準(zhǔn)。項(xiàng)目驗(yàn)收的技術(shù)標(biāo)準(zhǔn)是第三方合同中必須重點(diǎn)解決的關(guān)鍵問題。合理、明確、符合軟件測試技術(shù)特點(diǎn)的驗(yàn)收標(biāo)準(zhǔn),能夠明確測試方的責(zé)任,無論是對測試方還是用戶都有好處。驗(yàn)收標(biāo)準(zhǔn)應(yīng)面向測試的整個過程并具有可操作性,這樣便于測試完成后用戶的驗(yàn)收[8]。對大型系統(tǒng)的第三方測試建議重點(diǎn)面向有效性指標(biāo)制定驗(yàn)收標(biāo)準(zhǔn)。
4)加大軟件測試人才建設(shè)。在國外,有三年以上開發(fā)經(jīng)驗(yàn)的人員才可以轉(zhuǎn)做軟件測試工作。而國內(nèi)恰恰相反,往往是剛剛參加工作的新人被安排在測試的崗位上,導(dǎo)致測試人員的業(yè)務(wù)素質(zhì)普遍較低。2004年原國家信息產(chǎn)業(yè)部聯(lián)合五部委頒布124號文件,強(qiáng)調(diào)要“加快培養(yǎng)軟件測試人才,開展軟件評測技術(shù)的研究”為軟件測試人才的培養(yǎng)提供了政策支持。雖然近年來,國內(nèi)眾多的高校、職業(yè)培訓(xùn)機(jī)構(gòu)都在加強(qiáng)專門的軟件測試人才的培養(yǎng)并且取得了一些成績,但軟件測試人才缺乏問題仍未解決。只有加大軟件測試人才建設(shè),實(shí)現(xiàn)我國軟件測試人才供需平衡的良性發(fā)展結(jié)構(gòu),才能有力促進(jìn)我國軟件產(chǎn)業(yè)蓬勃發(fā)展。
5)用戶參與。用戶方的充分參與既可以讓測試中的許多具體問題得到迅速的解決,又可以對測試起到監(jiān)督的作用,保證測試全面細(xì)致地進(jìn)行。此外,測試方采用的測試思路及其制定的驗(yàn)收標(biāo)準(zhǔn)等都需要得到用戶的認(rèn)可,所以測試過程中應(yīng)盡量調(diào)動用戶積極參與,這樣既能讓用戶更好地理解和接受測試方的測試思路及驗(yàn)收標(biāo)準(zhǔn)等,又能讓用戶起到協(xié)調(diào)第三方與開發(fā)方關(guān)系的作用,從而提高測試的效率。
5 總結(jié)
雖然目前第三方測試還剛剛興起,但第三方測試服務(wù)相對于軟件企業(yè)內(nèi)部測試及用戶測試,擁有不可比擬的優(yōu)勢。隨著軟件企業(yè)和軟件用戶的質(zhì)量意識不斷提高,以及用戶對軟件測試服務(wù)的需求增大,軟件第三方測試服務(wù)必將在國內(nèi)得到蓬勃發(fā)展。
參考文獻(xiàn):
[1] 王峰,鄭彥興,包陽.軟件第三方測評[J].計(jì)算機(jī)研究與發(fā)展,2008(45):345-350.
[2] 陳宏剛,熊明華,林斌等.軟件開發(fā)過程與案例[M].北京:清華大學(xué)出版社,2003.
[3] 蘇正泉.軟件測試的10個認(rèn)識誤區(qū)[J].電腦知識與技術(shù),2006,(14):149.
[4] 郭樹端.軟件第三方測試的意義及可行性分析[J].電子產(chǎn)品可靠性與環(huán)境試驗(yàn),2003,(02):47-49.
[5] 王萍.軟件測試的重要性[J].軟件導(dǎo)刊,2009,(04):20-21.
【基金項(xiàng)目】2015年中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金項(xiàng)目“C程序代碼級內(nèi)存缺陷的充分性檢測技術(shù)研究”(15CX02050A)。
【中圖分類號】G64 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2015)09-0229-01
一、引言
隨著軟件產(chǎn)業(yè)的迅猛發(fā)展,軟件的復(fù)雜性也日益增加,導(dǎo)致對軟件的質(zhì)量提出了更高的要求,這也使得軟件測試工程師成為每個軟件企業(yè)都不可或缺的技術(shù)人才?!败浖y試”就是一門培養(yǎng)軟件測試工程師的專業(yè)課[1],本課程較為系統(tǒng)的介紹了軟件測試的基本理論、測試方法、測試過程以及常用測試工具等內(nèi)容。本課程知識的掌握將為學(xué)生系統(tǒng)的掌握軟件工程知識體系以及畢業(yè)后從事軟件測試、軟件開發(fā)等職位打下良好的基礎(chǔ)。
如何扎實(shí)有效的培養(yǎng)軟件工程學(xué)生在軟件測試領(lǐng)域既具有理論基礎(chǔ)、又具有工程實(shí)戰(zhàn)能力,目前許多軟件工程專業(yè)教育者進(jìn)行了積極的探索 [2-4]。我校軟件工程專業(yè)已入選山東省卓越工程師培養(yǎng)計(jì)劃[5],為了執(zhí)行國家對軟件工程專業(yè)卓越工程師培養(yǎng)的精神,融合學(xué)校的“三三三”培養(yǎng)體系[6]的頂層設(shè)計(jì),以貫徹培養(yǎng)理論扎實(shí)、具備工程實(shí)踐能力、創(chuàng)新能力強(qiáng)、適應(yīng)經(jīng)濟(jì)社會發(fā)展需要的高質(zhì)量軟件工程師為目標(biāo),我們也在軟件測試課程的培養(yǎng)方案、課程結(jié)構(gòu)、教學(xué)方法和考評體系等方面進(jìn)行了一系列的改革和探索[7,8]。其中最為重要的改革是借鑒CDIO(Conceive-Design-Implement-Operate)工程教育理念,落實(shí)了“基于項(xiàng)目的教學(xué)”方法,增開了大量的課程設(shè)計(jì)和綜合實(shí)踐環(huán)節(jié),在理論教學(xué)的同時注重了工程實(shí)踐能力得培養(yǎng)。
二、“軟件測試”教學(xué)面臨的問題
“軟件測試”課程的已有的教學(xué)改革改善了教學(xué)效果,但是由于傳統(tǒng)的教學(xué)方法依然影響著教學(xué),所以目前的軟件測試課程教學(xué)過程中依然面臨一系列問題。
(一)教學(xué)內(nèi)容抽象,學(xué)生學(xué)習(xí)興趣不高
軟件測試是軟件工程知識體系的九個知識域中理論性最強(qiáng)的一個知識域,必然造成軟件測試教材與教學(xué)內(nèi)容較抽象。目前,軟件測試課程教學(xué)中普遍存在著理論教學(xué)偏重的特點(diǎn),扎實(shí)的理論素養(yǎng)是卓越工程師的必備基礎(chǔ),但是即便對于軟件工程專業(yè)的本科學(xué)生,也欠缺軟件項(xiàng)目的實(shí)際開發(fā)經(jīng)驗(yàn),所以課程內(nèi)容的抽象性增加了學(xué)生對課程內(nèi)容的理解難度。為促進(jìn)學(xué)生對理論知識的理解與應(yīng)用,必須結(jié)合軟件測試的課程特點(diǎn),將抽象的內(nèi)容分化到軟件測試過程的不同階段中,并采用相應(yīng)的測試工具體現(xiàn)測試的方法,再應(yīng)用于教學(xué)案例,才能促進(jìn)學(xué)生對抽象的測試?yán)碚撝R的理解與應(yīng)用。
(二)教學(xué)內(nèi)容碎片化,學(xué)生沒有完善的測試知識體系
按照軟件開發(fā)過程的要求,軟件測試是貫穿于整個開發(fā)過程的一項(xiàng)活動。而在教學(xué)中,軟件測試的理論出現(xiàn)了割裂,各知識點(diǎn)呈現(xiàn)碎片化,理論內(nèi)容與實(shí)際的軟件測試流程不同步。將不同的測試?yán)碚撆c方法進(jìn)行了分割,這樣利于教材內(nèi)容的安排以及教學(xué)內(nèi)容的組織,但這也必然造成教學(xué)內(nèi)容碎片化,學(xué)生形成不了一個統(tǒng)一的測試?yán)碚摽蚣?,難以把握所學(xué)的理論與方法在軟件開發(fā)與測試的過程中如何應(yīng)用。為促進(jìn)教學(xué)效果,有必要基于軟件測試過程,定位軟件測試的介入點(diǎn),在不同的介入點(diǎn)進(jìn)行理論知識的分配,形成一個以軟件測試過程為主線、各理論知識在介入點(diǎn)進(jìn)行分配的魚骨圖式的軟件測試?yán)碚撝R體系。
(三)輕視測試工具應(yīng)用,培養(yǎng)的學(xué)生與企業(yè)需求難以銜接
因?yàn)檐浖y試方法眾多,這也造成有大量可選的軟件測試工具。雖然工具的培訓(xùn)是培養(yǎng)卓越工程師的一個必備環(huán)節(jié),然而卓越工程師的培養(yǎng)畢竟不等同于職業(yè)教育,不能只是簡單的掌握一個測試工具,而應(yīng)該了解測試工具所體現(xiàn)的測試?yán)碚?、所適用的測試階段以及所應(yīng)用的場景。在進(jìn)行測試工具培訓(xùn)鍛煉的同時,必須結(jié)合所講授的測試?yán)碚?,以及該工具適用的測試過程與測試場景。為了全面的掌握各種具有代表性的測試工具,需要搭建一個測試工具箱。
(四)教學(xué)案例簡單,學(xué)生沒有完整的測試思路
因?yàn)槔碚撝R碎片化的講授,也造成目前教學(xué)中只能采用簡單的案例,簡單的案例雖然有助于學(xué)生對具體測試方法的理解,但是難以融會貫通的掌握對一個完整項(xiàng)目的測試。為此,需要基于魚骨圖的軟件測試?yán)碚撝R體系,精心設(shè)計(jì)能夠貫穿整個測試流程的案例,并有必要設(shè)計(jì)不同類型的案例,形成一個分層次、分類別的測試案例庫,以保證對各種測試方法的掌握。
(五)學(xué)生對軟件測試存在認(rèn)識偏差,缺乏從事軟件測試職業(yè)的意愿
目前國內(nèi)軟件行業(yè)依然蔓延著“重開發(fā)、輕測試”的觀點(diǎn),這種觀點(diǎn)也延伸到軟件工程專業(yè)的教學(xué)中,導(dǎo)致部分學(xué)生對軟件測試這個職業(yè)存在認(rèn)識偏差。這就要求軟件測試課程需要從原來偏重理論講解、學(xué)生欠缺軟件測試訓(xùn)練的教學(xué)中擺脫出來,應(yīng)該與軟件測試工程師要求的能力培養(yǎng)集合起來,注重理論培養(yǎng)的同時,加強(qiáng)與軟件測試職業(yè)的銜接,增設(shè)對軟件測試工具的訓(xùn)練,加大基于案例與項(xiàng)目的實(shí)戰(zhàn)訓(xùn)練,通過工程能力的培養(yǎng)以加深學(xué)生對軟件測試的正確認(rèn)識。
三、總結(jié)
為了執(zhí)行我校軟件工程專業(yè)的卓越工程師培養(yǎng)計(jì)劃,解決“軟件測試”教學(xué)中存在的上述問題,我們計(jì)劃在已有的教學(xué)改革基礎(chǔ)上,提出“方法為基、過程引導(dǎo)、工具跟進(jìn)、案例貫穿”的“方法-過程-工具-案例”四位一體的教學(xué)方法,以解決目前“軟件測試”課程中存在的諸多問題。
本文分析了“軟件測試”這門課程隨著卓越工程師培養(yǎng)、研究型教學(xué)的要求下在理論培養(yǎng)與工程能力訓(xùn)練等方面逐漸顯露出的各種亟待解決問題,只有充分認(rèn)識到這些問題,才有可能針對問題進(jìn)行教學(xué)改革,進(jìn)而培養(yǎng)理論與功能能力具備的軟件測試人才。
參考文獻(xiàn):
[1]吳春雷, 剛旭, 張俊三. 基于“卓越計(jì)劃”的軟件測試類課程改革[J]. 計(jì)算機(jī)教育, 2014,11:88-91.
[2]李月龍. 高校軟件測試課程教學(xué)改革研究[J]. 計(jì)算機(jī)教育, 2014,7:16-18.
[3]鄧松. 遞進(jìn)式軟件測試創(chuàng)新人才培養(yǎng)模式研究[J]. 計(jì)算機(jī)教育, 2014,7:5-7.
[4]周雪妍, 林澤鴻, 羅秋濱, 路雯靖, 劉玉利. 軟件測試技術(shù)四面體培養(yǎng)模式的探索與研究[J]. 教學(xué)研究, 2013,5:56-58.
[5]張國平等. 軟件工程卓越培養(yǎng)計(jì)劃的研究與設(shè)計(jì)[C].軟件工程2011年會,2011,10.
[6]劉華東. 構(gòu)建“三三三”培養(yǎng)體系 推進(jìn)本科教育邁向更高目標(biāo)[J]. 中國高等教育, 2012,18:34-36.
[7]吳春雷. 面向應(yīng)用型軟件人才教學(xué)模式的探索與實(shí)踐[J].中國成人教育, 2014.04:124-126.