前言:中文期刊網精心挑選了軟件測試培訓總結范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
軟件測試培訓總結范文1
北京測試空間科技發展有限公司(簡稱測試空間)成立于2003年,是注冊于北京市海淀區高新技術園的軟件企業。測試空間總部位于北京,在國內多個省份,以及加拿大、英國兩國設有辦事機構。測試空間以成為全球專業的軟件測試外包服務供應商為發展目標,為國內外的各企事業客戶提供專業的、高質量的ITO、BPO外包服務和人才派遣服務(人才外包),服務內容包括軟件測試、系統集成、企業應用平臺建設與維護、IT服務外包和業務流程外包等。
幫客戶告別軟件缺陷
在快速開發軟件產品的同時,組織要依靠提高開發質量和測試來縮短開發周期,降低缺陷率。隨著成本的螺旋式上升,軟件開發周期的縮短,以及應用程序復雜度的增加,選擇合適的外包合作伙伴有助于組織大大提高項目的成功概率。測試空間能夠針對組織的業務需求,為組織提供定制的綜合的手動和自動測試服務。測試空間憑借在高科技、金融服務、制造、零售與分銷和電信等行業所積累的豐富的多領域經驗,按照GB/T25000和ISO9001標準為組織提供高效的針對特定環境的改進型解決方案。
應用程序缺陷輕者會令人陷于困窘,重者會導致軟件質量下降,無法按時交付。測試空間能幫助客戶杜絕這種情況的發生。測試空間采用優秀的測試技術,注重投資回報率,以及基于風險的優化測試策略,可為用戶帶來很多價值。
具體來說,測試空間能夠提供專業化、規范化的軟件測試技術服務,科學公正的CNAS第三方軟件測評實驗室,值得信賴的軟件測試專業技術人才派遣服務,以及能與客戶共享的軟件測試技術培訓平臺。
憑借自身在國內軟件外包市場的領先地位及出色的軟件外包交付能力,測試空間于2009年通過了軟件企業ISO9001國際質量體系認證,并于2010年9月通過了證明軟件測試企業實力的CNAS實驗室認證。在此基礎上,測試空間還通過項目管理實踐,總結并提出了“測試空間外包服務體系”和“測試空間人才管理體系”。這兩套體系經過多年的完善,已經發展成為業內客戶認可的軟件外包業務管理規范。
軟件測試培訓總結范文2
【關鍵詞】軟件測試 教學方法 實踐 探索
【中圖分類號】G623.58 【文獻標識碼】A 【文章編號】2095-3089(2012)11-0220-02
1.軟件測試課程開設的背景
隨著軟件的規模和復雜性與日俱增,軟件缺陷導致的各類損失不斷增加,甚至帶來災難性的后果,軟件質量問題已經成為所有軟件使用者和開發者關注的焦點。作為軟件質量保證和質量控制的有效手段,軟件測試愈發體現出其自身的重要性,受到了越來越多的關注[1-2]。
國外的軟件廠商極為重視軟件測試,在歐美等軟件產業發達國家的軟件企業中,測試人員與開發人員的配置比例一般已達到或超過1:1,而在國內被調查軟件企業中,能夠基本達到該比例的企業僅占22%[3]。由于我國企業對于軟件測試在軟件質量保障中的重要作用認識較晚,導致軟件測試人才的供需之間存在著巨大缺口。據國家權威部門統計,我國軟件人才缺口超過100 萬人,其中很大一部分為軟件測試人才,缺口達到30~40萬[4]。為緩解高端技能人才緊缺問題,原信息產業部將軟件測試工程師列為國家緊缺型人才,并于2004年聯合五部委頒布的124號文件中強調要“加快培養軟件測試人才,開展軟件評測技術的研究”,為軟件測試人才的培養提供了政策支持。
2.軟件測試課程的教學目的
我們是對計算機專業的學生進行軟件測試課程的教學,而不是進行軟件測試專業人才的培養,計算機專業的學生至少能熟練掌握一至兩門軟件開發語言,熟悉計算機網絡、操作系統、數據庫、中間件等的基本知識,能從事對應的程序開發工作。所以本課程教學的目標主要有三點:其一,幫助學生掌握規范化的軟件開發流程,熟練掌握軟件測試的基本理論;其二,能進行一般的軟件測試,能設計測試方案,編寫測試用例,至少能掌握一種軟件測試自動化工具;其三,讓學生了解軟件測試行業的特點,了解軟件測試職業和職位,培養學生的興趣愛好,開拓就業方向,為有志于進入軟件測試行業的學生提供一定基礎。總的來說就是讓學生成為初級軟件測試人才,為學生進一步成為中、高級軟件測試人才提供堅實基礎。
該課程需掌握的知識主要包括:
1)掌握軟件測試技術的基本理論、基本方法。包括熟悉黑盒測試技術、白盒測試技術、基于缺陷模式的測試技術等等,熟悉單元測試、集成測試、系統測試、回歸測試、性能測試、功能測試等測試方法。
2)能進行測試方案的設計,測試計劃、測試用例的編寫。
3)至少掌握一種軟件自動化測試工具的使用,能進行測試環境的配置,并能了解其它自動化測試工具。
4)能進行測試結果分析以及編寫測試總結報告。
3.軟件測試課程教學中目前存在的問題
(一)課程定位不明確
隨著軟件測試行業的興起,許多高等院校認識到軟件測試人才培養的重要性,紛紛開設軟件測試專業或者軟件測試課程,但是如何專業的培養軟件測試人才還沒有一個完整的體系。在我校,因為沒有開設軟件測試專業,軟件測試課程應該作為專業必修課、限選課還是選修課一直存在爭議。目前作為一門專業限選課程,授課內容和授課的形式也存在一些爭議。在授課內容方面,目前的軟件測試教材大都是近幾年出版的,內容安排上基本是按照測試理論、測試技術、測試工具、測試實踐、測試管理的順序依次展開。內容上“面面俱到”,如何在教學過程中“面”與“面”之間取舍、平衡,使之達到軟件測試課程設置的目的還不是特別明確。
(二)課程教學方法單一,缺乏教學互動
雖然目前市面上已經有大量的軟件測試教材,但是基本上以理論居多,教材中案例的例子也不多,導致教師在課堂教學過程中,通常只是憑自己以往的教學經驗,利用傳統方法簡單地講解,不能通過師生和諧的雙邊活動完成課堂教學任務或者達不到理想的教學效果。另外,由于是一門新興的課程,既有深厚的理論功底又有豐富實踐經驗的教師非常缺乏,因此教學方法和手段難免因循守舊,教學過程開展得不夠深入、徹底,存在大量的不規范性和隨意性。高校中雖有講授軟件工程的主講教師能很好的講解軟件測試理論和介紹軟件測試方法,但缺乏較好的軟件測試案例和一定的工作經驗,因此很難出現生動活潑的教學場景,與學生的互動鮮有顯現。
(三)課程實踐環節薄弱
《軟件測試技術》課程作為一門新興課程,具有理論性抽象,實踐性強的特點。為了更好地實現教學目標,這不僅要求講授的教師具有深厚的理論功底,更要求教師具有豐富的實際軟件項目測試經驗,同時也需要學生具備一定的程序編寫能力和嚴謹的邏輯思維能力。但現實中高等院校嚴重缺乏這類具有實踐經驗的教師,也缺乏對教師進行相關的培訓工作,另外大多數學生的動手實踐能力和編程能力也比較薄弱,這些都是實踐教學中遇到的現實問題。除此之外,軟件測試這門課需要適當的軟硬件投入,尤其是軟件,目前市面上比較好的測試軟件都不是免費的,建一個專用實驗室動輒就要幾十萬甚至幾百萬,普通高等院校很難有充足的經費專門為一門課程建立一個專用的實驗室,這也是實踐環節的現實問題,因此我們只能選擇一些開源的免費測試軟件進行教學工作。
4.教學方法探索與實踐
(一)激發學生對本課程的興趣
培養學生對軟件測試課程的興趣,是成功教學的第一步。課程的開始可以通過列舉歷史上許多經典案例,如“千年蟲問題”、“美國火星登陸事故”、迪斯尼公司的“生病的獅子王”等等來說明軟件測試的現實問題和重要性;然后介紹軟件測試行業的發展,人才需求等情況,鼓勵學生對軟件測試行業的就業傾向。
(二)運用案例進行教學
在講解理論知識的同時,使用案例來進行分析及表現理論知識的運用,可以很好地幫助學生獲得感性認識。例如在講解黑盒測試的等價類劃分方法時,引用經典的三角形問題案例;在講解邊界值分析方法時,引用加法器案例;在講解決策表方法時,引用NextDate函數案例等等。運用案例進行教學,學生一方面能夠理解理論知識,另一方面能學習理論方法的具體運用,進一步加深對理論知識的掌握,同時也為學生進行測試用例的設計打下堅實的基礎。進行案例教學時需要掌握一定的技巧,比如在課堂開始不要急于講解理論知識,而是先引出案例需要解決的問題,引領學生去思考,帶著問題去學習,這樣可以取得事半功倍的效果。
(三)加強理論講授與實踐環節的互動
由于軟件測試課程實踐性強,在課程設置上采用理論授課與上機實踐相結合的授課方式。在我校,采用2+2的教學模式,即每周2節理論課與2節實踐課同時進行且必須是同一個教師授課。這樣在講解理論知識時,可以將學生在實踐中使用的方法、步驟及遇到的問題拿到理論課中進行講解,讓學生知道為什么這樣做,這樣做的依據來源于哪些理論知識,如此可以使學生深刻理解理論知識的重點。另外在上實踐課時,教師用約三分之一的實踐時間先行講解實驗目的、內容、方法及步驟,講解的過程中,教師不能只為做實驗而實踐,必須講清楚這個實驗來源于哪些理論知識,哪些已經學過,哪些還沒有學,學過的知識需要再簡單口述一遍,沒有學過的也要簡單的介紹一下知識要點,讓學生有初步的了解。這樣一來,理論課與實踐課就可以形成良好的互動,知識要點有一定的重復率,學生也勤于思考,積極動手,學得明白,有很強的收獲感,越學越有勁。
(四)開放自主互評式教學
為了讓學生積極參與到本課程的教學與實踐中,可以讓教師與學生的角色在一定程度上進行互換,進行開放式學習實踐,學生可以從探索知識的奧妙中獲得成就感,同時還能培養學生的集體協作精神。
(五)適當進行階段性考核
在一個學期的教學過程中,一般有18周,時間跨度比較長,而實時掌握每個學生的學習情況非常重要,一個重要的方式就是進行階段性考核。約每隔6周進行一次階段性考核,了解學生對前一階段所學知識的掌握情況,同時還能了解學生前一階段的知識難點、學習態度等問題,可以進行重點、個別指導。階段性考核的次數不宜太多,一個學期大約進行兩次。每次時間也不宜太長,一個課時的時間就可以了。主要考核學生對基礎知識、基本理論的掌握情況,不宜考核一些偏、難、怪的內容。按照經驗,進行階段性考核,對學生的考核結果進行公開評價,可以發現學生之間的差距,讓學生了解自己的學習狀態,有效端正學生的學習態度,有力促進學生主動學習。
5.總結
軟件測試在國內軟件行業正越來越受到重視,社會需要大量的軟件測試人才,許多高校因此開設了軟件測試課程。但軟件測試人才的培養才剛起步,需要學校、教師、學生和公司共同努力,才能培養出社會真正需要的軟件測試人才。本文就我校開設的軟件測試課程作為專業限選課,以拓展學生知識面為目的,對進行的教學活動做了一些有益的探索。從近三年的教學結果來看,經過不停的改進教學方式方法,在試卷難度相當的情況下,學生的平均成績從最初的65.3分提高到83.4分,取得了一定成效。今后將進一步探索有效的教學方式方法,增強實踐教學,不斷提高教學水平,以期達到更好的效果。
參考文獻:
[1]柳純錄,黃子河,陳淥萍.軟件評測師教程[M].北京:清華大學出版社,2006.
[2]趙翀,孫寧.軟件測試技術:基于案例的測試[M].北京:機械工業出版社,2011.
[3]武劍潔,石桂玲.軟件質量與測試教學內容改革的探索[J].計算機教育,2010(20):30-37.
[4]宋建偉,劉小平.軟件測試培訓課程體系淺析[J].信息安全與技術,2010(10):94-96.
軟件測試培訓總結范文3
本文針對軟件測試課程的教育現狀,結合軟件測試的課程特點和培養目標,從面向應用型人才的培養方式出發,提出了以案例式教學為主導,走教學產業化發展的軟件測試改革方案。
關鍵詞:
軟件測試;應用型人才;案例式教學;教學產業化
隨著我國IT行業的發展,越來越多的企業意識到軟件測試的重要性,因此軟件測試人員成為當前IT業界亟需的熱門人才。面對軟件測試人員緊迫的需求形勢,應用型人才培養單位應該擴大軟件測試人員的人才培養規模,提高培養質量。
一、《軟件測試》課程教育現狀
我國軟件測試技術發展已有十余年,但IT市場對于測試人員仍然呈現出供不應求的勢態。目前國內高校對軟件工程專業幾乎都會開設軟件測試課程,甚至有些高校已經設置有軟件測試專業。2011年11月,教育部主辦了“2011年高等學校軟件測試課程教學論壇”,對測試人才的培養及測試領域的全面發展起到了積極地推動作用[1]。高校系統化的專業教育體系為學生奠定了扎實而科學的學科基礎,并對軟件測試技術的理論化和系統化發展起到了不可替代的作用。利弊相依,傳統的人才培養模式對軟件測試課程設置和培養方案上還是會存在以下不足。
1.重理論輕實踐在傳統的軟件測試課程設置中,大多采用教師在課堂上講授理論知識,學生上機時完成實驗操作的教學方式。實驗的目的只是為了檢查學生知識點的理解和掌握,實驗題目大多比較陳舊,不能與時俱進地與當前的最新技術或最熱門的應用相結合,使得學生的測試知識體系過于單薄。
2.重學生個體知識積累,輕團隊協作能力培養團隊協作在軟件工程中的重要性無須多述。軟件測試作為軟件工程中重要一個環節,貫穿于整個軟件生命周期,測試人員與系統分析員、軟件設計師、程序員、維護人員之間的溝通必不可少,良好的團隊協作才能有助于項目的進行,有助于高效、正確地開發出高質量的軟件產品。傳統的教學模式中,很少引入分組協作的環節去鍛煉學生的溝通和交流能力,更不能設計出測試人員和開發人員的溝通場景,不能滿足學生在項目中去加深理解、鞏固提高的需求。
3.重即有知識,輕科學創新一直以來,軟件測試課程在高校的課程體系中受到重視并不多,課程結束后并沒有延續測試知識的后續課程。因此,學生不能在后面的學習和實踐中進行總結提升。知識在母體中是要經過消化、適應、轉化、演進、創新、融合、活化,而后才稱為組織的“行動知識”,現有的教學模式不能很好的產生知識發酵效果。
二、《軟件測試》課程特點和培養目標
軟件測試是一門應用型較強的學科,應注重理論聯系實踐。一個合格的軟件評測師除了要掌握即有的測試理論和軟件知識外,還必須具備對軟件測試行業的深刻理解,必須具備對計算機專業知識,包括編程技能、數據庫、網絡、中間件等知識的系統掌握,必須具備溝通能力、團隊協作精神。軟件測試是為了盡可能多地發現并排除軟件中潛藏的錯誤,最終把一個高質量的軟件交給用戶,這并不是一項簡單的工作。要做好軟件測試,測試人員不僅需要站在客戶的角度思考問題,真正理解客戶的需求,具備良好的分析能力和創造性思維能力,完成功能測試和界面測試,而且要能理解軟件系統的實現原理和各種使用場景,具備扎實的技術功底,能使用測試工具完成相應的性能測試、安全性測試、兼容性測試和可靠性測試等更具挑戰性的任務[2]。從這個角度看,一個優秀的測試工程師需要掌握更多的知識和技能。
三、《軟件測試》課程教學改革方案
以上可以看出,當前高校對于測試課程的不重視,以及當前的軟硬件設施及教學方法都不能滿足對應用型測試技術人才的培養要求。為了適應軟件產業發展對測試人才的迫切需要,實現軟件人才培養的持續性發展,針對軟件測試課程調整培養方案,展開深入的教學改革和實踐活動十分迫切和必要。
1.加大師資力量,構建完善的軟硬件測試平臺教師素養的提高是軟件測試教學改革得以順利開展的前提。此前,國內對軟件測試并不重視,致使國內軟件測試人才短缺,大部分高校內雖然有計算機系,但多以重開發輕測試,測試教師的專業素質和數量都遠遠不夠。因此,不僅要重視對教師測試專業技術的培訓,提供更多的學習機會,也應該認真開展軟件測試教學研究,構造專業的軟件測試教學團隊。作為一門實踐性較高的課程,軟件測試必須建議專門的、完備的實驗教學體系和環境。目前,高校普遍缺乏軟件測試的軟、硬件環境,致使學生無法通過項目實踐來深入理解和提高測試相關知識和技能。
2.運用案例教學,豐富軟件測試項目實戰案例在教學活動中,學生總是對最新、最流行的項目和案例感興趣,陳舊的案例既不能滿足當前市場上對測試人才的技術需求,又不能很好的激起學生的興趣。運用案例教學最重要的環節就是豐富案例素材,保持案例的“鮮活性”與“生命力”。高??梢圆捎脷v年本科畢業設計中運用了流行的技術、難度適中、功能較為完整的應用作為軟件測試課程的測試案例,不但可以保證素材的延續性,也使得學生畢業設計完成的質量有所提高。
3.加強校企合作,走教學產業化發展之路[3]企業需要人才,高校為企業輸送人才,校園中學習的技能最終要接收用人單位的考驗。所以與軟件企業合作,建立對口的學生實訓基地,是應用型人才培養的重要途徑。軟件測試技術的掌握與提高離不開項目實戰,讓學生在真正的軟件工程過程中從事測試工作,不僅能使學生深刻體會到軟件測試在整個項目中的作用,掌握測試方法和技巧,對于學生的溝通交流能力、團隊協作能力都有積極的促進作用。
四、小結
軟件測試是保障軟件質量,驗證軟件可靠性的重要環節,其重要性不言而喻。重視軟件測試應從企業用人的實際需求出發,高校應加強面向企業需求的軟件測試改革,切實培養學生的動手操作能力,使學生掌握最新的測試方法和技巧,讓企業需求促進和推動高校教學發展。
參考文獻:
[1]李靜趙志升.軟件測試專業課程體系建設和教學改革[J].教育與職業,2014(1):136-137.
[2]朱少民.軟件測試方法和技術[M].北京清華大學出版社,2005.
軟件測試培訓總結范文4
【關鍵詞】軟件測試;應用型人才;培養模式;課程群
據前程無憂網數據顯示,去年國內軟件測試人才缺口高達20萬,今年有望突破30萬人。目前國內軟件測試和開發人員比例大約在1:4-1:5,而國外測試和開發人員比例為1:1,微軟測試人員和開發人員的比例已達到2:1。軟件測試人才正在成為我國軟件行業目前最緊缺的人才之一。隨著我國軟件產業的迅速發展,軟件測試人才的地位正在逐年提升,這種供需矛盾將變得越發突出。
目前,國內軟件測試人才的培訓[1]主要有三種機構:企業、高等院校和IT培訓機構。企業培養的人才大多是通過參與項目自己摸索的軟件開發人員,由于缺乏對軟件測試全面的認識,在測試思想、技能、思維方式、溝通能力等方面都需要進一步提高。高校培養出來的人才具備一定理論知識,但動手能力較差,進入企業后需要再培養,不能立即到崗。培訓機構則能彌補前兩種方式的不足,但價格昂貴。
一、軟件測試課程教學現狀
(一)學生學習枯燥,興趣低
軟件測試是計算機專業課,課程內容理論性和操作性都很強,并且需要學習了解的自動化測試工具種類繁多。目前各個高校在開設這門課程時,大多數還停留在理論教學階段。教師準備好課件,學生拿著課本,首先給出書上官方的定義和自己的解釋,然后結合一些課本上或自己參與的項目,給出實例證明這些理論。學生容易感到內容空洞、枯燥乏味,學習時就缺少主動性,難對這門課程產生興趣。
(二)軟件測試實驗開展不充分,學生實踐能力弱
軟件測試知識點眾多,理論內容的授課量占絕大部分[2],實驗課時數僅占到四分之一左右。由于實驗時間、實踐環境有限,日常實驗教學都是驗證性的小實驗。由于沒有一個實際的面向企業的項目支撐,很多測試過程難以進行,比如集成測試、性能測試、驗收測試等等。通過對從事軟件測試方向工作的畢業生就業情況調查發現,軟件企業認為軟件測試課程理論豐富,但還存在學生實踐能力不足、測試工程師職業素質有待進一步提高等諸多問題。
(三)教師缺乏實際軟件測試經驗
軟件測試行業發展迅速,軟件測試工具種類多,更新快。軟件測試這門課程實踐性較強,高校計算機教師大多數軟件項目開發測試經驗不足[3],對軟件公司軟件項目研發測試過程沒有切身的體會。教師在講授這門課程時沒有實際的軟件項目案例可以操作,實踐教學顯得吃力,很難給學生軟件測試方面的經驗知識。
面對軟件測試人才的社會需求緊迫性和軟件測試教學現狀,人才培養單位應該擴大軟件測試人才培養規模,總結軟件測試知識點,改革教學方法,培養學生興趣,提高教學質量。
二、軟件測試工程師職業能力需求
為更好地培養學生的軟件測試工程師職業素質[4][5] [6],提高學生的就業率和用人單位的滿意度,充分分析軟件測試工程師的職業能力要求。
(一)素質要求[4][5]
1、具有團隊合作精神。
2、有較強的責任感及進取精神。
3、細心、耐心,具備逆向思維。
4、技術方面的基本素質,熟悉系統的應用,熟悉辦公軟件的應用,熟悉基本的測試流程;熟悉測試管理工具的應用。
5、具有測試人員的學習能力、領悟能力。
6、對行業具有信心,對測試的信心,相信軟件一直存在BUG。
7、良好的英語閱讀和寫作。
8、良好的語言及文字表達。
9、較好的溝通技巧。
10、懷疑精神具有測試人員必須保持的懷疑態度。
11、捕獲用戶觀點的能力,強烈的質量追求,對細節的關注。
(二)專業能力要求[6]
1、對Windows、Linux、Unix等大型主流操作系統的熟練掌握能力。
2、具備快速進行應用系統部署和測試環境搭建的能力。
3、測試人員必須掌握目前主流的程序設計語言,比如C、C++、JAVA、C#、VB等多種平臺下的一種或者多種語言,具備進行簡單應用開發的能力。
4、熟練掌握SQL Server、Oracle、DB2等一種或多種數據庫系統的使用,熟悉使用SQL語言。
5、對信息安全知識的基本掌握。
6、必須深刻理解和熟練掌握軟件測試基礎理論與技術。
7、精通各種測試技術,能夠手工或利用相關工具進行單元測試。
8、能夠進行測試用例設計、測試執行、編寫缺陷報告。
9、熟悉軟件測試流程和測試過程管理,能夠編寫測試計劃,具備組織測試工作的能力。
10、掌握測試管理相關知識和軟件。
11、掌握和熟練使用當前主流的功能、性能自動化測試工具以及測試管理工具,具備編寫測試腳本、進行功能和性能測試自動化測試的能力。
(三)知識結構要求
1、軟件知識:數據結構、操作系統、面向對象程序設計、數據庫原理、C程序設計語言、WEB技術、數據倉庫與數據挖掘、軟件工程。
2、硬件知識:數字邏輯、微機原理與接口、計算機組成原理、計算機系統結構。
3、網絡知識:計算機網絡技術、計算機網絡安全。
4、人文、社會學基礎:原理、道德與法律、中華民族歷史、大學語文、大學英語。
5、數學基礎:高等數學、線性代數、概率統計。
三、軟件測試課程設計理念和思路
根據軟件測試工程的職業能力要求,對軟件測試課程我們重新把握課程的設計理念和思路。
(一)課程設計理念
1、與企業共建基于工作過程的課程體系
根據專業辦學的定位及特色,《軟件測試》課程的設計理念是以軟件測試員/測試工程師崗位需求為依據,以培養學生使用自動化測試技術進行軟件測試的職業能力為主要目標,以測試工作的典型工作任務為導向,堅持以能力為本位的設計原則,制定突出企業應用能力和素養的課程標準,構建基于工作過程的系統化課程體系。課程組通過開展課程標準研討會和技術培訓會等形式,聽取企業專家的建議,修訂軟件測試課程的內容,保證課程內容與企業用人需求同步;在課程功能上注重學生應用能力的培養,構建以掌握軟件測試應用能力為特征的理實一體化的教學內容,做到強化技能、提升業務素質,提高學生的就業競爭力和實際工作能力。
2、和相關課程構成課程群,實現企業應用項目開發過程的案例教學環境
立足于培養滿足企業應用的軟件項目開發需要的應用型人才,本課程以真實的軟件實例項目測試任務和過程為依據,以現代教學理念為指導,精心進行教學設計。
在構建課程體系[7]時,由專業建設及教學指導委員會,充分調查分析不斷變化的市場,以企業應用軟件項目開發為切入點,構建基于軟件項目開發過程平臺。將《Java面向對象程序設計》、《數據庫原理及應用》、《軟件工程》、《軟件測試》、《軟件項目綜合實訓》這5門課程,按照專業培養目標,掌握計算機軟件技術所必需的理論知識和專業技能,具有較強實踐能力,能在軟件項目研發測試一線從事軟件項目需求分析、設計、編程、測試和軟件產品等工作的高素質應用型專業人才的要求,對應“軟件工程師”、“軟件測試師”“數據庫工程師”等行業職業特征,以項目為載體,形成一個有機整體,整合成“基于企業應用軟件項目開發過程”,組建了課程群。其中《Java面向對象程序設計》、《數據庫原理及應用》是專業核心基礎課程,《軟件工程》、《軟件測試》、《軟件項目綜合實訓》是專業核心必修課。通過“軟件項目的需求分析、設計、編程和測試技術”這個鏈將這五門課程緊緊聯系在一起,并能帶動軟件技術、網絡工程、計算機信息管理、計算機應用技術等幾個專業的協調發展。
(二)設計思路
1、以軟件測試工程師對軟件測試的能力要求為主線,設計課程體系,強化“工程屬性”,突出“項目色彩”。
在課程體系設計中,課程組以軟件測試工程師對軟件測試的能力要求為主線,整合“JAVA面向對象程序設計”、“數據庫原理及應用”、“軟件工程”并融合到以多種實際企業項目作為案例的“軟件項目綜合實訓”實踐課程中,經過優化,強化課程的“工程屬性”和“企業項目開發色彩”,將原來在傳統課堂教學中僅僅通過簡單實驗無法實現的“集成測試”、“性能測試”、“系統測試”、“驗收測試”等環節在實際工程項目實訓中得到實現,并努力培養學生崗位職業能力。在課程教學中,堅持以實際項目案例中的工作任務為目標,融理論教學與實踐教學為一體,以案例教學為導向,結合學生考取軟件測試工程師資格證書的實際需要,加強學生職業能力和綜合素質的培養,提高學生就業競爭力。
2、以企業工程能力培養為重點,實行分階段培養模式
根據企業工程能力的形成過程,課程組將教學內容劃分為基礎理論階段、技術應用階段、職業發展階段三個階段。其中,基礎理論階段包括測試基礎理論模塊,主要介紹軟件測試的基本理論與技術,測試用例設計和軟件測試流程,側重培養學生的測試思維,了解并掌握軟件產品質量保證的基本思想和基本測試流程,以及軟件測試的方法、技術,使學生能夠設計出測試案例并通過手動測試實現測試案例,為全面掌握軟件測試技術,后續實施測試和測試項目管理打下堅實的基礎。技術應用階段包括測試技術應用模塊,主要介紹主流的自動化測試工具,包括IBM系列測試工具、HP QTP、HP LoadRunner,企業級項目的測試實施,培養學生將測試知識和技術應用于自動化測試實施的能力。職業發展階段包括測試項目管理和職業素質教育兩個模塊,主要介紹軟件測試項目管理的相關技術和方法、運用工程項目方式管理軟件測試過程、測試企業工作模式和軟件測試人員必備素質,培養學生的項目管理能力、團隊協作能力和求職應聘能力。
適當加入游戲測試、手機測試、筆記本測試等學生感興趣的內容。我們了解到學生對游戲測試這部分內容很感興趣,那些平時聽課不太認真的學生在這個問題上都舉手要說上幾句,躍躍欲試,也都能說出一二。所以,課程組在軟件測試這門課程中經常討論一些游戲測試這部分內容,以引起學生的學習興趣。
四、改革教學模式和教學方法
(一)教學模式
本著“教師為主導,學生為主體”的思想,采用雙證培養、分階段培養和教學做評一體化教學模式[8]。
1、雙證培養教學模式
實行“雙證培養”教學模式,將學歷教育與技能學習無縫對接,學生畢業后不僅能獲得國家承認大學學歷證書,同時還將獲得國家勞動部高級職業技能認證證書。根據學生的能力特點,推薦學生考取軟件測試助理工程師、軟件測試工程師、軟件質量管理工程師、注冊軟件質量保證師(國際認證)等資格證書。雙證教育使學生專業能力更強、職業素養更高、綜合素質更好、更符合企業用人標準。
2、教學做評一體化教學模式
將教學場所直接設在實訓實驗室,師生雙方邊教邊學邊做,理論和實踐交替進行,把課堂教學轉向工作情境,課堂由教師為主轉向以學生為中心,突出學生動手能力和專業技能的培養,充分調動和激發學生學習興趣。學生真正變成了學習的主人,而老師只是一個引導者或答疑解惑者,可以培養學生的終生學習能力,對加強學生的計算機動手操作能力和解決實際問題的能力也有很大好處。
最后教師跟大家一起對實驗結果進行講評,并對表現優秀的學生給予鼓勵,同學們情緒高漲,學習積極性高。
(二)教學方法
根據學生的實際情況,綜合采用多種教學方法[9][10]。
1、項目導向教學法
以從企業精選的項目為載體,在授課過程中對項目進行分解,根據學生的個性和他們的意愿分配不同的角色,并引導學生練習操作,體驗項目流程,從而形成規范的開發意識和良好的IT職業素質。學生在校內所學習到的軟件開發中的各類案例,在實際工作中能夠及早地進行規劃。
本課程以物流信息網這個項目為主線,把整個課程的教學演變成一系列的教學情境。按照實際工作中項目開發流程的順序,依次展開,將“顯性”的知識灌輸,變為“隱性”的能力培養。通過具體項目的實施,引導學生在完成項目的過程中,掌握知識,培養能力。
2、任務驅動教學法
在課堂教學活動中,如果采用傳統教學方法,很難激發學生學習興趣。應該采用任務驅動教學方法,把一個項目分解為若干個大任務,每一個大任務,又分解為若干個小任務,將任務資料發給學生。學生在教師的引導下,課下先要進行消化,然后查閱各種必要的資料,理解知識并思考提出解決問題的方法。課上教師答復學生的問題,并引導學生更深層次的思考。通過這種方法充分調動學生的學習積極性,提高學習興趣,使學生既學會理論知識又學會用理論知識解決實際工程中的問題。
3、啟發式教學法
教師根據課程教學目的、內容、學生的知識水平和認知規律,采用啟發誘導方法傳授知識。該方法能夠充分調動學生學習的積極性、主動性,促使學生獨立思考、判斷、歸納解答。能較好的培養學生學習能力,達到觸類旁通的教學效果。
4、小組教學法
將班內學生分成若干個測試小組,每小組成員不超過7人,每組分配不同的軟件項目任務。小組成員模擬與體驗軟件測試全過程工作職位和角色,使學生全過程適應工作職位的要求。
各項目小組在測試項目過程中,針對不同的開發階段,撰寫各開發階段相應的文檔,并制定相應的測試計劃,設計典型測試用例,使用不同的軟件測試技術和測試工具,完成不同的測試目標,并進行回歸測試,以實現軟件測試各單項專業知識與技能整合運用的目標。在整個測試過程可以體現“學以致用”的思想,實現理論與實踐相結合。
通過演練項目開發測試,不僅讓同學們切身體會到軟件開發的整個過程,還讓同學們對軟件開發中各個角色有充分的了解,同時也更深刻的體會到團隊合作的重要性。
五、教師隊伍建設
加強雙師隊伍[11]建設,堅持“引進來,走出去”原則,積極引進具有企業開發經驗的高素質人才進行課程教學和實驗指導,同時注重本課題組青年教師隊伍的培養。采用分批次選派青年教師參加山東大學齊魯軟件學院暑期實訓和定期組織青年教師去軟件公司實習等方式,將企業的軟件測試經驗直接帶到教學中,提高教師的教學水平。
我們定期引進一些軟件公司的軟件測試人員或者聘請這方面的專業人士為教師、學生做定期講座,以彌補我們在教學實踐方面的缺陷。
六、實驗實訓條件建設
為培養應用型人才,本課程注重從不同側面提高學生的實踐能力。一方面,強化課內實驗教學,在校內建有多個實訓實驗室,另一方面,與校外多家企業建立合作關系,為學生提供實訓實習平臺,開展產學研合作,構建校企合作培養人才的新模式。
本課程組注重密切與行業和企業的聯系,與多家軟件公司進行長期合作,建立了校外實習實訓基地[12],為學生提供了生產性實訓和頂崗實習的場所,在真實的職業環境中完成真實軟件產品的開發,體驗企業文化,培養職業態度和習慣。學生畢業后可成為這些公司的正式員工,真正實現了學校、企業、學生三方受益。
七、改革考核方式
大膽改革課程考核方式[13],采用30%平時成績+30%實驗成績+10%項目考核成績+30%期末考試成績方式。平時成績主要考核學生的課堂討論情況、課后作業完成情況及課后自學情況。實驗成績根據學生在實驗中的測試用例設計和操作情況,以及測試小組的分工合作情況給以評分。項目考核主要采用項目答辯的形式考核學生對基礎知識的理解和掌握情況,由教師、行業專家、學生代表組成專家組給予評分。這種考核方式更注重的是對學生學習過程和實踐操作水平的考核,避免學生為考試而學習,死記硬背現象。
八、小結
通過對基于工作過程的軟件測試應用型人才培養模式的探索研究,學院已取得了實質性進展,建立了軟件測試課程教學團隊和軟件測試實驗實訓基地。學生的軟件測試綜合應用能力有明顯的提升,得到用人單位的好評,提高了學生的就業率。
參考文獻:
[1]龔宇輝.軟件測試課程教學改革研究[J].教育與職業,2010(24):130-131.
[2]溫艷冬,石冬凌.軟件測試課程三級項目教學實踐[J].計算機教育,2010(22):77-79.
[3]胡宏銀.軟件測試課程教學方法探討與實踐[J].計算機教育,2007(03):11-13.
[4]http:///link?url=5xO-IodKMsEhsyUjQhIeqybDGR-8AypYffsnAnZdMWpLRpgEhLehfzGEROxq9fIC.
[5]孫金華.軟件測試人才培養與課程構建的探索[J].計算機時代,2009(6):68-71.
[6]鐘素芬,葉明芷.軟件測試應用性人才培養模式的探索與實踐[J].北京聯合大學學報(自然科學版),2007(03) :89-92.
[7]田小霞.軟件測試人才培養的探索[J].福建電腦,2013(02):181-182.
[8]劉育熙,耿雪春.面向應用的軟件測試人才綜合能力培養模式研究[J].教育與職業,2009(11):111-112.
[9]范洪輝,朱洪錦,朱廣萍.“軟件測試技術與軟件質量”課程教學改革探索[J].江蘇技術師范學院學報,2012(12):151-153.
[10]周改云,馬麗.行動導向教學在軟件測試技術課程中的應用[J].電子測試,2013(04):192-194.
[11]蘭景英.構建應用型軟件測試人才培養實踐教學體系[J].黑龍江教育學院學報,2011,(05):78-80.
[12]蘭景英.應用型軟件測試人才培養模式探索與實踐[J].濰坊教育學院學報, 2011,(04):78-80.
[13]葉振,杜斌.開放式軟件測試教學實踐探索[J].現代企業教育,2011(01):140-141.
基金項目:
山東協和學院教改項目(2012xh01)。
作者簡介:
李兆翠(1980.1-),女,山東莒南人,碩士,講師,研究方向:軟件工程。
軟件測試培訓總結范文5
關鍵詞: 軟件測試; 案例教學; 實踐教學; 案例庫
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2014)12-74-03
Research on case teaching in software testing course for higher vocational colleges
Zhang Xiaolan, Guo Jiandong
(Guangdong College of Industry and Commerce, Guangzhou, Guangdong 510510, China)
Abstract: Case teaching can not only fully mobilize the students' enthusiasm, but also improve their theoretical level and practical ability. Combined with teaching experience in software testing, the problems of the case teaching in software testing course are analyzed. In order to improve the teaching effect in software testing course, the case design method in theory teaching and practice teaching is proposed. The construction of teaching case library is given. The basis and premise of the implementation of case teaching are introduced.
Key words: software testing; case teaching; practice teaching; case library
0 引言
51testing公司的《2013年中國軟件測試從業人員調查報告》顯示[1],2013年中國軟件企業軟件測試人員與開發人員比例基本保持在1:3,相比之前的1:7比例雖有所下降,但仍與國外軟件企業1:1的比例相差甚遠,這表明國內軟件測試人才市場需求仍會增長,其職業發展的潛力依然很大。正因為如此,很多高校相繼開設軟件測試專業或課程。在教學過程中,主講教師一般講解軟件測試理論和介紹軟件測試方法,但卻缺乏較好的測試案例供學生測試,以驗證所學的理論,故教學效果不佳。例如利用等價類劃分法、邊界值法設計測試用例,學生雖然能按要求做練習,能設計出測試用例,但是很多學生還是會疑惑設計出來的測試用例有何用、怎么用,學生缺乏實踐環節的經驗,當面對實際軟件項目測試工作時,仍然無從下手。
目前,很多高職院校對“軟件測試”這門課程進行了改革,并且取得了一定的成效。廣東工貿職業技術學院(以下簡稱“我院”)計算機系從2009年開始開設軟件測試課程,通過近五年的教學經驗積累和總結,提出從構建軟件測試課程的案例入手探討該課程的案例教學方法。
1 軟件測試案例教學所面臨的問題
1.1 教材及教學資料缺乏
當前軟件測試方面的教材很少,適應高職院校學生的教材更少。絕大部分教材只是闡述空洞的理論,附加簡單而又陳舊的工具介紹,而這些理念和工具很多已經被業界淘汰或是被取代[2]。根據《2013年中國軟件測試從業人員調查報告》顯示,業界現在普遍采用的功能測試軟件是QTP,而絕大部分教材中還停留在介紹Mercury Interactive公司的WinRunner工具,同時對于業界中性能測試龍頭軟件LoadRunner,很多教材并未涉及。絕大多數教材上所提到的自動化測試工具不多,而且講解的也不是很詳細,需要教師進行大量的補充。
1.2 案例缺乏
大多數軟件測試教材都是理論內容過多,實踐內容不足,甚至只有最后一章有測試案例。大多數高校軟件測試課程的定位都是以講解理論知識為主,實驗教學只占很小一部分。高職院校定位于培養技能型人才,要求學生有較強的實際動手能力,這勢必需要進行大量的測試實踐,而實踐需要大量的測試案例。同時,理論教學也需要運用典型案例,加深學生理解所學知識,培養其分析問題與解決問題的能力。
2 理論教學案例設計
教材及教學資料的缺乏勢必需要軟件測試主講教師有針對性地擴充理論教學案例。
2.1 擴充教材中的教學案例
在軟件測試的眾多教材中,講述軟件測試方法的經典案例有三角形問題、日期問題、閏年問題等,但這些案例通常都是文字表述,缺乏具體的程序供學生測試。因此,首先要擴充教材中的案例,采用面向測試的軟件設計方法將這些案例做成一個個小的被測系統,設一些缺陷,讓學生沿著“測試―理論―進一步測試”的主線來學習。首先對這些案例系統進行測試體驗,再系統學習理論,最后利用設計出的測試用例進一步測試,這不僅有利于加深學生對軟件測試抽象理論的理解,也讓學生更加深知在編程過程怎樣避免缺陷,做到規范化編程,提高編程能力。
2.2 引導學生編寫軟件開發文檔作為教學案例
在軟件測試的理論教學中,經常會提到幾個概念,如:黑盒測試是基于用戶需求的測試,集成測試的測試依據是系統概要設計說明書,單元測試的測試依據是系統詳細設計說明書等。學生通常會覺得很困惑:用戶的需求到底是怎樣的,系統概要設計說明書、詳細設計說明書中分別包括什么內容,有何區別,對這些文檔始終沒有直觀的認識。事實上,在企業的開發與測試工作中,文檔都是很重要的一部分內容。軟件開發企業在軟件開發過程中會產生一系列的文檔,如需求分析報告、詳細設計報告、概要設計報告等等,但很少對外公布這些文檔。就算能通過校企合作或項目合作的方式獲得企業項目文檔,缺乏項目業務背景的學生也很難弄清項目中的數據流程、工作流程等。所以通過與軟件工程課程教師的溝通協調后,要求學生在軟件工程課程設計中,按小組自選熟悉的項目系統,如:“學生成績管理信息系統”、“圖書管理系統”、“宿舍管理系統”等等,按照軟件工程的原理編寫相應需求說明書、概要設計說明書、詳細設計說明書等,只有具備以上資料,才可真實地模擬實際工作模式。在軟件測試課程中,延續使用這些案例系統,將對學生掌握軟件測試的流程很有幫助。
3 實踐教學案例設計
3.1 實踐教學目標及工具選用
為了培養面向市場的合格測試人才,在教學過程中,除了理論知識外,還要求教師加強學生測試技能的培養。測試技能的培養是需要通過大量的實踐練習來獲得的[3]。
通過實踐教學環節,加深學生對軟件測試理論知識的理解,使學生能掌握軟件測試的技術和方法,熟練主流自動化測試工具的使用,提高實際動手能力。51testing公司的《2013年第七屆中國軟件測試從業人員調查報告》中對軟件測試從業人員常用的單元測試工具、功能測試工具、性能測試工具進行統計調查分析,得出在功能自動化測試工具中QTP使用最廣泛,如圖1所示。在性能測試工具中LoadRunner仍然穩居第一,LoadRunner在性能測試工具中的大哥地位無可動搖,Jmeter測試工具在今年來有小幅上升趨勢,如圖2所示。在單元測試工具中,軟件測試從業人員最常用的單元測試工具是Junit,如圖3所示。
圖1 2013年調查中常用的功能自動化測試工具分布
圖2 2013年調查中常用的性能測試工具分布
圖3 2013年調查中常用的單元測試工具分布
注:以上圖表數據均來自51testing公司的《2013年中國軟件測試從業人員調查報告》
在我院軟件技術專業的軟件測試課程實踐教學中選用的單元測試工具是基于Java開發軟件的測試選擇Eclipse+Junit;基于C++開發軟件的測試選擇了CppUnit;基于.NET開發軟件的測試選擇Nunit。另外,性能測試選擇了LoadRunner試用版本,功能測試選用QTP,實踐教學環節工具基本與當前主流工具平臺相符。
3.2 實踐教學案例來源
在軟件測試的實踐教學中,我們從以下幾個方面來擴充教學案例。
⑴ 課程設計成果
我院計算機系軟件技術專業在程序設計方面,前期開設了Java和.NET程序設計兩個方向。在Java程序語言設計,C#程序語言設計、數據庫設計課程結束后,通常會安排兩周的課程實訓,要求學生在教師的指導下完成課程設計作品。將程序語言設計作品用作單元測試的案例,學生間交叉進行測試,互相充當對方的測試員,這樣不僅有利于將程序開發與軟件測試結合起來,綜合解決軟件開發中的問題,而且交叉測試會極大地調動學生學習測試興趣和積極性,課堂氣氛活躍。
⑵ 畢業設計成果
在大三第二個學期,我院會安排12周的畢業綜合實踐周,由指導老師跟學生共同確定畢業設計題目,學生獨立完成畢業設計。通過對以往選題匯總發現,絕大部分同學都是選擇Windows程序開發和網站開發兩個方面。從畢業設計作品中可選擇一部分優秀的作品作為實踐教學的案例。考慮到現有的網站如網易、搜狐前已經做足了測試,很難再發現其中的缺陷,所以在Web網站測試實踐中,我們將學生的網站作品在機房的局域網內,學生在學生機進行測試,在這個過程中真正體會Web網站測試、Cookies測試、安全測試、目錄測試等方面,找到測試成就感與自信。
⑶ 科研項目成果
我院一直鼓勵教師多參與科研項目,教師參與開發的項目也可以用于實踐教學案例。只有任課教師對所選的項目非常熟悉,甚至是親自參與開發,才能對項目開發整個流程、可能遇到的問題有充分的認識與準備,為學生提供有力的幫助和準確及時的指導,為項目教學的順利開展提供前提條件,使項目教學的整個實施過程都能在任課教師的良好掌控之下[4]。
⑷ 校企合作項目
目前我院已與部分企業簽訂了校企合作協議,在軟件測試課程的綜合性生產實習中,引入企業的實際項目作為案例。邀請校外實習基地企業的行業專家將實際工作項目帶入實訓室,學生3~5人為一組,按行業實際給他們分配角色,在該過程中強化學生的綜合設計和運用能力,讓學生掌握在實際項目應用中各種測試方法的使用,熟悉測試項目管理,感受大型測試項目工作流程。
4 案例教學的實施前提
4.1 跟前導課程的銜接
軟件測試與軟件開發有非常緊密的聯系。要想成為一名優秀的測試人員,就必須會編寫程序,至少精通一門程序開發語言才能勝任單元測試、集成測試、性能測試的工作,軟件開發課程學習的好壞直接影響了軟件測試能力。在軟件測試單元測試、集成測試教學實踐中,案例主要來源于程序設計語言課程的設計作品,這要求該課程主講教師對學生嚴格要求,要求學生按小組保質保量完成小組作業,這些小組作品是軟件測試課程中交叉測試的基礎和前提。
同時,軟件測試要用到一系列的文檔,如需求分析說明書、概要設計和詳細設計說明書、用戶手冊和安裝使用說明等,這些也是軟件工程課程設計上要學生完成的內容,課程設計對這些內容的要求嚴格與否,會對軟件測試課程帶來很大影響。通過這幾年的教學發現,大多數學生對這些文檔不甚了解,而且高職院校的學生普遍重技術輕理論,不愿意花時間去寫文檔。
4.2 教師自身素質的提高
為了順利實施案例教學,主講教師也需要不斷提高自身素質。軟件測試工具較多,范圍廣,不易把握重點,大部分測試工具如:LoadRunner、WinRunner、JUnit、Jmeter等都是英文版[5],參考資料少,這就要求教師通過主動學習、走進企業來提高自身素養。高職院校提倡“雙師型”專業教師隊伍建設,要求教師既要具備理論教學的素質,也應具備實踐教學的素質,學校也可以派遣教師到軟件測試培訓機構進行培訓,提高教師水平。只有這樣,教師才能自如地將企業實際的測試流程、方法、技術帶入案例教學實踐中。
5 結束語
興趣是最好的老師,在理論教學和實踐教學中引入案例教學、建立測試案例庫,使理論和實踐過程更具直觀性、生動性、說服力、吸引力,能有效調動學生的積極性和興奮點,有助于學生掌握軟件測試的基本理論和方法,加深對軟件測試測試自動化工具的理解。同時隨著教學的推進,教師可針對當前的測試工具,設計新的教學案例,擴充至教學案例庫中,不斷提高案例的針對性、實效性、鮮活性。
參考文獻:
[1] 2013年第七屆中國軟件測試從業人員調查報告.http://
,2013.
[2] 鐘久隆,路桂明.高職院校《軟件測試》課程教學改革探索與實踐[J].
教育教學論壇,2012.2:130-131
[3] 丁智國,呂振洪.軟件測試課程實驗教學探索[J].計算機教育,2012.3:
102-105
[4] 龔宇輝.基于項目驅動的軟件測試人才培養模式[J].華章,2013.20:
199
軟件測試培訓總結范文6
關鍵詞:軟件質量;軟件質量保證體系;軟件測試與維護
中圖分類號:
軟件質量是貫穿軟件生存期的一個極為重要的問題,是軟件開發過程中所使用的各種開發技術和驗證方法的最終體現。因此在軟件生存期中要特別重視質量的保證,以生產出高質量的軟件產品。軟件質量保證的目標是開發出可接受的軟件產品。這里所謂的可接受應是用戶理解意義上的可接受,或者說應達到用戶提出的質量要求。所以軟件質量保證的任務自然就是保證軟件質量。那么我們首先需要知道軟件質量所包含的內容,才能明確軟件質量保證的職責、內容、活動,從而進一步完善軟件質量保證體系。
1 軟件的質量包含
2 軟件質量保證體系(SQA)的主要職責
我們總結出軟件質量保證體系(SQA)的主要職責有以下三點:(1)向管理者提供正確的信息,以使軟件開發正確地執行;(2)收集質量數據,確定和管理風險,促進和協助流程改進;(3)充當測試工作的監督者,測試工作是否按照既定的流程(測試計劃、測試案例、測試執行)進行。
軟件質量保證的主要內容包括:保障制度體系、促使過程改進、指導項目實施、評審項目活動、審核工作產品、協助問題解決、提供決策參考和進行缺陷預防。目前我們的軟件質量保證體系是雜亂無章,有時甚至是混亂的,幾乎沒有定義過程的規則和步驟。軟件保證工作完全依賴個人努力和杰出的專業人才,取決于超常的管理人員和杰出有效的軟件開發人員。表現和成果都源于或者決定于個人的能力和他們先前的經驗、知識以及他們的進取心和積極程度。一旦遇到軟件質量危機就放棄原計劃過程,反復編碼和測試。這是非常危險的,直接阻礙了軟件質量保證的有效進行。為了保證軟件質量,我們需進行有條理有目的的軟件質量保證工作。科學的軟件質量保證過程一般包含以下幾項活動:(1)首先,建立SQA組;(2)其次,選擇和確定SQA活動,即選擇SQA組所要進行的質量保證活動,這些SQA活動將作為SQA計劃的輸入;(3)然后,制定和維護SQA計劃,這個計劃明確了SQA活動與整個軟件開發生命周期中各個階段的關系;(4)SQA計劃、對相關人員進行培訓、選擇與整個軟件工程環境相適應的質量保證工具;最終,不斷完善質量保證活動中存在的不足,改進項目的質量保證過程。
在軟件質量保證的過程中,六西格瑪是目前產業界應用最廣泛的基于統計的保證策略。20世紀80年代在摩托羅拉公司最先普及,六格西瑪策略“是嚴格且規范的方法學,它運用數據和統計分析,通過識別和消除制造以及服務相關過程中的缺陷來測量和改進企業的運轉狀況”?!傲裎鳜敗币辉~來源于6個標準偏差――每百萬個操作發生3.4個偏差(缺陷),它意味著非常高的質量標準。六格西瑪方法有三個主要的核心步驟:
定義:通過與客戶交流的方法來定義客戶需求、可交付的產品及項目目標。
測量:測量現有的過程及其產品,以確定當前的質量狀況(收集缺陷度量信息)。
分析:分析缺陷度量信息,并挑選出重要的少數原因。
如果某個現有軟件過程是適當的,只是需要改進,六格西瑪還需要另外兩個核心步驟:
改進:通過消除缺陷根本原因的方式來改進過程。
控制:控制過程以保證以后的工作不會再引入缺陷原因。
以上3個步驟和另外兩個附加步驟有時叫做DMAIC(定義、測量、分析、改進和控制)方法。
3 軟件測試與軟件維護
軟件測試與軟件維護是整個軟件質量保證體系中重要的兩個組成部分。軟件測試的目標是確保創建的測試計劃能夠滿足所有系統規格說明書的要求;確保經過測試和返工后軟件與規格說明書保持一致。軟件測試是軟件質量保證工作中不可或缺的重要活動,軟件測試與軟件質量保證是軟件質量工程中兩個不同的層面工作。軟件測試是對過程的產物開發出的軟件進行剖析,找出軟件運行時出現的問題,記錄出錯數據,從而達到保證軟件質量的目的。可以說軟件測試是軟件質量保證的最關鍵的一項措施。建立獨立的軟件測試,選擇好的測試方案,不但能有效地控制軟件的風險、提高軟件的質量,而且能有效地降低軟件的質量成本。軟件維護的目標是確保對已建立的變更控制過程進行檢測,包括將變更集成到軟件的產品版本中的過程;確保對代碼的修改遵循編碼標準,并且要對其進行評審,不要破壞整個代碼結構。軟件運行過程中難免出現問題,這不能完全歸咎于軟件質量,維護也是保證軟件質量的一項措施。為了保證軟件質量,我們需要對軟件進行維護,在維護過程中發現不足,不斷完善軟件。
隨著軟件產業的發展,軟件質量控制和軟件質量評價越來越成為軟件質量研究中的重要課題。軟件的開發和使用的歷史已經留給了我們很多由于軟件缺陷而導致的巨大財力、物力損失的經驗教訓。這些經驗教訓迫使我們的工程師們必須采取強有力的措施來檢測未發現的隱藏的軟件缺陷。軟件過程質量保證使每個工作者在一種開放式的環境中工作,吸取業界的成熟經驗少走很多彎路,使工作有成效,讓領導足夠重視和堅定的支持,進而有效地確保軟件項目的質量。
參考文獻:
[1](美)Watts S.Humphrey.軟件過程管理[M].北京:清華大學出版社,2002.
[2]波特,著.尤克濱,譯.軟件過程改進簡明實踐[M].北京:機械工業出版社.
[3]趙池龍.實用軟件工程[M].北京:電子工業出版社.
[4](美)Paul C.Jorgensen.韓柯,譯.軟件測試[M].Software Testing A Craftsman's Approach(Second Edition)[M].北京:機械工業出版社(軟件工程技術從書).