軟件測試項目總結(jié)范文
時間:2023-03-23 01:45:26
導(dǎo)語:如何才能寫好一篇軟件測試項目總結(jié),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞:項目驅(qū)動法;軟件測試;教學(xué)方法
作者簡介:趙曉君(1979-),女,河南南陽人,鄭州輕工業(yè)學(xué)院軟件學(xué)院,講師;黃艷(1976-),女,河南信陽人,鄭州輕工業(yè)學(xué)院軟件學(xué)院,副教授。(河南 鄭州 450002)
基金項目:本文系鄭州輕工業(yè)學(xué)院校級青年教師教學(xué)改革項目的研究成果。
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2013)07-0101-02
隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能實(shí)現(xiàn)也越來越復(fù)雜,導(dǎo)致軟件中存在的缺陷數(shù)量大大增加,這些缺陷將會帶來各種損失,甚至出現(xiàn)災(zāi)難性的后果。因此,如何保證軟件質(zhì)量已成為所有使用軟件和開發(fā)軟件的人們關(guān)注的焦點(diǎn)。軟件測試作為軟件工程的一個重要組成部分,是目前用來驗證軟件是否能夠滿足用戶需求功能的唯一有效方法,是保證和提高軟件質(zhì)量的重要環(huán)節(jié)。為適應(yīng)軟件產(chǎn)業(yè)的發(fā)展趨勢和滿足軟件測試人才的大量需求,目前已經(jīng)有許多大學(xué)在軟件工程專業(yè)添加軟件測試課程或者添加軟件測試專業(yè)方向。
軟件測試專業(yè)包含多門專業(yè)課程,有“軟件測試?yán)碚摗薄ⅰ败浖y試技術(shù)”和“軟件缺陷管理”等,其中,“軟件測試?yán)碚摗闭n程重點(diǎn)為初學(xué)測試的同學(xué)講解測試的基礎(chǔ)理論知識,主要包括軟件測試基本理論、軟件測試方法和技術(shù)等,在多門專業(yè)課程中占有舉足輕重的地位。
一、“軟件測試?yán)碚摗苯虒W(xué)現(xiàn)狀
“軟件測試?yán)碚摗闭n程重點(diǎn)介紹軟件測試的基本理論,因此整個課程主要以教師講授為主,在教學(xué)的過程中存在以下問題:
1.教學(xué)內(nèi)容理論性較強(qiáng),難以調(diào)動學(xué)生學(xué)習(xí)的主動性
對于初學(xué)軟件測試的學(xué)生,首先要向其講授相關(guān)測試?yán)碚?,使其建立系統(tǒng)的測試?yán)砟睢?/p>
但是學(xué)測試的學(xué)生大都是理科生,喜歡操作性強(qiáng)的課程,“軟件測試?yán)碚摗闭n程的理論性太強(qiáng),需要背誦很多概念性的知識,這對于他們來說是比較困難,不能激發(fā)學(xué)習(xí)的主動性,教學(xué)效果不理想。
2.測試方法和技術(shù)案例實(shí)際應(yīng)用價值不足,學(xué)生很迷茫
測試方法和技術(shù)是“軟件測試?yán)碚摗闭n程學(xué)習(xí)的重點(diǎn)和難點(diǎn),這部分內(nèi)容僅靠老師的講解和書本上的案例很難讓學(xué)生深入理解掌握測試技術(shù)的內(nèi)涵,學(xué)生在學(xué)習(xí)這部分知識時會產(chǎn)生迷茫:學(xué)習(xí)這些知識有什么用處,在具體的項目測試中,應(yīng)該怎樣應(yīng)用這些知識?沒有實(shí)際的項目案例做支撐,學(xué)生會失去繼續(xù)學(xué)習(xí)下去的興趣。
針對上面的問題,本文提出將項目驅(qū)動法應(yīng)用于“軟件測試?yán)碚摗闭n程的教學(xué)中,學(xué)生在進(jìn)行項目實(shí)踐的同時,根據(jù)需要學(xué)習(xí)軟件測試相關(guān)理論知識,這樣有助于提高學(xué)生的學(xué)習(xí)主動性,有助于理論知識的牢固掌握,有助于提高學(xué)生的實(shí)踐技術(shù)能力,改善該課程的教學(xué)效果。
二、項目驅(qū)動法
項目驅(qū)動法是目前中國教育領(lǐng)域中一種比較新的教育教學(xué)方法。
所謂項目驅(qū)動法,是師生通過共同實(shí)施一個完整的項目工作而進(jìn)行的教學(xué)活動,它既是一種課程模式,又是一種教學(xué)方法。[1]這里的項目根據(jù)課程教學(xué)內(nèi)容的不同所包含的涵義也不同。在“軟件測試?yán)碚摗闭n程教學(xué)中,項目即指一個已經(jīng)開發(fā)完成的軟件測試工作。通常,項目教學(xué)都是實(shí)踐導(dǎo)向的和任務(wù)驅(qū)動式的教學(xué)。
在項目驅(qū)動模式的教學(xué)活動中,教師根據(jù)學(xué)生現(xiàn)有的知識水平和項目經(jīng)驗選擇一個合適的項目,以項目實(shí)施為主線展開教學(xué)活動,把課程相關(guān)的知識點(diǎn)的講解融入項目操作的每個步驟中。在項目實(shí)施的過程中,以學(xué)生為中心,教師主要做組織和指導(dǎo)工作,學(xué)生在整個項目的實(shí)施過程中處于探索知識的情景中,充分發(fā)揮主動性、積極性和創(chuàng)新精神,綜合運(yùn)用所學(xué)的知識和技能解決實(shí)際問題,最終達(dá)到有效地將所學(xué)知識系統(tǒng)化深入化的目的。
這種模式從根本上將傳統(tǒng)課堂中老師滿堂灌轉(zhuǎn)變?yōu)椤皩W(xué)生為主體,教師為主導(dǎo)”的教學(xué)模式。同時,學(xué)生通過一個具體項目的實(shí)踐,感受到了真實(shí)項目管理的思想和團(tuán)隊協(xié)作的必要性,提高了學(xué)生的創(chuàng)新能力和項目實(shí)踐能力。擁有真實(shí)項目的實(shí)踐經(jīng)驗使得學(xué)生在擇業(yè)時擁有很大競爭優(yōu)勢。
將項目驅(qū)動法應(yīng)用于“軟件測試?yán)碚摗闭n程教學(xué)中,在課程理論教學(xué)中加入一個完整的項目測試實(shí)踐環(huán)節(jié),通過項目實(shí)踐能夠很好地激發(fā)學(xué)生的學(xué)習(xí)主動性,使學(xué)生經(jīng)歷了一個“先做,遇到問題,再學(xué),解決問題,再做,獲得經(jīng)驗”的學(xué)習(xí)過程,最終完成一個完整的軟件測試實(shí)踐,同時也學(xué)到了“軟件測試?yán)碚摗闭n程應(yīng)該掌握的理論知識。這樣,既解決了軟件測試?yán)碚撜n程理論性太強(qiáng)的問題,又解決了測試方法和技術(shù)案例實(shí)際應(yīng)用價值不足的問題;而且豐富了學(xué)生的實(shí)踐經(jīng)驗,提高了軟件測試?yán)碚撜n程的教學(xué)效果。
三、“軟件測試?yán)碚摗闭n程教學(xué)目標(biāo)和教學(xué)內(nèi)容
1.教學(xué)目標(biāo)
通過本門課程的學(xué)習(xí)和實(shí)踐,理解軟件測試?yán)碚撆c原則;掌握主流測試技術(shù)和方法,熟悉測試用例的編制、熟悉軟件測試的基本流程,熟悉軟件測試過程中各類技術(shù)文檔的編制規(guī)范,并能靈活運(yùn)用測試技術(shù)解決實(shí)際問題。
對于一個具體項目軟件,每一個學(xué)生都能夠順利完成如下手工測試流程:根據(jù)軟件需求規(guī)格說明書撰寫測試計劃,設(shè)計測試用例、進(jìn)行測試環(huán)境配置和測試數(shù)據(jù)準(zhǔn)備工作、執(zhí)行各種測試,撰寫缺陷報告、跟蹤并修復(fù)缺陷、進(jìn)行測試評測,最后提交測試總結(jié)報告,達(dá)到軟件企業(yè)對測試專業(yè)人才的要求。
2.教學(xué)內(nèi)容
“軟件測試?yán)碚摗闭n程的教學(xué)內(nèi)容主要包括軟件測試基本理論、軟件測試基本技術(shù)、軟件測試過程和軟件測試工具。[2]
軟件測試基本理論包括軟件測試、軟件缺陷和測試用例的基本概念,測試的目的、測試模型、測試分類和測試流程。
軟件測試基本技術(shù)包括白盒測試和黑盒測試;其中白盒測試包括靜態(tài)測試和動態(tài)測試,動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。這些基本技術(shù)都是在進(jìn)行測試用例設(shè)計時使用的。
軟件測試過程是指執(zhí)行測試的過程,通常分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。
軟件測試工具有多種:功能測試工具、性能測試工具和測試管理工具等。
四、項目驅(qū)動法的應(yīng)用方案
1.項目的設(shè)計
實(shí)施項目驅(qū)動法,首先需要設(shè)計項目。項目的設(shè)計與選取直接影響到該教學(xué)模式的教學(xué)效果及學(xué)生的學(xué)習(xí)興趣?!败浖y試?yán)碚摗闭n程項目的選取與其他課程又有所不同,學(xué)生要進(jìn)行的操作是對現(xiàn)有的或者已經(jīng)開發(fā)完成的軟件的測試工作,因此在設(shè)計項目時應(yīng)遵循以下幾條原則:
第一,項目是現(xiàn)有的軟件或已經(jīng)開發(fā)完成的軟件,軟件中有部分明顯錯誤,有部分隱藏錯誤;明顯錯誤有助于提高學(xué)生的測試積極性,隱藏錯誤有助于啟發(fā)學(xué)生進(jìn)行更深入的測試。
第二,項目具有典型性,代表大部分軟件的共性。通過該項目的測試,學(xué)生可以掌握大多數(shù)軟件的測試流程和測試方法。
第三,項目中有多種情景元素,符合使用多種測試技術(shù)和方法,有助于學(xué)生在進(jìn)行項目測試的同時,學(xué)習(xí)使用多種測試技術(shù)設(shè)計測試用例的方法。
第四,項目大小和難易適中。每個項目組的人數(shù)控制在3~5個人,設(shè)計的項目能使學(xué)生通過努力在一定的時間內(nèi)完成。
根據(jù)以上原則,本課程目前選擇的項目是《企業(yè)薪酬管理系統(tǒng)》。
2.項目驅(qū)動法的實(shí)施
本課程通過讓學(xué)生進(jìn)行企業(yè)薪酬管理系統(tǒng)完整的測試流程實(shí)踐的同時,講解測試需求編寫、測試計劃編寫、測試用例設(shè)計、測試環(huán)境配置、測試執(zhí)行、缺陷跟蹤和管理、測試報告撰寫等內(nèi)容。課程授課方式主要是分階段講解測試過程和測試要求,每一個階段開始,老師先講原理,選擇部分內(nèi)容做例子進(jìn)行講解,然后學(xué)生比照例子跟著做;階段內(nèi)容完成時,學(xué)生提交完成的文檔,老師選擇典型的問題進(jìn)行講評,然后進(jìn)行下一個階段的內(nèi)容,如此類推直至測試結(jié)束。
企業(yè)薪酬管理系統(tǒng)測試流程設(shè)計如圖1所示。
本課程課時為60學(xué)時,根據(jù)圖1系統(tǒng)測試流程圖安排,基于項目驅(qū)動法的“軟件測試?yán)碚摗闭n程安排如表1所示。
在課程進(jìn)行的過程中,必須嚴(yán)格按照項目的測試流程進(jìn)行,測試流程為:先獲取項目測試需求,撰寫測試計劃,設(shè)計測試用例,執(zhí)行測試,提交缺陷報告并跟蹤修復(fù)缺陷,最后提交測試總結(jié)報告。課程結(jié)束,要求學(xué)生提交項目測試報告,測試報告包括多個文檔,整個流程中每個階段的工作必須有撰寫規(guī)范的文檔提交,如:測試計劃、測試用例、測試執(zhí)行報告、缺陷報告和測試總結(jié)報告等等。
測試報告既體現(xiàn)了教師項目教學(xué)的結(jié)果,也體現(xiàn)了學(xué)生對測試知識技能的掌握水平。通過評價學(xué)生作品,找出學(xué)生在學(xué)習(xí)過程中的薄弱環(huán)節(jié),進(jìn)一步改進(jìn)項目驅(qū)動教學(xué)的教學(xué)安排,使其能夠發(fā)揮最大的教學(xué)效果。
五、結(jié)束語
本文針對軟件學(xué)院軟件工程專業(yè)的培養(yǎng)對象和教學(xué)特點(diǎn),把真實(shí)項目引入“軟件測試?yán)碚摗闭n程課堂教學(xué)中,采用項目驅(qū)動教學(xué)法,從項目的需求評審、測試計劃、測試用例設(shè)計、測試執(zhí)行、缺陷報告、測試評測到測試總結(jié)一個完整的測試流程,交給學(xué)生組建測試團(tuán)隊,按照流程進(jìn)行任務(wù)分配和管理,最終完成整個項目的測試工作。通過一個完整項目測試流程的完成,有效提高學(xué)生的學(xué)習(xí)和實(shí)踐能力、解決問題的能力、團(tuán)隊協(xié)作能力等,使學(xué)生在掌握軟件測試的各種測試技術(shù)和基本流程的同時,積累了一定的項目測試經(jīng)驗,為他們今后的就業(yè)打下了良好的基礎(chǔ)。
參考文獻(xiàn):
篇2
關(guān)鍵詞:軟件測試;測試工具;測試管理;企業(yè)需求
中圖分類號:G642 文獻(xiàn)標(biāo)識碼: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
自上世紀(jì)80年代,伴隨著軟件行業(yè)的發(fā)展需要,軟件測試的基礎(chǔ)理論和實(shí)用技術(shù)開始形成,經(jīng)過三十多年的發(fā)展,軟件測試在軟件開發(fā)行業(yè)中的角色越來越重要,我們目前評價軟件測試,它即需要工具和技術(shù)的支持,更需要有科學(xué)的管理體制,它既要保證軟件能夠健壯運(yùn)行,又要保證軟件的功能完全符合客戶的需求,一個好的測試隊伍,是軟件開發(fā)必不可少的依靠,尤其是復(fù)雜的軟件項目,開發(fā)和測試要親如手足,才能保證項目的順利進(jìn)行。
目前高校的軟件相關(guān)專業(yè)的畢業(yè)生,大約有1/5的人在5年之內(nèi)從事過或最終從事軟件測試相關(guān)的職業(yè),這是一個相當(dāng)大的比重,同時也反應(yīng)出社會上對軟件測試職業(yè)的缺口很大,眾所周知,高等教育往往落后于企業(yè)的實(shí)際發(fā)展,這種“厚基礎(chǔ),寬口徑”的辦學(xué)宗旨已經(jīng)盛行了很多年,當(dāng)然,在許多專業(yè)領(lǐng)域,這種以不變應(yīng)萬變的培養(yǎng)體系是最明智的選擇,但在計算機(jī)軟件教學(xué)領(lǐng)域,因為這個學(xué)科的發(fā)展速度幾乎超乎人類的想象,因此我們必須讓學(xué)生在校園里感受到計算機(jī)企業(yè)中對計算機(jī)技術(shù)的需求方向,這樣才不至于在學(xué)生走出校園時無所適從。軟件測試職業(yè)的職位待遇穩(wěn)步提升,而且其職業(yè)壽命要遠(yuǎn)遠(yuǎn)長于軟件開發(fā),從學(xué)生的職業(yè)規(guī)劃角度來看,在高校進(jìn)行軟件測試中高級人才的培養(yǎng)是一條可行之路。
1 高校開設(shè)軟件測試課程的必要性
事實(shí)上,在高校計算機(jī)教學(xué)體系中開設(shè)軟件測試課程,并不單單是為了迎合企業(yè)的需求,軟件測試是軟件工程課程的延伸,是軟件開發(fā)課程的補(bǔ)充,是軟件管理課程的實(shí)踐。
軟件測試課程的基礎(chǔ)學(xué)科涉及數(shù)學(xué)、計算機(jī)導(dǎo)論、軟件工程、計算機(jī)組成、管理學(xué)和信息技術(shù)等,如果沒有這些學(xué)科的支撐,軟件測試無法深入學(xué)習(xí)。
軟件測試課程的開設(shè),對高校計算機(jī)軟件專業(yè)的學(xué)生來講,是有著非常大的意義的,目前很多大型的軟件企業(yè)并不擔(dān)心開發(fā)人員的招聘,而對熟練掌握軟件測試技術(shù)和管理方法的高級測試人員求賢若渴,這一方向的職業(yè)缺口確實(shí)非常之大,究其原因就是目前幾乎所有高校的軟件相關(guān)專業(yè)都開設(shè)了軟件開發(fā)從技術(shù)到管理的全套課程,而軟件測試的相關(guān)課程幾乎為零,這樣的學(xué)生走出去,很難迅速掌握測試的理念,也無力制定宏觀測試計劃,不得不從測試行業(yè)最低端的測試員開始做起,這對于高校畢業(yè)生來講這是一種人才的浪費(fèi),在高校的計算機(jī)課程體系加入軟件測試內(nèi)容已經(jīng)迫在眉睫。
在任何一個行業(yè),從業(yè)人員對行業(yè)的成熟度區(qū)分,是企業(yè)招聘首先要考慮的問題,我們經(jīng)常在招聘信息中看到“有工作經(jīng)驗”這樣的條款,在軟件測試行業(yè)也是如此,一般給出5種分級:1級我們稱之為用戶級測試人員,這一級別的測試人員直接扮演客戶的角色來使用軟件,看是否能發(fā)現(xiàn)問題;2級是軟件測試操作員,這類人群受過一定程度軟件測試的專門訓(xùn)練,可以執(zhí)行上級下達(dá)的具體測試任務(wù);3級是軟件測試技術(shù)員,這一職位人群有很多軟件測試的經(jīng)驗,能夠非常熟練的使用某些軟件測試專門技術(shù),能夠設(shè)計測試用例;4級是軟件測試系統(tǒng)工程師,他們具有相當(dāng)廣泛的計算機(jī)相關(guān)專業(yè)知識,熟悉軟件開發(fā),熟練掌握所有軟件測試技術(shù),并具有項目管理經(jīng)驗;5級是軟件測試總工程師,總工程師負(fù)責(zé)管理整個軟件測試項目,具有掌控全局的能力和技術(shù)。
高校軟件測試人才的培養(yǎng),其目標(biāo)要向3級人才靠近,并且這些人才有向4級或5級成長的持續(xù)發(fā)展能力。
2 軟件測試教學(xué)中需要重視的兩個問題
2.1扭轉(zhuǎn)重開發(fā),輕測試的偏見思想
很多人輕視軟件測試,認(rèn)為軟件測試無需具備很高的技能,是沒有前途的工作,缺乏創(chuàng)造性,很多高校也存在重開發(fā),輕測試的思想,學(xué)生在這種觀點(diǎn)的熏陶下,也對測試工作存在偏見,其中對軟件測試工作有三個認(rèn)識誤區(qū)尤為突出:首先,軟件測試是軟件開發(fā)完成之后才進(jìn)行的,只是軟件編碼的最后一個階段,其地位可有可無。其次,軟件測試不需要具備很高的專業(yè)技能,工作乏味枯燥,不具創(chuàng)造性,最后,軟件投入使用后一旦出現(xiàn)BUG,測試人員要負(fù)主要責(zé)任。
事實(shí)上,首先,一個好的軟件測試團(tuán)隊,在軟件需求分析階段就已經(jīng)開始測試了,開發(fā)人員理解的客戶需求是否正確,要由測試人員監(jiān)控和保證,測試工作和開發(fā)工作是并行的,尤其在軟件項目開始的時候,監(jiān)控和防范一個微小的問題或隱患,是為了防止軟件成型后出現(xiàn)無法挽回的缺陷。其次,軟件測試是一項綜合技能能強(qiáng)的工作,運(yùn)用測試工具的能力,與人溝通的能力,有效管理的能力,書寫文案的能力等等,做好軟件測試工作絕對不是想象的那么簡單,而且一旦具備了綜合測試的素質(zhì),將是受用終身的資本。最后,軟件測試規(guī)范實(shí)施后,軟件仍然可能出現(xiàn)BUG,這是開發(fā)和測試人員應(yīng)該共同面對的現(xiàn)實(shí)問題,測試人員只能保證BUG越來越少,越來越不影響系統(tǒng)的健壯運(yùn)行。
2.2強(qiáng)調(diào)管理與技術(shù)并重
軟件測試的規(guī)范實(shí)施需要測試技術(shù)和管理方法兩方面的支撐,如果不具備專業(yè)的測試技術(shù),只能做一些簡單的功能測試,如果不具備宏觀管理計劃的能力,只能處于被指揮狀態(tài)進(jìn)行片面測試的實(shí)施,現(xiàn)在軟件測試真正缺少的是技術(shù)和管理兼?zhèn)涞娜瞬牛咝5膶W(xué)生素質(zhì)非常適合軟件測試高端人才的培養(yǎng)。高校的培養(yǎng)中,要讓學(xué)生深刻理解,我們培養(yǎng)的學(xué)生不是只能低頭做測試任務(wù),而是要能指揮測試工作,這絕對不是件簡單的工作,需要全面的技能和完善的人格,只有這樣的人才,才能帶領(lǐng)出出色的測試隊伍。
教學(xué)中,增加實(shí)訓(xùn)環(huán)節(jié),給學(xué)生安排豐富的實(shí)例和習(xí)題,最好采用實(shí)際軟件項目的測試案例,讓學(xué)生在學(xué)校感受到企業(yè)中一樣的工作環(huán)境,并安排和企業(yè)中一樣的測試崗位,讓學(xué)生體會溝通和管理的必要,在獨(dú)立處理問題的過程中激發(fā)學(xué)生的學(xué)習(xí)興趣,促進(jìn)理論和實(shí)踐教學(xué)的結(jié)合,把對學(xué)生的應(yīng)用能力的培養(yǎng)融匯于教學(xué)中。
3 軟件測試專業(yè)課程設(shè)計的目標(biāo)和原則
軟件測試專業(yè)要全方位的培養(yǎng)和提高學(xué)生的基礎(chǔ)理論、實(shí)踐能力、設(shè)計能力、實(shí)踐訓(xùn)練等綜合素質(zhì)。重視管理、人文、經(jīng)濟(jì)等知識的學(xué)習(xí)。
3.1軟件測試專業(yè)課程設(shè)計的目標(biāo)
高校軟件測試培養(yǎng)目標(biāo)要以市場為導(dǎo)向,培養(yǎng)具有一定的設(shè)計測試計劃方案的、具有管理能力,能平衡整個測試項目各方面因素的軟件人才,這些人才要具備軟件開發(fā)的整體認(rèn)識,能制定和執(zhí)行測試,能利用測試工具完成一定測試任務(wù)。
本專業(yè)課程的重點(diǎn)包括:軟件缺陷生命周期管理;軟件測試基本概念的內(nèi)涵;主流測試工具的應(yīng)用;進(jìn)行全面的系統(tǒng)測試的方法;注課程以實(shí)訓(xùn)為主,重動手能力的培養(yǎng)等。 具體課程要涵蓋:熟練掌握至少一種數(shù)據(jù)庫應(yīng)用技術(shù)及一門軟件開發(fā)語言;了解軟件開發(fā)過程中軟件測試的重要性;掌握主流的自動化測試工具;科學(xué)管理測試隊伍。
3.2軟件測試專業(yè)課程設(shè)計的原則
課程的設(shè)計要體現(xiàn)與時俱進(jìn)的精神,以企業(yè)的實(shí)際項目為依托,主要原則包括:
1)開展項目教學(xué),項目教學(xué)具有針對性、研究性、啟發(fā)性和實(shí)踐性等。項目的選擇要知識涵蓋全面,要能夠激起學(xué)生的學(xué)習(xí)興趣。
2)制定專業(yè)課程計劃、課程大綱和教學(xué)方案等,課程計劃提倡電子化、網(wǎng)絡(luò)化和課堂教學(xué)并用,建設(shè)校企合作的專兼結(jié)合的教學(xué)團(tuán)隊,開設(shè)以項目為載體的教育大綱,用以指導(dǎo)課程教學(xué)工作的開展。
3)建立測試工程內(nèi)容的課程結(jié)構(gòu)模式,把真正的測試項目開展到課堂上來,或者讓學(xué)生在學(xué)習(xí)期間進(jìn)入企業(yè)進(jìn)行崗前培訓(xùn),充分安排工程實(shí)踐,引進(jìn)軟件測試的工程師資格認(rèn)證,同時逐步建立科學(xué)的工程教育檢驗和質(zhì)量評估體系。
理論與實(shí)踐并重,課程需要涵蓋單元測試、集成測試、性能測試、功能測試與系統(tǒng)測試。注重設(shè)計和管理的執(zhí)行過程。為學(xué)生創(chuàng)造可自由而主動的學(xué)習(xí)氛圍。以學(xué)生為出發(fā)點(diǎn),在軟件測試中融會貫通大學(xué)里學(xué)習(xí)的軟件相關(guān)課程,在項目驅(qū)使下培養(yǎng)主動學(xué)習(xí)的能力。采用分組討論學(xué)習(xí)方式,結(jié)合實(shí)際項目,把學(xué)生組織為若干小組,在教師指導(dǎo)下完成工作。不斷提升學(xué)校教師的專能,提供系統(tǒng)學(xué)習(xí)和階段性培訓(xùn)機(jī)制。
4 總結(jié)
軟件測試課程在高校的教學(xué)中,沒有現(xiàn)成的經(jīng)驗和模式,需要我們根據(jù)行業(yè)的發(fā)展隨時調(diào)整,以社會需求為導(dǎo)向,以培養(yǎng)行業(yè)
中高級人才為目標(biāo),以項目實(shí)訓(xùn)教學(xué)為依托,邊進(jìn)行邊思考,逐步發(fā)展,逐步穩(wěn)定,所以我們要以發(fā)展的眼光,靈活的策略來微調(diào)教學(xué)過程的細(xì)節(jié),測試無處不在,高校進(jìn)行軟件測試的教學(xué)改革也是一種測試,只要我們采用嚴(yán)謹(jǐn)?shù)墓こ炭刂撇呗?,科學(xué)管理,總結(jié)規(guī)律,必然能取得高校進(jìn)行軟件測試課程探索的勝利。
參考文獻(xiàn):
[1] Ron Patton.軟件測試[M].北京:機(jī)械工業(yè)出版社,2002.
[2] Myers G J.軟件測試的藝術(shù)(中文版)[M].王峰,陳杰,譯.北京:機(jī)械工業(yè)出版社,2006.
篇3
關(guān)鍵詞:軟件測試,質(zhì)量管理,軟件工程
中圖分類號:O213.1 文獻(xiàn)標(biāo)識碼:A 文章編號:
1 軟件測試類別及作用簡介
軟件測試按作用分類,主要可以分為功能測試,性能測試,安全測試等,按測試階段劃分則可分為單元測試,集成測試,系統(tǒng)測試,驗收測試,回歸測試等。按是否涉及源代碼測試又可分為黑盒測試,白盒測試。
下面按作用介紹幾類常見的測試:
功能測試:主要按照系統(tǒng)功能說明書軟件設(shè)計書等資料,驗證軟件每個功能的正確性,易用性。主要目的是保證軟件功能可用,用戶使用過程中有一個良好的使用體驗。
性能測試:是一種非功能性測試,主要測試軟件產(chǎn)品運(yùn)行的各項性能指標(biāo)是否達(dá)標(biāo)。如系統(tǒng)反應(yīng)速度,系統(tǒng)負(fù)載能力,系統(tǒng)使用過程中對計算機(jī)各類資源的占用情況等,主要是測試系統(tǒng)的健壯程度。最常見的是測試軟件功能的反應(yīng)速度。同樣對保障用戶使用體驗有重要作用。通常使用自動化工具得到測試系統(tǒng)的性能指標(biāo),筆者使用的工具為Loadrunner(LR)。
安全性測試:這是經(jīng)常被忽視的測試方式。很多用戶軟件使用安全意識淡薄,在用戶未提出安全測試的情況下,有些軟件開發(fā)公司為節(jié)約成本也會刻意回避這個問題。軟件安全與否并不直接影響用戶的使用體驗。軟件安全測試主要從數(shù)據(jù)訪問,權(quán)限管理,防攻擊能力,破壞性測試等幾個方面測試軟件系統(tǒng)的安全。政府部門所使用的軟件系統(tǒng)通常,這樣的項目進(jìn)行安全測試很有必要。
2 軟件測試與質(zhì)量管理關(guān)系
任何項目實(shí)施都需要有質(zhì)量管理,否則工程產(chǎn)品將無法使用。軟件工程更是如此,在軟件工程中軟件測試是軟件質(zhì)量管理的重要手段也是質(zhì)量管理流程的重要一環(huán)。其實(shí)不管軟件測試怎樣分類,具體的流程怎樣操作,軟件測試的目的就是為了保障軟件的質(zhì)量。從公司組織層面項目質(zhì)量管理從制度上對測試流程的完整性加以保障,從項目實(shí)施層面,項目內(nèi)部的質(zhì)量管理應(yīng)為軟件產(chǎn)品即將的測試做出準(zhǔn)備提供便利。
在多種軟件工程管理模型中,都將軟件測試做為單獨(dú)的過程納入到管理體中來,比如CMMI軟件成熟度模型,是將軟件測試放在產(chǎn)品驗證過程域中的,同產(chǎn)評審一起,強(qiáng)調(diào)軟件測試對產(chǎn)品驗證作用。
3 測試組織的建立
人們經(jīng)常有開發(fā)做的較弱的人做測試的印象。這是錯誤的,主要是由很多軟件公司不愿意調(diào)撥開發(fā)水平高的人在測試上造成的。其實(shí)測試人員作為公司于客戶之間軟件質(zhì)量最后的守門員,不僅要保證產(chǎn)品功能正確,還要從用戶角度對軟件產(chǎn)品提出使用建議,根據(jù)經(jīng)驗預(yù)測用戶可能的使用方式以及評價,同時還需同項目經(jīng)理,開發(fā)人員溝通。因此不僅要具備測試?yán)碚撝R,還需要具備項目經(jīng)驗,熟悉產(chǎn)品業(yè)務(wù),了解項目各環(huán)節(jié)工作,同時具備編碼,操作系統(tǒng),數(shù)據(jù)庫,計算機(jī)硬件等方面的有關(guān)知識,恰是要求知識構(gòu)成最全面的崗位。
通常建議測試組應(yīng)包括至少一名經(jīng)驗豐富的人員。測試組的人數(shù)根據(jù)公司開發(fā)人員總數(shù),公司產(chǎn)品的成熟度確定。如果公司產(chǎn)品已經(jīng)較為成熟,有固定框架的話,測試人員數(shù)量可維持在開發(fā)人員總數(shù)的十分之一,否則應(yīng)大于這個數(shù)量。
測試組可由測試組長,或者叫測試經(jīng)理帶領(lǐng)幾名測試人員組成。測試經(jīng)理負(fù)責(zé)測試計劃,測試過程監(jiān)控,測試產(chǎn)品驗證等工作。測試人員按要求開展測試工作。
4 測試流程簡介
(1)測試工作啟動階段,項目經(jīng)理提交需求規(guī)格說明書和項目計劃。測試經(jīng)理根據(jù)提交文檔編寫測試計劃。需求內(nèi)應(yīng)包括用戶方確認(rèn)的系統(tǒng)使用環(huán)境。
(2)工程管理部對測試計劃進(jìn)行評審。評審?fù)ㄟ^進(jìn)入測試流程。不通過則將文檔返回項目經(jīng)理根據(jù)項目情況重新計劃,直至通過。
(3)系統(tǒng)經(jīng)過項目經(jīng)理檢查,滿足送測要求時,項目經(jīng)理填寫測試申請單,提交概要設(shè)計說明書、詳細(xì)設(shè)計說明書和系統(tǒng)demo,澄清測試需求,明確測試環(huán)境。其中demo非必須提交。
(4)項目經(jīng)理指派人員同測試組建立專門的信息交流接口,協(xié)調(diào)測試過程中的有關(guān)事宜。
(5)測試人員執(zhí)行測試。
(6)記錄測試過程中出現(xiàn)的系統(tǒng)缺陷和問題。填寫問題跟蹤記錄表,并交由項目經(jīng)理確認(rèn)。
(7)工程管理部根據(jù)測試結(jié)果決定系統(tǒng)是否系統(tǒng)具備條件。如果不具備條件,則將督促開發(fā)人員完善系統(tǒng)并重新執(zhí)行測試流程。
(8)測試經(jīng)理編寫測試報告并總結(jié)。測試活動結(jié)束。
流程如圖:
以上測試流程主要按瀑布開發(fā)模型內(nèi)的測試流程描述,如果選用別的開發(fā)方法,則可以根據(jù)情況將流程簡化后加入開發(fā)中的每次迭代內(nèi)。
5 結(jié)束語
測試工作是保障軟件產(chǎn)品質(zhì)量的重要手段,本文大多內(nèi)容來自筆者工作經(jīng)驗的總結(jié),僅供參考,有失偏駁之處,還請多加指正。
參考資料
[1] 佩騰 軟件測試 機(jī)械工業(yè)出版社
篇4
關(guān)鍵詞:軟件測試;案例教學(xué);教學(xué)內(nèi)容
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2010)09-2275-02
Teaching Methods of Software Testing Technology
GAO Zhi-sheng
(School of Mathematic and Computer, Xihua University, Chengdu 610039, China)
Abstract: Software testing is a course that teaches the software testing methods and means. Case teaching methods that runs through the whole software testing process with a single case is proposed. The corresponding teaching contents and experiment requirements are also introduced. Through the teaching methods, the studying interesting, the initiative and the capability of finishing the practical software testing projects are really improved.
Key words: software testing; case teaching; teaching contents
軟件開發(fā)過程中的質(zhì)量問題是關(guān)系到軟件和軟件組織生存的重大問題,得到了越來越多的重視。目前在高校的軟件工程專業(yè)普遍開設(shè)有軟件測試相關(guān)課程。但是在具體教學(xué)實(shí)踐中,教師普遍感覺到有許多不如意的地方[1],具體表現(xiàn)在教學(xué)內(nèi)容與具體應(yīng)用脫節(jié),學(xué)生對軟件測試認(rèn)識有誤區(qū),學(xué)生學(xué)習(xí)積極性不強(qiáng)、認(rèn)為軟件測試是文字性課程,軟件測試過程如何展開,如何選擇測試工具,如何在教學(xué)中貫徹軟件測試管理思想等。
近年來關(guān)于怎樣進(jìn)行軟件測試教學(xué),引起了相關(guān)專家的重視和討論[1-4]。本文在總結(jié)前人的經(jīng)驗基礎(chǔ)上,結(jié)合作者近幾年在軟件測試技術(shù)課程教學(xué)中的實(shí)踐提出了以一個具體項目案例貫穿整個教學(xué)過程,理論與實(shí)踐緊密結(jié)合的教學(xué)方法。
1 教學(xué)的目的和教學(xué)方法
軟件測試技術(shù)課程是本校軟件工程專業(yè)的一門專業(yè)必修課程,通過軟件知識體系的學(xué)習(xí),使學(xué)生了解軟件測試的發(fā)展現(xiàn)狀,認(rèn)識軟件測試的重要性,掌握軟件測試的方法和技術(shù),熟悉軟件測試過程管理,從而具有獨(dú)立承擔(dān)軟件測試項目的實(shí)施能力,具有測試計劃、管理、實(shí)現(xiàn)和軟件質(zhì)量保障的能力[3]。
針對以上教學(xué)目的,我們在軟件測試技術(shù)教學(xué)過程中引入一個具體測試項目案例貫穿整個教學(xué)過程的教學(xué)方法。第一課時,我們組織學(xué)生自由進(jìn)行分組,每組5個人左右,每組確定一個名稱。要求每個小組在課程的前幾周完成同一個模擬題目“大學(xué)圖書館管理系統(tǒng)”的軟件開發(fā)。系統(tǒng)完成后,然后各個小組交叉進(jìn)行測試對方開發(fā)的軟件系統(tǒng)。隨著課程的進(jìn)度,主要要求學(xué)生完成軟件系統(tǒng)的單元測試,集成測試,功能測試和系統(tǒng)測試。單一的案例貫穿整個軟件項目測試過程的案例教學(xué)方法的優(yōu)點(diǎn)是:
1)軟件測試的前期課程有“Java EE編程技術(shù)”,同時我們選擇圖書館管理系統(tǒng)作為開發(fā)對象,學(xué)生從技術(shù)上和業(yè)務(wù)需求上都具備快速完成該系統(tǒng)的能力。
2)相同的開發(fā)對象,互相測試對方開發(fā)的系統(tǒng),有利于形成競爭,有利于調(diào)動學(xué)生的學(xué)習(xí)積極性。同時也有利于教師對學(xué)生完成的結(jié)果進(jìn)行點(diǎn)評和組織課堂討論。
3)整個軟件測試課程,學(xué)生能夠完成對一個具體項目的全部測試過程,有利于促進(jìn)學(xué)生系統(tǒng)地掌握軟件測試的技術(shù)方法,組織和過程。
2 教學(xué)過程
我們的教學(xué)過程主要包括以下5個階段,最初的幾周主要講解軟件測試原理,同時這個階段學(xué)生主要完成指定項目,然后是4個主要的軟件測試技術(shù):單元測試,集成測試,功能測試和性能測試。軟件測試課程也會講解其他如回歸,壓力等其它測試技術(shù),下面是我們課程重點(diǎn)講授的內(nèi)容和要求。
2.1 軟件測試原理
本階段主要講授軟件測試技術(shù)的基本概念,使學(xué)生掌握基本的軟件測試原理。包括軟件測試的重要性,軟件評測師的職業(yè)規(guī)劃,軟件質(zhì)量的概念等基本概念,重點(diǎn)講授的內(nèi)容是白盒測試及用例的設(shè)計和黑盒測試及用例的設(shè)計兩個章節(jié)。白盒測試主要包括邏輯覆蓋和基本路徑覆蓋兩種用例設(shè)計方法,邏輯覆蓋又分為語句、判定、條件、判定/條件、組合、路徑覆蓋等。黑盒測試的重點(diǎn)內(nèi)容是等價類劃分,邊界值分析,因果圖,決策表和場景法。
本階段對學(xué)生的實(shí)踐要求是開發(fā)“大學(xué)圖書館管理系統(tǒng)”,由上課老師為學(xué)生統(tǒng)一提供系統(tǒng)的需求規(guī)格說明書,該系統(tǒng)的主要功能如圖1所示。要求學(xué)生結(jié)合對本校圖書借閱系統(tǒng)的使用和需求規(guī)格說明書,采用Java EE技術(shù)進(jìn)行開發(fā),系統(tǒng)采用典型的4層結(jié)構(gòu)進(jìn)行設(shè)計,如圖2所示,即運(yùn)行在客戶端計算機(jī)上的客戶層組件、運(yùn)行在Java EE服務(wù)器上的Web層組件、業(yè)務(wù)層組件和運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(EIS)層軟件[4]。系統(tǒng)開發(fā)采用JSF+EJB3.0的架構(gòu),Glassfish為應(yīng)用服務(wù)器,MySql提供數(shù)據(jù)庫服務(wù)。
2.2 單元測試
單元測試是對軟件最小組成單元的測試,是軟件開發(fā)過程中進(jìn)行的最基本的測試。單元測試主要按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。單元測試主要考慮各個模塊接口的輸入和輸出,模塊內(nèi)部的數(shù)據(jù)結(jié)構(gòu),模塊的邊界條件,模塊的基本路徑和模塊的出錯處理。單元測試階段還講授代碼規(guī)范性檢查,代碼覆蓋率的檢查,代碼復(fù)雜度的計算和內(nèi)存泄漏的檢查等。
完成單元測試的基本原理的學(xué)習(xí)后,要求學(xué)生交叉完成圖書館管理系統(tǒng)的單元測試,主要抽取系統(tǒng)中的核心函數(shù)進(jìn)行測試。完成測試后要求每個小組提供單元測試計劃,單元測試用例和單元測試報告3個報告文檔。得到所有報告后,組織一次課堂討論,展示優(yōu)秀小組的成果,分析原因總結(jié)經(jīng)驗。單元測試工具要求采用JUnit,代碼規(guī)范和代碼質(zhì)量分析采用Logitscope, Pruify用于分析代碼的內(nèi)存問題。
2.3 集成測試
軟件各個單元通過單元測試之后,需要檢查各個單元之間的相互接口是否正確,就是集成測試。軟件集成測試主要考慮的問題是模塊間的數(shù)據(jù)傳遞是否正確,一個模塊的功能是否會對另一個模塊的功能產(chǎn)生錯誤的影響,全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題,塊組合起來的功能是否能滿足要求,集成后累積誤差是否被放大等[5]。關(guān)于軟件集成測試的原則、策略和用例設(shè)計等相關(guān)原理可參考其它相關(guān)文獻(xiàn)。
教授完集成測試相關(guān)原理后,我們要求每個小組負(fù)責(zé)人組織完成系統(tǒng)的集成測試。集成測試以一個EJB、Servlet或者JSF為基本單元,工具選擇Cactus和HttpUnit。完成集成測試后要求每個小組提交集成測試計劃、集成測試設(shè)計文檔和集成測試分析報告。收齊所有小組成果,組織學(xué)生進(jìn)行討論。
2.4 功能測試
功能測試就是對產(chǎn)品的各功能進(jìn)行驗證,根據(jù)功能測試用例,逐項測試,檢查產(chǎn)品是否達(dá)到用戶要求的功能。主要考慮系統(tǒng)的各個功能,一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照需求編寫測試用例,測試產(chǎn)品時是否達(dá)到用戶使用的需求。本階段主要讓學(xué)生采用WinRunner完成系統(tǒng)的功能測試,進(jìn)行功能測試之前首先完成測試計劃和測試用例的設(shè)計。然后完成WinRunner的6個步驟:識別程序的GUI,建立測試腳本,完善測試腳本,在新版應(yīng)用程序執(zhí)行測試腳本,分析測試結(jié)果和回報缺陷。
2.5 性能測試
典型的性能測試主要是從系統(tǒng)的響應(yīng)時間、吞吐量、系統(tǒng)資源利用率、并發(fā)用戶數(shù)、HTTP事務(wù)處理數(shù)/秒、會話數(shù)/秒和連接建立時間等方面衡量系統(tǒng)的性能。性能測試主要有壓力測試,容量測試和強(qiáng)度測試等。針對圖書館管理系統(tǒng)的特點(diǎn),我們要求學(xué)生理解性能測試的重要性和困難性,掌握性能測試的基本概念和技術(shù)。在此技術(shù)上,我們要求學(xué)生使用LoadRunner完成系統(tǒng)的壓力測試。主要步驟是測試需求分析,制定測試策略和方案(重點(diǎn)是設(shè)計測試場景),使用VuGen創(chuàng)建腳本,在Controller中創(chuàng)建場景,運(yùn)行場景,分析結(jié)果。完成后提交測試策略和方案報告,腳本和圖書館管理系統(tǒng)壓力測試報告。
3 結(jié)論
一個合格的軟件評測師要求具有編程能力、開發(fā)能力、溝通能力、管理能力、逆向思維能力等多種能力。怎樣在大學(xué)軟件測試技術(shù)教學(xué)中培養(yǎng)既有理論又能實(shí)踐的軟件測試從業(yè)人員是本文研究的動機(jī)。我們提出的基于同一案例貫穿整個軟件測試技術(shù)教學(xué)過程的教學(xué)方法,通過學(xué)生互測對方開發(fā)的軟件系統(tǒng),相互對比,相互促進(jìn)同時組織課堂討論,有效營造了主動學(xué)習(xí)的氣氛,增強(qiáng)了學(xué)生的學(xué)習(xí)積極性,培養(yǎng)了學(xué)生主動思考問題的能力。該方法是一個值得借鑒的軟件測試技術(shù)教學(xué)方法。
參考文獻(xiàn):
[1] 李繪卓,唐峻,范勇.基于案例的軟件測試實(shí)驗教學(xué)[J].電腦知識與技術(shù),2009,27(5):7820-7821.
[2] 屠紅蕾.軟件測試教學(xué)的點(diǎn)滴體會[J].計算機(jī)教育,2008(10):124-125.
[3] 李亞.“軟件測試”教學(xué)探索與實(shí)踐[J].計算機(jī)教育,2008(6):14-15.
篇5
關(guān)鍵詞 軟件測試 教學(xué)改革 能力培養(yǎng) 教學(xué)過程 課程置換
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A
Exploring about the Reform of Software Testing Course
in the Application-oriented Institutions
PANG Haibo, LI Zhanbo
(Software Technology School of Zhengzhou University, Zhengzhou, He'nan 450002)
Abstract This paper analyzes the software testing industry, and a number of issues that exist in teaching, summed up the software companies for software testing requirements and industry demand conditions talent for talent, summed up the software testing professionals should have the basic knowledge and quality requirements, focusing on the improve student software testing theory, technical capacity, a new model of software testing from the curriculum reform, teaching, engineering practice, school-enterprise cooperation and replacement programs, etc., to stimulate students' enthusiasm and motivation to learn and improve training quality of software testers.
Key words software testing; teaching reform; ability training; teaching process; course change
近年來,中國軟件產(chǎn)業(yè)保持了飛速發(fā)展的趨勢,軟件產(chǎn)品的質(zhì)量備受所有用戶特別是IT行業(yè)用戶的關(guān)注。軟件測試作為軟件開發(fā)過程中重要的一環(huán),對保證軟件質(zhì)量具有至關(guān)重要的意義,同時也是控制軟件質(zhì)量的重要手段之一。目前,國內(nèi)許多軟件開發(fā)企業(yè)對軟件開發(fā)仍然存在“重開發(fā)、輕測試”的思想,因此,盡快建立完善軟件測試人才的系統(tǒng)培養(yǎng)環(huán)境、提高軟件測試人才的培養(yǎng)質(zhì)量,為軟件產(chǎn)業(yè)的健康發(fā)展提供智力支持已成為軟件測試專業(yè)課程和教學(xué)改革的主要目標(biāo)之一。
本文首先分析了我國軟件測試行業(yè)和教學(xué)存在的若干問題以及IT企業(yè)對軟件測試人才的素質(zhì)要求,接著討論了軟件測試專業(yè)課程的設(shè)置和定位問題,結(jié)合筆者的工作實(shí)際以及校企聯(lián)合開展大學(xué)生軟件測試技能競賽的效果,對軟件測試教學(xué)過程提出了一些建議。
1 軟件測試行業(yè)和教學(xué)現(xiàn)狀
軟件生產(chǎn)方式已經(jīng)越來越趨向于大規(guī)模集成化生產(chǎn),這一生產(chǎn)方式確立了軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理在軟件生產(chǎn)中至關(guān)重要的地位。調(diào)查顯示,我國軟件開發(fā)企業(yè)普遍缺少測試人員,而專職軟件測試人員與開發(fā)人員的比率更是偏低,遠(yuǎn)遠(yuǎn)達(dá)不到國外1:1甚至2:1的比例,整個軟件行業(yè)從業(yè)人員比例結(jié)構(gòu)很不合理。主要由于企業(yè)認(rèn)知和軟件測試人員的培養(yǎng)過程存在以下一些問題和不足而導(dǎo)致:
1.1 重開發(fā),輕測試
很多企業(yè)和學(xué)生認(rèn)為,軟件開發(fā)比軟件測試重要,軟件測試相關(guān)工作職位待遇不如軟件開發(fā)。他們認(rèn)為軟件測試從業(yè)人員不需要深入的專業(yè)知識,只要會寫程序就能夠勝任軟件測試工作,從事軟件測試類的工作沒有前途,所以大部分傾向于做開發(fā)人員,而不喜歡做測試。同樣,絕大多數(shù)學(xué)生認(rèn)為軟件測試比軟件開發(fā)容易,沒有較高的技術(shù)含量,只是能夠找出軟件中的錯誤就可以了。甚至有相當(dāng)一部分軟件測試人員認(rèn)為軟件的質(zhì)量的好壞是開發(fā)人員的事情,與軟件測試人員沒有關(guān)系。
1.2 底子薄、基礎(chǔ)差
大部分開設(shè)計算機(jī)課程的學(xué)校,學(xué)生都是到大學(xué)二年級后半學(xué)期才開始接觸軟件測試課程,缺少對軟件測試課程的系統(tǒng)學(xué)習(xí),甚至很多學(xué)生只學(xué)習(xí)軟件工程課程,根本接觸不到軟件測試課程。
對離散數(shù)學(xué)、程序設(shè)計、軟件工程等軟件測試基礎(chǔ)課程的學(xué)習(xí)效果差。例如,軟件測試中黑盒測試用例的設(shè)計方法大都以數(shù)學(xué)知識為依據(jù)的,決策表驅(qū)動分析法與因果圖法對應(yīng)命題邏輯知識。盡管學(xué)生之前已經(jīng)學(xué)習(xí)這些課程了,但是由于受行業(yè)認(rèn)知的限制,學(xué)生經(jīng)常忽略一些重要的知識,導(dǎo)致在后續(xù)測試課程學(xué)習(xí)中感到力不從心,最終還是不能夠穩(wěn)固掌握軟件測試的相關(guān)知識和技能。
軟件測試貫穿軟件開發(fā)的全部過程,軟件測試的大部分階段都要求測試人員能夠編寫代碼并且進(jìn)行調(diào)試,比如,在單元測試階段和進(jìn)行白盒測試的時候都需要檢查和測試代碼,這就對軟件測試學(xué)院提出了更高的要求,要求學(xué)生不但要了解軟件測試技術(shù),還要能夠熟練對代碼進(jìn)行分析和調(diào)試,甚至更多的時候要求測試人員能夠自己編寫代碼進(jìn)行專項測試。但是,由于先導(dǎo)課程的課程設(shè)計、實(shí)踐和考查的脫節(jié),導(dǎo)致學(xué)生寫代碼能力較弱,不能靈活運(yùn)用軟件測試中的技術(shù)和方法。
1.3 重技術(shù)、輕理論
現(xiàn)代社會快節(jié)奏的影響和急功近利心情的驅(qū)使,學(xué)生通常希望學(xué)習(xí)一些能夠馬上使用的技術(shù),而不愿意去學(xué)習(xí)復(fù)雜和理論性較強(qiáng)的工程管理內(nèi)容。軟件測試計劃、軟件測試管理等工程管理課程抽象和教條,并且理論性較強(qiáng),教師如果單純通過課堂教學(xué),學(xué)生很難真正掌握這些內(nèi)容,他們不能將所學(xué)知識馬上轉(zhuǎn)換為應(yīng)用,或者不能立刻看到成效,會慢慢地失去對這些課程的興趣和熱情。同時,考慮到軟件測試需要與具體的開發(fā)模式和行業(yè)背景相結(jié)合,在學(xué)習(xí)階段容易受授課模式和知識結(jié)構(gòu)的限制,學(xué)生覺得學(xué)無所用,將來也很難結(jié)合具體場合恰當(dāng)使用測試手段。
1.4 重個人,輕團(tuán)隊
軟件的大規(guī)模集成化生產(chǎn)意味著個人獨(dú)立勞動已經(jīng)不能勝任大型軟件的開發(fā),并且對團(tuán)體軟件開發(fā)中的協(xié)作和溝通提出了更高的要求。軟件測試作為軟件開發(fā)過程中一個不可或缺的環(huán)節(jié),也需要測試團(tuán)隊分工合作。目前教學(xué)更多地采用教師講、學(xué)生聽這一學(xué)習(xí)模式,沒有實(shí)現(xiàn)雙向互動學(xué)習(xí),老師總是面面俱到地傳授測試專業(yè)知識和技術(shù),希望學(xué)生能夠?qū)W得更全面。然而,當(dāng)代學(xué)生普遍以自我為中心,缺少基本的溝通和團(tuán)隊協(xié)作能力,單獨(dú)的個體又不能獨(dú)當(dāng)一面,最終導(dǎo)致軟件測試工作不能順利進(jìn)行。
2 軟件測試人員素質(zhì)要求及課程設(shè)置定位
軟件測試人員的工作職責(zé)是理解軟件產(chǎn)品的功能和性能需求,在軟件開發(fā)中擔(dān)任“質(zhì)量管理”角色,這種職責(zé)對軟件測試人員在技術(shù)、管理能力和個人綜合素質(zhì)等方面提出了更高的要求。主要包括以下方面:(1)全面技術(shù)能力。測試人員必須站在工程技術(shù)的角度對需要開發(fā)的產(chǎn)品進(jìn)行理解,以工程技術(shù)產(chǎn)品應(yīng)用為目的構(gòu)造合適的測試用例進(jìn)行測試。這就要求測試人員必須掌握軟件生命周期、開發(fā)流程、軟件質(zhì)量管理知識,熟悉離散數(shù)學(xué)、工程經(jīng)濟(jì)等基礎(chǔ)知識,熟悉各種系統(tǒng)平臺、數(shù)據(jù)庫、常用軟件和網(wǎng)絡(luò)等軟硬件,掌握主流測試工具與測試管理工具,還有具備編程能力和相關(guān)行業(yè)的法規(guī)和外語等知識。(2)責(zé)任心。做測試工作,需要思維嚴(yán)密,具有懷疑與破壞的精神,測試人員要打破常規(guī)思路進(jìn)行軟件測試,能夠設(shè)計一些非常規(guī)測試用例對軟件進(jìn)行破壞性測試。(3)細(xì)心與耐心。軟件測試工作中發(fā)現(xiàn)缺陷的環(huán)節(jié)除了依仗測試人員的專業(yè)技術(shù)知識之外,還與測試人員的細(xì)心及耐心程度有很大關(guān)系。軟件測試工作相比較軟件開發(fā)工作而言,更加繁瑣和枯燥,如果沒有足夠的細(xì)心和耐心,就會留下很多潛伏的缺陷。(4)良好的溝通與組織協(xié)調(diào)能力。軟件測試不僅僅是測試人員和測試團(tuán)隊內(nèi)部的事情,軟件測試人員要能夠與項目經(jīng)理、開發(fā)人員、客戶、市場人員等不同角色人員進(jìn)行良好溝通,保持密切配合。這就要求測試人員具備良好的溝通技巧,當(dāng)發(fā)現(xiàn)問題的時候,能夠積極有效組織協(xié)調(diào)開發(fā)人員、客戶等各方面來解決問題,并且能夠精準(zhǔn)表達(dá)自己的觀點(diǎn)。
軟件測試人員的素質(zhì)培養(yǎng),需要從構(gòu)建合理的軟件課程著手。課程體系構(gòu)建根據(jù)測試內(nèi)涵來分析相應(yīng)的知識、技能、素質(zhì)要求,以軟件測試這一職業(yè)所需的知識和技能為先導(dǎo),強(qiáng)調(diào)當(dāng)前及未來就業(yè)崗位所需基礎(chǔ)知識和基本技能的掌握運(yùn)用,體現(xiàn)知識、能力、素質(zhì)培養(yǎng)的統(tǒng)一。精選教學(xué)內(nèi)容進(jìn)行整合與優(yōu)化,使課程模塊化,明確每個模塊化課程對知識和技能的培養(yǎng)要求,構(gòu)建以掌握技術(shù)理論和技術(shù)應(yīng)用為培養(yǎng)目的的課程體系,實(shí)現(xiàn)知識和技能同步培養(yǎng)和提高。
3 軟件測試教學(xué)過程的改進(jìn)
教學(xué)過程是對軟件測試人員技能和素質(zhì)培養(yǎng)的關(guān)鍵環(huán)節(jié),教學(xué)方法起著至關(guān)重要的作用。教師在教學(xué)過程中應(yīng)注意幾方面:
3.1 正確認(rèn)識開發(fā)和測試的關(guān)系,激發(fā)學(xué)生學(xué)習(xí)動力
針對學(xué)生認(rèn)為軟件測試不如軟件開發(fā)重要,或者認(rèn)為軟件測試類崗位不如軟件開發(fā)類崗位有前途等片面認(rèn)識,教師應(yīng)注意正確引導(dǎo)。通常在第一節(jié)課上教師應(yīng)該結(jié)合功能測試、性能測試等具體案例介紹軟件測試的重要性,讓學(xué)生了解該課程的重要性、必要性和當(dāng)前的行業(yè)動態(tài)。另外,要讓學(xué)生認(rèn)識到測試工作的豐富層次和內(nèi)涵,了解測試人員應(yīng)該具備的知識和技能更加多樣,做測試工作比做開發(fā)更有挑戰(zhàn)性。最后,要給學(xué)生介紹行業(yè)對測試人員的需求,讓學(xué)生更清楚了解軟件測試工作的待遇和發(fā)展前景,樹立從事軟件測試工作的決心和信心,激發(fā)他們學(xué)習(xí)軟件測試的主觀能動性。
3.2 案例法教學(xué)貫穿全過程
針對軟件測試課程中測試計劃、管理等理論性較強(qiáng)的工程化管理知識部分,需要結(jié)合實(shí)際案例進(jìn)行教學(xué),因為單純課堂教條式的教學(xué)很難讓學(xué)生深刻掌握這些知識的精髓并應(yīng)用于實(shí)際工作,更甚至?xí)寣W(xué)生失去學(xué)習(xí)軟件測試的興趣。因此,應(yīng)在教學(xué)過程中引領(lǐng)學(xué)生由易入難自己動手實(shí)踐,激發(fā)學(xué)生的學(xué)習(xí)主動性與熱情。通過課堂討論或分組討論的方式活躍課堂氣氛,在討論的過程中,讓學(xué)生擔(dān)任不同角色,模擬實(shí)際管理過程,切身感受管理知識的應(yīng)用價值,同時,不同角色的輪換擔(dān)任還可以鍛煉學(xué)生的溝通能力,樹立團(tuán)隊意識。教師要適時進(jìn)行引導(dǎo)與總結(jié),指導(dǎo)學(xué)生按照工程化的文檔模板規(guī)范將思考分析的結(jié)果進(jìn)行記錄,在鍛煉學(xué)生分析、解決問題能力的同時養(yǎng)成良好的學(xué)習(xí)工作習(xí)慣。
對于技術(shù)性較強(qiáng)的知識,也要注意實(shí)際案例的引入。加大實(shí)際案例實(shí)驗學(xué)時的的分配,引入規(guī)模適中的工程實(shí)例,讓學(xué)生利用所學(xué)的測試技術(shù)對實(shí)例設(shè)計測試計劃,測試用例,執(zhí)行測試,分析和討論測試結(jié)果,發(fā)現(xiàn)測試存在的問題,通過這樣的實(shí)踐教學(xué)活動,更容易讓學(xué)生產(chǎn)生成就感,激發(fā)學(xué)生興趣。
3.3 注重工程實(shí)踐課程和參與競賽
根據(jù)軟件測試行業(yè)對人才素質(zhì)需求定位測試專業(yè)方向人才培養(yǎng)目標(biāo)。由于軟件測試課程與軟件開發(fā)課程的不同,軟件測試實(shí)驗教學(xué)應(yīng)該設(shè)立實(shí)驗、實(shí)訓(xùn)和實(shí)習(xí)等多層次的工程實(shí)踐課程,通過讓學(xué)生參與實(shí)際工程項目,提高學(xué)生專業(yè)技術(shù)應(yīng)用、分析問題和解決問題的能力。同樣,教師需要設(shè)計和引入規(guī)模適中的工程實(shí)踐項目,要求學(xué)生現(xiàn)學(xué)現(xiàn)賣,完成制定測試計劃、設(shè)計測試用例、執(zhí)行測試和評估測試的全過程。通過項目的鍛煉,學(xué)生分析問題和解決問題的能力會逐漸得到提高。
鼓勵學(xué)生多參加軟件測試技能競賽等實(shí)戰(zhàn)性的實(shí)踐活動,提高學(xué)生的觀察、思考、交流、實(shí)踐和協(xié)作能力。本團(tuán)隊組織學(xué)生參加河南省計算機(jī)學(xué)會主辦的首屆大學(xué)生軟件測試技能大賽,成績斐然:三個代表隊分別獲得了特等獎、一等獎和二等獎。事實(shí)證明,競賽類的實(shí)踐活動,能夠極大激發(fā)學(xué)生自己動手進(jìn)行軟件測試的興趣,同時在動手操作的過程中培養(yǎng)了學(xué)生的創(chuàng)新能力,促進(jìn)了學(xué)生思維的縱深發(fā)展;學(xué)生對軟件測試課程的學(xué)習(xí)熱情和積極性空前高漲,學(xué)習(xí)的自覺性極大提高。
3.4 開展校企合作和課程置換
校企合作的目的就是通過學(xué)校與軟件企業(yè)進(jìn)行多方面的合作,建立企業(yè)實(shí)習(xí)基地,讓學(xué)生能夠親身參與企業(yè)軟件的開發(fā)和測試過程,校企合作是軟件測試人才培養(yǎng)最有效的辦法。在計算機(jī)行業(yè),校企合作有著至關(guān)重要的作用,學(xué)生通過參與企業(yè)實(shí)際產(chǎn)品的開發(fā)和測試,可以更好更快地融入到軟件開發(fā)過程中。學(xué)生不但能夠?qū)⑺鶎W(xué)的綜合知識進(jìn)行實(shí)際應(yīng)用,還能對軟件開發(fā)有一個更加深刻的認(rèn)識。與企業(yè)交流不只是學(xué)生的事情,教師參與其中也是十分必要,教師到企業(yè)實(shí)習(xí),參與軟件項目的測試,緊跟技術(shù)發(fā)展步伐,才能把握授課方向,才能以自身參與的項目為實(shí)例進(jìn)行授課。
課程置換是將企業(yè)成熟的軟件測試培訓(xùn)課程和教學(xué)體系替換掉學(xué)校的部分軟件測試課程,將企業(yè)以應(yīng)用為目的的教學(xué)方式、科學(xué)、系統(tǒng)和實(shí)用的課程內(nèi)容引入學(xué)校教學(xué)。“他山之石,可以攻玉”,課程置換就是要結(jié)合學(xué)校教學(xué)和企業(yè)培訓(xùn)的優(yōu)勢方法和資源,彌補(bǔ)傳統(tǒng)學(xué)校教學(xué)方式存在的不足,緊緊結(jié)合市場需求,提高學(xué)生各個方面的能力。 同時,課程置換將學(xué)歷教育和職業(yè)教育相結(jié)合,學(xué)生在獲得學(xué)歷證書的同時,還能獲得相關(guān)企業(yè)行業(yè)證書和一線實(shí)踐經(jīng)驗,從而為學(xué)生畢業(yè)后服務(wù)于企業(yè)奠定良好的基礎(chǔ)。
4 結(jié)束語
軟件測試的重要性得到越來越廣泛的認(rèn)可,創(chuàng)造一種課程內(nèi)容改革的引導(dǎo)機(jī)制,探索一套切實(shí)有效的大學(xué)生學(xué)習(xí)和實(shí)踐相結(jié)合的學(xué)習(xí)模式,轉(zhuǎn)變教師對傳統(tǒng)軟件測試課程的教育教學(xué)觀念,推動軟件測試教學(xué)改革,才是提高軟件測試學(xué)生的專業(yè)技能和創(chuàng)新能力,最終提高學(xué)生的核心競爭力的根本途徑。
參考文獻(xiàn)
[1] 鐘素芬,葉明芷.軟件測試應(yīng)用性人才培養(yǎng)模式的探索與實(shí)踐[J].北京聯(lián)合大學(xué)學(xué)報,2007(9):90-91.
[2] 孫金華.軟件測試人才培養(yǎng)與課程構(gòu)建的探索[J].計算機(jī)時代,2009(6):68-71.
[3] 柳永坡.軟件測試大學(xué)教程:軟件測試課程專業(yè)教材[J].計算機(jī)教育,2010(12):158.
篇6
【關(guān)鍵詞】軟件測試;應(yīng)用型人才;培養(yǎng)模式;課程群
據(jù)前程無憂網(wǎng)數(shù)據(jù)顯示,去年國內(nèi)軟件測試人才缺口高達(dá)20萬,今年有望突破30萬人。目前國內(nèi)軟件測試和開發(fā)人員比例大約在1:4-1:5,而國外測試和開發(fā)人員比例為1:1,微軟測試人員和開發(fā)人員的比例已達(dá)到2:1。軟件測試人才正在成為我國軟件行業(yè)目前最緊缺的人才之一。隨著我國軟件產(chǎn)業(yè)的迅速發(fā)展,軟件測試人才的地位正在逐年提升,這種供需矛盾將變得越發(fā)突出。
目前,國內(nèi)軟件測試人才的培訓(xùn)[1]主要有三種機(jī)構(gòu):企業(yè)、高等院校和IT培訓(xùn)機(jī)構(gòu)。企業(yè)培養(yǎng)的人才大多是通過參與項目自己摸索的軟件開發(fā)人員,由于缺乏對軟件測試全面的認(rèn)識,在測試思想、技能、思維方式、溝通能力等方面都需要進(jìn)一步提高。高校培養(yǎng)出來的人才具備一定理論知識,但動手能力較差,進(jìn)入企業(yè)后需要再培養(yǎng),不能立即到崗。培訓(xùn)機(jī)構(gòu)則能彌補(bǔ)前兩種方式的不足,但價格昂貴。
一、軟件測試課程教學(xué)現(xiàn)狀
(一)學(xué)生學(xué)習(xí)枯燥,興趣低
軟件測試是計算機(jī)專業(yè)課,課程內(nèi)容理論性和操作性都很強(qiáng),并且需要學(xué)習(xí)了解的自動化測試工具種類繁多。目前各個高校在開設(shè)這門課程時,大多數(shù)還停留在理論教學(xué)階段。教師準(zhǔn)備好課件,學(xué)生拿著課本,首先給出書上官方的定義和自己的解釋,然后結(jié)合一些課本上或自己參與的項目,給出實(shí)例證明這些理論。學(xué)生容易感到內(nèi)容空洞、枯燥乏味,學(xué)習(xí)時就缺少主動性,難對這門課程產(chǎn)生興趣。
(二)軟件測試實(shí)驗開展不充分,學(xué)生實(shí)踐能力弱
軟件測試知識點(diǎn)眾多,理論內(nèi)容的授課量占絕大部分[2],實(shí)驗課時數(shù)僅占到四分之一左右。由于實(shí)驗時間、實(shí)踐環(huán)境有限,日常實(shí)驗教學(xué)都是驗證性的小實(shí)驗。由于沒有一個實(shí)際的面向企業(yè)的項目支撐,很多測試過程難以進(jìn)行,比如集成測試、性能測試、驗收測試等等。通過對從事軟件測試方向工作的畢業(yè)生就業(yè)情況調(diào)查發(fā)現(xiàn),軟件企業(yè)認(rèn)為軟件測試課程理論豐富,但還存在學(xué)生實(shí)踐能力不足、測試工程師職業(yè)素質(zhì)有待進(jìn)一步提高等諸多問題。
(三)教師缺乏實(shí)際軟件測試經(jīng)驗
軟件測試行業(yè)發(fā)展迅速,軟件測試工具種類多,更新快。軟件測試這門課程實(shí)踐性較強(qiáng),高校計算機(jī)教師大多數(shù)軟件項目開發(fā)測試經(jīng)驗不足[3],對軟件公司軟件項目研發(fā)測試過程沒有切身的體會。教師在講授這門課程時沒有實(shí)際的軟件項目案例可以操作,實(shí)踐教學(xué)顯得吃力,很難給學(xué)生軟件測試方面的經(jīng)驗知識。
面對軟件測試人才的社會需求緊迫性和軟件測試教學(xué)現(xiàn)狀,人才培養(yǎng)單位應(yīng)該擴(kuò)大軟件測試人才培養(yǎng)規(guī)模,總結(jié)軟件測試知識點(diǎn),改革教學(xué)方法,培養(yǎng)學(xué)生興趣,提高教學(xué)質(zhì)量。
二、軟件測試工程師職業(yè)能力需求
為更好地培養(yǎng)學(xué)生的軟件測試工程師職業(yè)素質(zhì)[4][5] [6],提高學(xué)生的就業(yè)率和用人單位的滿意度,充分分析軟件測試工程師的職業(yè)能力要求。
(一)素質(zhì)要求[4][5]
1、具有團(tuán)隊合作精神。
2、有較強(qiáng)的責(zé)任感及進(jìn)取精神。
3、細(xì)心、耐心,具備逆向思維。
4、技術(shù)方面的基本素質(zhì),熟悉系統(tǒng)的應(yīng)用,熟悉辦公軟件的應(yīng)用,熟悉基本的測試流程;熟悉測試管理工具的應(yīng)用。
5、具有測試人員的學(xué)習(xí)能力、領(lǐng)悟能力。
6、對行業(yè)具有信心,對測試的信心,相信軟件一直存在BUG。
7、良好的英語閱讀和寫作。
8、良好的語言及文字表達(dá)。
9、較好的溝通技巧。
10、懷疑精神具有測試人員必須保持的懷疑態(tài)度。
11、捕獲用戶觀點(diǎn)的能力,強(qiáng)烈的質(zhì)量追求,對細(xì)節(jié)的關(guān)注。
(二)專業(yè)能力要求[6]
1、對Windows、Linux、Unix等大型主流操作系統(tǒng)的熟練掌握能力。
2、具備快速進(jìn)行應(yīng)用系統(tǒng)部署和測試環(huán)境搭建的能力。
3、測試人員必須掌握目前主流的程序設(shè)計語言,比如C、C++、JAVA、C#、VB等多種平臺下的一種或者多種語言,具備進(jìn)行簡單應(yīng)用開發(fā)的能力。
4、熟練掌握SQL Server、Oracle、DB2等一種或多種數(shù)據(jù)庫系統(tǒng)的使用,熟悉使用SQL語言。
5、對信息安全知識的基本掌握。
6、必須深刻理解和熟練掌握軟件測試基礎(chǔ)理論與技術(shù)。
7、精通各種測試技術(shù),能夠手工或利用相關(guān)工具進(jìn)行單元測試。
8、能夠進(jìn)行測試用例設(shè)計、測試執(zhí)行、編寫缺陷報告。
9、熟悉軟件測試流程和測試過程管理,能夠編寫測試計劃,具備組織測試工作的能力。
10、掌握測試管理相關(guān)知識和軟件。
11、掌握和熟練使用當(dāng)前主流的功能、性能自動化測試工具以及測試管理工具,具備編寫測試腳本、進(jìn)行功能和性能測試自動化測試的能力。
(三)知識結(jié)構(gòu)要求
1、軟件知識:數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)庫原理、C程序設(shè)計語言、WEB技術(shù)、數(shù)據(jù)倉庫與數(shù)據(jù)挖掘、軟件工程。
2、硬件知識:數(shù)字邏輯、微機(jī)原理與接口、計算機(jī)組成原理、計算機(jī)系統(tǒng)結(jié)構(gòu)。
3、網(wǎng)絡(luò)知識:計算機(jī)網(wǎng)絡(luò)技術(shù)、計算機(jī)網(wǎng)絡(luò)安全。
4、人文、社會學(xué)基礎(chǔ):原理、道德與法律、中華民族歷史、大學(xué)語文、大學(xué)英語。
5、數(shù)學(xué)基礎(chǔ):高等數(shù)學(xué)、線性代數(shù)、概率統(tǒng)計。
三、軟件測試課程設(shè)計理念和思路
根據(jù)軟件測試工程的職業(yè)能力要求,對軟件測試課程我們重新把握課程的設(shè)計理念和思路。
(一)課程設(shè)計理念
1、與企業(yè)共建基于工作過程的課程體系
根據(jù)專業(yè)辦學(xué)的定位及特色,《軟件測試》課程的設(shè)計理念是以軟件測試員/測試工程師崗位需求為依據(jù),以培養(yǎng)學(xué)生使用自動化測試技術(shù)進(jìn)行軟件測試的職業(yè)能力為主要目標(biāo),以測試工作的典型工作任務(wù)為導(dǎo)向,堅持以能力為本位的設(shè)計原則,制定突出企業(yè)應(yīng)用能力和素養(yǎng)的課程標(biāo)準(zhǔn),構(gòu)建基于工作過程的系統(tǒng)化課程體系。課程組通過開展課程標(biāo)準(zhǔn)研討會和技術(shù)培訓(xùn)會等形式,聽取企業(yè)專家的建議,修訂軟件測試課程的內(nèi)容,保證課程內(nèi)容與企業(yè)用人需求同步;在課程功能上注重學(xué)生應(yīng)用能力的培養(yǎng),構(gòu)建以掌握軟件測試應(yīng)用能力為特征的理實(shí)一體化的教學(xué)內(nèi)容,做到強(qiáng)化技能、提升業(yè)務(wù)素質(zhì),提高學(xué)生的就業(yè)競爭力和實(shí)際工作能力。
2、和相關(guān)課程構(gòu)成課程群,實(shí)現(xiàn)企業(yè)應(yīng)用項目開發(fā)過程的案例教學(xué)環(huán)境
立足于培養(yǎng)滿足企業(yè)應(yīng)用的軟件項目開發(fā)需要的應(yīng)用型人才,本課程以真實(shí)的軟件實(shí)例項目測試任務(wù)和過程為依據(jù),以現(xiàn)代教學(xué)理念為指導(dǎo),精心進(jìn)行教學(xué)設(shè)計。
在構(gòu)建課程體系[7]時,由專業(yè)建設(shè)及教學(xué)指導(dǎo)委員會,充分調(diào)查分析不斷變化的市場,以企業(yè)應(yīng)用軟件項目開發(fā)為切入點(diǎn),構(gòu)建基于軟件項目開發(fā)過程平臺。將《Java面向?qū)ο蟪绦蛟O(shè)計》、《數(shù)據(jù)庫原理及應(yīng)用》、《軟件工程》、《軟件測試》、《軟件項目綜合實(shí)訓(xùn)》這5門課程,按照專業(yè)培養(yǎng)目標(biāo),掌握計算機(jī)軟件技術(shù)所必需的理論知識和專業(yè)技能,具有較強(qiáng)實(shí)踐能力,能在軟件項目研發(fā)測試一線從事軟件項目需求分析、設(shè)計、編程、測試和軟件產(chǎn)品等工作的高素質(zhì)應(yīng)用型專業(yè)人才的要求,對應(yīng)“軟件工程師”、“軟件測試師”“數(shù)據(jù)庫工程師”等行業(yè)職業(yè)特征,以項目為載體,形成一個有機(jī)整體,整合成“基于企業(yè)應(yīng)用軟件項目開發(fā)過程”,組建了課程群。其中《Java面向?qū)ο蟪绦蛟O(shè)計》、《數(shù)據(jù)庫原理及應(yīng)用》是專業(yè)核心基礎(chǔ)課程,《軟件工程》、《軟件測試》、《軟件項目綜合實(shí)訓(xùn)》是專業(yè)核心必修課。通過“軟件項目的需求分析、設(shè)計、編程和測試技術(shù)”這個鏈將這五門課程緊緊聯(lián)系在一起,并能帶動軟件技術(shù)、網(wǎng)絡(luò)工程、計算機(jī)信息管理、計算機(jī)應(yīng)用技術(shù)等幾個專業(yè)的協(xié)調(diào)發(fā)展。
(二)設(shè)計思路
1、以軟件測試工程師對軟件測試的能力要求為主線,設(shè)計課程體系,強(qiáng)化“工程屬性”,突出“項目色彩”。
在課程體系設(shè)計中,課程組以軟件測試工程師對軟件測試的能力要求為主線,整合“JAVA面向?qū)ο蟪绦蛟O(shè)計”、“數(shù)據(jù)庫原理及應(yīng)用”、“軟件工程”并融合到以多種實(shí)際企業(yè)項目作為案例的“軟件項目綜合實(shí)訓(xùn)”實(shí)踐課程中,經(jīng)過優(yōu)化,強(qiáng)化課程的“工程屬性”和“企業(yè)項目開發(fā)色彩”,將原來在傳統(tǒng)課堂教學(xué)中僅僅通過簡單實(shí)驗無法實(shí)現(xiàn)的“集成測試”、“性能測試”、“系統(tǒng)測試”、“驗收測試”等環(huán)節(jié)在實(shí)際工程項目實(shí)訓(xùn)中得到實(shí)現(xiàn),并努力培養(yǎng)學(xué)生崗位職業(yè)能力。在課程教學(xué)中,堅持以實(shí)際項目案例中的工作任務(wù)為目標(biāo),融理論教學(xué)與實(shí)踐教學(xué)為一體,以案例教學(xué)為導(dǎo)向,結(jié)合學(xué)生考取軟件測試工程師資格證書的實(shí)際需要,加強(qiáng)學(xué)生職業(yè)能力和綜合素質(zhì)的培養(yǎng),提高學(xué)生就業(yè)競爭力。
2、以企業(yè)工程能力培養(yǎng)為重點(diǎn),實(shí)行分階段培養(yǎng)模式
根據(jù)企業(yè)工程能力的形成過程,課程組將教學(xué)內(nèi)容劃分為基礎(chǔ)理論階段、技術(shù)應(yīng)用階段、職業(yè)發(fā)展階段三個階段。其中,基礎(chǔ)理論階段包括測試基礎(chǔ)理論模塊,主要介紹軟件測試的基本理論與技術(shù),測試用例設(shè)計和軟件測試流程,側(cè)重培養(yǎng)學(xué)生的測試思維,了解并掌握軟件產(chǎn)品質(zhì)量保證的基本思想和基本測試流程,以及軟件測試的方法、技術(shù),使學(xué)生能夠設(shè)計出測試案例并通過手動測試實(shí)現(xiàn)測試案例,為全面掌握軟件測試技術(shù),后續(xù)實(shí)施測試和測試項目管理打下堅實(shí)的基礎(chǔ)。技術(shù)應(yīng)用階段包括測試技術(shù)應(yīng)用模塊,主要介紹主流的自動化測試工具,包括IBM系列測試工具、HP QTP、HP LoadRunner,企業(yè)級項目的測試實(shí)施,培養(yǎng)學(xué)生將測試知識和技術(shù)應(yīng)用于自動化測試實(shí)施的能力。職業(yè)發(fā)展階段包括測試項目管理和職業(yè)素質(zhì)教育兩個模塊,主要介紹軟件測試項目管理的相關(guān)技術(shù)和方法、運(yùn)用工程項目方式管理軟件測試過程、測試企業(yè)工作模式和軟件測試人員必備素質(zhì),培養(yǎng)學(xué)生的項目管理能力、團(tuán)隊協(xié)作能力和求職應(yīng)聘能力。
適當(dāng)加入游戲測試、手機(jī)測試、筆記本測試等學(xué)生感興趣的內(nèi)容。我們了解到學(xué)生對游戲測試這部分內(nèi)容很感興趣,那些平時聽課不太認(rèn)真的學(xué)生在這個問題上都舉手要說上幾句,躍躍欲試,也都能說出一二。所以,課程組在軟件測試這門課程中經(jīng)常討論一些游戲測試這部分內(nèi)容,以引起學(xué)生的學(xué)習(xí)興趣。
四、改革教學(xué)模式和教學(xué)方法
(一)教學(xué)模式
本著“教師為主導(dǎo),學(xué)生為主體”的思想,采用雙證培養(yǎng)、分階段培養(yǎng)和教學(xué)做評一體化教學(xué)模式[8]。
1、雙證培養(yǎng)教學(xué)模式
實(shí)行“雙證培養(yǎng)”教學(xué)模式,將學(xué)歷教育與技能學(xué)習(xí)無縫對接,學(xué)生畢業(yè)后不僅能獲得國家承認(rèn)大學(xué)學(xué)歷證書,同時還將獲得國家勞動部高級職業(yè)技能認(rèn)證證書。根據(jù)學(xué)生的能力特點(diǎn),推薦學(xué)生考取軟件測試助理工程師、軟件測試工程師、軟件質(zhì)量管理工程師、注冊軟件質(zhì)量保證師(國際認(rèn)證)等資格證書。雙證教育使學(xué)生專業(yè)能力更強(qiáng)、職業(yè)素養(yǎng)更高、綜合素質(zhì)更好、更符合企業(yè)用人標(biāo)準(zhǔn)。
2、教學(xué)做評一體化教學(xué)模式
將教學(xué)場所直接設(shè)在實(shí)訓(xùn)實(shí)驗室,師生雙方邊教邊學(xué)邊做,理論和實(shí)踐交替進(jìn)行,把課堂教學(xué)轉(zhuǎn)向工作情境,課堂由教師為主轉(zhuǎn)向以學(xué)生為中心,突出學(xué)生動手能力和專業(yè)技能的培養(yǎng),充分調(diào)動和激發(fā)學(xué)生學(xué)習(xí)興趣。學(xué)生真正變成了學(xué)習(xí)的主人,而老師只是一個引導(dǎo)者或答疑解惑者,可以培養(yǎng)學(xué)生的終生學(xué)習(xí)能力,對加強(qiáng)學(xué)生的計算機(jī)動手操作能力和解決實(shí)際問題的能力也有很大好處。
最后教師跟大家一起對實(shí)驗結(jié)果進(jìn)行講評,并對表現(xiàn)優(yōu)秀的學(xué)生給予鼓勵,同學(xué)們情緒高漲,學(xué)習(xí)積極性高。
(二)教學(xué)方法
根據(jù)學(xué)生的實(shí)際情況,綜合采用多種教學(xué)方法[9][10]。
1、項目導(dǎo)向教學(xué)法
以從企業(yè)精選的項目為載體,在授課過程中對項目進(jìn)行分解,根據(jù)學(xué)生的個性和他們的意愿分配不同的角色,并引導(dǎo)學(xué)生練習(xí)操作,體驗項目流程,從而形成規(guī)范的開發(fā)意識和良好的IT職業(yè)素質(zhì)。學(xué)生在校內(nèi)所學(xué)習(xí)到的軟件開發(fā)中的各類案例,在實(shí)際工作中能夠及早地進(jìn)行規(guī)劃。
本課程以物流信息網(wǎng)這個項目為主線,把整個課程的教學(xué)演變成一系列的教學(xué)情境。按照實(shí)際工作中項目開發(fā)流程的順序,依次展開,將“顯性”的知識灌輸,變?yōu)椤半[性”的能力培養(yǎng)。通過具體項目的實(shí)施,引導(dǎo)學(xué)生在完成項目的過程中,掌握知識,培養(yǎng)能力。
2、任務(wù)驅(qū)動教學(xué)法
在課堂教學(xué)活動中,如果采用傳統(tǒng)教學(xué)方法,很難激發(fā)學(xué)生學(xué)習(xí)興趣。應(yīng)該采用任務(wù)驅(qū)動教學(xué)方法,把一個項目分解為若干個大任務(wù),每一個大任務(wù),又分解為若干個小任務(wù),將任務(wù)資料發(fā)給學(xué)生。學(xué)生在教師的引導(dǎo)下,課下先要進(jìn)行消化,然后查閱各種必要的資料,理解知識并思考提出解決問題的方法。課上教師答復(fù)學(xué)生的問題,并引導(dǎo)學(xué)生更深層次的思考。通過這種方法充分調(diào)動學(xué)生的學(xué)習(xí)積極性,提高學(xué)習(xí)興趣,使學(xué)生既學(xué)會理論知識又學(xué)會用理論知識解決實(shí)際工程中的問題。
3、啟發(fā)式教學(xué)法
教師根據(jù)課程教學(xué)目的、內(nèi)容、學(xué)生的知識水平和認(rèn)知規(guī)律,采用啟發(fā)誘導(dǎo)方法傳授知識。該方法能夠充分調(diào)動學(xué)生學(xué)習(xí)的積極性、主動性,促使學(xué)生獨(dú)立思考、判斷、歸納解答。能較好的培養(yǎng)學(xué)生學(xué)習(xí)能力,達(dá)到觸類旁通的教學(xué)效果。
4、小組教學(xué)法
將班內(nèi)學(xué)生分成若干個測試小組,每小組成員不超過7人,每組分配不同的軟件項目任務(wù)。小組成員模擬與體驗軟件測試全過程工作職位和角色,使學(xué)生全過程適應(yīng)工作職位的要求。
各項目小組在測試項目過程中,針對不同的開發(fā)階段,撰寫各開發(fā)階段相應(yīng)的文檔,并制定相應(yīng)的測試計劃,設(shè)計典型測試用例,使用不同的軟件測試技術(shù)和測試工具,完成不同的測試目標(biāo),并進(jìn)行回歸測試,以實(shí)現(xiàn)軟件測試各單項專業(yè)知識與技能整合運(yùn)用的目標(biāo)。在整個測試過程可以體現(xiàn)“學(xué)以致用”的思想,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合。
通過演練項目開發(fā)測試,不僅讓同學(xué)們切身體會到軟件開發(fā)的整個過程,還讓同學(xué)們對軟件開發(fā)中各個角色有充分的了解,同時也更深刻的體會到團(tuán)隊合作的重要性。
五、教師隊伍建設(shè)
加強(qiáng)雙師隊伍[11]建設(shè),堅持“引進(jìn)來,走出去”原則,積極引進(jìn)具有企業(yè)開發(fā)經(jīng)驗的高素質(zhì)人才進(jìn)行課程教學(xué)和實(shí)驗指導(dǎo),同時注重本課題組青年教師隊伍的培養(yǎng)。采用分批次選派青年教師參加山東大學(xué)齊魯軟件學(xué)院暑期實(shí)訓(xùn)和定期組織青年教師去軟件公司實(shí)習(xí)等方式,將企業(yè)的軟件測試經(jīng)驗直接帶到教學(xué)中,提高教師的教學(xué)水平。
我們定期引進(jìn)一些軟件公司的軟件測試人員或者聘請這方面的專業(yè)人士為教師、學(xué)生做定期講座,以彌補(bǔ)我們在教學(xué)實(shí)踐方面的缺陷。
六、實(shí)驗實(shí)訓(xùn)條件建設(shè)
為培養(yǎng)應(yīng)用型人才,本課程注重從不同側(cè)面提高學(xué)生的實(shí)踐能力。一方面,強(qiáng)化課內(nèi)實(shí)驗教學(xué),在校內(nèi)建有多個實(shí)訓(xùn)實(shí)驗室,另一方面,與校外多家企業(yè)建立合作關(guān)系,為學(xué)生提供實(shí)訓(xùn)實(shí)習(xí)平臺,開展產(chǎn)學(xué)研合作,構(gòu)建校企合作培養(yǎng)人才的新模式。
本課程組注重密切與行業(yè)和企業(yè)的聯(lián)系,與多家軟件公司進(jìn)行長期合作,建立了校外實(shí)習(xí)實(shí)訓(xùn)基地[12],為學(xué)生提供了生產(chǎn)性實(shí)訓(xùn)和頂崗實(shí)習(xí)的場所,在真實(shí)的職業(yè)環(huán)境中完成真實(shí)軟件產(chǎn)品的開發(fā),體驗企業(yè)文化,培養(yǎng)職業(yè)態(tài)度和習(xí)慣。學(xué)生畢業(yè)后可成為這些公司的正式員工,真正實(shí)現(xiàn)了學(xué)校、企業(yè)、學(xué)生三方受益。
七、改革考核方式
大膽改革課程考核方式[13],采用30%平時成績+30%實(shí)驗成績+10%項目考核成績+30%期末考試成績方式。平時成績主要考核學(xué)生的課堂討論情況、課后作業(yè)完成情況及課后自學(xué)情況。實(shí)驗成績根據(jù)學(xué)生在實(shí)驗中的測試用例設(shè)計和操作情況,以及測試小組的分工合作情況給以評分。項目考核主要采用項目答辯的形式考核學(xué)生對基礎(chǔ)知識的理解和掌握情況,由教師、行業(yè)專家、學(xué)生代表組成專家組給予評分。這種考核方式更注重的是對學(xué)生學(xué)習(xí)過程和實(shí)踐操作水平的考核,避免學(xué)生為考試而學(xué)習(xí),死記硬背現(xiàn)象。
八、小結(jié)
通過對基于工作過程的軟件測試應(yīng)用型人才培養(yǎng)模式的探索研究,學(xué)院已取得了實(shí)質(zhì)性進(jìn)展,建立了軟件測試課程教學(xué)團(tuán)隊和軟件測試實(shí)驗實(shí)訓(xùn)基地。學(xué)生的軟件測試綜合應(yīng)用能力有明顯的提升,得到用人單位的好評,提高了學(xué)生的就業(yè)率。
參考文獻(xiàn):
[1]龔宇輝.軟件測試課程教學(xué)改革研究[J].教育與職業(yè),2010(24):130-131.
[2]溫艷冬,石冬凌.軟件測試課程三級項目教學(xué)實(shí)踐[J].計算機(jī)教育,2010(22):77-79.
[3]胡宏銀.軟件測試課程教學(xué)方法探討與實(shí)踐[J].計算機(jī)教育,2007(03):11-13.
[4]http:///link?url=5xO-IodKMsEhsyUjQhIeqybDGR-8AypYffsnAnZdMWpLRpgEhLehfzGEROxq9fIC.
[5]孫金華.軟件測試人才培養(yǎng)與課程構(gòu)建的探索[J].計算機(jī)時代,2009(6):68-71.
[6]鐘素芬,葉明芷.軟件測試應(yīng)用性人才培養(yǎng)模式的探索與實(shí)踐[J].北京聯(lián)合大學(xué)學(xué)報(自然科學(xué)版),2007(03) :89-92.
[7]田小霞.軟件測試人才培養(yǎng)的探索[J].福建電腦,2013(02):181-182.
[8]劉育熙,耿雪春.面向應(yīng)用的軟件測試人才綜合能力培養(yǎng)模式研究[J].教育與職業(yè),2009(11):111-112.
[9]范洪輝,朱洪錦,朱廣萍.“軟件測試技術(shù)與軟件質(zhì)量”課程教學(xué)改革探索[J].江蘇技術(shù)師范學(xué)院學(xué)報,2012(12):151-153.
[10]周改云,馬麗.行動導(dǎo)向教學(xué)在軟件測試技術(shù)課程中的應(yīng)用[J].電子測試,2013(04):192-194.
[11]蘭景英.構(gòu)建應(yīng)用型軟件測試人才培養(yǎng)實(shí)踐教學(xué)體系[J].黑龍江教育學(xué)院學(xué)報,2011,(05):78-80.
[12]蘭景英.應(yīng)用型軟件測試人才培養(yǎng)模式探索與實(shí)踐[J].濰坊教育學(xué)院學(xué)報, 2011,(04):78-80.
[13]葉振,杜斌.開放式軟件測試教學(xué)實(shí)踐探索[J].現(xiàn)代企業(yè)教育,2011(01):140-141.
基金項目:
山東協(xié)和學(xué)院教改項目(2012xh01)。
作者簡介:
李兆翠(1980.1-),女,山東莒南人,碩士,講師,研究方向:軟件工程。
篇7
關(guān)鍵詞:軟件測試 軟件工程,質(zhì)量
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2010) 05-0000-02
Views on Raise the Level of Small&Medium Software Companies Test
Zhou Pijian
(GangXi NanNing YingTai Career Training School,Nanning530022,China)
Abutract:This article describes the small and medium-sized software companies to improve software-testing level of insight.Including the management,implementation and technical aspects.
Keywords:Software testing;Software engineering;Quality
隨著軟件技術(shù)的發(fā)展,軟件測試的地位越來越被人們重視,測試技術(shù)的發(fā)展也日新月異,甚至出現(xiàn)了專門的軟件測試公司。在這樣的潮流下,我國的軟件公司受到了很大的沖擊,沒有測試就沒有質(zhì)量的觀念被越來越多的管理者所認(rèn)識,對我國軟件行業(yè)中占據(jù)主導(dǎo)地位的中小軟件企業(yè)來說,硬件,環(huán)境,人力等各方面力量相對不足情況下,不可能向微軟等大公司那樣去實(shí)施軟件測試,那如何在現(xiàn)有的條件下進(jìn)行改善呢?根據(jù)自己以前所在公司的一些測試經(jīng)歷,總結(jié)了一些經(jīng)驗,希望對我國中小軟件公司的測試發(fā)展提供一些新的思路。
軟件測試作為軟件工程的一個有機(jī)組成部分,其過程就是以發(fā)現(xiàn)錯誤,檢驗是否滿足需求為目標(biāo)。在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤并修正,才可保證軟件的質(zhì)量。據(jù)有關(guān)統(tǒng)計,在整個軟件開發(fā)的成本中,測試上的開銷要占40%到50%。放眼世界,好的IT公司對軟件測試的重視程度也發(fā)生了新的變化;美國硅谷地區(qū),凡是軟件開發(fā)企業(yè)或是設(shè)有軟件開發(fā)部門的公司,都有專門的軟件測試單位,其中軟件測試人員的數(shù)量相當(dāng)于軟件開發(fā)工程師的四分之三,負(fù)責(zé)軟件測試的質(zhì)量保證經(jīng)理的職位與軟件開發(fā)的主管是平行的;作為軟件行業(yè)老大的微軟公司,在其內(nèi)部,軟件測試人員與軟件開發(fā)人員的比率一般為1.5―2.5左右,從其軟件開發(fā)的成功實(shí)踐過程表明這種人員結(jié)構(gòu)的配比是非常合理和正確的;在軟件產(chǎn)業(yè)發(fā)展較快的印度,軟件測試在軟件企業(yè)中同樣擁有舉足輕重的地位。由此可見軟件測試是多么地重要!
相對而言,我國的現(xiàn)狀是:軟件開發(fā)行業(yè)主要由中小型軟件公司組成,在人員數(shù)量上少則不到十來人,多則幾十人,卻少有上百人的。由于人員數(shù)量的不足,很多公司把軟件測試放在了一個可有可無的地位,據(jù)了解,大多軟件公司存在這樣一種狀況:技術(shù)部十來個開發(fā)人員,而竟沒有一個專職測試人員,等到軟件產(chǎn)品將要交付給客戶時,則對整個產(chǎn)品進(jìn)行交互測試,而測試的工作常常是胡亂地交給市場部的銷售員或維護(hù)員去瞎折騰,常常會發(fā)現(xiàn)很多錯誤,甚至是低級的BUG,由于整個過程省去了中間的測試,很多時候造成無法找出錯誤的原因,使得軟件產(chǎn)品的生產(chǎn)不得不修改計劃,影響了最后交付的時間,很多時候使得開發(fā)過程混亂、無序。造成了很大的損失。另外,即使是有專職測試人員的公司,其測試人員的數(shù)量、地位、待遇、重視等都遠(yuǎn)遠(yuǎn)不及開發(fā)人員。因而造成軟件測試都是不足的,開發(fā)出來的軟件產(chǎn)品存在相當(dāng)多的漏洞,軟件產(chǎn)品的質(zhì)量得不到保證上,甚至交付產(chǎn)品后還常常從不斷地從客戶處得到BUG,造成了很不好的影響。 因此,加強(qiáng)軟件測試,特別是中小軟件公司的軟件測試及水平是提高產(chǎn)品質(zhì)量的重中之重,是企業(yè)要立足于市場的根本。
要如何提高中小軟件公司的軟件測試水平呢?就我的經(jīng)歷而言,一是把軟件測試的認(rèn)識和管理提高到相當(dāng)?shù)母叨?;二是提高測試技術(shù)。特別是認(rèn)識和管理提高到位了,產(chǎn)品的質(zhì)量就會改善很多。
其一,軟件企業(yè)要從思想上的發(fā)生轉(zhuǎn)變,每個員工都要意識到軟件測試不僅是在軟件開發(fā)完成后執(zhí)行,而且是在軟件開發(fā)的各個階段都要參與執(zhí)行。在此基礎(chǔ)上提高自動化軟件測試手段才能提高軟件的質(zhì)量。因此,對軟件開發(fā)來說,其重心不僅要關(guān)注設(shè)計、編碼階段,更要關(guān)注在測試等關(guān)鍵點(diǎn)上。作為領(lǐng)導(dǎo),這一點(diǎn)要帶頭領(lǐng)悟到。
我所在的公司老板和項目經(jīng)理曾經(jīng)做過這樣一種方案:快速完成所有的編碼,完成后進(jìn)行所謂的測試,測試出現(xiàn)問題后再進(jìn)行修改,以為這樣能達(dá)到最快的速度和質(zhì)量,但是,事實(shí)證明,沒有把測試分發(fā)到代碼制作的各個環(huán)節(jié),最后的結(jié)果是發(fā)現(xiàn)一大堆的錯誤,甚至有些是至命的錯誤,使得產(chǎn)品根本無法在計劃的時間內(nèi)完成,造成時間不足,修改程序時匆匆忙忙,甚至不能按正常流程走,使得產(chǎn)品做得很粗糙,遞交到客戶手中后還發(fā)現(xiàn)相當(dāng)多的問題,給后期的維護(hù)造成了很大的困難,記得當(dāng)時我們的客戶遍布全區(qū),維護(hù)的工作量非常大,經(jīng)常超出原來的維護(hù)計劃,造成成本上成倍增加,給公司帶來了很大的損失?;谶@種現(xiàn)象,公司的領(lǐng)導(dǎo)在后一版的開發(fā)中,加大了測試的力量和過程,使得后一版不僅在規(guī)定的時間內(nèi)完成,效果也比上一版好得多,在成本上也節(jié)省了很多。真的是體會到了“將測試滲入到軟件開發(fā)的各個階段”的多多好處。
在中小軟件企業(yè)中存在這樣一種現(xiàn)象:很多企業(yè)會喜歡讓那些經(jīng)驗最少的新手、效率低下的開發(fā)者或不適合干其他工作的人去做測試工作,認(rèn)為這樣可以最佳的利用資源,因為在他們的觀念中存在這樣的理念:測試是沒有技術(shù)含量的,只要多用用軟件就可找到錯誤。正是這樣的理念造成了企業(yè)測試水平低下,成本花費(fèi)高。如要改變這種情況,就得好好的認(rèn)識什么是測試,一個合格的測試工程師應(yīng)具有那些基本素質(zhì)?
以下是針對企業(yè)當(dāng)前情況,對測試工程師基本素質(zhì)進(jìn)行了如下的總結(jié):
1. 態(tài)度上:對軟件測試要有濃厚的興趣,有耐心,有意力。
2. 技術(shù)能力:
(1) 具備計算機(jī)的基礎(chǔ)知識和測試專業(yè)知識這樣的技術(shù)能力
(2) 有一定的編程經(jīng)驗,程序相當(dāng)于程序員
(3) 能從使用者的角度出發(fā),根據(jù)開發(fā)使用的設(shè)備、技術(shù)等特點(diǎn)來設(shè)計測試用例
3. 溝通能力:能很好地合項目經(jīng)理、開發(fā)人員、客戶、市場人員溝通,從溝通中歸納出有用的信息
4. 嚴(yán)謹(jǐn)、敢于承擔(dān)責(zé)任、穩(wěn)重的做事風(fēng)格:測試中要考濾多方面,發(fā)現(xiàn)錯誤要正確面對,急時糾正。
5. 具有懷疑與進(jìn)取的精神:不能以常規(guī)的思路來做,要設(shè)計一些非常規(guī)的、相反的測試用例,沒有懷疑和進(jìn)取的精神那只能是原地踏步,沒有進(jìn)展
6. 善于自我總結(jié)、自我督促,積極學(xué)習(xí):測試是一種即繁瑣又枯燥無味的工作,做多了你會覺得似乎一成不變,不總結(jié),督促自己那就會陷入一種做事無動力的狀況,積極學(xué)習(xí)不斷出現(xiàn)的新的測試工具。
其二,管理要加強(qiáng),軟件測試管理不能隨意、簡單地做,不能沒建立有效、規(guī)范的體系就動手測試,哪出問題就先補(bǔ)救哪,因為這會把測試人員常被弄得疲憊不堪,很多時間被耗費(fèi)在單調(diào)無聊的補(bǔ)救工作上,使得測試人員失去了興趣,陷入瓶頸,工作效率、能力不僅得不到提高,甚至是下滑。而建立有規(guī)劃的,可行的軟件測試管理體系能使用測試人員事半功倍,提高工作效率,進(jìn)而提高產(chǎn)品的質(zhì)量。那么,如何建立呢?我認(rèn)為除了參照國際著名軟件公司的做法,更主要的還是結(jié)合自身的特點(diǎn)、軟件開發(fā)的體系、測試人員的技術(shù)特點(diǎn)與行為習(xí)慣等等建立一套符合自身公司體系。目前,很多小公司的人手不是很足,要建一個和軟件工程中所描述的測試體系是非常不現(xiàn)實(shí)的,就我看來,除了公司本身要設(shè)立單獨(dú)的測試崗位,到少一個測試經(jīng)理,一個測試員外,開發(fā)人員還得擔(dān)負(fù)一定的測試任務(wù)。測試經(jīng)理主要參與測試的規(guī)劃和過程管理以及設(shè)計階段的測試,測試員主要是負(fù)責(zé)測試用例的編寫和相應(yīng)的編碼測試,而開發(fā)人員在完成自己的編碼任務(wù)后,則參與到單元測試來,配合測試人員完成相應(yīng)的測試工作。整個過程中要求開發(fā)和測試要合協(xié),要測試經(jīng)理與項目經(jīng)理做好協(xié)調(diào),一起參與項目的調(diào)研,需求分析并認(rèn)真地做好文檔測試,因為把好這關(guān),源頭正了,下面也就好做了。在實(shí)際過程中不論遇到什么困難,都要按照規(guī)定的步驟來實(shí)現(xiàn),不能跳過去。一旦出現(xiàn)違反規(guī)定的作法,不論什么原因,公司都要給予懲罰。相信經(jīng)過這樣的實(shí)施,測試的框架就基本上建起了。
其三,測試的實(shí)施過程要強(qiáng)調(diào)流程,否則,常常也會是事與愿違。
1. 在初始開發(fā)階段,測試經(jīng)理要和項目經(jīng)理參與總體設(shè)計,協(xié)商并擬訂開發(fā)規(guī)范,并交給由開發(fā)人員和項目管理人員評審。根據(jù)提出的意見,對規(guī)范進(jìn)行修改,并提交高層審核。這樣可發(fā)揮各方面的積極性,對公司領(lǐng)導(dǎo)而言,他們的參與加強(qiáng)了對整個開發(fā)的監(jiān)督;對于開發(fā)人員而言,由于是他們提出的,就不會出現(xiàn)把發(fā)現(xiàn)錯誤的責(zé)任全部推給測試人員,甚至作到提前預(yù)防錯誤、減少潛在危險的發(fā)生,測試人員也會加深地規(guī)范的理解,相互間的牽制,保證了開發(fā)的質(zhì)量。
2. 形成需求分析后,測試經(jīng)理要對分析報告做一個詳細(xì)的測試,根據(jù)需求的實(shí)際內(nèi)容招集相關(guān)的人員,包括市場、開發(fā)、測試的人員,有可能也請來客戶,由項目經(jīng)理對各項各條給予適當(dāng)?shù)闹v解,與會人員對提出的問題,提出不足,并給予評介,特別是把握計劃中的不變與可變的地方,并由此做出測試的標(biāo)準(zhǔn)。例如:設(shè)計報表時是要設(shè)計靈活變化的還是要一層不變的?得從參與會議的市場、維護(hù)人員及請來的客戶處了解客戶的實(shí)際使用情況,包括年齡、計算使用水平、業(yè)務(wù)水平等。
3. 在單元測試時要把開發(fā)人員的“白盒測試”與測試人員的 “黑盒測試”相互配合。
4. 集成測試:通過化整為一的方法來進(jìn)行,主要以黑盒的方式來進(jìn)行。記住兩模塊接合好后就得馬上測試,通過后才能與第三模塊接合。
5. 驗收測試:多方人員參與,包括市場,用戶,專職維護(hù)人員。這時主要改善界面的統(tǒng)一性,美觀性,易用性。
6. 加強(qiáng)文檔測試,測試人員要加強(qiáng)與開發(fā)人員的溝通,對開發(fā)人員提供的文檔加以細(xì)化,做到重點(diǎn)突出,內(nèi)容規(guī)范,例如:模塊的描述使用功能流程圖、數(shù)據(jù)流程圖及用例來描述,這使用整個過程理清思路、邏輯性加強(qiáng),更易于閱讀。在詳細(xì)程度上可簡略些,但隨著開發(fā)過程的深入要進(jìn)一步完善,因為這些文檔都是單元測試中的標(biāo)準(zhǔn)。
7. 加強(qiáng)人的主觀能動性,不論是手工還是自動的方式,都要參與評審,以人的實(shí)際為重。
其四,根據(jù)公司軟件產(chǎn)品的特點(diǎn),有針對性地對提高測試人員的測試技術(shù)和技巧,不要盲從。下面從兩個方面加以描述:
1. “白盒測試”要把握如下:
(1) 正確性測試:檢查軟件的功能是否符合規(guī)格說明。一般通過減少枚舉的次數(shù),尋找合適的等價區(qū)間。如(A,B)是命題F(X)的一個等價區(qū)間,在(A,B)中任意取X1進(jìn)行測試。如果F(X1)錯則在整個區(qū)間上都錯,如正確,則都正確。
(2) 邊界值測試:用定義或者等價區(qū)間的邊界值進(jìn)行測試。如測試f(x)=√x的一段程序,憑直覺等價區(qū)間就是(0,1)和(1,+∞)。可取經(jīng)x=0。5以及x=2。0進(jìn)行等價測試?,F(xiàn)取x=0以及x=1進(jìn)行邊界。
(3) 容錯性測試:測試異常條件下的行為。如輸入錯誤的數(shù)據(jù)類型,輸入域之外的數(shù)值。
(4) 性能和效率:測試運(yùn)行速度和對資源的利用率。
(5) 易用性測試:。一般以用戶不翻閱手冊就可使用軟件為目的。
2. “黑盒測試”,要把握如下:
(1) 等價類劃分:設(shè)計測試用例要以需求規(guī)格說明書為依據(jù),把說明中對輸入和輸出的要求加以區(qū)別和分解。即把程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測試用例,沒有必要用窮舉測試。
(2) 邊界值分析:選擇等價類邊界的測試用例來測試。對邊界附近的處理必須給予足夠的重視,,加強(qiáng)這方面常常可以取得良好的測試效果。特別地,一旦發(fā)現(xiàn)的錯誤就得及時更改,更改后重新測試。
綜上所述,是對中小軟件企業(yè)提高測試的一些行之有效的見解,但不一定適用于所有的軟件企業(yè),因為各軟件企業(yè)存在的問題不同,所處的情況也不同。希望以上的見解可以給大家一些提示,達(dá)到提高各自的測試水平。
參考文獻(xiàn):
[1]朱少民.全程軟件測試[J].電子工業(yè)出版社,2007
[2]微軟的軟件測試之道 Alan Page KenJohnston Bj Rollison 機(jī)械工業(yè)出版社,2009
[3]王宇.軟件測試的實(shí)現(xiàn)和理想[J].中國計算機(jī)報,2003
[4]王立福.軟件工程[J].北京大學(xué)出版社,2009
篇8
1.1論文背景和意義
隨著IT產(chǎn)業(yè)的快速發(fā)展,計算機(jī)已經(jīng)影響到人類生活的各個方面,從而不斷改變著世界⑴。從個人計算機(jī),到超市或銀行的終端,到國防科技和航天領(lǐng)域,甚至到現(xiàn)在的嵌入式手機(jī),計算機(jī)都占有一個很重要的角色,因此,計算機(jī)已經(jīng)深入到生活工作中的各個方面。正是由于計算機(jī)在游戲、通信、交通、金融、軍事、電力、航天等重要領(lǐng)域越來越廣泛的應(yīng)用,計算機(jī)發(fā)展的規(guī)模也FI益壯大、復(fù)雜、多功能化,而且對計算機(jī)質(zhì)量的要求也越來越高。在這個信息化的時代,IT產(chǎn)業(yè)迅速發(fā)展,尤其是硬件率先發(fā)展。硬件的發(fā)展主要體現(xiàn)在質(zhì)和量的方面,不僅數(shù)量越來越多,而且質(zhì)量也得到了保證。相比較而言,軟件雖然發(fā)展也很迅速,但主要是體現(xiàn)在量的方面,質(zhì)的問題一直存在。隨著軟件規(guī)模不斷的擴(kuò)大,軟件的質(zhì)量保證逐漸成為人們所關(guān)心的焦點(diǎn)。軟件幵發(fā)人員試圖通過研究更好的開發(fā)過程來保證軟件的質(zhì)量,但結(jié)果是事倍功半,所以對軟件進(jìn)行測試是保證軟件質(zhì)量最可靠有效的辦法。
軟件測試是軟件生命周期中的重要階段,是軟件質(zhì)量保證的關(guān)鍵步驟,也是軟件工程的重要組成部分。軟件測試的效果直接影響到軟件產(chǎn)品的質(zhì)量。然而,做好軟件測試卻是不容易的,一方面產(chǎn)品必須給予軟件測試充分的獨(dú)立性和資源保證;另一方面,測試人員需要同時掌握軟件開發(fā)的技能和軟件測試的技能。通過軟件測試找出軟件存在的錯誤,分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時進(jìn)行改進(jìn)[2]。同時,對于軟件錯誤的分析也能幫助測試人員設(shè)計出具有針對性的測試方法和測試用例,改善測試的效率和有效性。沒有發(fā)現(xiàn)錯誤的測試同樣有價值,完整的測試是評定軟件質(zhì)量的一種方法。
自動化測試框架是測試習(xí)慣和思想的集合。自動化測試框架具有很多優(yōu)點(diǎn),首先它可以確保代碼的一致性,對于回歸測試支持修復(fù)后再測試,從而提高了系統(tǒng)的可信賴度。其次,它可1以提高代碼的重用性,從而提高了代碼的生產(chǎn)效率,同時也減少了不必要的代碼,進(jìn)而提高了測試代碼的執(zhí)行效率。最后,它將重構(gòu)概念作為其核心思想,使代碼的適用性更強(qiáng),從而提高了測試代碼的質(zhì)量。自動化測試框架可以分成兩個層次。第一層主要是測試腳本的設(shè)計,利用與之相關(guān)的測試工具,開發(fā)對應(yīng)的測試驅(qū)動,從而完成測試的業(yè)務(wù)邏輯。第二層是建立在第一層之上,這一層的主要作用是管理整個自動化測試,包括自動化測試用例的執(zhí)行順序、自動化測試框架的開發(fā)、執(zhí)行和維護(hù),也包括對第一層測試腳本的維護(hù)以及管理測試任務(wù)和測試報告等,在工程量大的項目中可以提現(xiàn)出它的重要作用。自動化測試雖然可以節(jié)約成本,提高測試效率,但它也有著適用范圍。一般來說,自動化測試普遍用于三種情況,一是產(chǎn)品型項目,新版本是在舊版本的基礎(chǔ)上進(jìn)行改進(jìn),功能變化不大的項目,但項目的新老功能都必須重復(fù)的測試。二是回歸測試,自動化測試主要應(yīng)用于回歸測試,回歸測試能夠有效的驗證舊的缺陷是否修正,同時查看是否引入新的缺陷,在某種意義上,自動化測試工具也叫做回歸測試工具。三是機(jī)械且頻繁的測試,每次需要輸入相同、大量的一些數(shù)據(jù),并且在一個項目中運(yùn)行的周期比較長。
本文以甲骨文的中間件產(chǎn)品Tuxedo及其附屬產(chǎn)品為測試對象,以STAF(Software Test Automation Framework,自動化測試框架)作為測試引擎分析并實(shí)現(xiàn)的一個測試框架ATTE。
1.2國內(nèi)外發(fā)展現(xiàn)狀
在計算機(jī)軟件日新月異的今天,軟件測試正在成為軟件工程領(lǐng)域里的一個非常矚目的趨勢和地位,國內(nèi)外許多學(xué)者和組織在軟件測試方面投入了大量的研究工作,而且很多軟件公司正在或已經(jīng)在企業(yè)測試團(tuán)隊內(nèi)部實(shí)施軟件測試流程和框架,這就形成了許多經(jīng)典的軟件測試技術(shù)和流程管理規(guī)范[3]。
在全球最大的個人計算機(jī)軟件公司微軟,一個傳統(tǒng)的項目開發(fā)中,測試的工程師比編碼的工程師多很多,也就是說微軟公司在測試方面的工作要比編碼上的工作多很多。在國外尤其是美國,IEEE和ACM等組織已經(jīng)制定了一系列的軟件測試規(guī)范,還有許多公司如 Rational Corporation、Mercury Interactive> Compuware等都是著名的軟件測試工具供應(yīng)商,這些公司生產(chǎn)的測試工具在全國市場占了很大的比例。我國當(dāng)前使用的很多主流軟件測試工具都是國外的產(chǎn)品,可見國外的軟件測試工具的開發(fā)已經(jīng)形成了成熟的產(chǎn)業(yè)[4]。
2軟件測試概述
隨著信息技術(shù)的快速發(fā)展,計算機(jī)軟件已經(jīng)應(yīng)用到社會的各個領(lǐng)域,例如科學(xué)、教育、文化、生活、國防科技等。而軟件質(zhì)量問題也成為人們所關(guān)心的焦點(diǎn)。人們對軟件依賴的程度越高,對其可靠性就要求的越高。然而,對于計算機(jī)軟件來說,不論采用什么樣的技術(shù)或者方法,軟件存在缺陷是不可避免的。采用新的編程語言,先進(jìn)的開發(fā)技術(shù),完善的開發(fā)管理,可以減少缺陷的引入,但是不可能完全杜絕缺陷的存在。因此,需要采用相應(yīng)的措施來發(fā)現(xiàn)并解決這些缺陷,所以首要的任務(wù)就是發(fā)現(xiàn)這些缺陷,這就需要靠軟件測試來實(shí)現(xiàn)。
2.1軟件測試的目的
表面上看,軟件測試的目的是要證明程序有故障存在,并且要盡可能的多、盡可能早地發(fā)現(xiàn)程序中的錯誤
。實(shí)際上,暴露問題不是軟件測試的最終目的,發(fā)現(xiàn)問題是為了解決問題,只有解決了問題,軟件的質(zhì)量提高了,才達(dá)到了測試的最終目的。 3ATTE測試框架需求分析................19
3.1Tuxedo的測試特點(diǎn)................19
3.2Tuxedo的測試周期................20
3.3測試現(xiàn)狀分析................21
3.4新測試框架的需求................22
4ATTE測試框架系統(tǒng)設(shè)計................23
4.1ATTE總體架構(gòu)................23
4.2公共模塊設(shè)計................ 24
4.3配置模塊設(shè)計................27
4.4用例模塊設(shè)計................30
5ATTE測試框架實(shí)現(xiàn)................33
5.1公共模塊的實(shí)現(xiàn)................33
5.2配置模塊的實(shí)現(xiàn)................44
5.3用例模塊的實(shí)現(xiàn)................46
5.4ATTE異常處理控制................48
篇9
關(guān)鍵詞:應(yīng)用型本科;分層次教學(xué);軟件測試;教學(xué)改革
中圖分類號:G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2016)24-0169-02
一、軟件測試行業(yè)現(xiàn)狀
近年來,我國IT軟件產(chǎn)業(yè)呈現(xiàn)迅猛發(fā)展的態(tài)勢,但是由于許多國內(nèi)軟件企業(yè)存在著“重開發(fā),輕測試”的傾向和認(rèn)識的誤區(qū),往往導(dǎo)致在軟件開發(fā)工程師開發(fā)出一個軟件后,卻沒有一個好的軟件測試工程師對軟件項目進(jìn)行測試,從而導(dǎo)致所開發(fā)的產(chǎn)品出現(xiàn)質(zhì)量問題,這也從側(cè)面突顯了我國軟件測試人才的極度匱乏。國外IT企業(yè)中的軟件測試與軟件開發(fā)人員的比例一般維持在1∶1左右,而在國內(nèi)的一些IT企業(yè)中,這一比例卻僅在1∶4~1∶5之間。因此,高校如何培養(yǎng)符合社會需求的大批高質(zhì)量軟件測試人才,如何盡快建立軟件測試人才的系統(tǒng)培養(yǎng)機(jī)制,進(jìn)而保障軟件業(yè)的健康化發(fā)展,已成為現(xiàn)階段應(yīng)用型本科院校人才培養(yǎng)極為艱巨和緊迫的任務(wù)。
二、軟件測試課程的現(xiàn)狀
當(dāng)前,《軟件測試》課程已從隸屬于《軟件工程》課程單獨(dú)一章的內(nèi)容發(fā)展成為軟件工程專業(yè)中一門獨(dú)立、必修、核心的課程,甚至有些學(xué)校已經(jīng)單獨(dú)開設(shè)了“軟件測試”這一專業(yè)。筆者結(jié)合近幾年的教學(xué)情況,總結(jié)了該課程中尚存在的若干問題。
1.授課內(nèi)容陳舊,理論知識多、枯燥。隨著軟件開發(fā)技術(shù)的發(fā)展和進(jìn)步,當(dāng)前軟件測試領(lǐng)域不斷涌現(xiàn)出新的測試?yán)碚?、測試技術(shù)、測試方法及測試工具,如:敏捷開發(fā)所引起的敏捷測試技術(shù)、探索式測試技術(shù)及快速迭代測試技術(shù),不斷普及的自動化測試催生了大量自動化測試工具的產(chǎn)生及應(yīng)用,等等。而反觀當(dāng)下大多數(shù)與軟件測試有關(guān)的教材及參考書,絕大部分仍以傳統(tǒng)而深奧的理論知識為主,同時輔以傳統(tǒng)的測試模型及測試方法的介紹,缺乏案例教學(xué)及項目驅(qū)動教學(xué)的實(shí)例,授課內(nèi)容多,一個學(xué)期的課時往往不夠安排,教與學(xué)的過程都顯得極為枯燥乏力。
2.缺乏良好的實(shí)訓(xùn)平臺,實(shí)驗內(nèi)容與理論知識難以結(jié)合。軟件測試按不同的標(biāo)準(zhǔn)可分為不同的類型,如圖1所示。這些不同類型的測試在理論課上往往都會涉及到,但在實(shí)驗課上卻難以一一展開,盡管安排了“2+2”的周課時(即每周2節(jié)理論課+每周2節(jié)實(shí)驗課),但由于受限于實(shí)驗案例的選擇、機(jī)房上機(jī)環(huán)境的配置、缺乏良好的實(shí)訓(xùn)平臺及學(xué)生基礎(chǔ)參差不齊等原因,實(shí)驗內(nèi)容與理論知識始終難以結(jié)合。
3.“重開發(fā),輕測試”的思想普遍存在,學(xué)生疲于應(yīng)付考試,死記硬背多,考完即忘。軟件測試是一門綜合性強(qiáng)、涉及學(xué)科領(lǐng)域多的課程,學(xué)生普遍缺乏具體認(rèn)識,大多存在“重開發(fā)、輕測試”的心理,認(rèn)為只要能把系統(tǒng)開發(fā)出來,做不做測試都無關(guān)緊要。這也導(dǎo)致學(xué)生對這門課的學(xué)習(xí)不夠重視,期末考試也是疲于應(yīng)付,對一些基礎(chǔ)知識甚至是軟件測試領(lǐng)域中的常識問題,不注重理解,死記硬背,其結(jié)果必然是背得快、忘得也快?;究己私Y(jié)束之后,所有的知識點(diǎn)也都還給授課教師了。
三、分層次概念的提出
“分層次教學(xué)”的思想源于孔子提出的“因材施教”。目前“分層次教學(xué)”的思想在高等教育領(lǐng)域尚處于探索與研究階段,為適應(yīng)社會和經(jīng)濟(jì)發(fā)展對工程創(chuàng)新型人才的需求,龍巖學(xué)院信息工程學(xué)院積極推行“應(yīng)用型本科人才培養(yǎng)模式改革與實(shí)踐”的人才培養(yǎng)方案,不斷在專業(yè)培養(yǎng)方案、教學(xué)模式、課程體系及教學(xué)方法和手段等方面進(jìn)行創(chuàng)新和變革,以期提高教學(xué)效果和人才培養(yǎng)質(zhì)量。軟件工程專業(yè)在上述大環(huán)境下,根據(jù)自身特點(diǎn)和社會市場對軟件人才的需求,對課程體系進(jìn)行重新調(diào)整,并按照專業(yè)能力分階段、分層次的培養(yǎng)目標(biāo),運(yùn)用宏觀調(diào)配的方法對課程體系各知識模塊進(jìn)行整合與優(yōu)化。
四、擬采取的措施
《軟件測試》課程是軟件工程專業(yè)的一門專業(yè)核心課,是培養(yǎng)學(xué)生軟件測試?yán)碚?、技術(shù)、方法和能力的重要課程,同時,軟件測試也是當(dāng)前IT行業(yè)最熱門和緊俏的職業(yè)之一,是保證軟件產(chǎn)品質(zhì)量、提高軟件可靠性、降低軟件成本和風(fēng)險的重要手段?;诖?,《軟件測試》課程必須在教學(xué)內(nèi)容和教學(xué)方法上及時調(diào)整和更新,使課程建設(shè)與學(xué)科建設(shè)緊密結(jié)合,既要滿足軟件業(yè)對軟件測試人才的需求,又要保證軟件工程專業(yè)中各知識模塊之間的系統(tǒng)性和完整性。本節(jié)以下內(nèi)容將詳細(xì)描述此次分層次教學(xué)改革中所采取的措施。
1.對學(xué)生分組。筆者所在學(xué)院軟件工程專業(yè),一直采用“3+1”的教學(xué)模式,軟件測試課程開設(shè)在大三上學(xué)期(相比其他院校,開設(shè)時間提早了一個學(xué)期),學(xué)生經(jīng)過大一、大二兩學(xué)年專業(yè)基礎(chǔ)課及部分專業(yè)課的學(xué)習(xí),基本能找到自己的學(xué)習(xí)興趣并定位自己的學(xué)習(xí)方向,如:有學(xué)生對某門程序設(shè)計語言,即編程感興趣,有學(xué)生對嵌入式開發(fā)、物聯(lián)網(wǎng)感興趣,當(dāng)然也有學(xué)生對軟件測試行業(yè)感興趣,等等。結(jié)合學(xué)生自己的興趣及學(xué)習(xí)情況,對學(xué)生進(jìn)行分組,主要分為三類,其中:I類――基礎(chǔ)了解類;II類――一般測試類;III類――測試開發(fā)類。
2.實(shí)施不同的措施。根據(jù)課前對學(xué)生的上述分組,對不同層次要求的學(xué)生,實(shí)施以下分層。
(1)理論教學(xué)內(nèi)容。結(jié)合前文第2節(jié)所述軟件測試課程教學(xué)中存在的問題,將理論授課內(nèi)容進(jìn)行調(diào)整后主要分為以下四個部分:①軟件測試基本概念篇;②軟件測試技術(shù)篇;③軟件測試過程篇;④軟件測試項目實(shí)踐應(yīng)用篇。其中①中主要介紹軟件測試的概念、分類及軟件缺陷等內(nèi)容,②中主要包含黑盒測試技術(shù)及白盒測試技術(shù),③中主要是對單元測試、集成測試、系統(tǒng)測試及驗收測試等進(jìn)行描述,④則主要按測試模型中的不同步驟進(jìn)行介紹,包括:測試需求分析與測試計劃、設(shè)計與維護(hù)測試用例、部署測試環(huán)境、測試執(zhí)行與跟蹤、缺陷報告與質(zhì)量分析報告等。
對理論教學(xué)內(nèi)容所采取的策略是:I類、II類、III類不同分組的學(xué)生,都需要對①、②、③中的內(nèi)容進(jìn)行學(xué)習(xí);II類、III類學(xué)生還需要對④中涉及的內(nèi)容進(jìn)行學(xué)習(xí);此外,III類學(xué)生還需利用課外時間,學(xué)習(xí)與測試自動化及測試框架相關(guān)的知識。
(2)實(shí)驗教學(xué)內(nèi)容。結(jié)合理論教學(xué)內(nèi)容及實(shí)驗室配置環(huán)境等因素,在軟件測試課程中所開設(shè)的實(shí)驗教學(xué)內(nèi)容主要有:①測試之初體驗(在沒有任何測試基礎(chǔ)的情況下如何進(jìn)行測試);②黑盒測試;③白盒測試;④單元測試;⑤功能測試;⑥性能測試;⑦系統(tǒng)測試。
對實(shí)驗教學(xué)內(nèi)容所采取的策略是:I類、II類、III類不同分組的學(xué)生,都需要實(shí)驗的內(nèi)容是:①、②、③、④;II類、III類學(xué)生還需要對⑤、⑥部分進(jìn)行學(xué)習(xí)和實(shí)踐;此外,III類學(xué)生還需利用課外時間,學(xué)習(xí)并實(shí)踐⑦的內(nèi)容。
(3)考核方式。為避免學(xué)生應(yīng)對考試死記硬背的現(xiàn)象,將期末總評的成績按以下標(biāo)準(zhǔn)進(jìn)行:總評成績=考勤×10%+期中×20%+實(shí)驗×20%+期末×50%,即適當(dāng)降低期末卷面分?jǐn)?shù)的比例,提高期中及實(shí)驗成績比例。鑒于學(xué)校教務(wù)處要求,期末考試依然采用統(tǒng)一的試卷,但期中考試則根據(jù)不同層次的學(xué)生采用不同的試卷進(jìn)行考核,實(shí)驗部分的成績也依據(jù)不同層次學(xué)生的不同表現(xiàn)進(jìn)行評定,且要充分利用分層的優(yōu)勢進(jìn)行考核。
3.成效。此次教學(xué)改革的受益對象主要是我校2012級軟件工程共計109位學(xué)生及2013級軟件工程共計106名學(xué)生。對于I類層次的學(xué)生,除了學(xué)習(xí)了軟件測試基礎(chǔ)知識之外,他們還能將學(xué)習(xí)的重心放在自己感興趣的其他科目上;對于II類、III類層次的學(xué)生則對課本及課外知識都進(jìn)行了學(xué)習(xí),這為他們畢業(yè)之后的職業(yè)發(fā)展奠定了良好的基礎(chǔ)。
五、結(jié)語
教學(xué)改革任重而道遠(yuǎn),非一朝一夕能成。未來還需努力的方向在于:①引入更多的案例進(jìn)行教學(xué),豐富實(shí)驗課堂;②進(jìn)一步完善針對本校不同層次學(xué)生的《軟件測試》課程實(shí)驗指導(dǎo)書;③給學(xué)生加以更多職業(yè)規(guī)劃方面的輔導(dǎo),為當(dāng)今社會IT行業(yè)中培養(yǎng)“全面軟件測試工程師”而努力。
參考文獻(xiàn):
[1]余久久,張佑生,傅廷亮.軟件測試課程教學(xué)思考[J].安慶師范學(xué)院學(xué)報(自然科學(xué)版),2013,19(4):121-126.
[2]毛強(qiáng),彭振生.大學(xué)物理課程分層次教學(xué)改革初探[J].巢湖學(xué)院學(xué)報,2009,11(6):137-139.
篇10
關(guān)鍵詞:軟件測試;測試管理;管理系統(tǒng);第三方測試服務(wù)
中圖分類號:TP31 文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2011) 01-0000-01
The Test Management System Design&Implementation Based on Third-party Testing Service Processing
Yang Song1,Su Jia1,Chen Lei2
(1.Information Engineering School,Communication University of China,Beijing100026,China;2.China Software Testing Center,Beijing100048,China)
Abstract:In recent years,more and more prominent position of software testing, it also brings the rise of third-party testing services,with the continuous development of software testing and the progress of third-party testing services, software test process management tools and an increasingly diverse.By analyzing the status of software testing management system and found that there is an existing similar products are not uniform processes,platforms such problems binding. According to the above questions,refer to third-party testing service process,the paper design and implementation of the B / S structure software test management system that uses web2.0 design process in line with national quality assurance system, regulate the flow of third-party testing services to achieve platform independence,which can effectively ensure that the software testing process, software testing process standardized.
Keywords:Software testing;Test management;Management system;Third-party testing service
從軟件質(zhì)量保證的方面來說,軟件測試是軟件質(zhì)量保證一個重要環(huán)節(jié),通過軟件測試來驗證軟件是否滿足了需求,驗證產(chǎn)品是否滿足內(nèi)部質(zhì)量和外部質(zhì)量[1]。近些年來,國內(nèi)外在軟件測試管理系統(tǒng)方面涌現(xiàn)出了很多產(chǎn)品,但是這些測試管理系統(tǒng)大部分都是依據(jù)各自的測試流程設(shè)計的,方式單一。同時大部分在測試管理系統(tǒng)的體系結(jié)構(gòu)上都C/S結(jié)構(gòu)的,不能滿足跨平臺操作系統(tǒng)測試的需求[2]。
軟件測試管理是一種活動,可以對各階段的測試計劃,測試用例,測試流程,測試文檔等進(jìn)行跟蹤、管理并記錄其結(jié)果。針對上述問題,依據(jù)軟件測試管理流程,本文介紹了筆者參與設(shè)計和實(shí)現(xiàn)的基于第三方測試流程的B/S架構(gòu)的軟件測試管理系統(tǒng),采用了和Microsoft SQL Server2000進(jìn)行開發(fā),兼顧效率和靈活性,確保了軟件的質(zhì)量。
一、B/S架構(gòu)的軟件測試管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
(一)測試工作流程分析
在測試工作之初,就是要制定測試計劃,測試計劃的制定主要是依據(jù)被測系統(tǒng)的需求文檔、設(shè)計文檔等相關(guān)文檔。制定測試計劃后,根據(jù)測試技術(shù)和測試需求設(shè)計測試用例并制定測試過程文檔格式;應(yīng)用測試用例進(jìn)行測試,同時記錄測試缺陷,同步填寫測試過程文檔;同時將測試缺陷提交到缺陷管理模塊;根據(jù)測試過程總記錄的缺陷和測試記錄進(jìn)行缺陷分析;最后將測試缺陷、對應(yīng)的測試問題分析和測試結(jié)果輸出到測試報告生成模塊產(chǎn)生測試報告。
(二)測試管理系統(tǒng)的設(shè)計
本測試管理系統(tǒng)采用三層架構(gòu)的設(shè)計方式,應(yīng)用和Microsoft SQL Server 2000進(jìn)行的設(shè)計。測試工程師通過瀏覽器訪問測試管理系統(tǒng),通過用戶名和密碼登陸系統(tǒng),訪問系統(tǒng)各個模塊,測試結(jié)果通過表現(xiàn)層經(jīng)業(yè)務(wù)邏輯層的處理存儲到數(shù)據(jù)庫。測試管理系統(tǒng)部署在Microsoft Windows 2003操作系統(tǒng)中,因為應(yīng)用了B/S架構(gòu),因此避免了平臺相關(guān)性。
其中,系統(tǒng)管理員主要是通過系統(tǒng)和各個注冊職員的角色分配任組建測試團(tuán)隊和分配測試內(nèi)容。項目經(jīng)理主要負(fù)責(zé)整體測試項目的管理,其中包括:測試需求的制定、測試方案的撰寫、測試執(zhí)行過程、以及測試執(zhí)行過程中缺陷庫的更新并對測試結(jié)果進(jìn)行分析、審查測試報告和撰寫測試總結(jié),屬于監(jiān)管控制角色。測試工程師主要任務(wù)是參與測試設(shè)計計劃和撰寫測試方案,更新缺陷庫中的信息以及撰寫最后的測試報告工作等,在測試管理體系中屬于測試執(zhí)行角色。
(三)測試管理系統(tǒng)的實(shí)現(xiàn)
第三方測試服務(wù)的測試過程中,用戶、開發(fā)方和測試方形成了相互制約的關(guān)系。但三方的目標(biāo)都是希望被測系統(tǒng)符合需求、能夠穩(wěn)定運(yùn)行。本測試管理系統(tǒng)主要由權(quán)限管理、需求管理、測試計劃管理、測試執(zhí)行管理、缺陷管理和測試報告管理這幾個模塊構(gòu)成。
權(quán)限管理主要是由系統(tǒng)管理員通過對系統(tǒng)中各個角色分析后,進(jìn)行人員的分配,組建測試團(tuán)隊,同時分配給團(tuán)隊測試任務(wù),進(jìn)行測試前期的準(zhǔn)備工作。
需求管理主要是設(shè)計測試需求,首先制定測試需求及其工作分解結(jié)構(gòu),然后對其進(jìn)行評審,評審不通過要就行修改,評審?fù)ㄟ^后產(chǎn)生測試需求報告,進(jìn)入測試計劃階段。
測試計劃模塊主要是制定測試時間、安排測試任務(wù)、設(shè)計測試用例、設(shè)計測試步驟并完成測試計劃文檔,為測試執(zhí)行部分做好一切的準(zhǔn)備。
測試執(zhí)行部分主要是以測試計劃中設(shè)定的測試用例進(jìn)行測試用例集編寫,然后通過項目組評審?fù)ㄟ^后按照測試計劃安排的測試時間安排進(jìn)行測試工作。
缺陷管理模塊主要是配合測試執(zhí)行模塊一起執(zhí)行的,在測試執(zhí)行過程中,發(fā)現(xiàn)問題,將缺陷上傳到缺陷管理中,同時在回歸測試的時候再將重點(diǎn)放到已測出缺陷上,同時修改已不再存在的缺陷,存入缺陷庫。測試報告模塊主要是根據(jù)以上所有的過程產(chǎn)生的文檔,自動生成測試報告同時將缺陷分析結(jié)果寫入報告中,為企業(yè)提供以后系統(tǒng)改進(jìn)的依據(jù)和系統(tǒng)調(diào)優(yōu)的建議。
二、結(jié)論
本系統(tǒng)依據(jù)第三方測試流程進(jìn)行設(shè)計,采用了B/S架構(gòu)避免了系統(tǒng)應(yīng)用的系統(tǒng)相關(guān)性。系統(tǒng)分為權(quán)限管理、需求管理、測試計劃、測試執(zhí)行、缺陷管理和測試報告生成幾大模塊,同時實(shí)現(xiàn)了根據(jù)測試需求自動生成測試用例,依據(jù)未關(guān)閉的缺陷和測試過程文檔自動產(chǎn)生問題分析報告的功能。本系統(tǒng)已經(jīng)在幾個測試項目中得到了應(yīng)用,系統(tǒng)同時支持100人的在線和50人的并發(fā)壓力,經(jīng)實(shí)踐檢查本系統(tǒng)符合第三方測試服務(wù)的流程,能夠滿足第三方測試服務(wù)的要求。
參考文獻(xiàn):
[1]吳慧韞,李卓群.基于H模型的軟件測試管理應(yīng)用模型研究[J].計算機(jī)工程與設(shè)計,2006,27(11):1993-1995
[2]黃曉東,劉強(qiáng)環(huán)境下軟件測試管理系統(tǒng)的設(shè)計和實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報,2005,27(6):37-40
熱門標(biāo)簽
軟件工程論文 軟件技術(shù)論文 軟件畢業(yè)論文 軟件測試 軟件技術(shù)方案 軟件設(shè)計 軟件設(shè)計大賽 軟件開發(fā)論文 軟件年終總結(jié) 軟件實(shí)訓(xùn)總結(jié) 心理培訓(xùn) 人文科學(xué)概論
相關(guān)文章
相關(guān)期刊
精品范文
10軟件測試報告