摘要:隨著軟件測試工作越來越被軟件行業(yè)所重視,軟件測試人員需求也越來越大。分析了軟件測試行業(yè)的崗位需求,以及軟件測試人才應具備的知識技能和專業(yè)素質(zhì),并提出了軟件測試專業(yè)課程教學改革相關(guān)建議,旨在更好地培養(yǎng)符合崗位需求的軟件測試人才。
關(guān)鍵詞關(guān)鍵詞:軟件測試;崗位需求;專業(yè)素質(zhì);課程教學改革
DOIDOI:10.11907/rjdk.143832
中圖分類號:G434
文獻標識碼:A文章編號文章編號:16727800(2015)002018802
作者簡介作者簡介:邱芬(1978-),女,江蘇徐州人,碩士,江蘇聯(lián)合職業(yè)技術(shù)學院徐州財經(jīng)分院副教授,研究方向為軟件技術(shù)。
0引言
在軟件產(chǎn)業(yè)鏈上,軟件專業(yè)學生能夠從事的職位很多,最常見的是軟件開發(fā)和軟件維護。隨著軟件行業(yè)越來越正規(guī)化,軟件測試越來越受到重視。據(jù)不完全統(tǒng)計,國外軟件開發(fā)人員與軟件測試人員的分配比例為1:1,而目前我國僅為6:1[1],由此可見我國軟件市場軟件測試人才極為稀缺。有資料預測未來幾年國內(nèi)軟件行業(yè)對軟件測試工程師的需求量將超過30萬甚至50萬人。
本文著重分析軟件測試行業(yè)的崗位需求,提出學生應具備的知識技能和專業(yè)素質(zhì),并對專業(yè)教學提出了自己的建議,旨在讓學生明確如何成為合格的軟件測試人員,同時也為教師培養(yǎng)符合崗位需求的軟件測試人才指明方向。
1軟件測試崗位現(xiàn)狀分析
目前,社會上軟件測試人員共分成5個級別,由高到低分別為:
(1)測試總工程師。負責管理整個測試項目,有豐富的測試經(jīng)驗。
(2)測試系統(tǒng)工程師。從事過軟件開發(fā)工作,有開發(fā)經(jīng)驗,并且掌握軟件測試方法,有軟件測試經(jīng)歷。
(3)軟件測試技術(shù)員。有軟件測試經(jīng)歷,根據(jù)測試系統(tǒng)工程師布置的測試任務選擇相應的測試方法,設(shè)計測試用例,并將測試任務分解。
(4)軟件測試操作員。根據(jù)軟件測試技術(shù)員分配的測試任務、測試用例進行具體執(zhí)行。
(5)用戶級測試人員。模擬實際用戶,以用戶的角度進行軟件測試。
目前,國內(nèi)有不到1萬名資深軟件測試工程師專門從事軟件測試工作,有大約3萬多名軟件測試技術(shù)人員處于邊工作邊學習的摸索狀態(tài)。
2軟件測試人員所需技能
軟件測試人員所需技能如下:
(1)編寫測試計劃。根據(jù)項目規(guī)格說明書、設(shè)計文檔和使用說明書等,了解軟件的功能、性能、使用方法、業(yè)務流程等,制定項目的測試計劃。
(2)設(shè)計測試用例。按照測試計劃,確認測試的范圍、重點,考慮邏輯、數(shù)據(jù)完整性等要求,編寫測試用例,設(shè)計測試用數(shù)據(jù)及預期結(jié)果。
(3)搭建測試環(huán)境。保證測試環(huán)境的獨立和維護測試環(huán)境的更新,做好測試前的準備工作,確保測試環(huán)境穩(wěn)定和版本正確。
(4)編寫測試腳本。實施軟件測試和執(zhí)行測試腳本,執(zhí)行測試,根據(jù)項目特點及測試要求,實施單元測試、集成測試、系統(tǒng)測試等,及時找到軟件缺陷,確保達到測試目的。
(5)對錯誤進行跟蹤。進行BUG驗證,根據(jù)測試結(jié)果,與開發(fā)部門反復溝通測試情況,督促開發(fā)部門解決問題,修正測試中發(fā)現(xiàn)的缺陷,完善軟件功能。
(6)使用自動測試工具進行測試工作。改進測試方法和軟件開發(fā)流程,提高軟件質(zhì)量。
(7)進行測試記錄和相應文檔編寫。
(8)編寫測試報告和分析測試結(jié)果。編寫用戶手冊并進行用戶培訓,編寫測試總結(jié),為軟件開發(fā)成果提供總結(jié)性意見。
根據(jù)上述崗位職責,軟件測試專業(yè)的核心課程應該開設(shè)《軟件工程》、《軟件測試概論》、《軟件測試工具與實踐》、《軟件測試技術(shù)》、《測試管理與測試文檔》等相關(guān)課程[2]。
一般高職高專軟件專業(yè)都開設(shè)有《軟件工程》和《軟件測試技術(shù)》兩門課程,在課堂上,學生可以學習軟件測試的基本原理、基本管理方法、基本技能方法及應用工具的使用。在《軟件測試技術(shù)》課程內(nèi)容中,主要學習測試覆蓋率、回歸測試、白盒測試、黑盒測試等基本測試方法,對單元測試、集成測試、系統(tǒng)測試、確認測試等進行實踐練習,讓學生掌握基本測試技能,掌握質(zhì)量評價的一般理論和方法。
此外,學生如果想進入軟件測試行業(yè),應該利用課余時間進行自主學習,在原有理論的基礎(chǔ)上,有選擇地進行軟件測試工具的使用。這能夠幫助學生熟悉項目、分組分工、寫工作日志、設(shè)計編寫測試用例、填寫和處理缺陷報告。同時應該了解當前主流軟件測試工具的使用,能夠大大提高測試效率。常見測試工具如表1所示[3]。
表1測試工具
測試工具[]測試方向[]特點
WINRUNNER[]功能測試[]檢測應用程序是否能夠達到預期功能,仿真鼠標動作和鍵盤輸入,重復使用腳本進行測試
QTP[]回歸測試[]支持錄制和回放功能
JTEST[]白盒測試[]自動實現(xiàn)代碼基本錯誤的預防,生成并執(zhí)行junit單元測試用例,提供了進行模型測試、黑盒測試、系統(tǒng)測試的快速途徑,自動執(zhí)行回歸測試
LOADRUNNER[]負載測試[]模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,最大限度地縮短測試時間,優(yōu)化性能和加快應用系統(tǒng)的發(fā)布周期
BUGZILLA[]缺陷管理[]開源的缺陷跟蹤系統(tǒng),它可以管理軟件開發(fā)中缺陷的提交、修復、關(guān)閉等整個生命周期
JUNIT[]單元測試[]JUnit是一個開放源代碼的Java測試框架,用于編寫和運行可重復的測試。它是用于單元測試框架體系xUnit的一個實例
3軟件測試人員素質(zhì)要求
一個有競爭力的測試人員需具備如下兩方面的素質(zhì):
3.1軟件測試人員要有“五個心”
軟件測試工作要求測試人員具有專業(yè)技能和行業(yè)知識,熱愛軟件測試,還要求測試人員具備一些基本的個人素質(zhì),即要有“五個心”[4]:①責任心,責任心是做好任何工作的必備素質(zhì)之一,更是軟件測試人員最基本的素質(zhì);②自信心,這是測試人員普遍缺乏的一項素質(zhì),是指必須建立“能解決一切測試問題”的信心;③專心,指在執(zhí)行測試任務時不可一心二用;④耐心,很多測試工作非常枯燥,需要極大的耐心才能做好;⑤細心,指執(zhí)行測試任務時要細心,認真執(zhí)行測試,不要忽略一些細節(jié)。
此外,還需要具備豐富的經(jīng)驗、良好的邏輯推理能力、敏銳的洞察力等,在日常的課堂教學與實訓教學中,應將“五個心”作為軟件測試工作的基本要求將其始終貫穿于其中。
3.2協(xié)調(diào)溝通能力與團隊合作意識
軟件測試應該貫穿于軟件項目的整個生命周期,測試人員應與項目中不同角色的人員進行配合,共同完成,這要求測試人員具備良好的協(xié)調(diào)溝通能力和團隊合作精神[5]。
團隊合作指一群有能力、有信念的人在特定的團隊中,為了達到一定的目標,調(diào)動所有可利用的資源與才智,協(xié)同努力的一種精神。它可以調(diào)動團隊成員的所有資源和才智,并且自動驅(qū)除所有不和諧和不公正現(xiàn)象,同時給予那些誠心、大公無私的奉獻者適當回報。協(xié)調(diào)溝通能力是指基于一定的需要,通過語言、文字、圖片、行為等方式,交流思想、觀念、意見、情感等信息的行為,溝通能力既是個人素質(zhì)的重要體現(xiàn),也是團隊合作的重要前提。特定的成長環(huán)境使大學生具有強烈的自我意識,團隊精神普遍缺失。目前的教學對團隊合作精神的培養(yǎng)往往是“填鴨式”的說教,應該加強建設(shè)能培養(yǎng)學生合作精神的平臺,制定學生合作精神培養(yǎng)保障與評價機制。
4軟件測試課程教學改進建議
為了更好地培養(yǎng)符合崗位要求的軟件測試人才,提出軟件測試課程教學改進建議如下:
(1)提高對實踐類課程的重視度。加強實踐類課程的考核力度,提高學生對實驗實訓的重視度,讓教師在做中教,讓學生在做中學。
(2)及時更新教學教材。選擇質(zhì)量高、知識結(jié)構(gòu)盡可能合理的教材,對學生進行具體實踐指導和系統(tǒng)培訓指導,有規(guī)劃地對學生進行培養(yǎng)。以軟件測試項目為主線,第四學年和第五學年開設(shè)的每門課都可以安排軟件測試內(nèi)容,教學內(nèi)容的開展以測試項目為中心,使學生掌握工作中需要的專業(yè)技能,實現(xiàn)“教學做一體化”。
(3)提高教師隊伍整體素質(zhì)。教師要能很好地講解軟件測試理論和軟件測試方法,并且安排教師到企業(yè)參與實踐,提高軟件測試案例實踐能力和增加工作經(jīng)驗,幫助學生提高對軟件測試職業(yè)的正確認識等。
(4)全面培養(yǎng)高職軟件測試專業(yè)學生的團隊合作與溝通能力。深化課程改革,搭建系統(tǒng)的理論培養(yǎng)平臺應著重培養(yǎng)學生的團隊合作與溝通能力,使學生通過理論學習,明確團隊合作與溝通能力的意義、方法、技巧。通過實踐,幫助學生建立團隊合作意識與溝通意識。
(5)擴充測試項目實例,盡可能引進真實的測試項目,讓學生對實際軟件測試項目有實戰(zhàn)性操作經(jīng)歷。以企業(yè)崗位能力需求為標準,制定課程體系,淡化專業(yè)意識,從培養(yǎng)學生全面素質(zhì)的高度進行必要的整合和重組。將學生應具有的知識、能力、素質(zhì)結(jié)構(gòu)作為課程整合和重組的依據(jù),組建模塊化的課程結(jié)構(gòu)。