時間:2022-08-27 09:39:40
引言:易發(fā)表網(wǎng)憑借豐富的文秘實踐,為您精心挑選了九篇軟件測試項目總結范例。如需獲取更多原創(chuàng)內(nèi)容,可隨時聯(lián)系我們的客服老師。

關鍵詞:項目驅動法;軟件測試;教學方法
作者簡介:趙曉君(1979-),女,河南南陽人,鄭州輕工業(yè)學院軟件學院,講師;黃艷(1976-),女,河南信陽人,鄭州輕工業(yè)學院軟件學院,副教授。(河南 鄭州 450002)
基金項目:本文系鄭州輕工業(yè)學院校級青年教師教學改革項目的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2013)07-0101-02
隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能實現(xiàn)也越來越復雜,導致軟件中存在的缺陷數(shù)量大大增加,這些缺陷將會帶來各種損失,甚至出現(xiàn)災難性的后果。因此,如何保證軟件質(zhì)量已成為所有使用軟件和開發(fā)軟件的人們關注的焦點。軟件測試作為軟件工程的一個重要組成部分,是目前用來驗證軟件是否能夠滿足用戶需求功能的唯一有效方法,是保證和提高軟件質(zhì)量的重要環(huán)節(jié)。為適應軟件產(chǎn)業(yè)的發(fā)展趨勢和滿足軟件測試人才的大量需求,目前已經(jīng)有許多大學在軟件工程專業(yè)添加軟件測試課程或者添加軟件測試專業(yè)方向。
軟件測試專業(yè)包含多門專業(yè)課程,有“軟件測試理論”、“軟件測試技術”和“軟件缺陷管理”等,其中,“軟件測試理論”課程重點為初學測試的同學講解測試的基礎理論知識,主要包括軟件測試基本理論、軟件測試方法和技術等,在多門專業(yè)課程中占有舉足輕重的地位。
一、“軟件測試理論”教學現(xiàn)狀
“軟件測試理論”課程重點介紹軟件測試的基本理論,因此整個課程主要以教師講授為主,在教學的過程中存在以下問題:
1.教學內(nèi)容理論性較強,難以調(diào)動學生學習的主動性
對于初學軟件測試的學生,首先要向其講授相關測試理論,使其建立系統(tǒng)的測試理念。
但是學測試的學生大都是理科生,喜歡操作性強的課程,“軟件測試理論”課程的理論性太強,需要背誦很多概念性的知識,這對于他們來說是比較困難,不能激發(fā)學習的主動性,教學效果不理想。
2.測試方法和技術案例實際應用價值不足,學生很迷茫
測試方法和技術是“軟件測試理論”課程學習的重點和難點,這部分內(nèi)容僅靠老師的講解和書本上的案例很難讓學生深入理解掌握測試技術的內(nèi)涵,學生在學習這部分知識時會產(chǎn)生迷茫:學習這些知識有什么用處,在具體的項目測試中,應該怎樣應用這些知識?沒有實際的項目案例做支撐,學生會失去繼續(xù)學習下去的興趣。
針對上面的問題,本文提出將項目驅動法應用于“軟件測試理論”課程的教學中,學生在進行項目實踐的同時,根據(jù)需要學習軟件測試相關理論知識,這樣有助于提高學生的學習主動性,有助于理論知識的牢固掌握,有助于提高學生的實踐技術能力,改善該課程的教學效果。
二、項目驅動法
項目驅動法是目前中國教育領域中一種比較新的教育教學方法。
所謂項目驅動法,是師生通過共同實施一個完整的項目工作而進行的教學活動,它既是一種課程模式,又是一種教學方法。[1]這里的項目根據(jù)課程教學內(nèi)容的不同所包含的涵義也不同。在“軟件測試理論”課程教學中,項目即指一個已經(jīng)開發(fā)完成的軟件測試工作。通常,項目教學都是實踐導向的和任務驅動式的教學。
在項目驅動模式的教學活動中,教師根據(jù)學生現(xiàn)有的知識水平和項目經(jīng)驗選擇一個合適的項目,以項目實施為主線展開教學活動,把課程相關的知識點的講解融入項目操作的每個步驟中。在項目實施的過程中,以學生為中心,教師主要做組織和指導工作,學生在整個項目的實施過程中處于探索知識的情景中,充分發(fā)揮主動性、積極性和創(chuàng)新精神,綜合運用所學的知識和技能解決實際問題,最終達到有效地將所學知識系統(tǒng)化深入化的目的。
這種模式從根本上將傳統(tǒng)課堂中老師滿堂灌轉變?yōu)椤皩W生為主體,教師為主導”的教學模式。同時,學生通過一個具體項目的實踐,感受到了真實項目管理的思想和團隊協(xié)作的必要性,提高了學生的創(chuàng)新能力和項目實踐能力。擁有真實項目的實踐經(jīng)驗使得學生在擇業(yè)時擁有很大競爭優(yōu)勢。
將項目驅動法應用于“軟件測試理論”課程教學中,在課程理論教學中加入一個完整的項目測試實踐環(huán)節(jié),通過項目實踐能夠很好地激發(fā)學生的學習主動性,使學生經(jīng)歷了一個“先做,遇到問題,再學,解決問題,再做,獲得經(jīng)驗”的學習過程,最終完成一個完整的軟件測試實踐,同時也學到了“軟件測試理論”課程應該掌握的理論知識。這樣,既解決了軟件測試理論課程理論性太強的問題,又解決了測試方法和技術案例實際應用價值不足的問題;而且豐富了學生的實踐經(jīng)驗,提高了軟件測試理論課程的教學效果。
三、“軟件測試理論”課程教學目標和教學內(nèi)容
1.教學目標
通過本門課程的學習和實踐,理解軟件測試理論與原則;掌握主流測試技術和方法,熟悉測試用例的編制、熟悉軟件測試的基本流程,熟悉軟件測試過程中各類技術文檔的編制規(guī)范,并能靈活運用測試技術解決實際問題。
對于一個具體項目軟件,每一個學生都能夠順利完成如下手工測試流程:根據(jù)軟件需求規(guī)格說明書撰寫測試計劃,設計測試用例、進行測試環(huán)境配置和測試數(shù)據(jù)準備工作、執(zhí)行各種測試,撰寫缺陷報告、跟蹤并修復缺陷、進行測試評測,最后提交測試總結報告,達到軟件企業(yè)對測試專業(yè)人才的要求。
2.教學內(nèi)容
“軟件測試理論”課程的教學內(nèi)容主要包括軟件測試基本理論、軟件測試基本技術、軟件測試過程和軟件測試工具。[2]
軟件測試基本理論包括軟件測試、軟件缺陷和測試用例的基本概念,測試的目的、測試模型、測試分類和測試流程。
軟件測試基本技術包括白盒測試和黑盒測試;其中白盒測試包括靜態(tài)測試和動態(tài)測試,動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。這些基本技術都是在進行測試用例設計時使用的。
軟件測試過程是指執(zhí)行測試的過程,通常分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。
軟件測試工具有多種:功能測試工具、性能測試工具和測試管理工具等。
四、項目驅動法的應用方案
1.項目的設計
實施項目驅動法,首先需要設計項目。項目的設計與選取直接影響到該教學模式的教學效果及學生的學習興趣。“軟件測試理論”課程項目的選取與其他課程又有所不同,學生要進行的操作是對現(xiàn)有的或者已經(jīng)開發(fā)完成的軟件的測試工作,因此在設計項目時應遵循以下幾條原則:
第一,項目是現(xiàn)有的軟件或已經(jīng)開發(fā)完成的軟件,軟件中有部分明顯錯誤,有部分隱藏錯誤;明顯錯誤有助于提高學生的測試積極性,隱藏錯誤有助于啟發(fā)學生進行更深入的測試。
第二,項目具有典型性,代表大部分軟件的共性。通過該項目的測試,學生可以掌握大多數(shù)軟件的測試流程和測試方法。
第三,項目中有多種情景元素,符合使用多種測試技術和方法,有助于學生在進行項目測試的同時,學習使用多種測試技術設計測試用例的方法。
第四,項目大小和難易適中。每個項目組的人數(shù)控制在3~5個人,設計的項目能使學生通過努力在一定的時間內(nèi)完成。
根據(jù)以上原則,本課程目前選擇的項目是《企業(yè)薪酬管理系統(tǒng)》。
2.項目驅動法的實施
本課程通過讓學生進行企業(yè)薪酬管理系統(tǒng)完整的測試流程實踐的同時,講解測試需求編寫、測試計劃編寫、測試用例設計、測試環(huán)境配置、測試執(zhí)行、缺陷跟蹤和管理、測試報告撰寫等內(nèi)容。課程授課方式主要是分階段講解測試過程和測試要求,每一個階段開始,老師先講原理,選擇部分內(nèi)容做例子進行講解,然后學生比照例子跟著做;階段內(nèi)容完成時,學生提交完成的文檔,老師選擇典型的問題進行講評,然后進行下一個階段的內(nèi)容,如此類推直至測試結束。
企業(yè)薪酬管理系統(tǒng)測試流程設計如圖1所示。
本課程課時為60學時,根據(jù)圖1系統(tǒng)測試流程圖安排,基于項目驅動法的“軟件測試理論”課程安排如表1所示。
在課程進行的過程中,必須嚴格按照項目的測試流程進行,測試流程為:先獲取項目測試需求,撰寫測試計劃,設計測試用例,執(zhí)行測試,提交缺陷報告并跟蹤修復缺陷,最后提交測試總結報告。課程結束,要求學生提交項目測試報告,測試報告包括多個文檔,整個流程中每個階段的工作必須有撰寫規(guī)范的文檔提交,如:測試計劃、測試用例、測試執(zhí)行報告、缺陷報告和測試總結報告等等。
測試報告既體現(xiàn)了教師項目教學的結果,也體現(xiàn)了學生對測試知識技能的掌握水平。通過評價學生作品,找出學生在學習過程中的薄弱環(huán)節(jié),進一步改進項目驅動教學的教學安排,使其能夠發(fā)揮最大的教學效果。
五、結束語
本文針對軟件學院軟件工程專業(yè)的培養(yǎng)對象和教學特點,把真實項目引入“軟件測試理論”課程課堂教學中,采用項目驅動教學法,從項目的需求評審、測試計劃、測試用例設計、測試執(zhí)行、缺陷報告、測試評測到測試總結一個完整的測試流程,交給學生組建測試團隊,按照流程進行任務分配和管理,最終完成整個項目的測試工作。通過一個完整項目測試流程的完成,有效提高學生的學習和實踐能力、解決問題的能力、團隊協(xié)作能力等,使學生在掌握軟件測試的各種測試技術和基本流程的同時,積累了一定的項目測試經(jīng)驗,為他們今后的就業(yè)打下了良好的基礎。
參考文獻:
隨著計算機軟件技術的高速發(fā)展,軟件測試在軟件開發(fā)過程中的地位也越來越重要,軟件測試是保證軟件質(zhì)量和可靠性的重要手段之一,軟件測試人才需求猛增,軟件測試已經(jīng)成為計算機專業(yè)的重點專業(yè)課程。傳統(tǒng)的軟件測試教學模式,測試理論和測試實踐嚴重脫節(jié),不能很好的滿足軟件企業(yè)對測試人才的要求。依托廣東東軟學院的特色教學實踐1321教學模式,進行以實踐能力和就業(yè)能力為導向的課程綜合實踐探索,深化教學改革,激發(fā)學生的興趣,讓學生貼近現(xiàn)實的工作場景中學習,了解在軟件開發(fā)過程中測試崗位的工作過程和知識要點,培養(yǎng)學生軟件測試應用技能型人才培養(yǎng)為目標。
二、軟件測試課程實踐構建的主要思路
軟件綜合實踐安排在大三課程開始之前的實踐學期進行,為期4個星期,每天4學時的實踐教學指導,軟件測試專業(yè)的學生已經(jīng)學過專業(yè)基礎課《Java程序設計》、《計算機文化基礎》、《網(wǎng)頁設計》、《數(shù)據(jù)庫設計》、《軟件開發(fā)過程實踐》,專業(yè)課《軟件測試概論》、《功能測試》,學生初步具備了參與綜合實踐的專業(yè)素質(zhì)能力。在綜合實踐開發(fā)團隊中,將軟件開發(fā)專業(yè)、網(wǎng)站規(guī)劃與設計專業(yè)、數(shù)據(jù)庫管理專業(yè)、軟件測試專業(yè)和網(wǎng)絡技術的同學,以3:1:1:1:1這樣的比例進行團隊建設,從中選出一位同學兼職項目經(jīng)理,實現(xiàn)學生自主管理,配備具有雙師素質(zhì)的專業(yè)老師,一位教師負責指導5-7個團隊的項目開發(fā),當需要進行專業(yè)指導時,臨時進行專業(yè)化實踐指導,全方位分階段、分崗位進行進行全程交叉技術指導,同時邀請合作單位的軟件工程師,同步進行項目過程的跟蹤,給予學生崗位最精準的實踐指導。采用項目驅動的方法開展實踐教學,通過開發(fā)真實的軟件項目,以軟件工程開發(fā)過程為導向,制定軟件綜合實踐——軟件測試方向的實踐方案,分階段進行實踐,選擇有較強的實踐性和創(chuàng)新性的項目給學生選題,選題要貼合實際項目,需求相對容易獲取,具有一定的創(chuàng)新性,能夠激發(fā)學生的學習興趣。首先需求的調(diào)研,需求的評審,編寫測試計劃,設計測試用例,測試執(zhí)行,測試記錄的跟蹤和測試總結報告,對每個測試階段進行教學設計,不斷的將所涉及到的知識點融入到實踐中,增強學生職業(yè)崗位素養(yǎng)能力,團隊合作的意識,同時探索以學生管理學生的模式進行實踐探索。
三、軟件綜合實踐測試崗位的工作過程與方法
在軟件綜合開發(fā)實踐過程中,對軟件測試崗位的同學依據(jù)軟件工程的理論進行指導,結合企業(yè)的工作流程,采用分組的教學模式,采用軟件測試常用的W模型,進行教學指導,培養(yǎng)學生的團隊合作能力,溝通能力,實踐能力。測試崗位的工作主要分成兩個三個部分,第一部分是需求的調(diào)研和評審,測試計劃中測試策略的選擇、任務的時間安排和測試用例的設計;第二部分主要是測試執(zhí)行,安裝測試工具,部署測試環(huán)境,按照測試所設計的測試用例進行手動功能測試,嘗試利用自動化測試工具QTP進行自動化測試,運用所學過的黑盒測試方法,進行web測試,兼容性測試等方法的測試工作,將所發(fā)現(xiàn)的問題記錄到測試管理平臺(QC)的缺陷缺陷跟蹤表中,修復后,進行驗證性測試,第三部分就是測試總結報告。
四、軟件綜合實踐的考核
1.答辯委員會的組成。立體化全方位的考核方式,采用學生團隊答辯的方式進行最終的考核,答辯委員會成員由軟件開發(fā)方向教師、網(wǎng)站規(guī)劃與開發(fā)教師、數(shù)據(jù)庫管理方向教師、軟件測試技術方向教師和企業(yè)工程師共同組成。2.軟件測試崗位的知識點的考核。每個專業(yè)都設計了一套科學有效的評價體系,從三個部分對學生的能力進行全方位評。第一部分IT職業(yè)素養(yǎng)能,占總成績比例的30%,考勤、項目管理能力、文檔編寫能力、團隊合作與溝通能力、演講與答辯能力;第二部分團隊實踐成果,占總成績比例的30%測試環(huán)境部署、測試工具軟件的安裝、測試執(zhí)行中缺陷報告的跟蹤、測試總結報告的編寫;第三部分崗位技能成果,占總成績比例的40%,軟件開發(fā)過程文檔:需求評審報告、測試計劃報告、測試用例報告。
五、軟件綜合實踐教學實踐的意義
1.軟件綜合實踐項目分組教學的意義2.軟件測試崗位同學的收獲3.綜合實踐教學的后續(xù)影響4.軟件綜合實踐教學的改革未來方向
作者:張彤宇 李晶 姚庚梅 單位:廣東東軟學院計算機科學與技術系
參考文獻:
[1]羅先錄.IT類專業(yè)實踐教學的三個層次[J].計算機教育,2007(18):14-15.
關鍵詞:軟件測試;實踐課;就業(yè)
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)04-0999-02
Employment-oriented Software Testing Practical Course Reform
MA Min-sheng, MA You-zhong, REN Gang
(Information Engineering Department of Chenggong College, Gongyi 451200, China)
Abstract: Based on the current requirement situation of the IT companies for software testing talents, the paper analyzed the shortcomings of software testing practice teaching and training of personnel in colleges. Concerning the current software testing teaching model、methods and means, we proposed the employment-oriented practical course reform,achieved the “zero distance” between practical teaching and employment, effectively filled up the deficiencies of graduates without working experiences. Finally analyzed and summarized the teaching reform.
Key words: software testing; practical course; employment
軟件測試課程是近年來才逐漸被社會廣泛認同和重視的一門軟件工程實踐類課程。軟件測試職業(yè)就業(yè)具有前景廣泛,薪資待遇高,競爭相對較小,無性別歧視,多元化發(fā)展等特點,應成為今后相當時期內(nèi)高校計算機類專業(yè)的一門重要課程。現(xiàn)階段,我國軟件測試人才缺口已經(jīng)超過30萬,供求矛盾較為突出,造成此缺口的最大原因就是我國軟件測試人才培養(yǎng)途徑單一、培養(yǎng)體制不健全。
本文立足于當前大學生的就業(yè)問題,調(diào)研了目前社會上對軟件測試人才的需求情況,提出在高校中開展課程改革和人才培養(yǎng)方面的創(chuàng)新,著眼于學生畢業(yè)后能夠滿足各類IT企業(yè)對軟件測試人才的要求,強調(diào)實踐課要結合項目實戰(zhàn),運用教學案例,模擬實際的工作場景,鍛煉學生的實踐能力,為社會培養(yǎng)軟件測試方面的高級專業(yè)技術人才。
1 軟件測試實踐課教學現(xiàn)狀分析
國內(nèi)外對軟件測試人才的培養(yǎng)主要有三種模式:企業(yè)內(nèi)部、高等院校和IT培訓機構。企業(yè)培養(yǎng)的人才大多是通過參與項目自己摸索的軟件開發(fā)人員,由于缺乏對軟件測試全面的認識,在測試思想、技能、思維方式、溝通能力等方面都需要進一步提高。
高校培養(yǎng)模式彌補了IT培訓機構功利性強、培養(yǎng)目標單一、費用較高等缺點,但主要的缺陷是學生因為沒有實習機會而普遍缺乏工作經(jīng)驗,不能滿足公司對測試人才的要求,在正式入職前還需要公司組織培訓后才能上崗,這給企業(yè)帶來了一定的風險和成本。
目前,大學軟件測試教學中存在的問題有:對實踐課程的重視程度不夠,軟件測試開展的不夠深入、徹底。測試過程存在大量的不規(guī)范性和隨意性。教材質(zhì)量良莠不齊,教學上知識結構不合理,缺乏具體的實踐和系統(tǒng)的培訓指導。教師資源缺乏,教學方法和手段因循守舊。高校中有講授軟件工程的主講教師能很好的講解軟件測試理論和介紹軟件測試方法,但缺乏較好的軟件測試案例和一定的工作經(jīng)驗。學生對軟件測試職業(yè)存在一些錯誤的和片面的理解等。
2 以就業(yè)為導向的軟件測試實踐課課程改革
高校的軟件測試教學改革的主要思路是,以學生就業(yè)為導向和中心目的,培養(yǎng)學生成為理論與實踐并重,綜合素質(zhì)過硬的復合型應用型人才。主要內(nèi)容和做法是:
2.1 建立軟件開發(fā)全程測試的思想
1) 重視軟件測試,規(guī)范化測試流程
主要內(nèi)容是,參照測試公司對測試人員的崗位描述和任職要求,借鑒公司內(nèi)部測試流程和測試方法,優(yōu)化當前課程體系和知識結構,搭建軟件測試工作環(huán)境和平臺,構建測試實驗室,模擬真實的工作場景,進行完整的軟件測試流程實踐。
2) 建立學生測試團隊,模擬軟件公司開展測試工作
在實驗課教學中,教師合理分配各成員間的任務,培養(yǎng)學生崗位技能。測試實驗采用分組的形式完成。每組由5~7名成員組成,指定一名學生為項目組長,其余學生為開發(fā)人員和測試人員。組長負責項目進展、分工協(xié)作、測試計劃的制定等工作, 其他組員分別就相關模塊進行各自的測試策略、測試用例設計以及完成測試報告等。然后通過角色交換,充分發(fā)揮學生的溝通能力。
3) 軟件測試引領測試驅動開發(fā)
測試驅動開發(fā)實踐來源于敏捷式開發(fā)思想,其核心就是在開發(fā)代碼之前,先編寫測試代碼.也就是說明確開發(fā)某個功能后,首先思考如何對這個功能進行測試,并完成測試代碼的編寫,然后編寫相關的代碼滿足這些測試用例,循環(huán)進行添加其他功能,直到完成這種思想讓學生認識到測試是開發(fā)的重要組成部分,對于學生樹立牢固的測試理念是必不可缺的。
2.2 多種教學實踐綜合運用
1) 循序漸進式的教學體系 根據(jù)學生能力水平的高低和實際的崗位需求,將教學目標定位進行劃分。現(xiàn)有IT公司在招聘測試人員時根據(jù)技能要求分為初級測試工程師、中級測試工程師和高級測試工程師。進一步分析初級、中級測試工程師的工作內(nèi)容和所需要的技能.將這些技能按照漸進的順序分為不同的組,當掌握了該組所需要的技能之后,就可以認為達到了一個新的測試工程師等級。這樣,在教學過程中可以循序漸進地讓學生掌握不同的技能組,每完成一個技能組,都可以完成對應的實際工作。
2) 開展“五步教學法” 根據(jù)軟件測試崗位實踐性強的特點,在教學中結合實際項目、開展“五步教學法”,按照以下五個步驟來組織教學:布置問題、動手實踐、分析和討論問題、理論講授、實踐提高。通過動手實踐,學生明確工作任務。通過教師的分析和學生的討論.學生能認識到自己動手實踐中存在的問題。經(jīng)過前三個環(huán)節(jié)的鋪墊,學生就比較容易接受理論講授,并能在實踐環(huán)節(jié)去消化、運用。
該教學法以完成職業(yè)培養(yǎng)為目標,并將目標細分為一個個漸進的具體目標,通過不斷地設置問題、解決問題,學生最終掌握一系列實際工作技能,達成培養(yǎng)目標。“五步教學法”的開展,一方面通過先動手、后總結的方式,強調(diào)在實踐中學習,使學生對理論知識的學習有更清楚的目的,提高了學生的學習興趣;另一方面,通過個人思考和小組討論.鍛煉了學生的思維能力, 同時學生的自主學習能力得到進一步提升,而這也是學生從業(yè)后需要具備的基本素質(zhì)。
3) 框架式教學方法 給出實驗目的和簡略的實驗參考步驟,讓學生使用學過的軟件工程的方法來進行實驗。實驗過程中每一步的具體內(nèi)容需要學生自己完成,為學生充分發(fā)揮主觀能動性創(chuàng)造了條件,留下了思考的空間。
4) 項目驅動下的案例教學 案例教學更有利于提高學生分析問題和解決問題的能力,促進學生學會學習以及溝通合作。在教學的過程中,應當以可操作的軟件測試案例為中心,將測試理論貫穿開發(fā)全過程,指導軟件開發(fā)。讓學生能夠真正地體會到實際的測試流程。鑒于軟件測試由第三方進行的原則,可以由小組之間互相交換軟件進行測試,學生之間可以進一步交流,互相督促,共同進步。
2.3 開發(fā)軟件測試基線包用于教學
軟件測試實踐教學要借鑒IT公司開展測試項目的做法,面臨的重要問題是項目案例的組織和規(guī)劃,為此可以組織開發(fā)不同層次的軟件測試基線包用于教學。
測試基線包和案例的收集主要通過以下途徑:一是歷年典型的學生開發(fā)項目案例、畢業(yè)設計等;二是包含著人為設置的軟件缺陷的軟件系列,所設置的缺陷代表著在實際軟件開發(fā)過程中的典型問題;三是企業(yè)的項目資源,包括項目需求文檔、項目設計文檔以及項目軟件的不同版本,這些資源能夠讓學生接觸到完整的案例.并且由于基線包中包含了軟件的不同版本,從這些版本中.可以清晰地發(fā)現(xiàn)軟件缺陷是怎樣被不斷地發(fā)現(xiàn)和修復。此外,還可以從教材及參考書中收集、從互聯(lián)網(wǎng)中收集。在測試案例的選取上,要遵循典型性、針對性和系統(tǒng)性原則,收集到的案例可以作為理論課講解時的實例,也可以作為實驗課的基本素材。
為了使軟件測試基線包具有可移植性,可通過技術手段實現(xiàn)軟件測試基線包的快速部署,使學生能快速便捷地完成測試環(huán)境及測試軟件在不同場合的搭建。軟件測試基線包的開發(fā)為教學和實踐提供了有力保障.同時便于課程教學資源共享。
2.4 培養(yǎng)學生綜合素質(zhì)和職業(yè)技能
公司在招聘人才時,要求應聘者不僅要具有較強的理論知識和實踐經(jīng)驗,也要具備良好的職業(yè)素質(zhì)。由于軟件測試職業(yè)的特殊性,后者顯得尤為重要。目前的教學中,對于應試技巧的教學內(nèi)容幾乎沒有,因此很有必要就這方面組織培訓,使學生在入職前對軟件測試職業(yè)有一定的了解,贏得面試官的青睞,獲得更多的就業(yè)機會。
1) 加強學生面試技巧的鍛煉,例如面試中的儀表風度、專業(yè)知識、工作實踐經(jīng)驗、口頭表達能力、綜合分析能力、反應能力與應變能力、人際交往能力、工作態(tài)度、上進心與進取心、求職動機等方面。
2) 注重培養(yǎng)軟件測試必需的溝通能力、責任心、懷疑精神、發(fā)散思維和反向思維能力。在學生中樹立良好的測試團隊意識,例如目標意識、團隊意識、服務意識、競爭意識、危機意識等。
3) 搜集和整理一些知名軟件公司(例如中興、華為、IBM等)的軟件測試工程師面試和筆試題,利用教學間隙組織模擬考試,進行講解和點評。
4) 建立校外實訓基地,與IT公司聯(lián)合培養(yǎng),通過企業(yè)實習提高學生的崗位技能,形成定向培養(yǎng)的長效機制,彌補大學畢業(yè)生沒有工作經(jīng)驗的缺陷。聘請業(yè)界知名專家、IT公司經(jīng)理來校講座,了解測試行業(yè)最新動態(tài),就相關問題答疑解惑,激發(fā)學生對軟件測試學習的興趣。
總之,軟件測試教學應當與社會的真正需求相結合,實現(xiàn)就業(yè)崗位零距離。
3 總結和展望
以就業(yè)為導向的軟件測試實踐課教學改革改變了過去實踐課流于形式,開展不到位的缺點,增強了學生的社會實踐能力和崗位技能,實現(xiàn)了教學與就業(yè)的零距離,取得了一定的教學效果和社會效益。目前改革還未能形成完整的教學體系,在實踐課的組織和實際操作上有一定的難度,實驗形式的過于靈活會導致課堂教學效率降低。今后需要在目前的基礎上作進一步完善,以適應當前IT企業(yè)不斷變化的測試人才需求狀況。
參考文獻:
[1] 陳能技.軟件測試技術大全-測試基礎、流行工具、項目實戰(zhàn)[M].北京:電子工業(yè)出版社,2008.
[2] 古樂,史九林.軟件測試案例與實踐教程[M].北京:清華大學出版社,2007.
[3] 朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2005.
[4] 劉德寶.軟件測試工程師[M].北京:科學出版社,2009.
關鍵詞:軟件測試;測試工具;測試管理;企業(yè)需求
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)32-7664-02
Abstract: In order to reverse the misunderstanding in College of Software Testing Talents Training, through explains the intension of software testing,proposes the teaching was in the software testing course necessary and feasible, as long as the change of thoughts, simulation test case of enterprises in the process of teaching, students' comprehensive quality training, can cultivatecomprehensive talent of software testing by enterprise love.
Key words: Software testing; test tool; test management; enterprise demand
自上世紀80年代,伴隨著軟件行業(yè)的發(fā)展需要,軟件測試的基礎理論和實用技術開始形成,經(jīng)過三十多年的發(fā)展,軟件測試在軟件開發(fā)行業(yè)中的角色越來越重要,我們目前評價軟件測試,它即需要工具和技術的支持,更需要有科學的管理體制,它既要保證軟件能夠健壯運行,又要保證軟件的功能完全符合客戶的需求,一個好的測試隊伍,是軟件開發(fā)必不可少的依靠,尤其是復雜的軟件項目,開發(fā)和測試要親如手足,才能保證項目的順利進行。
目前高校的軟件相關專業(yè)的畢業(yè)生,大約有1/5的人在5年之內(nèi)從事過或最終從事軟件測試相關的職業(yè),這是一個相當大的比重,同時也反應出社會上對軟件測試職業(yè)的缺口很大,眾所周知,高等教育往往落后于企業(yè)的實際發(fā)展,這種“厚基礎,寬口徑”的辦學宗旨已經(jīng)盛行了很多年,當然,在許多專業(yè)領域,這種以不變應萬變的培養(yǎng)體系是最明智的選擇,但在計算機軟件教學領域,因為這個學科的發(fā)展速度幾乎超乎人類的想象,因此我們必須讓學生在校園里感受到計算機企業(yè)中對計算機技術的需求方向,這樣才不至于在學生走出校園時無所適從。軟件測試職業(yè)的職位待遇穩(wěn)步提升,而且其職業(yè)壽命要遠遠長于軟件開發(fā),從學生的職業(yè)規(guī)劃角度來看,在高校進行軟件測試中高級人才的培養(yǎng)是一條可行之路。
1 高校開設軟件測試課程的必要性
事實上,在高校計算機教學體系中開設軟件測試課程,并不單單是為了迎合企業(yè)的需求,軟件測試是軟件工程課程的延伸,是軟件開發(fā)課程的補充,是軟件管理課程的實踐。
軟件測試課程的基礎學科涉及數(shù)學、計算機導論、軟件工程、計算機組成、管理學和信息技術等,如果沒有這些學科的支撐,軟件測試無法深入學習。
軟件測試課程的開設,對高校計算機軟件專業(yè)的學生來講,是有著非常大的意義的,目前很多大型的軟件企業(yè)并不擔心開發(fā)人員的招聘,而對熟練掌握軟件測試技術和管理方法的高級測試人員求賢若渴,這一方向的職業(yè)缺口確實非常之大,究其原因就是目前幾乎所有高校的軟件相關專業(yè)都開設了軟件開發(fā)從技術到管理的全套課程,而軟件測試的相關課程幾乎為零,這樣的學生走出去,很難迅速掌握測試的理念,也無力制定宏觀測試計劃,不得不從測試行業(yè)最低端的測試員開始做起,這對于高校畢業(yè)生來講這是一種人才的浪費,在高校的計算機課程體系加入軟件測試內(nèi)容已經(jīng)迫在眉睫。
在任何一個行業(yè),從業(yè)人員對行業(yè)的成熟度區(qū)分,是企業(yè)招聘首先要考慮的問題,我們經(jīng)常在招聘信息中看到“有工作經(jīng)驗”這樣的條款,在軟件測試行業(yè)也是如此,一般給出5種分級:1級我們稱之為用戶級測試人員,這一級別的測試人員直接扮演客戶的角色來使用軟件,看是否能發(fā)現(xiàn)問題;2級是軟件測試操作員,這類人群受過一定程度軟件測試的專門訓練,可以執(zhí)行上級下達的具體測試任務;3級是軟件測試技術員,這一職位人群有很多軟件測試的經(jīng)驗,能夠非常熟練的使用某些軟件測試專門技術,能夠設計測試用例;4級是軟件測試系統(tǒng)工程師,他們具有相當廣泛的計算機相關專業(yè)知識,熟悉軟件開發(fā),熟練掌握所有軟件測試技術,并具有項目管理經(jīng)驗;5級是軟件測試總工程師,總工程師負責管理整個軟件測試項目,具有掌控全局的能力和技術。
高校軟件測試人才的培養(yǎng),其目標要向3級人才靠近,并且這些人才有向4級或5級成長的持續(xù)發(fā)展能力。
2 軟件測試教學中需要重視的兩個問題
2.1扭轉重開發(fā),輕測試的偏見思想
很多人輕視軟件測試,認為軟件測試無需具備很高的技能,是沒有前途的工作,缺乏創(chuàng)造性,很多高校也存在重開發(fā),輕測試的思想,學生在這種觀點的熏陶下,也對測試工作存在偏見,其中對軟件測試工作有三個認識誤區(qū)尤為突出:首先,軟件測試是軟件開發(fā)完成之后才進行的,只是軟件編碼的最后一個階段,其地位可有可無。其次,軟件測試不需要具備很高的專業(yè)技能,工作乏味枯燥,不具創(chuàng)造性,最后,軟件投入使用后一旦出現(xiàn)BUG,測試人員要負主要責任。
事實上,首先,一個好的軟件測試團隊,在軟件需求分析階段就已經(jīng)開始測試了,開發(fā)人員理解的客戶需求是否正確,要由測試人員監(jiān)控和保證,測試工作和開發(fā)工作是并行的,尤其在軟件項目開始的時候,監(jiān)控和防范一個微小的問題或隱患,是為了防止軟件成型后出現(xiàn)無法挽回的缺陷。其次,軟件測試是一項綜合技能能強的工作,運用測試工具的能力,與人溝通的能力,有效管理的能力,書寫文案的能力等等,做好軟件測試工作絕對不是想象的那么簡單,而且一旦具備了綜合測試的素質(zhì),將是受用終身的資本。最后,軟件測試規(guī)范實施后,軟件仍然可能出現(xiàn)BUG,這是開發(fā)和測試人員應該共同面對的現(xiàn)實問題,測試人員只能保證BUG越來越少,越來越不影響系統(tǒng)的健壯運行。
2.2強調(diào)管理與技術并重
軟件測試的規(guī)范實施需要測試技術和管理方法兩方面的支撐,如果不具備專業(yè)的測試技術,只能做一些簡單的功能測試,如果不具備宏觀管理計劃的能力,只能處于被指揮狀態(tài)進行片面測試的實施,現(xiàn)在軟件測試真正缺少的是技術和管理兼?zhèn)涞娜瞬牛咝5膶W生素質(zhì)非常適合軟件測試高端人才的培養(yǎng)。高校的培養(yǎng)中,要讓學生深刻理解,我們培養(yǎng)的學生不是只能低頭做測試任務,而是要能指揮測試工作,這絕對不是件簡單的工作,需要全面的技能和完善的人格,只有這樣的人才,才能帶領出出色的測試隊伍。
教學中,增加實訓環(huán)節(jié),給學生安排豐富的實例和習題,最好采用實際軟件項目的測試案例,讓學生在學校感受到企業(yè)中一樣的工作環(huán)境,并安排和企業(yè)中一樣的測試崗位,讓學生體會溝通和管理的必要,在獨立處理問題的過程中激發(fā)學生的學習興趣,促進理論和實踐教學的結合,把對學生的應用能力的培養(yǎng)融匯于教學中。
3 軟件測試專業(yè)課程設計的目標和原則
軟件測試專業(yè)要全方位的培養(yǎng)和提高學生的基礎理論、實踐能力、設計能力、實踐訓練等綜合素質(zhì)。重視管理、人文、經(jīng)濟等知識的學習。
3.1軟件測試專業(yè)課程設計的目標
高校軟件測試培養(yǎng)目標要以市場為導向,培養(yǎng)具有一定的設計測試計劃方案的、具有管理能力,能平衡整個測試項目各方面因素的軟件人才,這些人才要具備軟件開發(fā)的整體認識,能制定和執(zhí)行測試,能利用測試工具完成一定測試任務。
本專業(yè)課程的重點包括:軟件缺陷生命周期管理;軟件測試基本概念的內(nèi)涵;主流測試工具的應用;進行全面的系統(tǒng)測試的方法;注課程以實訓為主,重動手能力的培養(yǎng)等。 具體課程要涵蓋:熟練掌握至少一種數(shù)據(jù)庫應用技術及一門軟件開發(fā)語言;了解軟件開發(fā)過程中軟件測試的重要性;掌握主流的自動化測試工具;科學管理測試隊伍。
3.2軟件測試專業(yè)課程設計的原則
課程的設計要體現(xiàn)與時俱進的精神,以企業(yè)的實際項目為依托,主要原則包括:
1)開展項目教學,項目教學具有針對性、研究性、啟發(fā)性和實踐性等。項目的選擇要知識涵蓋全面,要能夠激起學生的學習興趣。
2)制定專業(yè)課程計劃、課程大綱和教學方案等,課程計劃提倡電子化、網(wǎng)絡化和課堂教學并用,建設校企合作的專兼結合的教學團隊,開設以項目為載體的教育大綱,用以指導課程教學工作的開展。
3)建立測試工程內(nèi)容的課程結構模式,把真正的測試項目開展到課堂上來,或者讓學生在學習期間進入企業(yè)進行崗前培訓,充分安排工程實踐,引進軟件測試的工程師資格認證,同時逐步建立科學的工程教育檢驗和質(zhì)量評估體系。
理論與實踐并重,課程需要涵蓋單元測試、集成測試、性能測試、功能測試與系統(tǒng)測試。注重設計和管理的執(zhí)行過程。為學生創(chuàng)造可自由而主動的學習氛圍。以學生為出發(fā)點,在軟件測試中融會貫通大學里學習的軟件相關課程,在項目驅使下培養(yǎng)主動學習的能力。采用分組討論學習方式,結合實際項目,把學生組織為若干小組,在教師指導下完成工作。不斷提升學校教師的專能,提供系統(tǒng)學習和階段性培訓機制。
4 總結
軟件測試課程在高校的教學中,沒有現(xiàn)成的經(jīng)驗和模式,需要我們根據(jù)行業(yè)的發(fā)展隨時調(diào)整,以社會需求為導向,以培養(yǎng)行業(yè)
中高級人才為目標,以項目實訓教學為依托,邊進行邊思考,逐步發(fā)展,逐步穩(wěn)定,所以我們要以發(fā)展的眼光,靈活的策略來微調(diào)教學過程的細節(jié),測試無處不在,高校進行軟件測試的教學改革也是一種測試,只要我們采用嚴謹?shù)墓こ炭刂撇呗裕茖W管理,總結規(guī)律,必然能取得高校進行軟件測試課程探索的勝利。
參考文獻:
[1] Ron Patton.軟件測試[M].北京:機械工業(yè)出版社,2002.
[2] Myers G J.軟件測試的藝術(中文版)[M].王峰,陳杰,譯.北京:機械工業(yè)出版社,2006.
1高效軟件測試團隊建設的可行性策略
1.1軟件測試團隊的特質(zhì)建設
軟件測試團隊的素質(zhì)建設對于整個軟件工程質(zhì)量而言具有非常重要的作用,人是測試工作中最具價值也是最重要的資源。因此,應該積極構建合格的、高質(zhì)量的合作團隊。(1)軟件測試以及軟件工程開發(fā)都需要程序員具備足夠的自信心,對軟件檢測結構以及程序的缺陷要如實匯報。對于軟件項目工程中出現(xiàn)的各種問題要認真處理,以此減少客戶可能遇到的種種問題。(2)軟件測試人員還要具備足夠的懷疑精神,對可能存在的漏洞性錯誤要及時予以檢測和糾正,進而提高其自我創(chuàng)造力。(3)軟件測試團隊要積極構建溝通協(xié)調(diào)能力。可以通過與客戶進行必要的溝通來及時發(fā)現(xiàn)軟件運行中存在的不足之處,其中測試者可以針對模擬環(huán)境下用戶對于軟件環(huán)境的應用情況進行科學分析,以此對軟件編寫過程和總結文檔進行反復檢查檢測,提高軟件的運行效率和正確性。(4)必備的檢測技術能力。軟件測試團隊必須具備重要的專業(yè)技能,需要精通數(shù)據(jù)庫、通信、網(wǎng)絡、GUI測試、測試工具、自動化測試腳本和相關業(yè)務領域等,以此全面提升他們的測試能力和測試積極性。
1.2軟件測試團隊的制度性建設舉措
一個優(yōu)秀的軟件測試團隊必定擁有一套完善的團隊管理制度,擁有明確的職責分工和高端測試人員,通過不斷規(guī)范團隊管理制度,做到揚長避短,及時提升整體測試質(zhì)量。其中,軟件測試團隊需要不斷加強匯報制度建設、工作總結制度建設、獎懲制度建設、測試審核制度建設、會議制度建設等,通過科學合理地分配職責關系來進一步強化團隊成員的素質(zhì)建設。在此過程中,還要注重對于資深測試人員的正確引導和建設,加強彼此間的溝通交流,不斷豐富團隊的測試知識庫,通過科學吸收先進的測試管理知識來提升整體測試技能和技巧,以此減少開發(fā)團隊協(xié)同工作中的一些領域瓶頸。
2結語
關鍵詞:軟件測試;校企合作;面向企業(yè);教學改革
0 引言
隨著軟件技術的發(fā)展和應用日益廣泛,軟件系統(tǒng)的規(guī)模和復雜性與日俱增。然而,由于軟件本身是邏輯實體,軟件開發(fā)目前還主要依賴手工勞動,軟件的變更比較頻繁等,導致了軟件質(zhì)量很難得到保證。軟件缺陷導致的各類損失不斷增加,甚至帶來災難性的后果。軟件質(zhì)量問題已成為所有軟件使用者和開發(fā)者關注的焦點,而作為軟件質(zhì)量保證和質(zhì)量控制的有效手段,軟件測試受到了企業(yè)、用戶及專家越來越多的關注。隨著用戶對軟件質(zhì)量要求的提高,企業(yè)對軟件測試人才的需求量逐年遞增。據(jù)前程無憂網(wǎng)數(shù)據(jù)顯示,2011年國內(nèi)軟件測試人才缺口高達20萬,2012年缺口突破30萬人。作為人才培養(yǎng)的主要基地,高校成為企業(yè)挖掘軟件測試人才的主要關注地。然而,從目前的企業(yè)反饋來看,應屆畢業(yè)生很難直接被使用,而是需要經(jīng)過長時間的培訓,成本較高,這導致了企業(yè)對高校人才引進的信任危機。高校也慢慢意識到了這些問題,開始加強軟件測試人才的培養(yǎng)。筆者從企業(yè)軟件測試人員的引進及使用現(xiàn)狀、高校軟件測試人才的培養(yǎng)及教學現(xiàn)狀進行分析,對軟件測試課程教學改革進行討論,并提出一些意見,以期能夠對目前的軟件測試人才培養(yǎng)起到一定的促進作用。
1 高校軟件測試課程教學現(xiàn)狀
2001年12月,國家批準建立了35所國家級示范性軟件學院,其中軟件測試課程成為本科及碩士研究生的專業(yè)核心課程之一。然而受傳統(tǒng)人才培養(yǎng)模式的影響,高校在軟件測試課程設置及人才培養(yǎng)上存在著如下不足。
1.1 傳統(tǒng)“知識碎片”式的教學模式
在軟件測試課程的教學上,大多數(shù)高校仍然采用的是以理論教學為主,實踐教學為輔的教學模式,教師在課堂上講授理論知識,學生上機完成相應的作業(yè)。教師授課時采用的案例和學生課后的作業(yè),大多數(shù)都是以掌握知識點為主,比較片面,學生無法形成對軟件測試工作的整體認識,更多的是一些“知識碎片”。如講授測試用例設計方法時,教師已講完等價分類法,學生也做了作業(yè),但是學生最終還是不清楚到底為什么要學習等價分類法、在什么情況下用等價分類法,甚至實際應用中真正的測試用例是什么樣子都不清楚。類似的單一孤立知識點的學習對學生來說并不合適。
1.2 具有專業(yè)知識及實際經(jīng)驗的師資力量匱乏
目前在高校從事軟件測試課程教學的教師中,不具備軟件測試專業(yè)知識及實際軟件測試項目經(jīng)驗的占很大比重。一些教師未經(jīng)過軟件測試專業(yè)知識培訓,不具備實際經(jīng)驗,僅僅是憑借書本進行理論教學,對現(xiàn)實企業(yè)中的軟件測試工作不了解,無法針對企業(yè)的人才需求展開具有針對性的教學活動。
1.3 實踐教學環(huán)境不完備
軟件測試是一門實踐性要求較高的課程,僅僅是通過小型的測試練習是無法達到實踐的目的和效果的,必須建立完備的實踐教學體系和環(huán)境。目前高校普遍缺乏真正的軟件測試環(huán)境,學生無法通過項目實踐來理解和深入學習軟件測試的相關技能,如軟件測試工具的使用,網(wǎng)絡架構對軟件系統(tǒng)性能的影響,大批量數(shù)據(jù)處理的性能測試及分析等。
1.4 對學生的理解誤區(qū)未給予正確的引導
學生在大學校園中的學習受到社會觀念的影響,對軟件測試產(chǎn)生錯誤的認識和理解,對現(xiàn)實中的軟件測試工作缺乏興趣,從而影響到對軟件測試知識和技能的學習。如“軟件測試工作的技術含量較低,發(fā)展前景不如軟件開發(fā)工作”“軟件測試工作薪資較低”等,對于這些錯誤的認識,教師在教學過程中未給予正確的引導,從而導致學生就業(yè)后不愿意從事軟件測試工作。
2 企業(yè)軟件測試人才需求及使用現(xiàn)狀
2.1 企業(yè)軟件測試人才引進現(xiàn)狀
軟件測試屬于軟件質(zhì)量管理的范疇,與軟件開發(fā)不同,軟件測試并不直接產(chǎn)生效益,所以企業(yè)在這方面的人員投入相對比較謹慎。在歐美等軟件產(chǎn)業(yè)發(fā)達國家的軟件企業(yè)中,測試人員與開發(fā)人員的配置比例一般已達到或超過1:1;而在國內(nèi)被調(diào)查軟件企業(yè)中,能夠基本達到該比例的企業(yè)僅占22%,很多軟件企業(yè)的測試人員與開發(fā)人員的比例達到1:7以上。
隨著國內(nèi)軟件市場不斷擴大,軟件企業(yè)逐漸走人正軌。近年來,軟件質(zhì)量越來越被關注,軟件測試日益引起國內(nèi)軟件企業(yè)的高度重視,企業(yè)在軟件測試人力上的投入也在逐漸增大。而目前企業(yè)引進軟件測試人才的主要途徑有3個方面:高校、培訓機構和自主培養(yǎng)。自主培養(yǎng)軟件測試人員的周期相對較長,無法滿足人才需求的快速增長;社會培訓機構舉辦的各類培訓價格不菲,生源相對較少,且培養(yǎng)出的人才質(zhì)量良莠不齊,無法緩解人才市場的緊缺狀況,這就使得高校成為軟件測試人才引進的主要源頭。然而,國內(nèi)高等教育院校對相應的市場需求反應遲緩,開設軟件測試專業(yè)的院校很少,且應屆畢業(yè)生常常無法馬上勝任相關工作。
2.2 企業(yè)軟件測試人才技能要求
目前,企業(yè)中軟件測試人員的工作崗位主要包括以下幾種。
1)測試員。
測試員的技能需求主要包括:根據(jù)測試規(guī)程執(zhí)行測試,記錄測試過程及結果,編寫測試日志和提交BUG描述;編寫用戶手冊、在線幫助;參與整理測試項目相關文檔、資料等。
2)測試工程師。
測試工程師的技能需求主要包括:根據(jù)自動化測試設計,編寫測試腳本;根據(jù)測試模擬環(huán)境設計,開發(fā)測試模擬環(huán)境及測試工具;協(xié)助OA人員對代碼進行規(guī)范性檢查(按照公司標準文件),并記錄檢查結果;代碼測試及走查;制定測試規(guī)程,審查測試員的測試日志及BUG描述,并對測試員的測試工作進行指導;分析測試過程及結果,指出可能出錯的原因等。
3)高級測試工程師。
高級測試工程師的技能需求主要包括:制定測試方案;分析軟件項目需求,進行測試需求分析;根據(jù)軟件項目概要設計、詳細設計和測試需求,進行測試設計,編寫測試用例;進行自動化測試設計,并指導測試工程師編寫測試腳本;測試工具及測試模擬環(huán)境的設計,并指導測試工程師進行測試工具及測試模擬環(huán)境開發(fā);進行測試結果分析,編寫測試分析報告;在統(tǒng)計分析的基礎上對軟件整體質(zhì)量進行評估,提出軟件過程改進建議;改進測試過程、方法、技術和工具等。
4)測試經(jīng)理。
測試經(jīng)理的技能需求主要包括:測試項目總體計劃的制訂;組織測試項目總體計劃的評審;測試項目執(zhí)行過程的跟蹤和監(jiān)控管理,并向軟件項目組負責人和質(zhì)量部測試主管報告測試項目的執(zhí)行情況;分析測試項目資源(人員、設備等)需求,申請資源并參與相關協(xié)調(diào)工作;制定測試規(guī)范;制定階段測試計劃,分配測試任務;組織測試方案、測試需求、測試設計、測試用例、測試腳本、測試分析報告等的評審;組織測試人員的相關培訓;測試項目總結;測試項目組的日常管理工作;測試項目組內(nèi)部的溝通與協(xié)調(diào);測試項目組與開發(fā)組之間的溝通與協(xié)調(diào);測試項目組內(nèi)部人員的績效考核管理;向軟件項目組提交測試分析報告等。
3 軟件測試課程改革方案
綜上可以看出,高校在軟件測試人才方面的培養(yǎng)模式已經(jīng)不能適應我國軟件產(chǎn)業(yè)發(fā)展的現(xiàn)狀,不能夠提供適合企業(yè)需求的軟件測試人才。為適應我國經(jīng)濟結構戰(zhàn)略性調(diào)整的要求和軟件產(chǎn)業(yè)發(fā)展對人才的迫切需要,實現(xiàn)軟件人才培養(yǎng)的跨越式發(fā)展,筆者認為高校應該根據(jù)企業(yè)需要,針對軟件測試課程展開深入的教學改革和實踐活動,調(diào)整培養(yǎng)方案,從而培養(yǎng)出大批合格的軟件測試人才。
軟件測試屬于軟件工程專業(yè)的一個方向,可以依托軟件工程專業(yè),加強軟件測試課程建設,加大軟件測試方面的師資力量,改進教學方法,加強實踐教學環(huán)節(jié),培養(yǎng)出具有扎實的軟件測試理論基礎、掌握測試方法和具有一定測試經(jīng)驗的人才。
3.1 正確引導學生的學習觀念,培養(yǎng)學習興趣
要想培養(yǎng)優(yōu)秀的、符合企業(yè)要求的軟件測試人才,必須正確引導學生的學習觀念,培養(yǎng)學習興趣。由于社會上一些錯誤觀念的引導,導致了學生畢業(yè)后不愿意從事軟件測試工作,從而對軟件測試課程的學習興趣不濃。學生中普遍認為“軟件測試工作的技術含量不如軟件開發(fā)”“軟件測試工作是一種簡單的、重復性的勞動”“軟件測試工作更多的是需要耐心,而不是能力”等,對于這樣的錯誤觀念,應加以正確的引導。
首先,應分析這種觀念產(chǎn)生的原因。在畢業(yè)生就業(yè)時,很多企業(yè)對軟件開發(fā)人員開出的薪資比軟件測試人員高,這是實際存在的現(xiàn)象。進一步分析這種現(xiàn)象產(chǎn)生的原因主要與企業(yè)目前的軟件測試工作現(xiàn)狀有關,大部分企業(yè)所作的測試主要集中在功能測試,甚至是界面測試上,難度相對較小;招聘崗位基本上定位為測試員,所以開出的薪資較低。而對于測試工程師、高級測試工程師等軟件測試崗位,企業(yè)開出的薪資并不會比軟件開發(fā)崗位低。
其次,可以將軟件測試工作和軟件開發(fā)工作相比較,目前在企業(yè)里的軟件開發(fā)基本上都是采用成熟的開發(fā)框架,開發(fā)人員只需要編寫少量的代碼就可以完成相應的功能模塊。同時為了開發(fā)效率高,企業(yè)基本上會將開發(fā)人員定位為某個技術領域,比如界面層開發(fā)、業(yè)務邏輯層開發(fā)、數(shù)據(jù)處理層開發(fā)等,不會讓開發(fā)人員隨意變更技術領域。每個領域的開發(fā)都是有“前輩”積累的代碼或成熟的框架和組件,開發(fā)人員的開發(fā)難度相對較低,在不同項目中重復性很高,“技術面狹窄、無法深入”已經(jīng)成為開發(fā)人員的明顯特征。反觀軟件測試工作,雖然測試員的工作相對簡單,但是對于測試工程師和高級測試工程師來說,其工作涉及需求分析、設計和編碼等范圍,在項目中要涵蓋每一個領域。比如功能測試要涉及業(yè)務的全面理解,性能測試要涉及各個知識領域,包括框架、數(shù)據(jù)庫、通信、網(wǎng)絡等;從技術來說,軟件測試人員比軟件開發(fā)人員的知識領域和知識理解程度“更寬、更深入”。通過引導,讓學生更清楚軟件測試工作的現(xiàn)狀和未來發(fā)展,從而提高其學習興趣。
3.2 基于完整項目的實踐教學
軟件測試的目的是“盡可能地發(fā)現(xiàn)軟件中的缺陷”,要達到這個目的就必須要了解軟件,了解軟件的開發(fā)過程,了解軟件開發(fā)人員的思維方式。目前很多高校軟件測試課程的實踐教學都采用小組的形式完成一個測試任務,編寫《測試計劃》《測試用例》《測試總結報告》等文檔,但是這樣的實踐教學模式過于形式化。學生基本上都是“為了測試而測試”,生搬硬套文檔模板,是因為并不了解軟件及開發(fā)流程,無法從本質(zhì)上尋找問題,測試流于表面。
要想更好地提高測試技能,必須改變實踐教學模式,不能將測試與開發(fā)相脫離,而應該讓學生投入一個完整的項目實踐課題,從中體會測試與開發(fā)的關系。項目實踐課題可以關注以下幾個方面。
(1)課題內(nèi)容以學生學習和生活中所熟悉的軟件系統(tǒng)為對象,如《學生宿舍管理系統(tǒng)》《圖書館管理系統(tǒng)》《校園郵件收發(fā)管理系統(tǒng)》等,這樣可以更好地引起學生的興趣。
(2)課題的組織采用小組的形式,3~5人為一個小組,自由組合,并推選一位項目負責人來管理項目。
(3)課題的目標是完成一個軟件系統(tǒng)的開發(fā)及測試。考慮到與企業(yè)里的真實工作流程相結合,項目采用“交叉測試”形式,即每個小組完成本組軟件系統(tǒng)的開發(fā)任務,然后將軟件(包括文檔)提交給另外一組進行測試,這就符合“第三方測試”的要求。
(4)課題的考核采用小組答辯的形式。每個小組將自己的開發(fā)成果、測試成果進行展示,其他組的同學和老師可以有針對性地提出問題,并對每個小組進行打分,然后根據(jù)權重值產(chǎn)生每組的最終成績。
通過這樣的項目實踐,可以讓學生了解軟件項目的開發(fā)和測試整體流程。在開發(fā)時考慮可能會出現(xiàn)的問題;在測試時進行反思,并深入挖掘,以自身的開發(fā)實踐來促進測試,對測試的技術難度和復雜度有更深切的體會,從而提高軟件測試技能。
3.3 加強校企合作,提高師資水平,建設課程實踐環(huán)境
企業(yè)需要人才,高校為企業(yè)培養(yǎng)人才,這無疑為校企合作提供了可行性。高校目前在軟件測試課程教學上存在著一定的困難,一方面是師資問題,缺乏具有實際軟件測試經(jīng)驗的教師;另一方面是課程實踐環(huán)境問題,缺乏真實的軟件測試環(huán)境。這些問題都可以通過校企合作來尋求解決。
(1)高校將教師送到專門的培訓機構學習軟件測試技能;還可以與企業(yè)合作,將教師送入企業(yè)參與實際的軟件項目,與測試人員一起工作,在實踐中學習。這樣就可以培養(yǎng)出一批具有實際測試經(jīng)驗和技能的專業(yè)教師團隊。
(2)高校和企業(yè)合作建立軟件測試模擬環(huán)境,可以參照企業(yè)來建立自己的測試模擬環(huán)境,也可以和企業(yè)共享。這樣既節(jié)約了成本,又能使得測試環(huán)境更加專業(yè),滿足學生課程實踐的需要。
(3)聘請企業(yè)中的資深高級軟件測試工程師和軟件開發(fā)工程師到學校擔任助教或顧問,與學生面對面交流,對學生的學習和實踐進行指導,從而開拓學生的視野。
(4)在教學中引入企業(yè)的實際項目作為案例,結合實際項目中所用到的測試方法和測試技能;也可以請實踐項目的開發(fā)人員和測試人員現(xiàn)身說法,與學生共享實際經(jīng)驗,讓學生真切體會實際項目和理論教學之間的差別,從而達到理論和實踐相結合的目的。
(5)聘請企業(yè)中資深的軟件測試人員帶領學生進行課程實訓,實訓的題目可以是虛擬的也可以是企業(yè)中的實際項目;或者讓學生到企業(yè)進行實訓,參與實際的軟件項目,讓他們真正了解實際的軟件測試流程及方法,在實踐中提高測試技能。
通過與企業(yè)合作,不僅能夠培養(yǎng)一支具有實際經(jīng)驗的師資隊伍,也能讓學生從企業(yè)的項目中學習到實際的技能。同樣,企業(yè)也可以在與高校的合作中引進自己所需要的人才,這對于雙方來說都是非常有價值的。
3.4 走教學產(chǎn)業(yè)化發(fā)展道路
雖然高校并非是盈利機構,主要以培養(yǎng)人才和科學研究為主,但是“巧婦難為無米之炊”,培養(yǎng)人才和科學研究必須要有相應的資源。如果單純依靠國家的投入,無疑是“杯水車薪”,所以,需要考慮依靠自身的力量和優(yōu)勢來獲得資源。教學產(chǎn)業(yè)化是一條可以嘗試的發(fā)展道路。
在軟件測試的課程建設中,可以考慮通過國家投入和企業(yè)合作的方式,建立一個完整的軟件測評環(huán)境以及一支由高校教師和企業(yè)資深的軟件測試工程師共同組成的軟件測評隊伍,這樣的測評環(huán)境和測評隊伍可以在滿足高校實踐教學的基礎上面向社會,與一些具有資質(zhì)的測評中心合作,共同承擔企業(yè)的軟件測評任務。這反過來能夠促進測評環(huán)境和測試隊伍的建設和發(fā)展,不僅滿足了教學要求,又尋找到了一條產(chǎn)業(yè)化的發(fā)展道路,無疑會對高校其他學科的建設和發(fā)展提供借鑒。
4 結語
筆者正是從企業(yè)用人的實際需求出發(fā),提出加強校企合作的如上思路,提出面向企業(yè)的軟件測試課程教學改革方法,讓企業(yè)能夠真正引進優(yōu)秀人才,讓高校走上產(chǎn)業(yè)化促進教學發(fā)展的道路。
參考文獻:
[1]楊鵬,賀平.高職軟件測試專業(yè)的構建與探索[J].計算機教育,2008(2):63-66.
[2]王福良,任傳榮,楊彩萍.關于普通高校教學課程體系改革的思考與實踐[J].天津工業(yè)大學學報,2002,21(3):26-28.
關鍵詞:軟件測試,質(zhì)量管理,軟件工程
中圖分類號:O213.1 文獻標識碼:A 文章編號:
1 軟件測試類別及作用簡介
軟件測試按作用分類,主要可以分為功能測試,性能測試,安全測試等,按測試階段劃分則可分為單元測試,集成測試,系統(tǒng)測試,驗收測試,回歸測試等。按是否涉及源代碼測試又可分為黑盒測試,白盒測試。
下面按作用介紹幾類常見的測試:
功能測試:主要按照系統(tǒng)功能說明書軟件設計書等資料,驗證軟件每個功能的正確性,易用性。主要目的是保證軟件功能可用,用戶使用過程中有一個良好的使用體驗。
性能測試:是一種非功能性測試,主要測試軟件產(chǎn)品運行的各項性能指標是否達標。如系統(tǒng)反應速度,系統(tǒng)負載能力,系統(tǒng)使用過程中對計算機各類資源的占用情況等,主要是測試系統(tǒng)的健壯程度。最常見的是測試軟件功能的反應速度。同樣對保障用戶使用體驗有重要作用。通常使用自動化工具得到測試系統(tǒng)的性能指標,筆者使用的工具為Loadrunner(LR)。
安全性測試:這是經(jīng)常被忽視的測試方式。很多用戶軟件使用安全意識淡薄,在用戶未提出安全測試的情況下,有些軟件開發(fā)公司為節(jié)約成本也會刻意回避這個問題。軟件安全與否并不直接影響用戶的使用體驗。軟件安全測試主要從數(shù)據(jù)訪問,權限管理,防攻擊能力,破壞性測試等幾個方面測試軟件系統(tǒng)的安全。政府部門所使用的軟件系統(tǒng)通常,這樣的項目進行安全測試很有必要。
2 軟件測試與質(zhì)量管理關系
任何項目實施都需要有質(zhì)量管理,否則工程產(chǎn)品將無法使用。軟件工程更是如此,在軟件工程中軟件測試是軟件質(zhì)量管理的重要手段也是質(zhì)量管理流程的重要一環(huán)。其實不管軟件測試怎樣分類,具體的流程怎樣操作,軟件測試的目的就是為了保障軟件的質(zhì)量。從公司組織層面項目質(zhì)量管理從制度上對測試流程的完整性加以保障,從項目實施層面,項目內(nèi)部的質(zhì)量管理應為軟件產(chǎn)品即將的測試做出準備提供便利。
在多種軟件工程管理模型中,都將軟件測試做為單獨的過程納入到管理體中來,比如CMMI軟件成熟度模型,是將軟件測試放在產(chǎn)品驗證過程域中的,同產(chǎn)評審一起,強調(diào)軟件測試對產(chǎn)品驗證作用。
3 測試組織的建立
人們經(jīng)常有開發(fā)做的較弱的人做測試的印象。這是錯誤的,主要是由很多軟件公司不愿意調(diào)撥開發(fā)水平高的人在測試上造成的。其實測試人員作為公司于客戶之間軟件質(zhì)量最后的守門員,不僅要保證產(chǎn)品功能正確,還要從用戶角度對軟件產(chǎn)品提出使用建議,根據(jù)經(jīng)驗預測用戶可能的使用方式以及評價,同時還需同項目經(jīng)理,開發(fā)人員溝通。因此不僅要具備測試理論知識,還需要具備項目經(jīng)驗,熟悉產(chǎn)品業(yè)務,了解項目各環(huán)節(jié)工作,同時具備編碼,操作系統(tǒng),數(shù)據(jù)庫,計算機硬件等方面的有關知識,恰是要求知識構成最全面的崗位。
通常建議測試組應包括至少一名經(jīng)驗豐富的人員。測試組的人數(shù)根據(jù)公司開發(fā)人員總數(shù),公司產(chǎn)品的成熟度確定。如果公司產(chǎn)品已經(jīng)較為成熟,有固定框架的話,測試人員數(shù)量可維持在開發(fā)人員總數(shù)的十分之一,否則應大于這個數(shù)量。
測試組可由測試組長,或者叫測試經(jīng)理帶領幾名測試人員組成。測試經(jīng)理負責測試計劃,測試過程監(jiān)控,測試產(chǎn)品驗證等工作。測試人員按要求開展測試工作。
4 測試流程簡介
(1)測試工作啟動階段,項目經(jīng)理提交需求規(guī)格說明書和項目計劃。測試經(jīng)理根據(jù)提交文檔編寫測試計劃。需求內(nèi)應包括用戶方確認的系統(tǒng)使用環(huán)境。
(2)工程管理部對測試計劃進行評審。評審通過進入測試流程。不通過則將文檔返回項目經(jīng)理根據(jù)項目情況重新計劃,直至通過。
(3)系統(tǒng)經(jīng)過項目經(jīng)理檢查,滿足送測要求時,項目經(jīng)理填寫測試申請單,提交概要設計說明書、詳細設計說明書和系統(tǒng)demo,澄清測試需求,明確測試環(huán)境。其中demo非必須提交。
(4)項目經(jīng)理指派人員同測試組建立專門的信息交流接口,協(xié)調(diào)測試過程中的有關事宜。
(5)測試人員執(zhí)行測試。
(6)記錄測試過程中出現(xiàn)的系統(tǒng)缺陷和問題。填寫問題跟蹤記錄表,并交由項目經(jīng)理確認。
(7)工程管理部根據(jù)測試結果決定系統(tǒng)是否系統(tǒng)具備條件。如果不具備條件,則將督促開發(fā)人員完善系統(tǒng)并重新執(zhí)行測試流程。
(8)測試經(jīng)理編寫測試報告并總結。測試活動結束。
流程如圖:
以上測試流程主要按瀑布開發(fā)模型內(nèi)的測試流程描述,如果選用別的開發(fā)方法,則可以根據(jù)情況將流程簡化后加入開發(fā)中的每次迭代內(nèi)。
5 結束語
測試工作是保障軟件產(chǎn)品質(zhì)量的重要手段,本文大多內(nèi)容來自筆者工作經(jīng)驗的總結,僅供參考,有失偏駁之處,還請多加指正。
參考資料
[1] 佩騰 軟件測試 機械工業(yè)出版社
[關鍵詞]軟件測試 課程體系 教學改革
[作者簡介]李靜(1969- ),女,陜西興平人,河北北方學院信息工程學院,副教授,碩士,研究方向為教學設計、操作系統(tǒng)與軟件測試;趙志升(1965- ),女,河北張北人,河北北方學院信息工程學院,教授,碩士,研究方向為教學設計、軟件工程、數(shù)據(jù)挖掘。(河北 張家口 075000)
[中圖分類號]G642.3 [文獻標識碼]A [文章編號]1004-3985(2014)02-0135-02
軟件測試技術近年來發(fā)展迅速,已經(jīng)成為與軟件開發(fā)齊頭并進的專業(yè)技術。軟件測試工程師承擔產(chǎn)品功能、性能、可靠性、易用性等全方位測試,保證產(chǎn)品質(zhì)量,滿足用戶需求,保證企業(yè)信譽,是當前IT業(yè)界需求量驟升的熱門人才。目前我國軟件產(chǎn)業(yè)在產(chǎn)品功能和性能測試領域仍然存在著嚴重不足,軟件測試的廣度和深度已成為影響企業(yè)生存與發(fā)展的核心問題。培養(yǎng)大量的具備專業(yè)素養(yǎng)和高層次技能的測試人才,更好地推進我國測試行業(yè)和測試技術的長足發(fā)展,是高等院校必須擔負的職責。
一、國內(nèi)軟件測試專業(yè)教育現(xiàn)狀
自2000年軟件測試技術在我國興起至今十余年,軟件測試人才隨著軟件行業(yè)的迅猛發(fā)展呈現(xiàn)出供不應求的態(tài)勢。專業(yè)的軟件測試機構、測試網(wǎng)站及測試技術培訓機構等迅速發(fā)展起來。目前,國內(nèi)許多高校已經(jīng)逐步設有本科階段軟件測試方向的專業(yè)。2011年11月,由教育部主辦的“2011年高等學校軟件測試課程教學論壇”在上海同濟大學召開,對國內(nèi)軟件測試人才的培養(yǎng)及測試領域的全面發(fā)展起到積極推動的作用。
1.社會培訓模式與現(xiàn)狀。當前國內(nèi)業(yè)界一些知名網(wǎng)站主要承擔起測試人才的培養(yǎng)職責,如51testing、達內(nèi)科技、北大青鳥等,為測試行業(yè)輸送了大批動手能力較強的測試人才。針對性很強的短期教育模式是社會培訓的特色。培訓機構通常按照助理級、初級、中級和高級測試人員安排培訓內(nèi)容。諸如北大青鳥等規(guī)模較大的培訓機構引進歐美的混合教學模式,采用“理論知識+分模塊項目實踐+全真項目實訓+職業(yè)素質(zhì)訓練”的模式,形成一個科學并且實用的培訓體系。培訓機構通常設立自己專用的教學平臺,通過網(wǎng)絡遠程授課與集中化分期分班授課方式,在半年到一年的較短時期,培訓出上崗快、操作熟練、針對性強的應用人才,而且很多學員直接通過測試工程師面試,并在后期工作中累積了較深厚的測試經(jīng)驗,成為測試領域的支撐力量。培訓課程主要內(nèi)容涵蓋操作系統(tǒng)管理、網(wǎng)絡應用與Web編程、數(shù)據(jù)庫管理等專業(yè)課程,實訓環(huán)節(jié)應用主流的測試工具,如Winrunner,Loadrunner,Rational Robot等。著重于實用性的項目實踐和開發(fā)是培訓機構與高校教育的最大區(qū)別。參加這些培訓班已成為目前大學生崗前培訓的主要途徑。
2.高校專業(yè)教育現(xiàn)狀。軟件測試技術要得到廣泛應用和深入發(fā)展,不能僅依靠社會辦學,高校系統(tǒng)化的專業(yè)教學體系能夠為學生奠定一個更加扎實和科學的專業(yè)基礎,并對測試技術本身的學科化發(fā)展起到不可替代的作用。近三年來,軟件測試技術作為專業(yè)課程逐漸在多所高校開設。目前,多數(shù)高校將“軟件測試技術”作為一門獨立課程設置,交叉課程主要為“軟件工程”。當前一些高校開始申報軟件測試專業(yè),但是軟件測試技術的學科化發(fā)展目前仍受到諸多因素的影響。主要是:(1)缺乏豐富的理論支撐。軟件測試目前仍是發(fā)展中的計算機技術,專業(yè)論著少,適合于高校的教學材料非常有限,并且普遍存在知識結構不合理,教學內(nèi)容不規(guī)范統(tǒng)一,論點少并缺乏依據(jù),實驗指導教材匱乏等問題。另外作為一門獨立學科,與其他學科的交叉與相輔是理論體系的必要部分,測試技術與計算機領域諸多技術關聯(lián),相互結合教學是當前教改面臨的問題。(2)目前通用性測試平臺仍未完善發(fā)展與普及,在高校中缺乏結合教學實驗內(nèi)容的通用的實踐平臺,實驗環(huán)境單薄。多數(shù)高校停留在泛泛講授幾個熱門的測試工具的階段,缺乏成熟、實用的測試環(huán)境來實踐完整的測試項目。(3)教學模式上存在嚴重缺陷,專業(yè)培養(yǎng)過程中存在大量的不規(guī)范性和隨意性。主要表現(xiàn)在:實踐課程比例小,測試項目實例缺乏;理論課程知識結構不合理;教學理念和手段陳舊,脫離測試技術發(fā)展的實際與市場應用;不重視對學生從事軟件測試職業(yè)素養(yǎng)的培養(yǎng)。尖端技術的學科化發(fā)展是高等院校的職責,建立一個科學、完整的專業(yè)教學體系是高等教育最為核心的問題。
3.當前推進測試技術應用的其他途徑。除了專業(yè)公司培訓和高校培養(yǎng)外,當前軟件測試行業(yè)的發(fā)展還依賴于多種良好途徑:校企合作、技術沙龍、測試專業(yè)微群、社會信息輻射等。新興技術發(fā)展需要社會傳播產(chǎn)生的廣泛影響力來推動。以MPD(亞太軟件研發(fā)團隊管理)峰會、51testing等領銜的線下技術沙龍活動和巡回演講,聚集了很多高端的測試人才,相互學習交流,積極推進軟件測試行業(yè)的發(fā)展。一些較有影響的網(wǎng)絡微群提供測試技術的交流和分享,如軟件測試、敏捷測試、落地微群等,大量的測試人員和測試工程師提供測試過程管理、測試工作總結等資料,有很強的借鑒性。
軟件測試行業(yè)的人才匱乏仍然是當今的重要問題。依照行業(yè)需求,軟件測試人員配備應是軟件開發(fā)人員的2倍,而目前我國軟測人員與開發(fā)人員比例卻僅在15至18之間。以高等院校專業(yè)教育為主,實現(xiàn)多種途徑的人才培養(yǎng)是當前軟件測試行業(yè)的當務之急。
二、高校軟件測試專業(yè)課程體系建設
構建專業(yè)課程體系,需要設置好基礎課與專業(yè)課、理論課與實踐課、必修課與選修課的比例關系,并合理安排與協(xié)調(diào)課程相互間的分工與配合。建設科學完整的軟件測試專業(yè)的課程體系是一個需要多方考證借鑒和不斷探索完善的工作。
1.課程設置。軟件測試是一門技術性很強的專業(yè),對專業(yè)素養(yǎng)要求很高。在測試模式、測試方法上與軟件開發(fā)的模式、開發(fā)平臺直接相關。學生必須對操作系統(tǒng)、軟件的邏輯結構以及物理存儲過程、操作實現(xiàn)方法達到一定深度的了解和掌握,對于硬件的拓撲結構、物理結構要也需要盡可能多地熟知。在軟件測試行業(yè),對優(yōu)秀人才的要求是擁有高敏感能力、高發(fā)散能力、高分析能力,而這些都是以扎實的理論基礎為前提的。建設軟件測試專業(yè)課程體系,應契合技術發(fā)展、學科發(fā)展與從業(yè)需求。經(jīng)過多方考證,下表所述課程囊括的專業(yè)知識對于高層次的自動化軟件測試技術的掌握必不可少。
由于計算機專業(yè)課程的關聯(lián)性很強,一些專業(yè)課程可以相互結合教學。比如語言類,Shell等可以結合到UNIX/Linux操作系統(tǒng)課程中,HTML/XML可結合到.NET以及網(wǎng)絡技術等課程中,PHP融入Web服務器配置等專業(yè)選修課程教學中等,避免專業(yè)內(nèi)容交叉而造成的重復教學現(xiàn)象。在教學過程中,要將軟件測試的思想廣泛地滲透到所有的專業(yè)課程中。如在各類程序設計語言基礎課程中引入單元測試的思想,在軟件工程課程中強調(diào)軟件測試的重要性,增強軟件質(zhì)量管理意識。當前微軟、蘋果、惠普等軟件公司都推出完整的計算機應用與開發(fā)平臺,從硬件、操作系統(tǒng)、集成開發(fā)環(huán)境到用戶應用軟件,基本上提供一條龍服務。以微軟為首的測試框架開發(fā)也日趨成熟。高校需要從專業(yè)建設角度考慮,把握學科發(fā)展方向,汲取眾家之長,將尖端技術和主流應用平臺作為專業(yè)教學內(nèi)容,在有限的學時之內(nèi)統(tǒng)籌安排,讓學生形成一個專業(yè)學習的整體思想,做到知識累積層次清晰、得到一個完整的專業(yè)知識體系。隨著測試技術的快速發(fā)展,課程設置需要不斷更新調(diào)整,既要考慮專業(yè)建設、學科建設,又要考慮市場需求和研發(fā)需求。合理選擇、科學地納入新知識到專業(yè)課程中,是需要不斷探索和改革的無止境的工程。
2.教材選擇。教材選擇應當寬口徑,除了主要教材之外,要為學生提供更多的輔助教材和資料,給學生自主學習的空間和時間。這方面要學習西方高等教育的模式,按照教學計劃和教學內(nèi)容,指導學生分期、分階段大量閱讀與課程相關聯(lián)的專業(yè)資料,并匯總論點和典型實例展開討論,開闊學生的眼界,培養(yǎng)學生獨立思考、邏輯分析能力和探索精神。另外,教材選擇應把握專業(yè)技術的最新發(fā)展,與專業(yè)領域的最新研究成果、社會培訓資料等結合,及時更新教學內(nèi)容。例如有經(jīng)驗的測試工程師撰寫的技術開發(fā)、測試報告與測試總結等書籍資料,是完善和填充教材的重要知識源。
3.實驗教學規(guī)劃。(1)實驗教學內(nèi)容,應包括兩部分:測試框架應用和測試項目實踐。前者是指基于實驗室配置的測試框架,選擇針對操作系統(tǒng)或者客戶端軟件、網(wǎng)站等的服務性能測試案例,編寫一些通用的測試腳本,在測試框架上實現(xiàn)完整的測試流程。后者是指選擇實際的軟件測試項目來組織實驗教學內(nèi)容。在測試項目實踐中,需要提供給學生被測試的軟件系統(tǒng)代碼以及軟件開發(fā)綜述,包括需求分析、概要設計書、詳細設計書等文檔,便于學生真實地模擬實際工作中的測試流程。項目實踐中,可將學生分成若干個項目組,分別設置測試經(jīng)理、測試負責人、測試人員等角色,依照測試用例設計、測試任務管理、測試計劃實施、測試過程監(jiān)控、測試日志與測試報告管理環(huán)節(jié),安排角色各司其職,協(xié)同完整測試項目,并對被測軟件系統(tǒng)做出質(zhì)量評審,撰寫格式規(guī)范的質(zhì)檢報告。通過實驗教學,使學生深入理解和掌握常用測試工具,如單元測試工具NUnit等應用,提升學生的項目管理經(jīng)驗和軟件測試技能。(2)實驗教材選擇:實驗教材選擇應參考社會培訓機構的項目實訓資料,選擇基于主流測試平臺的項目實例教程,并結合測試技術的應用發(fā)展現(xiàn)狀和高校測試環(huán)境,廣泛篩選輔助資料,設置測試項目,豐富實驗教材的內(nèi)容。(3)實驗環(huán)境配置:搭建面向高校教研的通用測試環(huán)境。當前各類測試平臺及測試工具不斷推出,種類繁多,但針對性較強,應用性能受到限制,缺乏可被廣泛普及的通用型測試平臺,導致測試過程缺乏通用性和穩(wěn)定性、測試標準設定和測試價值評估無法明確等問題。建立一個通用測試環(huán)境對高校的實驗教學和專業(yè)研究十分必要。通用測試環(huán)境應囊括軟件測試管理平臺、回歸測試平臺和性能測試平臺功能。提供軟件的文檔審查、安裝測試、功能性測試、易用性測試等測試項目,并能提交形式內(nèi)容規(guī)范的測試報告。通用測試環(huán)境搭建需要高校結合專業(yè)研究項目實施二次開發(fā)。
三、面向從業(yè)需求的教學改革
1.注重面向市場應用的課程體系改革。為了更好地為社會培養(yǎng)應用型人才,高校應以企業(yè)崗位能力需求為標準,不斷進行課程體系改革,構建“知識+應用+研究”的混合型課程體系結構,為學生從業(yè)后盡快適應工作崗位,擔負起科技職能,并進一步從事測試技術開發(fā)與研究奠定基礎。軟件測試課程體系改革應基于不斷發(fā)展的測試技術以及社會測試崗位的能力需求,從培養(yǎng)學生專業(yè)素養(yǎng)、測試技能、項目分析能力、探索開發(fā)能力等全面素質(zhì)的高度進行必要的整合和重組,把學生應具有的知識、能力、素質(zhì)結構作為課程體系改革的依據(jù),組建模塊化的課程結構。
2.注重面向從業(yè)需求的教學實踐改革。面向從業(yè)需求,加強教學實踐環(huán)節(jié)是高校實驗教學改革的重要內(nèi)容。目前很多高校與自己的合作企業(yè)簽訂培訓合約,建立人才基地,共同開發(fā)軟件和培訓人才、交流人才,是教學結合實際應用的最佳模式。圍繞著以企業(yè)需求為目標進行實驗教學,使學生在真實的項目流程中對軟件測試的完整過程與實施細節(jié)、管理機制與管理措施進行全面的了解,提高測試能力和積累測試經(jīng)驗,便于學生日后盡快適應實際工作,在專業(yè)技術崗位發(fā)揮人才作用。
3.注重培養(yǎng)學生的職業(yè)素養(yǎng)。高等教育為社會輸送專業(yè)技術人才,不能忽視對人才職業(yè)素養(yǎng)的培養(yǎng)。在教學過程中要把專業(yè)素養(yǎng)、技能訓練和職業(yè)素質(zhì)培養(yǎng)有機結合起來。在學生實踐與實習過程中,注重培養(yǎng)學生綜合運用所學知識發(fā)現(xiàn)問題、分析問題、解決問題的能力,進而培養(yǎng)學生的技術應用和技術創(chuàng)新能力,并培養(yǎng)學生的團隊合作精神和相互協(xié)作能力,提高將來從事測試行業(yè)的職業(yè)素養(yǎng)。應結合社會對軟件工程師的崗位需求,設立面向畢業(yè)生的專項系列講座,為學生提供面試技巧培訓、競爭意識培訓、溝通與協(xié)作技巧培訓和就業(yè)指南等,是極具實效且必要的教育內(nèi)容。依照國外標準,軟件測試工程師應與架構師處于同一等級。從事測試行業(yè)必須具備扎實的專業(yè)基礎、綜合的個人能力和較高的職業(yè)素養(yǎng),才能真正實現(xiàn)高端的自動化測試。
[參考文獻]
[1]朱少民.軟件測試方法和技術[M].北京:清華大學出版社,2005.
[2]錢麗.以就業(yè)為導向的軟件測試課程體系改革探析[J].科技信息,2012(1).
[3]頓煜卿.軟件測試教學過程中的思考和實踐[J].計算機光盤軟件與應用,2012(14).
關鍵詞:軟件測試;可靠性;意見
中圖分類號:TP311 文獻標識碼:A 文章編號:1674-7712 (2012) 10-0204-01根據(jù)研究顯示,目前我國的軟件公司有專門性的軟件技術測試部分的還不到五成,而這五成當中設立專門性質(zhì)的軟件測試技術部門的僅僅不到四成,而有著軟件測試工具開發(fā)部門的公司則僅有一成。從以上數(shù)據(jù)顯示,目前我國的軟件公司不夠重視對軟件測試工作,其所持有的態(tài)度也顯得不夠重視,我國軟件公司成立起專門性的軟件測試部門所占有的比例遠遠不能夠滿足我國企業(yè)的需求,而具備可靠性的軟件產(chǎn)品,這必須依賴于在軟件測試的各個環(huán)節(jié)進行把關,對產(chǎn)品進行性能和功能的測試這必須充分依賴于通過軟件測試手段達到使用根據(jù)測試方案實施,在此基礎上對軟件測試系統(tǒng)進行維護和設計,分析和評估測試方案當中所能夠出現(xiàn)的各種問題。對軟件測試用例進行執(zhí)行之后,并且要做到對故障進行跟蹤,使得開發(fā)出來的軟件產(chǎn)品能夠對用戶所要求的需求相適應,從而確保軟件的可靠性和質(zhì)量的提高。在進行軟件項目的研發(fā)過程當中,軟件測試具有十分重要的作用,可是由于我國的軟件行業(yè)起步比較晚,只有像華為、聯(lián)想、用友等大的軟件開發(fā)公司具備專門性的測試人才和崗位,沒有一定的了解在軟件測試當中,而軟件測試這個環(huán)節(jié)國外顯得非常重視,如微軟公司所從事的重要工作就是對軟件進行測試,而且在進行該方面的投入顯得非常大。
一、忽視軟件測試環(huán)節(jié)的主要原因分析
通過對軟件測試行業(yè)當中比較資深的人士進行交流發(fā)現(xiàn),目前我國軟件公司對測試環(huán)節(jié)進行忽視的原因主要為以下幾點:
(一)節(jié)約資金
由于目前我國的小型軟件公司為了對開支進行節(jié)約,對軟件上線成功運行的瓶頸進行制約的就是軟件測試,如果項目是屬于中小型,公司就會將軟件測試環(huán)節(jié)耗費資金、力量和時間,在軟件測試環(huán)節(jié)使用項目資金,錯誤的觀點認為后期和需求進行技術支持更好,沒有這個必要進行軟件測試工作。
(二)沒有這個必要性
目前很多軟件公司錯誤的認為開發(fā)人員自行測試所開發(fā)的程序,通常來說對技術開發(fā)的難度比測試技術更高,這就不需要專門性的軟件測試人員,開發(fā)人員對自己所開發(fā)出來的程序進行檢查,這就顯得更加準確和有效率性相對于外來人員檢查。
(三)由于受到思想意識局限
由于對軟件測試重要性的理解不夠,出現(xiàn)重編碼而輕測試的現(xiàn)象,許多人認為程序能夠基本運行,客戶沒有提出軟件存在錯誤,就算成功,沒有必要進行專門的測試,但是卻忘記了即使現(xiàn)在自己所謂的“成功”,卻存在著許多潛在風險。
(四)項目時間限制
隨著項目時間的縮短,大多項目經(jīng)理會把剩余時間給予開發(fā)人員,沒有多余的時間交給測試人員進行測試,或者說等到項目尾聲,給測試人員程序,草草的測試一下就算成功過關,但是他們卻沒有估算,隨著項目的逐漸推進,修改BUG的成本是成倍翻滾,等軟件給客戶上線后在發(fā)現(xiàn)錯誤去修改,那么耗費的不只是維護費用和人力,丟失的還有公司信譽。
(五)合適人員難求
現(xiàn)今專業(yè)軟件測試人員供求量很少,具了解,從2009年部分大學院校才正式引進這門課程,而且從這少數(shù)人中挑出符合自己公司需要的員工,變的更加艱難。公司挑員工,員工也會挑公司,對于測試人員的福利待遇來說,薪資遠遠低于開發(fā)人員,工作壓力卻居高不下,所以測試人員對應求公司的眼光也是非常犀利。
(六)組織內(nèi)的沖突
開發(fā)與測試的工作是對立的,經(jīng)常會有沖突,沒錯,的確會有。軟件測試本來就是給開發(fā)人員“挑刺”,使開發(fā)人員的進度和工作量增加。有些公司就會認為,軟件測試工作對其作用不是特別大,而且事端挺多,很難處理,因此對軟件測試印象大打折扣。
二、對軟件測試和軟件可靠性兩者之間關系的認識
要對我國的許多軟件公司對軟件測試當中的錯誤認識進行改變,其中最重要的就是從心理意識上去進修認可,使得了解軟件測試所具備的功能,深切的理解在進行項目開發(fā)的過程當中使用軟件測試所帶來的重要作用,充分理解進行軟件測試對軟件的可靠性和質(zhì)量有著密切的關系,在軟件項目的開發(fā)流程當中軟件測試相對于工程監(jiān)工的角色,要對潛在和暴露出來的BUG能夠及時的尋找出來,使得在軟件的開發(fā)中初期能夠將最高密集度的缺陷進行控制,這樣就會使得大幅度的降低進行缺陷修改的成本,目前從事IT行業(yè)的人士心中都了解,降低項目的缺陷成本,在公司內(nèi)部成立起進行軟件測試的部門,測試資金就會遠遠小于缺陷成本,也可以這樣說,對軟件測試進行科學和理性的看待,不能夠局限于現(xiàn)狀的要求,要對長遠發(fā)展進行充分考慮,對公司來說必不可少的就是軟件測試工作。
三、總結
筆者立足于客觀現(xiàn)實情況來粗略的分析和研究對于軟件測試當中的相關知識,傳統(tǒng)的作坊式的軟件企業(yè),在當今高速發(fā)展的高新技術環(huán)境下已經(jīng)遭到淘汰,這就必須要讓我國的軟件企業(yè)能夠擯棄原有的思想意識,循序漸進的實施,對于軟件測試和軟件可靠性兩者之間的關系有著清醒的了解,這樣才能做到軟件企業(yè)成長進步。
參考文獻:
[1]史濟民.軟件工程原理、方法與應用[M].高等教育出版社,1990
[2]杜梅,劉丙利.淺析提高軟件測試效率的方法[J].科技信息.2011,15