前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件測試項目總結范文,相信會為您的寫作帶來幫助,發(fā)現更多的寫作思路和靈感。
軟件質量重于泰山
軟件質量重于泰山,軟件質量是核心競爭力之一?,F在和未來軟件企業(yè)的競爭力不僅體現在產品類型的多樣性,產品功能的先進性,更多的體現在產品質量的穩(wěn)定性和可靠性。軟件應用的領域不斷深入,設計的復雜程度逐步增加,開發(fā)的周期不斷縮短,質量的要求水漲船高,軟件企業(yè)面臨著巨大挑戰(zhàn)。
用戶對軟件產品質量的要求不斷提高,促使軟件企業(yè)把提高軟件質量作為增強競爭力的策略。提高軟件質量要素在哪里?可以通過采用軟件設計技術,加強軟件過程管理,實施軟件測試等方法。從提高軟件質量的顯著程度、投資回報率和可實施性等方面比較,實施有效的軟件測試,提高軟件測試的效率,是保證軟件質量的顯著方法。
軟件測試是通過技術、流程、工具、人員以及管理手段,檢測軟件文檔、軟件中間產品和最終產品,查找和報告軟件缺陷、錯誤以及隱患的專業(yè)技術。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產品、中間產品和文檔符合軟件工程過程需求和用戶的最終需求。
軟件測試創(chuàng)新之道
軟件測試在國內仍處于起步階段,各種軟件測試的方法、技術和標準都還在探索階段。國內軟件行業(yè)規(guī)模普遍偏小,缺乏大型軟件產品經驗,開發(fā)過程不夠規(guī)范,這決定了國內軟件質量和測試行業(yè),必須根據國內行業(yè)現狀,確定軟件質量目標和測試策略方法,而不是照搬照抄國外成熟軟件企業(yè)的測試方法。
觀念創(chuàng)新
提高軟件質量的決定因素不是軟件測試技術,而是對軟件質量和測試的思想觀念。只有把提高軟件質量上升到企業(yè)戰(zhàn)略發(fā)展的高度,才能從根本上解決問題。長期以來,國內軟件行業(yè)對軟件質量重視程度不足,對于軟件測試的作用認識不夠,造成項目因質量問題造成進度推遲甚至失敗。
為了徹底改變這種被動現象,企業(yè)高層管理人員必須從管理思想、資源支持等方面為軟件質量和測試部門提供全力支持。軟件項目經理必須堅持軟件開發(fā)和軟件測試并行處理并且互相協調。軟件開發(fā)人員重視和配合軟件測試人員。
觀念創(chuàng)新不要僅停留在口頭上,而要落實在具體行動上,通過軟件質量和測試的有效流程進行推動,通過過程改進進行提高。通過有效組織管理,形成“以重視軟件質量為榮,以輕視軟件質量為恥”的工作氛圍。
流程創(chuàng)新
測試流程決定軟件質量。軟件測試如同軟件開發(fā)一樣,需要經過收集測試需求、確定測試策略、設計測試、執(zhí)行測試、分析測試等流程。軟件測試不是軟件開發(fā)的最后階段,而是貫穿于軟件項目的整個生命周期。
軟件測試流程既不是僵化的生搬硬套,也不是隨機的增添取舍。軟件企業(yè)的質量管理部門和項目開發(fā)團隊需要根據公司技術、資源現狀,針對項目的特點和客戶需求,從保證軟件質量、項目進度和測試成本等方面,進行優(yōu)化設計并且不斷改進流程管理。對于項目周期長、應用領域廣、對質量要求高的軟件,必須制定和遵守嚴格的測試流程。
測試流程創(chuàng)新的目標是在公司內部制定和執(zhí)行完善的項目質量管理體系。優(yōu)化項目生產方式,跟蹤和度量生產過程和產品,使得生產過程和各階段產品處于可控制和可度量狀態(tài),保證產品符合客戶的功能和進度需求。
技術創(chuàng)新
軟件測試是一項軟件工程領域的專業(yè)技術,而不是簡單的把軟件測試認為隨便找個人運行幾次軟件,就可以發(fā)現全部的軟件問題。前文已經提到,軟件測試需求和測試設計是決定軟件測試效果的關鍵因素,因此,加強測試技術創(chuàng)新的重點是在測試需求和設計設計的創(chuàng)新。
在軟件測試技術創(chuàng)新方面,要避免陷入過度追求自動化測試技術的誤區(qū)。自動化測試確實可以在某些方面顯著提高測試效率和準確性,但是自動化測試只適合測試軟件的某些方面的質量,80%左右的軟件缺陷是靠測試人員手工測試發(fā)現的。
對于某些特別需要自動化測試的軟件特性,需要加強開發(fā)軟件測試工具,而不是全部依賴市場上的現有測試工具。這是因為商業(yè)工具功能繁多,價格昂貴,培訓和學習周期很長,選擇不當就會造成巨大浪費。
管理創(chuàng)新
軟件測試管理的目標是實現軟件質量、進度、成本之間的最佳平衡。有效的測試管理需要企業(yè)管理層、軟件開發(fā)團隊、質量保證與測試團隊通力合作,采用計劃、組織、領導、控制等手段,組建高效團隊,制定完善的測試流程,做好測試設計,有效執(zhí)行測試,加強過程跟蹤,從而順利完成質量保證和測試任務。
測試管理創(chuàng)新的核心是軟件質量和測試的團隊建設,軟件質量和測試是技術密集型活動,團隊的知識結構、創(chuàng)造力和凝聚力是保證測試流程、測試技術充分實施的基礎。質量和測試團隊建設的重點是設置和培養(yǎng)各類技術和管理人才,進行有效交流,形成良好的評估和促進機制。
測試管理創(chuàng)新的另一個重點是測試管理平臺建設。包括構建測試項目管理的集成系統(tǒng),實現公司產品和項目數據信息的有效管理和順序控制,使項目數據透明化,技術知識有效傳承,項目質量和進度數據化、圖形化??梢愿鶕镜默F狀,購買軟件測試管理的商業(yè)工具,也可以內部開發(fā)軟件測試管理工具。
軟件測試技術路線圖
如果把軟件測試之道成為測試戰(zhàn)略,要發(fā)揮測試戰(zhàn)略的現實意義,需要把測試戰(zhàn)略轉化為測試戰(zhàn)術。測試的“道”與“術”的無縫集成,才能顯著地、持續(xù)地、逐步地提高軟件產品質量。實施軟件測試的戰(zhàn)術是一系列過程的組合,涉及測試團隊建設、流程設計、測試平臺、測試管理等多個方面。
測試團隊建設
測試團隊可以是測試部,也可以是測試組。公司規(guī)模決定了測試團隊的大小和組織形式。測試團隊建設需要執(zhí)行兩個原則:第一,測試團隊必須獨立于開發(fā)團隊,而不是附屬于開發(fā)團隊,實現測試的獨立性和公正性;第二,測試團隊必須具有明確的工作目標,即發(fā)現和報告軟件缺陷,推動和確認缺陷修正,協助軟件開發(fā)的過程改進,提高軟件整體質量。
軟件測試團隊根據規(guī)模可以設置多個職位,每個職位具有明確的崗位職責。例如,測試部門經理、測試項目經理、測試組長、測試架構師、高級測試工程師、測試工程師等。對于剛剛成立的測試團隊,可以一個人兼任多個職位,完成多項測試任務。測試人員的總數應該與開發(fā)人員相適應,最好在1:1到1:2之間。
流程設計
測試流程設計必須與軟件設計流程相對應,基本測試流程包括測試需求分析、測試計劃設計、測試用例設計、測試執(zhí)行、測試評價、測試總結等。
根據軟件需求和軟件設計規(guī)格說明進行測試需求分析,測試需求分析的目的是明確需要測試的對象、特征、范圍和方法,從而制定測試計劃,確定測試策略。
測試計劃設計是為了有效配置測試過程、人員和工具,充分利用現有的資源,按照項目計劃進度,組織有效的測試。測試計劃設計的輸出結果是測試計劃文檔,它是指導軟件測試活動的綱領性文檔。
測試用例設計是指導具體測試內容和方法的關鍵內容,如果需要執(zhí)行自動化測試,還需要依靠測試用例設計生成對應的測試腳本。測試用例設計的輸出結果是不同類型的測試用例,這些測試用例必須以標準、一致的形式設計、評審、存儲、更新。
測試執(zhí)行是報告軟件缺陷的階段,根據軟件計劃的進度,分配測試內容,構建測試環(huán)境,依靠測試用例運行測試程序和程序文檔。測試執(zhí)行的輸出結果是缺陷報告、測試進度報告等。
測試評價是度量軟件測試執(zhí)行效率和有效性的過程。測試評價的輸入是測試用例的執(zhí)行情況,軟件缺陷的報告數據。測試評價的輸出包括測試用例的有效性分析,軟件缺陷的類型和有效性分析等,測試進度和有效性分析等。
測試總結包括測試過程每天或者每周的過程總結,也包括測試項目結束后的測試項目總結。測試總結的輸出是測試總結報告,總體評價軟件質量,指出測試存在的問題,提出改進的方法和進程,總計測試的有效經驗。
測試平臺設計
測試平臺設計包括測試技術平臺設計和測試管理平臺設計。測試技術平臺包括設計測試環(huán)境,設計或設置測試工具等。測試管理平臺設計包括測試文檔系統(tǒng)設計、測試版本配置管理、缺陷數據庫設計、測試進度和質量分析系統(tǒng)設計。
測試技術平臺設計需要根據測試計劃的測試內容和測試環(huán)境要求,組織軟件、硬件、數據庫和網絡等,這經常是一項較為耗時的工作,同時它影響著測試的正確性,必須盡快在測試開始階段完成,最好采用有效的方法把搭建的測試環(huán)境進行備份保存,以便今后可以快速恢復,重復利用。
測試管理平臺設計,影響測試管理的復雜度,好的測試管理平臺可以使測試管理人員,方便地跟蹤、查詢、分析測試進度,評估測試人員的工作績效,評價測試的總體質量。對于測試技術人員而言,可以方便的尋找測試對象和測試文檔,報告和輸出測試結果,共享測試數據,提高測試效率。
測試管理
測試管理關注人員、過程、產品三要素的互動與變化,測試管理包含項目計劃和組織結構管理,測試階段管理,時間、資源和質量管理,文檔管理和團隊管理等。測試部門經理、測試項目經理和測試組長是測試管理的主要執(zhí)行者,需要與測試團隊成員、開發(fā)人員、公司管理人員密切配合。
為了加強測試管理,需要確保測試數據信息流通暢,使測試團隊、開發(fā)團隊、質量保證團隊之間有效交流。測試管理的其他內容包括團隊成員參與各種培訓,客觀積極的績效評估,識別項目測試風險,實現人盡其才,信息共享,進度可控,規(guī)避風險,降低成本,提高質量。
Abstract: With the development of software companies, software testing plays an increasingly important role in improving the quality and maintainability of software products. In the construction process of software system, the project management plays a vital important role in the success of the entire project.
關鍵詞: 軟件系統(tǒng);測試;安全性;質量;問題;影響;管理
Key words: software systems;testing;safety;quality;problems;influence;management
中圖分類號:TP311 文獻標識碼:A 文章編號:1006-4311(2014)19-0204-02
0 引言
隨著軟件市場的發(fā)展越來越成熟,人們對軟件作用的期望值逐漸增高,就使得人們將關注點轉移到軟件的質量和功能的可靠性上,因此軟件產業(yè)在中國市場產品測試領域有著嚴重的不足。我們不得不承認,國產軟件市場相對國際先進的軟件來看,無論在質量上還是成熟度上都存在著一定的差距。盡管國外軟件也存在不少錯誤和漏洞,但是很少存在由于低級失誤或大意而出現的軟件產品質量問題。但是國內由于低級錯誤而造成的嚴重產品質量問題卻時常發(fā)生,為了改變中國軟件產業(yè)的前途和命運必須提高軟件測試水平。因此,軟件測試對軟件產品質量、控制成本、軟件可靠性、企業(yè)的競爭力等方面起著重要的作用。
1 什么是軟件測試及軟件測試的目的
隨著軟件規(guī)模的不斷增大和軟件復雜性的日益增加,軟件測試也顯得越來越重要,軟件測試工作是非常講究策略和方法的工作,需要我們努力學習達到先進領域的頂峰。軟件測試就是在受控制的條件下對系統(tǒng)或應用程序進行操作并進行評價操作結果的一個過程,其中所謂控制條件主要就是兩種,即正常條件與非正常條件。而軟件測試主要是為了進行“探測”,通過探測發(fā)現軟件自身的毛病,加以改進。軟件測試貫穿于軟件開發(fā)的整個周期,其中軟件的規(guī)格說明書和結構設計的程序編碼等,都屬于軟件測試的對象。進行軟件測試的主要目的就是為了保證軟件產品的最終質量,因此,我們在進行軟件開發(fā)的過程中,就需要對產品的質量進行控制,以避免出現不合格的產品。
2 加強對軟件測試工作的項目管理
2.1 軟件測試的關鍵問題 軟件測試的關鍵問題就需要我們從以下四個方面進行分析:首先,測試由誰來執(zhí)行。因此軟件產品的開發(fā)設計通常由軟件開發(fā)者和軟件測試者兩種角色組成。一般開發(fā)者主要通過開發(fā)形成產品,然后由測試者來檢驗產品中是否存在缺陷。通常的測試工作是由開發(fā)者負責完成自己所開發(fā)的代碼單元測試,然后測試者承擔系統(tǒng)測試。其次,測試什么。通常測試經驗表明,程序中的故障,并不一定是由于編碼導致的問題,所以為了排除故障就要追溯到前期的工作。但是很多時候,軟件需求分析、設計和實施階段是軟件故障的主要來源。第三,什么時候進行測試。軟件進行測試可以在開發(fā)中進行測試,可以在各個模塊完成一個整體的程序后進行測試。最后,怎樣進行測試。對軟件進行測試就是根據軟件的功能和規(guī)范說明以及程序的實現,就需要我們進行各種測試,然后生成有效的測試用例,對軟件進行測試。
軟件測試的目的就是為了證明程序中是否有故障存在,以此找出解決的問題,所以在進行測試的時候,要有周全的計劃,這樣才能從軟件中找出缺陷和錯誤,然后通過發(fā)現的問題進行處理。軟件測試的原則就是盡早并及時測試應用軟件,然后由專業(yè)人員進行軟件的測試,測試用例應完整完全,嚴格執(zhí)行測試計劃,保存測試的分析報告以備今后應用。
2.2 軟件測試方法管理 軟件測試的方法主要有白盒測試法和黑盒測試法兩種。其中白盒測試法又稱之為結構測試、基于程序的測試和邏輯驅動測試,白盒測試法大部分用于單元測試中。而黑盒測試法又被稱為功能性測試、數據驅動測試或給予規(guī)格說明的測試,多數用于獨立測試中,并不考慮程序結構和內部特征,只在于檢查輸入與輸出之間的關系是否符合要求。
測試信息流程,測試過程中需要三類輸入:
①軟件配置:包括軟件需求規(guī)格說明、軟件設計規(guī)格說明、源代碼等。
②測試配置:包括測試計劃、測試用例、測試驅動程
序等。
③測試工具:為了提高測試效率,就需要我們采用測試工具以支持測試的工作,主要包括測試數據自動生成程序、驅動測試的測試數據庫等。但是測試工具不是萬能的,工具只能解決工具的問題,使用工具的畢竟是人。工具在解決效率問題上是非常擅長的。這個就類似我們看的武俠小說中寶劍和劍譜的關系,沒有武功心法,你拿到寶劍也沒用。
軟件測試的周期是測試改錯再測試再改錯這樣一個循環(huán)的過程測試終止的依據主要有五類標準:
①測試超過了預定時間,則終止測試。
②執(zhí)行了所有的測試用例,但沒有發(fā)現故障,則終止測試。
③使用特定的測試用例設計方案作為判斷測試終止的基礎。
④正面指出終止測試的具體要求,即終止測試的標準可定義為查出某一預定數目的故障,如規(guī)定發(fā)現并修改了多少個故障就可以終止測試。
⑤根據單位時間內查出故障的數量決定是否終止
測試。
3 小結
綜上所述,軟件測試的事務性操作較多,但是進行這些操作,我們需要有一個良好的心態(tài)去對待。其中良好的團隊合作才能保證開發(fā)過程的順利進行,在工作過程中還需要我們進行總結,對于問題我們需要有則改之,無則加冕。因為軟件開發(fā)是一件比較辛苦的事情,我們只有在工作中對經驗多總結,才能找到符合自己的方式方法,才會在工作中事半功倍。在軟件開發(fā)中應掌握其中蘊含的軟件測試流程思想,并有效的將測試管理融入到項目管理中,優(yōu)化軟件開發(fā)流程,提高產品質量。
中國軟件公司的規(guī)模和產品的開發(fā)層次在不斷的完善和發(fā)展中,因此很多公司開始謀求國家軟件的訂單,因此外包業(yè)務成為軟件行業(yè)一個新的增長點。但是由于國內的軟件測試水平與國外用戶的要求相差甚遠,就需要我國軟件行業(yè)無論是在人力、管理還是組織或技術上都有大幅度的提升,重視軟件測試,使之能夠與世界先進的軟件公司測試標準接軌,這也是我國軟件能夠邁出國門的重要前提前提因素。
參考文獻:
[1]孫俊若,席曉強,葉波,林潔.機載雷達軟件開發(fā)全周期測試技術研究[J].現代雷達,2010(01).
[2]徐宗云,王世偉.基于SOA架構的PDM系統(tǒng)與制造管理系統(tǒng)集成設計與實現[J].冶金自動化,2010(01).
[3]祝莎莎,陳勇,齊永陽,陳戈.虛擬現實軟件VRGIS的項目進度管理研究及應用[J].中國高新技術企業(yè),2010(01).
[4]斌斌.掙值分析法在信息系統(tǒng)項目中的應用[J].網絡與信息,2010(01).
[5]張琦,林碧英.淺談軟件開發(fā)過程管理中的進度管理[J].中國電力教育,2008(S2).
關鍵詞 軟件測試 服務外包 人才培養(yǎng)模式
中圖分類號:G710 文獻標識碼:A
1 軟件測試外包人才需求狀況
當前,軟件產業(yè)已經成為國際競爭的焦點和各國競相發(fā)展的戰(zhàn)略性先導產業(yè)。早在2007年,教育部等部門出臺的《關于進一步加強國家重點領域緊缺人才培養(yǎng)工作的意見》,將軟件等確定為12個國家重點領域緊缺人才培養(yǎng)。而在軟件行業(yè)中,為了提高軟件質量,降低軟件開發(fā)成本,分散軟件外包風險,軟件測試就成為重要推動力。但軟件測試業(yè)卻面臨著自身的嚴峻考驗——人才緊缺。據前程無憂招聘網統(tǒng)計,國內120多萬軟件從業(yè)者中,真正能擔當測試職位的不足5萬,人才缺口已超20萬并向30萬大軍挺進,并隨需求逐年增長。在國外,一般軟件測試人員與軟件開發(fā)人員的崗位設置比例是1:1。軟件測試人才需求量的加大,除了受產業(yè)先行的波及外,長期以來業(yè)界對軟件測試的不重視,導致高校未有效開展軟件測試人才的培養(yǎng),出現教育滯后。教育滯后體現在多方面,包括專業(yè)設置、人才培養(yǎng)模式、人才培養(yǎng)方案的滯后與不協調等。
2 軟件測試職業(yè)發(fā)展及能力需求分析
2.1 軟件測試外包的特點
隨著軟件產業(yè)的發(fā)展,軟件產品的質量控制與質量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個大中型IT企業(yè)的軟件產品在前都需要大量的質量控制、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術的軟件測試工程師這樣專業(yè)的人士來完成。單獨設立測試部門,對測試人才有強烈需求的企業(yè)大多是規(guī)模較大的一些IT企業(yè),外資企業(yè)居多。而一些企業(yè)為了降低軟件開發(fā)成本,專注于核心業(yè)務的發(fā)展,或因測試力量匱乏,往往會把軟件測試工作外包給專業(yè)的測試機構來完成。軟件測試外包的特點,一是涉及行業(yè)多,知識面廣。二是測試團隊比較大。三是接觸到大項目的機會比較多,軟件測試的類型包括行業(yè)應用軟件的測試、本地化和國際化測試、嵌入式軟件測試等。在行業(yè)軟件中,以手機、家電嵌入式軟件為代表的通信行業(yè)軟件和汽車、電子行業(yè)的中間件成為具有潛力的軟件外包領域。所以軟件測試外包對測試人員的素質提出了更高的要求。
2.2 軟件測試職業(yè)發(fā)展及能力需求分析
根據軟件測試職業(yè)崗位與工作內容的分析,綜合學院、企業(yè)、培訓機構專家訪談結果,網絡資料查詢調研結果,不同行業(yè)、不同企業(yè)同一崗位,其崗位工作任務不同,職業(yè)能力需求的側重點也不同。同一職業(yè)崗位在不同的行業(yè)領域對知識的要求也不同。按照軟件測試為崗位主線,通過對不同行業(yè)企業(yè)所需人才崗位工作職責、能力知識需求進行系統(tǒng)的分析與研究,總結提煉出軟件測試外包專業(yè)畢業(yè)生踏入工作崗位從初級測試工程師到成長為有豐富工作經驗的測試項目經理所具有的能力與素質要求。
初級測試工程師的工作職責是按照軟件測試方案和流程對產品進行功能測驗;檢查產品是否有缺陷;報告和跟蹤缺陷及進行驗證。其能力素質要求是熟悉常用的軟件測試方法、軟件工程知識;熟悉常用的軟件開發(fā)環(huán)境,編程工具;有良好的英語閱讀能力,具有良好的溝通能力。
中/高級測試工程師的工作職責是設計測試用例;搭建測試環(huán)境;根據測試設計對產品進行性能、功能等全面測試;測試工具等的開發(fā)、撰寫測試報告。其能力素質要求是掌握軟件測試原理流程、方法與規(guī)范;熟悉測試工具;熟練地編寫測試腳本,能夠進行缺陷分析及預防。具有較強的文檔編寫能力;較強的學習能力;高度的責任心,較強的溝通能力。
測試組長及測試主管:設計測試計劃及進行測試項目的管理;項目及測試流程和工具的選擇及優(yōu)化;測試項目質量和進度控制。其能力素質要求是有一定的軟件測試經驗;能夠獨立完成各類測試任務;具有較好的解決問題的能力;有一定的分工協作能力。
軟件測試項目經理:構建測試團隊及進行測試團隊的管理;制定項目測試方案和測試計劃;協調測試資源,并對各種資源進行計劃、分工和管理;測試項目的質量及控制。其能力素質要求精通軟件測試理論、軟件測試管理和自動化測試技術;熟悉軟件測試開發(fā)和測試平臺、自動化測試與性能測試工具;較強的測試組織管理能力、溝通協調能力;有流利的英語讀寫表達能力;善于團隊合作,執(zhí)行能力強。
3 構建并實施一站式人才培養(yǎng)模式
改革現有的軟件外包測試人才培養(yǎng)落后狀況,探索并實踐新型人才培養(yǎng)模式成為軟件測試外包人才培養(yǎng)的重中之重。煙臺職業(yè)學院對此作了多方面的探索與實踐,構建并實施一站式人才培養(yǎng)模式,為軟件測試外包人才規(guī)模化培養(yǎng)積累經驗。
3.1 軟件測試外包專業(yè)人才培養(yǎng)目標
根據企業(yè)的人才需求特點,學院、培訓機構、企業(yè)三方共同確定的高職軟件測試外包專業(yè)的培養(yǎng)目標為:培養(yǎng)掌握計算機基礎、軟件測試專業(yè)知識、熟悉軟件測試的基本方法、流程和規(guī)范,了解服務外包行業(yè)知識、發(fā)包方文化、商務禮儀,能利用測試工具對軟件產品進行功能和性能測試,設計和維護測試系統(tǒng),對測試方案可能出現的問題進行分析與評估,具有軟件編程能力及軟件工程應用能力,可從事軟件外包及服務外包企業(yè)軟件測試、運行、維護及質量管理等崗位工作,具有較強的外語應用能力,良好的溝通能力、協調能力和語言表達能力的技能型人才。
其崗位的主要業(yè)務范圍是: 依據需求文檔及設計文檔,編寫測試用例;依據測試用例執(zhí)行測試,完成產品的手工測試、集成測試與系統(tǒng)測試,反饋跟蹤產品BUG及用例缺陷;根據測試計劃,搭建測試環(huán)境; 測試工具/系統(tǒng)的研究和應用。軟件測試專業(yè)可考取的證書:計算機等級考試四級軟件測試工程師、ISTQB國際軟件測試工程師(初級)。
3.2 一站式人才培養(yǎng)模式內容
經過多年的實踐與總結,構建了以政府為引導,實行與培訓機構聯姻、與企業(yè)合作的一站式人才培養(yǎng)模式,完成畢業(yè)即就業(yè)的角色轉換。
政府引導:以我院牽頭成立的煙臺市服務外包職教集團為平臺,與當地政府、服務外包園區(qū)建立框架性戰(zhàn)略合作關系,根據政府出臺的優(yōu)惠政策,提供的各種信息資源,通過學院與企業(yè)及產業(yè)園區(qū)的互動,形成校企雙方人力資源的可持續(xù)性需求供給與輸出。由政府協調當地服務外包企業(yè),與學院建立緊密型的人才培養(yǎng)合作聯盟,聯盟單位派員參與專業(yè)建設指導、人才培養(yǎng),并作為學院學生的實習實訓基地。
一站式培養(yǎng)的關鍵是學院通過與知名培訓機構、與企業(yè)實行三方合作,通過協議等約定方式,按企業(yè)所需的人才數量與規(guī)格,采用“聯合招生、委托培養(yǎng)、定向就業(yè)”的形式,實現人才培養(yǎng)的直接輸入與對口輸出?!奥摵险猩敝溉焦餐瑓f商確定學生來源、招生數量、招生方案;“委托培養(yǎng)”指招收的學員全部在學校學習、在培訓機構實訓,培養(yǎng)目標受企業(yè)委托進行;“定向就業(yè)”指學生培養(yǎng)結束經過綜合考核評定,并參加由工信部全國注冊服務外包專業(yè)認證中心設置的面向服務外包產業(yè)的專業(yè)認證項目,獲得工信部相關技術等級認證,根據認證等級,由合作企業(yè)正式錄用為公司員工,安排到合適的崗位就業(yè),不能直接就業(yè)的可推薦安置到合作聯盟單位或由合作企業(yè)、培訓機構推薦到其他單位就業(yè)。
3.3 課程建設及實施路徑
課程體系的構建和課程建設是人才培養(yǎng)中的關鍵因素。服務外包軟件測試專業(yè)課程集服務外包知識課程群、信息技術專業(yè)課程群、軟件測試專業(yè)課程群、管理課程、專業(yè)外語課程于一體,著力培養(yǎng)復合型軟件測試外包人才。按照課程之間的邏輯順序和人才職業(yè)成長規(guī)律安排課程。實施中采用分段式安排,教學團隊專兼教師合作授課。部分課程安排成為選修課,學生可以根據自己的就業(yè)意向和興趣選擇學習。圖1為主要課程框架體系圖及實施路徑。
技能儲備階段構建完整的工程知識體系。利用案例和項目強化學生對于各種知識點的理解,并通過實踐訓練達到一定熟練程度與規(guī)范性,完成基本知識的積累及基本技能的訓練。校企各有側重地承擔教學任務,通用專業(yè)基礎課程及其相關實踐課程由校內專任教師承擔。專業(yè)核心課程及相關實訓由企業(yè)人員承擔。時間安排為第一到第四個學期。
技能提升階段主要是針對外包項目的仿真實訓,建立學生的項目工程思想,根據項目分工完成工作任務,使學生充分演練項目中的多種職業(yè)角色,具備企業(yè)要求的基本職業(yè)素質。該階段的教學任務主要由企業(yè)人員在校內實訓基地完成,專任教師輔助教學。時間安排為第五學期的前半學期,同時開展軟件測試等級認證培訓。
崗位實訓階段,由仿真項目實訓逐步向真實產業(yè)外包項目實訓轉變。此階段根據學生的水平,將學生編入各項目組,參與到真實項目。通過完成外包項目,感知企業(yè)文化,熟悉工作環(huán)境,接受企業(yè)的管理,達到實戰(zhàn)訓練的崗位能力要求。這一階段的培養(yǎng)任務主要由企業(yè)人員承擔,專任教師協助輔導,企業(yè)工程師擔任項目經理。該階段的實訓任務主要在培訓機構完成,時間安排為第五學期下半學期。本階段完成軟件測試技術等級認證。
頂崗實習階段是根據學生的職業(yè)特長及發(fā)展需求,安排學生到合作企業(yè)實習,根據學生的水平及實習企業(yè)的用人計劃,成績優(yōu)秀者可直接與企業(yè)簽約就業(yè),學生的實踐情況由專人跟蹤幫助。對不合適的崗位,重新安排到其他企業(yè)實習就業(yè)。根據企業(yè)崗位標準的不同,時間安排為第六學期。
3.4 實行任務驅動、工學一體教學模式
樹立學習就是工作,工作就是學習的理念,采用任務驅動、工學一體教學模式開展教學活動。精選典型項目或案例作為教學內容,每一項目安排1~5個不等的任務,每一任務有針對性地包括一個或幾個必須掌握的知識點,學生的學習過程就是完成任務的過程,按照自主學習,仿真應用、工程應用的流程,完成學習任務。在自主學習階段,先給學生布置任務,然后指導學生展開自主學習,根據班級人數情況,靈活選擇以學生2~4人為一組的形式,進行咨詢、討論、制定工作計劃、提出任務實施方案,再指導學生進行仿真設計和測試,最后在實訓基地中指導學生進行工學結合實訓。每一任務完成情況選2~3組有代表性的作品進行展示與答辯,然后由其他組學生進行評價,提出意見與建議。不同組完成同樣的任務可能采用的方法不同。每一個項目完成后,提交項目報告,根據日常表現、實訓情況、創(chuàng)新能力、報告的完整性與準確性,給出評價結果。
4 結束語
軟件測試是一個新興職業(yè),其具有的就業(yè)競爭小、薪資水平高、職業(yè)發(fā)展多元化的特點,吸引越來越多的人從事軟件測試工作,這為軟件測試人才的培養(yǎng)提供了很好的發(fā)展機遇。學院與企業(yè)、培訓機構合作,共同培養(yǎng)軟件測試人才可以實現畢業(yè)即就業(yè)的一站式人才培養(yǎng)。這種模式,把學院的教育資源、生源優(yōu)勢,培訓機構的教學內容,企業(yè)的實訓優(yōu)勢及就業(yè)優(yōu)勢結合在一起,實現強強聯合、三方共贏。但在合作中,合作的各方要加強溝通,通過一定的機制規(guī)范和約束合作行為,并通過一定的保障措施確保合作持續(xù)長久。
基金項目:中國高等職業(yè)技術教育研究會“十二五”規(guī)劃項目 《基于校企合作服務外包人才培養(yǎng)模式的探索和實踐》編號:GZYGH2011014 主持人:姜永華
參考文獻
關鍵詞:計算機;軟件測試;面臨問題;對策
隨著信息技術不斷發(fā)展進步,軟件規(guī)模越來越大,復雜性也隨之提升,要想保證軟件質量,就要加強對軟件測試工作的重視。我國軟件測試工作起步相對較晚,還存在很多問題,需要不斷完善優(yōu)化,才能提高計算機軟件行業(yè)的競爭能力。軟件開發(fā)行業(yè)發(fā)展前景廣闊,受到各大企業(yè)的青睞,加強對軟件開發(fā)技術的研發(fā),而計算機軟件測試則是其中的重要內容,對軟件質量有著直接的影響。本文先介紹軟件測試工作的重要性,再總結軟件測試面臨的問題,提出合理的對策。
1軟件測試工作的重要性
軟件測試工作的重要性主要體現在兩大方面:一是軟件測試可以提升開發(fā)效率。在軟件工程項目進行過程中,一般將質量、進度作為核心評價指標,很多項目負責人都會嘗試各種先進方法技術,以期望可以加快開發(fā)進度,一旦出現返工現象,會對項目進度產生巨大影響,這就突出軟件測試重要地位,可以通過合理的測試發(fā)現存在的問題,加快開發(fā)進度的同時避免出現返工現象。軟件測試工作擁有很多測試項目,其中包括集成測試、單元測試,可以第一時間發(fā)現軟件存在的BUG及實際問題,這樣就可以提供充足的修改時間,減少開發(fā)工作量。二是軟件測試可以保障軟件質量。在開展計算機軟件項目時,關注進度的同時還要關注質量,通過常規(guī)的軟件測試,可以發(fā)現系統(tǒng)問題,但是無法發(fā)現系統(tǒng)BUG,這時候就需要展開集成測試,可以讓模塊之間擁有更高的集成度,減少軟件錯誤。
2計算機軟件測試面臨的問題
2.1軟件測試自動化程度較低。
近些年,計算機軟件行業(yè)處于一個高速發(fā)展的狀態(tài),也出現了自動化測試工具,但是這類工具本身技術不夠成熟,存在較多的缺陷,需要花費大量的成本費用,操作難度相對更高,無法實現快速拓展等,沒有達到大規(guī)模應用的要求,僅僅運用到一些軟件測試的特殊工作,在實際的軟件測試過程中,還需要大量的測試人員,特別是在嵌入式測試這一部分內容中,基本無法使用自動化測試軟件,需要人工校對測試,由于信息技術發(fā)展較為迅速,為計算機軟件開發(fā)提供充足的技術支持,軟件開發(fā)水平越來越高,軟件工程規(guī)模也在隨之擴張,但是現階段軟件測試仍然以人工測試為主,一方面會提高開發(fā)成本,導致人工費用占比不斷擴大,另一方面無法保證最終的軟件質量,人工測試很難達到零差錯,影響軟件質量,同時降低測試效率,增加項目運行風險。
2.2測試工作介入時間較晚。
正常情況下,軟件開發(fā)和測試呈現出相輔相成的關系,兩者相互搭配完成軟件開發(fā)工作,才能得到高質量的計算機軟件。為了充分發(fā)揮軟件測試的作用,就要控制好開發(fā)時間和測試時間,但是就調查發(fā)現,很多企業(yè)將全部精力都放在軟件開發(fā)工作上,缺乏對軟件測試環(huán)節(jié)的重視,經常將測試工作安排在較后的位置,導致軟件測試介入時間過晚,無法實現對軟件質量的科學管控。由于軟件測試介入時間較晚的原因,在開發(fā)后期才發(fā)現軟件存在的缺陷問題,只能展開返工,增加不必要的花費。
2.3測試方案與案例的利用率較低。
現階段,軟件測試管理體系還不夠完善,存在較多的漏洞,在軟件開發(fā)過程中,無法提供專用的測試案例庫,在后續(xù)的軟件測試期間,經常出現重復利用測試案例的現象,這就會造成不小的資源浪費。同時,現階段沒有完善的測試程序歸檔規(guī)范,在測試結束后沒有按照要求完成歸檔任務,導致測試案例庫得不到及時更新,只保存一些較為老舊的案例,無法發(fā)揮實質作用。在軟件測試的后期階段,即使發(fā)現與前期相似的測試工作,也沒有可以參考借鑒的案例,還需要重復測試工作,投入更多的時間精力,浪費資源的同時還會耽誤開發(fā)進度。
2.4缺乏穩(wěn)定高效的測試團隊。
在軟件開發(fā)過程中,軟件測試成本占比較高,可以達到總開發(fā)成本的30%左右,需要一支專業(yè)的測試團隊,才能順利在規(guī)定時間內完成測試任務。但是現階段項目開發(fā)期間過于重視開發(fā),對于軟件測試較為忽視,缺乏足夠的專業(yè)測試人員。在此同時,項目給軟件測試撥下的經費相對較少,甚至出現經費短缺的現象,導致軟件測試工作進展緩慢,逐漸發(fā)展成形式化工作。除此之外,由于忽視軟件測試的原因,無法培養(yǎng)出足夠的軟件測試后備力量,很多測試人員長時間重復同樣的測試工作,無法提升綜合能力,掌握的技能相對較為單一??梢钥闯?,現階段大部分的軟件開發(fā)項目都缺少專業(yè)的測試團隊,測試人員掌握的專業(yè)技能較少,無法保證軟對的穩(wěn)定性,這些都是急需解決的問題。
3計算機軟件測試工作的解決對策
3.1靈活使用軟件測試方法。
(1)強化自動化測試手段。雖然現階段自動化測試手段較少,但是仍然有一些較為成熟的手段,在軟件測試期間應該加強對這類手段的重視,選擇技術更為成熟的自動化測試手段。在選擇測試方法時,要展開綜合性的評估,考慮到軟件開發(fā)項目的實際情況,選擇最適合的一種,才能達到預計的測試效果,加快開發(fā)進度的同時提高軟件質量。在選擇自動化測試手段時,考慮到系統(tǒng)架構、數據庫平臺、軟件規(guī)模、復雜程度等,選擇適合的評估項,才能選擇最適合的開發(fā)工具,一方面可以提高測試質量,另一方面可以加快測試效率。同時,還要加強對軟件自動化測試手段的研發(fā),結合市場需求推出新型產品,彌補市場上的空白。(2)學習借鑒及自主研發(fā)。在軟件測試過程中,要加強對先進案例的學習,國外一些發(fā)達國家的軟件開發(fā)工作起步更早,已經積累了豐富的開發(fā)及測試經驗,研發(fā)出完善的軟件自動化測試工具,要加強對寶貴經驗的借鑒,結合我國軟件開發(fā)測試的實際情況,取其精華去其糟粕,不斷提高我國軟件測試水平。同時,企業(yè)要可以加強對軟件自動化測試工具的研發(fā),要考慮到自身的規(guī)模和需求,通過自主研發(fā)的方式,獲得的測試工具更符合企業(yè)需求,可以大幅度提高測試效率。
3.2構建軟件測試標準及軟件測試體系。
一是標準化軟件測試規(guī)范及體系。明確規(guī)定軟件測試工作流程、團隊建設模式、軟件測試不同階段工作內容以及預期取得的成果,統(tǒng)一化軟件測試工作文檔格式及內容,對軟件測試工作的不同階段內容制定可行性較高的標準體系。二是構建軟件測試案例庫。持續(xù)完善軟件測試案例庫,有助于提升軟件測試案例的利用率,能夠盡早確定系統(tǒng)問題的來源,縮短問題分析及問題解決方案制定所需要的時間,避免此類問題再次發(fā)生,真正提升軟件測試效率,保障軟件質量。
3.3軟件項目更加重視測試管理工作。
可以從兩方面入手:一是加強溝通交流。就調查發(fā)現,很多軟件項目的測試工作介入時間相對較晚,并且開發(fā)人員和測試人員基本不存在溝通交流,為了避免上述問題,就要加強溝通交流,這樣可以讓測試人員更快了解測試內容,快速找到軟件存在的問題點,與同事分享發(fā)現的問題,將所有的問題歸類處理,錄入案例庫,設計人員在受到測試報告以后,可以與測試人員溝通交流,共同討論出一個科學的解決方案,這樣可以加快開發(fā)進度,提高軟件質量。二是加強測試團隊的建設。軟件測試面臨的最大的問題就是“重開發(fā)輕測試”,甚至出現測試資金不足的現象,為此要摒棄這種不合理的思想,加強對測試人員的合理培訓,引進一些先進的測試技術及方法,不斷提高測試人員綜合素養(yǎng),掌握更多的專業(yè)測試技能。同時,還要注意改善薪酬福利結構,讓測試人員感受到公司的重視,全身全意投入工作。
關鍵詞:案例教學法;軟件測試過程;測試文檔
目前我國軟件測試人才嚴重匱乏,人才缺口達到30萬,造成這一結果的主要原因是國內軟件測試人才教育相對滯后[1]。但實際上,很多學習了軟件測試課程的學生卻找不到工作,業(yè)內專家稱之為人才的“結構性過?!盵2],而滯后的原因不僅僅是教育機構開設軟件測試課程時間的滯后,主要是教學內容和教學效果與實際需要的差距產生的滯后。外包開發(fā)行業(yè)快速發(fā)展,對人才在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來越高[2],而這些要求正是軟件測試人才教育的薄弱環(huán)節(jié)。因此,如何順應市場需求,培養(yǎng)出企業(yè)所需的軟件測試人員,成為軟件測試課程改革創(chuàng)新的目標。
1教學現狀
隨著軟件測試人員市場需求的不斷增加,各大高校、職業(yè)技術學校及IT培訓機構紛紛開設了“軟件測試”課程。然而,在師資方面,講授軟件測試課程的教師多數是由軟件工程的教師承擔,這些主講教師能很好地講解軟件測試理論和介紹軟件測試方法,但缺乏軟件測試的系統(tǒng)案例和軟件測試經驗[3]。在理論教材方面,雖然各種軟件測試的教材相繼出版發(fā)行,但教材中技術實現的內容較多,對常用的軟件測試文檔書寫介紹很少,且缺乏文檔模板;對自動化測試工具,基本也是簡略介紹其功能。在實驗教材方面,目前還沒有配套的軟件測試實驗教材問世,在教學過程中基本是任課教師自行設計實驗教學內容。對于實踐性較強的課程,主講教師如果沒有大量的實際項目開發(fā)經驗作為支撐,就難于用恰當的實例來解釋相關理論,更難設計出實用有效的實驗內容,導致在校學習的知識與實際工作脫節(jié)的現象。要順應軟件測試人才市場的需求,軟件測試課程的教學必須面向企業(yè)的實際需要,使學生能學到實際工作中常用的技能,以“經驗者”的身份進入人才市場參與競爭。
2改革和創(chuàng)新
筆者以日企工程經驗為依據,針對軟件測試課程教學中缺乏系統(tǒng)案例、重技術實現輕文檔工作、測試工具流于產品說明等問題[4],設計了一套軟件測試實驗,幫助學生利用軟件測試技術搭建測試環(huán)境;根據測試規(guī)格說明書進行測試;練習測試用例的設計、執(zhí)行與跟蹤并高效地進行回歸測試;熟悉常用測試文檔的書寫方法;掌握如何保存測試用例和有效的測試結果;準確地書寫缺陷報告;通過思考題的方式啟發(fā)學生利用計算機技術開發(fā)自動化測試工具。
2.1教學進度的調整
計算機課程的實驗教學,通常和理論課同步或延遲幾周進行。對于軟件測試這門課程的實驗教學,如果與理論課同步進行,前期的實驗內容安排就缺乏理論支持,如果比理論課遲后幾次,即在講述白盒測試和黑盒測試后開始實驗教學,就可以將各種測試方法融入實驗中進行,但由于軟件測試過程及技術、測試文檔書寫相關內容還未講述,實驗內容的安排顯得孤立,沒有整體感。為了讓學生體驗軟件測試在實際工作環(huán)境中的實施過程,將理論課講述的知識有機地融入到完整的案例中進行實驗,就需要系統(tǒng)地學習完理論知識后,再結合實際案例系統(tǒng)地進行實驗。
我們打破傳統(tǒng)的周四學時,即“理論2+實驗2”的排課模式,將一個學期分為理論上半學期,實驗下半學期,上半學期周四學時用于結合案例進行理論教學,下半學期周四學時針對理論課講述的案例進行實驗教學,以便學生能夠模擬實際工作環(huán)境進行系統(tǒng)的軟件測試實驗。
2.2實驗教學的創(chuàng)新
2.2.1實驗素材的創(chuàng)新
現有的軟件測試教材,通常會在最后章節(jié)給出一個案例,針對該案例利用教材上介紹的各種測試方法有針對性地進行測試用例設計。但是教材對案例的描述基本只限于項目背景介紹、子系統(tǒng)介紹、子系統(tǒng)功能分析、子系統(tǒng)性能及可用性要求方面的資料,基本沒有提供可運行案例系統(tǒng)的代碼,同時也缺乏必要的供測試使用的文檔。實際工作中,軟件測試過程與軟件設計周期有相互對應的關系,軟件測試過程中的單元測試、集成測試、系統(tǒng)測試、驗收測試分別對應軟件設計中的詳細設計、概要設計、系統(tǒng)設計和需求分析[5]。因此,要完成一個系統(tǒng)的較完整測試過程,不僅要提供被測系統(tǒng)的完整代碼及數據,還必須提供全套的設計文檔。
我們以一個開發(fā)完整的以C/S模式實現的“小區(qū)物業(yè)管理系統(tǒng)”和B/S模式實現的“圖書館管理系統(tǒng)”作為測試案例,在理論課教學中主要以“小區(qū)物業(yè)管理系統(tǒng)”作為案例進行理論知識的講解,與網站測試和面向對象測試相關的內容以“圖書館管理系統(tǒng)”作為案例進行講解。這樣,進行完理論教學,學生對案例系統(tǒng)的功能基本了解。在實驗教學中,我們提供給學生在測試中需要的代碼、開發(fā)規(guī)范、需求分析、系統(tǒng)設計書、概要設計書、詳細設計書,具備了以上資料,便可模擬實際工作模式,將理論教學中講述的測試策略和方法、測試文檔的書寫方法運用到該案例的測試實驗中。
2.2.2實驗內容的創(chuàng)新
由于實驗教學學時和學生能力的限制,在本實驗的設計中,我們主要針對初、中級測試工程師級別設計實驗內容,這些實驗內容就是同學們踏上測試崗位要動手干的實際工作。而針對高級測試工程師和測試管理者擔當的工作,比如測試計劃的制作、各種設計的驗證、測試評估和總結,需要經歷初中級測試工程師的實戰(zhàn),積累大量經驗才能承擔,這一部分內容,我們只在理論教學中簡單講述,不在實驗教學中安排實驗內容。
我們設計了表1所示的實驗內容,本設計旨在讓學生經過實驗的訓練,以“經驗者”的角色參與求職應聘,因此,我們以項目管理者培養(yǎng)“新人”的方式來安排實驗內容和進度。雖然軟件測試貫穿于軟件生命周期的全過程,但對于剛畢業(yè)的大學生來說,從人才培養(yǎng)角度出發(fā),項目管理者通常是按照以下流程在工作過程中培養(yǎng)人才:單純性測試的實施、測試設計(書寫測試規(guī)格說明書)、測試環(huán)境搭建等,按照單元測試、集成測試、系統(tǒng)測試的順序循序漸進地深入測試工作,因此我們按如下進度設計了以下實驗內容,并在提供的素材中人為地制造缺陷,以便學生發(fā)現缺陷、分析缺陷、修改缺陷。
通過上述8個實驗,讓學生牢固掌握單元測試和集成測試的設計和實現方法,了解常用測試工具的使用方法,同時對系統(tǒng)測試實施有基本了解。嚴格經過這8個實驗的訓練,學生基本能以初級測試工程師的身份投入到測試工作中。