0
首頁 精品范文 軟件測試項目總結(jié)

軟件測試項目總結(jié)

時間:2022-12-31 16:06:08

開篇:寫作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件測試項目總結(jié),希望這些內(nèi)容能成為您創(chuàng)作過程中的良師益友,陪伴您不斷探索和進步。

軟件測試項目總結(jié)

第1篇

關(guān)鍵詞:軟件測試;軟件工程;認(rèn)識誤區(qū);持續(xù)改進

中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(34)-1997-02

1 引言

隨著市場對軟件質(zhì)量的不斷提高和國內(nèi)軟件測試行業(yè)的逐漸發(fā)展,軟件測試不斷受到重視,有越來越多的軟件企業(yè)更加重視軟件測試,并已經(jīng)形成了一套基本的軟件測試流程。然而,認(rèn)識誤區(qū)的存在需要我們進一步改進軟件測試過程。

2 軟件測試概述

軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明書和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。一般按四個步驟進行,即單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試及發(fā)版測試。隨著軟件危機的頻頻出現(xiàn),人們已經(jīng)開始認(rèn)識到測試開始的時間越早,測試執(zhí)行的越頻繁,所帶來的整個軟件開發(fā)成本的下降就會越多。所以,軟件測試在軟件項目實施過程中的重要性日益突出。

3 軟件測試過程中的認(rèn)識誤區(qū)

3.1 軟件開發(fā)完成后進行軟件測試

人們一般認(rèn)為,軟件項目要經(jīng)過以下幾個階段:需求分析,概要設(shè)計,詳細設(shè)計,軟件編碼,軟件測試,軟件。據(jù)此,認(rèn)為軟件測試只是軟件編碼后的一個過程,這是不了解軟件測試周期的錯誤認(rèn)識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設(shè)計,測試用例設(shè)計,執(zhí)行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進行不同目的和內(nèi)容的測試活動,以保證各個階段的正確性。軟件開發(fā)與軟件測試應(yīng)該是交互進行的,否則,測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。

3.2 測試過程不夠完善

在軟件開發(fā)領(lǐng)域,確實存在一些東西看起來要比另外一些東西難測試一些,但是遠非無法測試。只不過這種不可測試性不是由于被測試的軟件內(nèi)部的過緊耦合造成的,而是和外部某些很難測試的部分耦合過緊,從而表現(xiàn)出被測試的軟件本身很難測試。這些很難測試的部分比較常見的有:圖形界面、硬件、數(shù)據(jù)庫等。

3.3 強調(diào)測試用例設(shè)計得越詳細越好

在確定測試用例設(shè)計目標(biāo)時,一些項目管理人員強調(diào)測試用例“越詳細越好”。這種做法和觀點最大的危害就是耗費了很多的測試用例設(shè)計時間和資源,可能等到測試用例設(shè)計、評審?fù)瓿珊螅艚o實際執(zhí)行測試的時間所剩無幾了。因為當(dāng)前軟件公司的項目團隊在規(guī)劃測試階段,分配給測試的時間和人力資源是有限的,而軟件項目的成功要堅持“質(zhì)量、時間、成本”的最佳平衡,沒有足夠多的測試執(zhí)行時間,就無法發(fā)現(xiàn)更多的軟件缺陷,測試質(zhì)量更無從談起了。

3.4 追求測試用例設(shè)計“一步到位”

現(xiàn)在軟件公司都意識到了測試用例設(shè)計的重要性了,但是一些人認(rèn)為設(shè)計測試用例是一次性投入,測試用例設(shè)計一次就“萬事大吉”了,片面追求測試設(shè)計的“一步到位”。這種認(rèn)識造成的危害性使設(shè)計出的測試用例缺乏實用性,或者誤導(dǎo)測試用例執(zhí)行人員,誤報很多不是軟件缺陷的“Bug”,這樣的測試用例在測試執(zhí)行過程中“形同虛設(shè)”,難免淪為“垃圾文檔”的地步。

4 軟件測試過程的持續(xù)改進

4.1 計劃與風(fēng)險

項目計劃對項目過程的實施有著直接的指導(dǎo)作用,它的重要性是不言而喻的。對于軟件測試來說,測試計劃也是指導(dǎo)后續(xù)測試工作的基礎(chǔ),只有對過程中各任務(wù)進行更詳細的計劃,才有利于在測試過程中對項目進度的把握有一個明確的目標(biāo);同時,風(fēng)險策略的制定,也有利于對及早對測試過程中可能遇到的問題做出分析,以便在問題出現(xiàn)時能夠盡可能的減少規(guī)避風(fēng)險的成本。

4.2 評審

在測試過程中的每個階段結(jié)束前,都會輸出一些資源,文檔、用例等等,這些資源往往是下一個測試階段或軟件開發(fā)的下一個環(huán)節(jié)執(zhí)行的依據(jù)。評和審是結(jié)合在一起的,每個角色根據(jù)自己對項目的了解,從各自角度來審核測試報告的充分性,對質(zhì)量風(fēng)險發(fā)表各種見解。最終,對報告的規(guī)范性也要進行考察。另外,也最好根據(jù)實際情況組織會議評審來對一定規(guī)模的問題統(tǒng)一評審。

4.3 文檔

文檔的編寫對于測試人員來說是一個十分重要的任務(wù),深入的、充分的投入測試的測試人員能寫出高質(zhì)量的測試文檔。所以,測試文檔的質(zhì)量,往往反映了測試人員執(zhí)行測試的廣度和深度。而在文檔的編寫方面,首先必須形成統(tǒng)一規(guī)范;另外,針對不同項目的測試,可以適當(dāng)對文檔標(biāo)題、內(nèi)容進行簡化。總之,文檔模板一旦形成,必須嚴(yán)格遵守。

4.4 方法與策略

測試方法和測試策略,測試的重中之重。測試的策略一般要求從全局方面對測試的階段、每個階段的測試類型進行考慮、定義。而測試的方法更多是體現(xiàn)在一個具體的測試中,采取怎樣的測試思路。另外,在測試過程中,對資源的協(xié)調(diào)也非常關(guān)鍵,需要能保證測試資源充分利用,每個測試人員都有適度并且相當(dāng)?shù)墓ぷ髁俊?/p>

4.5 總結(jié)測試經(jīng)驗

在測試的過程中,測試人員應(yīng)該及時總結(jié)發(fā)現(xiàn)的錯誤并歸類,標(biāo)明經(jīng)常容易出錯的地方,將意見提交項目經(jīng)理,審核后,制定出一份統(tǒng)一標(biāo)準(zhǔn)并提供給開發(fā)人員,這樣就可以提前避免錯誤、避免重復(fù)錯誤和重復(fù)測試,提高測試效率。不僅如此,項目結(jié)束后的各項總結(jié)報告將是項目的后期維護或二次開發(fā)的寶貴參考資料。

4.6 缺陷分析、度量

對測試活動過程中發(fā)現(xiàn)的缺陷進行分析、度量,尋找軟件開發(fā)過程中存在的問題,并持續(xù)改進開發(fā)過程,提高質(zhì)量。缺陷的分析、度量從時間上分為兩個方面,首先是在軟件開發(fā)過程中發(fā)現(xiàn)的缺陷進行分析、度量;然后就是,對軟件產(chǎn)品后,對用戶提出缺陷進行統(tǒng)計、分析。

5 結(jié)論

測試是用來保證軟件開發(fā)過程的高效性,以及保證開發(fā)出來的軟件產(chǎn)品的高質(zhì)量和可用性的。軟件開發(fā)本身就是一件非常困難的事情,這也決定了有效的測試是非常重要的環(huán)節(jié),我們要加強對軟件測試的關(guān)注,使大家對于測試首先有一個正確的認(rèn)識,避免誤區(qū)的存在,并積極探索測試方法的持續(xù)改進問題,真正使軟件測試真正起到它應(yīng)有的作用。

參考文獻:

[1] 鄭人杰.計算機軟件測試技術(shù)[M].北京:清華大學(xué)出版社,1992.

[2] Fewster M,Graham D.軟件測試自動化技術(shù)[M].北京:電子工業(yè)出版,2000.

第2篇

關(guān)鍵詞:軟件測試;分階段教學(xué);案例驅(qū)動教學(xué);雙證教育;校企合作

中圖分類號:G420 文獻標(biāo)識碼:A 文章編號:1009-3044(2012)30-7258-02

近幾年來,計算機信息技術(shù)發(fā)展迅速,我國的IT行業(yè)開始向國際化、規(guī)范化邁進。以往只重視軟件開發(fā)而忽視軟件測試的情況正在改變,軟件測試行業(yè)開始迅速發(fā)展。

國外小一些的軟件企業(yè),軟件開發(fā)與測試人員之比基本上是1:1,微軟公司更是達到了1:2,軟測試人員規(guī)模遠超過開發(fā)人員的規(guī)模[1]。盡管一些國內(nèi)大型軟件企業(yè)開始重視軟件人才的合理配置,但有的企業(yè)其比例也就只有10:1。軟件測試工程師鬧人才荒[2],中高級測試員緊缺的現(xiàn)象已十分明顯。

據(jù)統(tǒng)計,國內(nèi)軟件測試工程師的缺口為20萬人左右,這一點從51JOB的招聘信息中可見一斑。近兩年,軟件測試工程師的需求和待遇都達到了歷史新高。

然而與當(dāng)前軟件測試行業(yè)如火如荼的現(xiàn)狀極不協(xié)調(diào)的是當(dāng)前軟件測試培訓(xùn)領(lǐng)域的現(xiàn)狀[3],從事軟件測試工程師培訓(xùn)的專業(yè)機構(gòu)寥寥無幾,而且價格昂貴。大學(xué)里幾乎沒有軟件測試專業(yè),部分院校開設(shè)《軟件測試》這門課程面臨三方面的問題,一是軟件測試教材知識片面。二是內(nèi)容枯燥,學(xué)生不感興趣。三是教師教學(xué)經(jīng)驗嚴(yán)重不足。面對軟件測試人才的社會需求緊迫性,人才培養(yǎng)單位應(yīng)該擴大軟件測試人才培養(yǎng)規(guī)模,總結(jié)軟件測試知識點,改革教學(xué)方法,培養(yǎng)學(xué)生興趣,提高培養(yǎng)質(zhì)量。

1 軟件測試課程教學(xué)方法探討

針對以上問題,在教學(xué)中應(yīng)采取以下解決方法:

1.1 融合軟件測試知識點,分階段教學(xué)

目前,國內(nèi)的軟件測試教材只涉及了部分基本理論知識,不夠全面,介紹的軟件測試工具也相對落后一些。針對這種情況,任課教師首先要融合多本軟件測試書籍內(nèi)容,總結(jié)出軟件測試所涵蓋的知識點,更新軟件測試發(fā)展情況。

其次,根據(jù)學(xué)生學(xué)習(xí)過程分階段教學(xué)[4]。第一階段是基礎(chǔ)階段,讓學(xué)生掌握軟件測試基礎(chǔ)理論知識和軟件測試核心技術(shù),以及常用測試工具的操作。第二階段是項目綜合實訓(xùn)提高階段,在掌握基礎(chǔ)理論的前提下,加強綜合測試技術(shù)在項目實訓(xùn)中的運用,針對不同的開發(fā)階段,撰寫各開發(fā)階段相應(yīng)的文檔,并制定相應(yīng)的測試計劃,設(shè)計典型測試用例,使用不同的軟件測試技術(shù)和測試工具,完成不同的測試目標(biāo)。最后是培養(yǎng)學(xué)生自主學(xué)習(xí)階段,介紹軟件測試最新的技術(shù)與發(fā)展方向,引導(dǎo)學(xué)生對基本技術(shù)向縱深方向思考。同時向?qū)W生提供軟件測試方面重要的會議、雜志、論壇、網(wǎng)站,引導(dǎo)學(xué)生課下查閱學(xué)習(xí)資料,鼓勵學(xué)生自我學(xué)習(xí)。

1.2 改革教學(xué)方法,采用案例驅(qū)動教學(xué)

大部分高職院校學(xué)生基礎(chǔ)差、學(xué)習(xí)積極性主動性不強、自制力不高。在課堂教學(xué)活動中,如果繼續(xù)采用傳統(tǒng)教學(xué)方法,很難激發(fā)學(xué)生學(xué)習(xí)興趣。應(yīng)該采用案例教學(xué)方法[5],將《手機信息管理系統(tǒng)》、《學(xué)生圖書借閱系統(tǒng)》、《學(xué)生信息管理系統(tǒng)》等案例資料發(fā)給學(xué)生,學(xué)生拿到案例后,在教師的引導(dǎo)下,課下先要進行消化,然后查閱各種他認(rèn)為必要的理論知識,理解知識并思考提出解決問題的方法。課上教師答復(fù)學(xué)生的問題,并引導(dǎo)學(xué)生更深層次的思考。通過這種方法充分調(diào)動學(xué)生的學(xué)習(xí)積極性,提高其學(xué)習(xí)興趣,使學(xué)生既學(xué)會理論知識分析又學(xué)會用理論知識解決實際工程的問題。

1.3 采用軟件測試項目綜合實訓(xùn)的實驗教學(xué)模式

開設(shè)綜合性的軟件測試課程實驗,按軟件企業(yè)項目管理和開發(fā)模式,進行軟件測試項目實訓(xùn)[6],培養(yǎng)學(xué)生的創(chuàng)新意識與實踐能力。將班內(nèi)學(xué)生分成若干個測試小組,每小組成員不超過7人,每組分配不同的軟件項目,如工資管理系統(tǒng)、圖書管理系統(tǒng)、學(xué)生信息管理系統(tǒng)、酒店預(yù)訂系統(tǒng)等。小組成員模擬與體驗軟件測試工程全過程工作職位和角色,使學(xué)生全過程適應(yīng)工作職位的要求。

各項目小組在測試項目過程中,針對不同的開發(fā)階段,撰寫各開發(fā)階段相應(yīng)的文檔,并制定相應(yīng)的測試計劃,設(shè)計典型測試用例,使用不同的軟件測試技術(shù)和測試工具,完成不同的測試目標(biāo),并進行回歸測試,以實現(xiàn)軟件測試各單項專業(yè)知識與技能整合運用的目標(biāo)。在整個測試過程可以體現(xiàn)“學(xué)以致用”的思想,實現(xiàn)理論與實踐相結(jié)合。

各項目小組通過演練項目開發(fā),不僅讓同學(xué)們切身體會到軟件開發(fā)的整個過程,還讓同學(xué)們對軟件開發(fā)中各個角色有充分的了解,同時也更深刻的體會到團隊合作的重要性。

1.4 加強校企合作

堅持“走出去,引進來”的思想,經(jīng)常邀請企事業(yè)、軟件公司里一線軟件測試人員或軟件測試組長和項目經(jīng)理,來學(xué)校為學(xué)生做定期講座,或定期對教師進行培訓(xùn)。也可以利用假期或其他時間,安排教師學(xué)生進軟件公司,一起跟進項目開發(fā)測試。目前本校已經(jīng)連續(xù)兩年安排教師學(xué)生去齊魯軟件園,進公司一起進行項目開發(fā)測試工作。效果不錯,參加實訓(xùn)的軟件項目綜合實訓(xùn)的教師軟件開發(fā)測試能力有較大提高,并且學(xué)到一些最新最實用的軟件開發(fā)測試技術(shù)。

1.5 改革課程考核方法

軟件測試這門課程兼具理論與操作,目前大部分院校考核方式與理論考試為主,這種考核方式會促使部分學(xué)生考前抱佛腳,考前死記硬背,降低學(xué)生學(xué)習(xí)的積極性。除了理論考核之外,還應(yīng)注重學(xué)生綜合知識和應(yīng)用能力方面的考核。建議課程考核應(yīng)該包含平時作業(yè)、課堂表現(xiàn)(發(fā)言與討論)、實驗、綜合實訓(xùn)、理論考試這幾部分。采用這種考核方式,促使學(xué)生加強對知識的理解和運用,課堂踴躍發(fā)言,提高學(xué)習(xí)的主動性和創(chuàng)造性,以及動手操作能力。

1.6 適當(dāng)加入一些最新的游戲測試

高職院校學(xué)生大部分的課余時間都是泡在網(wǎng)吧里玩游戲,有很多同學(xué)一有時間就玩手機游戲。學(xué)生對最新的游戲內(nèi)容比較感興趣,游戲測試也是軟件測試的一方面,教師可以在課堂教學(xué)中加入一些游戲測試內(nèi)容,提高學(xué)生的學(xué)習(xí)興趣。

1.7 采取雙證教育

實行“雙證教育”模式[7],將學(xué)歷教育與技能學(xué)習(xí)無縫對接,學(xué)生畢業(yè)后不僅能獲得國家勞動部高級職業(yè)技能認(rèn)證證書、擁有扎實的操作技能,同時還將獲得國家承認(rèn)大學(xué)學(xué)歷證書。雙證教育使學(xué)生專業(yè)能力更強、職業(yè)素養(yǎng)更高、綜合素質(zhì)更好、更符合企業(yè)用人標(biāo)準(zhǔn)。

測試工程師有高級測試工程師、中級測試工程師、初級測試工程師。根據(jù)高職學(xué)生的能力特點,應(yīng)該把高職學(xué)生定位在初級和準(zhǔn)中級測試工程師,具有一定的設(shè)計方案的編寫能力,能利用測試工具完成一定的測試任務(wù),并能夠執(zhí)行功能測試。

2 總結(jié)

通過在本校近五六年的軟件測試教學(xué)實踐,發(fā)現(xiàn)軟件測試教學(xué)方法需要不斷改進,融合軟件測試知識點分階段教學(xué),采用案例驅(qū)動和雙證教育模式,加強校企合作和教學(xué)實踐這些措施能較好地提高學(xué)生學(xué)習(xí)興趣和動手操作能力,教學(xué)質(zhì)量也有較大提高。軟件測試人才培養(yǎng)剛剛起步,很多工作處于摸索階段,需要學(xué)校、教師和學(xué)生的共同努力,為社會培養(yǎng)出大批合格的軟件測試人才。

參考文獻:

[1]程茂,溫靜,吳玉潔.《軟件測試》課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報/教育科學(xué)版,2010(4):117-120.

[2] .

[3]趙斌.軟件測試技術(shù)經(jīng)典教程[M].北京:科學(xué)出版社,2011(3).

[4]葛漢強.高職《軟件測試》課程分層教學(xué)之實踐[J].職業(yè)教育研究,2011(8):105-107.

[5]邵謹(jǐn)榮.高職院校《軟件測試》課程的案例教學(xué)探討[J].職教論壇,2011(4):53-54.

第3篇

【關(guān)鍵詞】軟件測試;工作過程;課程設(shè)計

1.課程的定位與教學(xué)設(shè)計

1.1 課程定位

《軟件測試》課程作為軟件專業(yè)二年級下學(xué)期的專業(yè)課,它的前導(dǎo)課程是《數(shù)據(jù)庫設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《軟件工程實施》,后續(xù)課程是課程實訓(xùn)及畢業(yè)實習(xí)。通過本課程的學(xué)習(xí),使學(xué)生加深對軟件測試基本理論和基本方法的理解與應(yīng)用,能熟練使用常用軟件測試工具,并能運用軟件測試工具完成應(yīng)用軟件的測試工作,提高學(xué)生對軟件的測試與維護能力,并進一步培養(yǎng)學(xué)生的的團隊協(xié)作能力。

1.2 課程設(shè)計思路

軟件測試是高職計算機軟件專業(yè)學(xué)生在以后的工作崗位上要用到的核心技能。因此,本課程應(yīng)該作為專業(yè)必修課程和核心課程,重點培養(yǎng)學(xué)生在以后的工作崗位上所需的職業(yè)能力:白盒測試、黑盒測試、自動化功能測試與性能測試。

《軟件測試》課程的總體設(shè)計思路是,轉(zhuǎn)變傳統(tǒng)的學(xué)科課程模式,不再以知識傳授為主,構(gòu)建以工作任務(wù)為中心的企業(yè)培訓(xùn)體系,引入企業(yè)項目,讓學(xué)生在真實的企業(yè)項目中完成相應(yīng)的工作任務(wù),從而儲備相關(guān)的專業(yè)知識,發(fā)展職業(yè)能力。授課內(nèi)容重點突出對學(xué)生職業(yè)能力的培養(yǎng)。課堂上不再單純地只講授理論知識,而是圍繞實際工作任務(wù)的需要來選取,這充分考慮了高職學(xué)生動手能力強,理論知識薄弱的特點。

2.教學(xué)設(shè)計

2.1 教學(xué)情境設(shè)計

本課程小組通過學(xué)院專業(yè)指導(dǎo)委員會、重慶亞德科技、重慶大佳、重慶港澳大家等軟件公司的企業(yè)技術(shù)人員進行實際調(diào)查,制定了適合高職學(xué)生的軟件測試課程體系與職業(yè)能力,確定了軟件測試課程典型的教學(xué)情景與子情景,在教學(xué)情景中給出具體的工作任務(wù)、工作方法以及要求學(xué)生掌握的知識與技能等,在教學(xué)中貫徹理論實踐一體化的教學(xué)模式,做到教、學(xué)、做三結(jié)合,充分體現(xiàn)工學(xué)結(jié)合的優(yōu)勢,培養(yǎng)學(xué)生的職業(yè)素質(zhì)。本課程的5個工作過程及11個典型工作任務(wù)如表1所示。

2.2 教材設(shè)計

(1)教材應(yīng)充分考慮軟件測試的實踐特性,以工作任務(wù)為導(dǎo)向,引入必須的軟件測試?yán)碚撝R,讓學(xué)生在實際測試的過程中,循序漸進地掌握必要的理論知識。

(2)編寫的內(nèi)容要以項目驅(qū)動為原則,以企業(yè)的實際案例、場景模擬、工作過程錄像為載體,增強課后的能力拓展,并根據(jù)高職學(xué)生的職業(yè)能力所需知識的深度和廣度來編寫,并在具體的工作任務(wù)中使學(xué)生逐漸形成團隊協(xié)作意識。

(3)教材應(yīng)突出軟件測試技術(shù)的實用性、前瞻性和開放性,不能只是簡單地介紹一些技術(shù)上的操作,而忽略了軟件學(xué)生所需的職業(yè)能力,在教材中應(yīng)融入軟件測試技術(shù)中所用到的新規(guī)范、新技術(shù)、新標(biāo)準(zhǔn)、新工具、新知識,讓學(xué)生能系統(tǒng)地掌握軟件測試的前沿知識。

(4)教材應(yīng)充分引領(lǐng)學(xué)生主動、積極地去學(xué)習(xí),因此,文字表述要簡明扼要,內(nèi)容展現(xiàn)應(yīng)圖文并茂,內(nèi)容應(yīng)詳略得到。

2.3 教學(xué)方法設(shè)計

由于本課程的主要教學(xué)內(nèi)容涉及白盒測試、黑盒測試、自動化功能測試與性能測試等操作性很強的教學(xué)環(huán)節(jié),必須通過課程實訓(xùn)才能達到對項目作規(guī)范需求分析的培養(yǎng)目標(biāo)。具體教學(xué)方法設(shè)計如下:

(1)全班學(xué)生分為N個項目小組,3人一小組,1人任組長,組長要求協(xié)調(diào)溝通能力比較強。

(2)在教學(xué)過程中應(yīng)加強學(xué)生對軟件總體的測試能力,采用任務(wù)驅(qū)動教學(xué),注重以任務(wù)引領(lǐng),提高學(xué)生學(xué)習(xí)興趣;

(3)組建軟件外包中心,引進企業(yè)項目,讓學(xué)生真實地體驗在軟件公司的測試流程。外包中心作為理論實踐一體化教室,達到理論和實際不脫節(jié)。

(4)教學(xué)過程中可參考軟件測試評師考試中規(guī)定的知識要求和技能等級職業(yè)標(biāo)準(zhǔn)。

(5)教師模擬企業(yè)的項目經(jīng)理,必須具有開拓精神,帶領(lǐng)團隊完成工作任務(wù),并在完成工作任務(wù)的過程中,探索基于工作過程的職業(yè)教育新模式,培養(yǎng)學(xué)生的軟件測試能力,構(gòu)建軟件測試知識體系。

2.4 教學(xué)評價設(shè)計

(1)突出過程評價,結(jié)合課堂提問、實作測試、課后拓展、任務(wù)考核等手段,加強實訓(xùn)教學(xué)環(huán)節(jié)的考核,并注重平時考核。

(2)強調(diào)目標(biāo)評價和理論與實踐一體化評價,注重引導(dǎo)學(xué)生進行學(xué)習(xí)方式的改變。

(3)每個項目小組在完成課程后,要將所學(xué)的內(nèi)容做ppt,匯報本小組項目完成的情況以及體會。

(4)實行學(xué)習(xí)過程的過程化考核。平時作業(yè)、期中與期末考試均采用上機實訓(xùn)的方式考核,對于不合格者,在團隊的協(xié)作幫助下持續(xù)練習(xí),直至過關(guān)。這樣可以督促學(xué)生不斷地練習(xí),真正提高動手能力。

(5)課程的學(xué)期成績=平時作業(yè)(10%)+上課考勤(10%)+小組項目測試情況(30%)+小組ppt總結(jié)情況(10%)+期末成績(40%)

3.課程資源的開發(fā)與利用

(1)圍繞軟件測試課程,收集教師和學(xué)生必備的軟件測試工具,制作適宜教學(xué)的多媒體教學(xué)課件。

(2)組建軟件外包中心,搭建實訓(xùn)工作平臺,為學(xué)生實訓(xùn)提供真實的工作環(huán)境,從而提高其職業(yè)素養(yǎng)。

(3)要充分開發(fā)網(wǎng)絡(luò)課程,讓學(xué)生在課余時間可以自主學(xué)習(xí),彌補學(xué)生課本知識的不足。

(4)充分利用和開放實訓(xùn)中心,將教學(xué)與實訓(xùn)合一,將理論與實踐合一,滿足學(xué)生綜合能力培養(yǎng)的要求。

(5)積極利用電子書籍、電子期刊、數(shù)字圖書館、校園網(wǎng)、各大網(wǎng)站等網(wǎng)絡(luò)資源,使教學(xué)內(nèi)容從單一化向多元化轉(zhuǎn)變,通過企業(yè)技術(shù)人員的指導(dǎo),課程教師的輔導(dǎo),使學(xué)生知識和能力的拓展成為可能。

4.課程的實施效果

(1)基于項目化的授課內(nèi)容

建立軟件外包中心,引入企業(yè)項目內(nèi)容,軟件測試的授課內(nèi)容緊緊圍繞企業(yè)項目的典型工作任務(wù)開展,學(xué)生的能力與素質(zhì)參照軟件測試工程師的崗位要求,讓學(xué)生真實感受企業(yè)環(huán)境,就業(yè)零距離上崗。

(2)基于過程化的授課方式

老師授課不再單純地講解理論,完全按照企業(yè)的軟件測試流程開展,制定規(guī)范的軟件測試計劃、編寫測試用例、利用測試工具測試、編制測試報告,有利于學(xué)生養(yǎng)成職業(yè)化的學(xué)習(xí)習(xí)慣與工作習(xí)慣。

(3)基于理論實踐一體化的教學(xué)設(shè)備

學(xué)生在軟件外包中心上課以及實驗,真正實現(xiàn)了“做中學(xué),學(xué)中做”的企業(yè)工作環(huán)境。

(4)基于能力化的學(xué)習(xí)評價

學(xué)生的評價不再單純地以理論考試為依據(jù),而是從學(xué)生的軟件測試專業(yè)能力、利用軟件測試工具的能力、團隊溝通協(xié)調(diào)能力進行綜合地評價。

參考文獻

[1]鄭泳.基于工作過程系統(tǒng)化的高職《軟件測試》課程設(shè)計[J].漯河職業(yè)技術(shù)學(xué)院學(xué)院,2010(9).

[2]程茂,溫靜,吳玉潔.《軟件測試》課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報,2010(4).

[3]蔡建平.開源軟件測試實踐教學(xué)方案設(shè)計[J].計算機教育,2011(3).

第4篇

關(guān)鍵字:軟件測試;實踐課程體系;項目實訓(xùn)

0 引言

《軟件測試技術(shù)》是軟件工程本科專業(yè)的一門實踐性很強的課程,適合采用講練結(jié)合的方式開展相關(guān)教學(xué),即讓學(xué)生多上機操作,逐漸提高軟件測試用例設(shè)計、開發(fā)能力以及軟件測試的整體管理能力。然而在實際實踐教學(xué)過程中,教師普遍感覺有不少不盡人意的地方,主要表現(xiàn)在理論與應(yīng)用脫節(jié),所學(xué)知識與社會需求差距較大,學(xué)生積極性不高等。

1 軟件測試行業(yè)現(xiàn)狀和學(xué)生認(rèn)知水平

媒體報道,國內(nèi)開發(fā)人員與測試人員的比例是8∶1,而國際公認(rèn)的行業(yè)標(biāo)準(zhǔn)實際上是1∶1,這一點上國內(nèi)測試行業(yè)與國外的差距比較大。隨著軟件行業(yè)的蓬勃發(fā)展,用戶對軟件的質(zhì)量要求越來越高,導(dǎo)致軟件開發(fā)企業(yè)軟件測試的工作量也越來越大,因此自動化軟件測試已經(jīng)成為項目測試的一大趨勢[3]。并受到原來越多的重視。

軟件測試課程一般到大三才開設(shè),而大學(xué)高年級學(xué)生往往偏重于對技術(shù)的學(xué)習(xí),因為技術(shù)往往是可以現(xiàn)學(xué)現(xiàn)用的,對于理論性較強的軟件工程知識反而不太感興趣了。實際教學(xué)過程中關(guān)于軟件測試流程、團隊等工程化內(nèi)容的描述往往讓學(xué)生覺得比較抽象且教條化,然而這些工程化知識又是學(xué)生畢業(yè)后適應(yīng)當(dāng)下的軟件行業(yè)需求所必要掌握的。

2 現(xiàn)有軟件測試課程體系存在的問題

現(xiàn)有軟件測試技術(shù)課程重點講授的是理論基礎(chǔ)知識,含離散數(shù)學(xué)、圖論和測試基礎(chǔ)知識以及測試用例,開發(fā)各階段的具體應(yīng)用往往被忽視,使用自動化測試工具方面的內(nèi)容尤其缺乏。高校對實踐課程的重視程度普遍不夠,軟件測試實踐課開展不足且不規(guī)范。教師大量精力放在講授測試用例設(shè)計方法上,實踐中的使用這些測試用例卻較少。實驗案例通常有NextDate問題、三角形問題等,都是一些課本上常見的,設(shè)計也較單一,缺乏真實性,難以提升學(xué)生的技能,學(xué)生往往覺得枯燥乏味。畢業(yè)后學(xué)生普遍反映,軟件測試工程理論知識教的很全,但就是不知道怎樣靈活應(yīng)用;相反,在企業(yè)經(jīng)過一段時間的測試工作實踐后發(fā)現(xiàn),工作中真正需要的知識并未掌握。

目前,相關(guān)配套的軟件測試實驗教材比較缺乏,實驗內(nèi)容基本是由任課教師自行設(shè)計。這對于教學(xué)經(jīng)驗豐富的教師問題不是很大,但對于沒有實際項目開發(fā)經(jīng)驗作為支撐的年輕教師,就無法把握如何采用恰當(dāng)?shù)挠美齺眚炞C相關(guān)理論知識,也難以設(shè)計出實用的實驗內(nèi)容,學(xué)非所用,導(dǎo)致學(xué)生無法掌握今后實際工作所需的基本技能。即使是教學(xué)經(jīng)驗豐富的教師也大多缺乏實戰(zhàn),盡管能很好的教授理論知識,但由于缺乏合適的實踐教材,加上實驗條件等各種因素制約,也難以的對學(xué)生進行系統(tǒng)全面的實踐培訓(xùn),導(dǎo)致高校重理論輕實踐成為普遍現(xiàn)象。因此,軟件測試課程的教學(xué)順應(yīng)社會需求顯得格外迫切,必須面向企業(yè),了解崗位要求,而不是“閉門造車”。讓學(xué)生能學(xué)到適合企業(yè)所需的技能,畢業(yè)后可以以一個“經(jīng)驗者”的身份進入人才市場。

3 《軟件測試技術(shù)》實踐課程體系研究

3.1 課程構(gòu)建原則

高校應(yīng)以軟件測試所需的知識、技能為先導(dǎo)構(gòu)建相應(yīng)的課程體系,充分調(diào)研軟件測試工作的具體內(nèi)涵,仔細研究對應(yīng)的知識、技能以及素質(zhì)要求,課程內(nèi)容也應(yīng)強調(diào)當(dāng)前以及未來就業(yè)所需掌握的基本知識、技能,體現(xiàn)知識、技能和素質(zhì)三者的結(jié)合[6]。

根據(jù)該專業(yè)人才培養(yǎng)的定位以及行業(yè)內(nèi)需求,在建設(shè)具有特色的軟件測試課程時建立實驗、實訓(xùn)和實習(xí)等不同層次的實踐課,通過多項目的練習(xí),提高學(xué)生專業(yè)技能及分析、解決問題的能力。

3.2 實踐課程教學(xué)探究

在軟件測試技術(shù)實踐課程環(huán)節(jié),引入具有企業(yè)背景項目的實訓(xùn)。通過這些真實測試案例的引入,結(jié)合人才市場的需求,充分體現(xiàn)出工學(xué)結(jié)合的特點。通過對實際項目的操作,使用相關(guān)測試工具,完成對各目標(biāo)的測試,提升學(xué)生的測試能力同時積累相關(guān)工作經(jīng)驗。

我們可以在教學(xué)過程中引入一個貫穿整個教學(xué)過程的具體測試案例的教學(xué)法。首先,組織學(xué)生進行隨機分組,每個小組5~6個人,給每個組起一個名稱。要求每個小組在課程實施前完成同一個模擬軟件“小區(qū)物業(yè)管理系統(tǒng)”的開發(fā)。模擬軟件開發(fā)完成后,由各個小組交叉測試其它小組開發(fā)的軟件。在測試課程中,要求學(xué)生對軟件系統(tǒng)進行單元測試、功能測試、集成測試和系統(tǒng)測試,找出問題并解決問題。

該教學(xué)方法主要有以下明顯的優(yōu)點:

1)軟件測試前期的課程有《基于Web的Java開發(fā)設(shè)計》,同步開設(shè)的課程有《J2EE企業(yè)級應(yīng)用開發(fā)》,所以在實踐環(huán)節(jié)我們選擇“小區(qū)物業(yè)管理系統(tǒng)”作為測試對象,能讓學(xué)生快速具備軟件開發(fā)的能力,以及掌握軟件系統(tǒng)測試所需的技術(shù)。

2)每個人都喜歡挑別人的錯誤,相互測試對方所開發(fā)的系統(tǒng),可以形成競賽,有利于發(fā)現(xiàn)問題,能發(fā)揮學(xué)生的積極性,提高效率。同時也便于組織課堂討論以及對各小組實踐結(jié)果的評價。

3)學(xué)生通過一整套測試課程的參與,能夠了解一個具體項目的完整測試過程是個什么樣子,真實展現(xiàn)了實際工作中軟件測試的方法和要求。

但由于學(xué)時和學(xué)生能力的制約,在本實驗課程中,主要針對還只是初、中級測試人員,主要是為了幫助畢業(yè)生在踏上崗位后可以順利從事不太復(fù)雜的測試工作打下堅實的基礎(chǔ)。對于高級別測試以及測試管理之類的工作,比如制定測試計劃、各種設(shè)計的論證、測試結(jié)果的評估和總結(jié),恐怕還需要經(jīng)相當(dāng)長時間的實戰(zhàn),累積足夠的經(jīng)驗才能勝任。這些工作經(jīng)歷,仍然不是課堂所能提供的,我們的目標(biāo)就要是培養(yǎng)出具備從事這項工作潛能的新手。有關(guān)這方面的內(nèi)容,我們也只能夠在理論教學(xué)中予以概述,不在實踐課中安排具體實驗。

為了適應(yīng)實踐課程需要,我們設(shè)計了8項實驗內(nèi)容,該設(shè)計旨在讓學(xué)員通過實訓(xùn),將來以一個“經(jīng)驗者”的身份進入人才市場。該項目模擬“企業(yè)項目管理者”培養(yǎng)“新人”的模式來安排實驗進度和內(nèi)容。雖然現(xiàn)實中軟件測試是始終貫穿于軟件生命周期中的,但對于未參加過工作的大學(xué)生來說,從培養(yǎng)人才的角度出發(fā),模擬“企業(yè)項目管理者”通常還是按如下流程培養(yǎng)人才:單純性測試的實施、測試環(huán)境建立、測試設(shè)計等等,按照單元測試集成測試系統(tǒng)測試的順序逐步深入實踐,并在提供的測試案例中人為的加入一些缺陷,以便學(xué)員在測試時去發(fā)現(xiàn)、分析、修改這些缺陷[7]。因此,我們專門設(shè)計了表1所示的實驗內(nèi)容。

通過以上8個實驗內(nèi)容的實踐,可以讓學(xué)員掌握單元測試以及集成測試的具體實現(xiàn)方法,熟悉各種測試工具的運用,了解系統(tǒng)測試的實施。經(jīng)過這些實際訓(xùn)練,學(xué)生將來以初級測試工程師的身份投入到測試工作中。

4 總結(jié)分析

實踐證明,軟件測試技術(shù)實踐課程體系研究針對軟件測試行業(yè)及人才的特點要求,把行業(yè)、企業(yè)對人才的要求轉(zhuǎn)化為教學(xué)中的具體目標(biāo)。從知識、能力、素質(zhì)多方面全方位提升學(xué)生的就業(yè)競爭力,設(shè)置合適的實踐教學(xué)內(nèi)容和方法,一定程度上改變了教師的教學(xué)狀態(tài)和學(xué)生的學(xué)習(xí)狀態(tài),達到了預(yù)期目標(biāo)。

參考文獻

[1]2007首屆中國軟件測試從業(yè)人員調(diào)查報告[DB/0L],2007

[2] 鐘素芬, 葉明芷. 軟件測試應(yīng)用性人才培養(yǎng)模式的探索與實踐[J]. 北京聯(lián)合大學(xué)學(xué)報(自然科學(xué)版),2007(9).

[3] 鐘元生. 軟件測試實踐教學(xué)特色的構(gòu)建實踐[J]. 電化教育研究,2006(10):62-65.

[4] 胡宏銀. 軟件測試課程教學(xué)方法探討與實踐[J]. 計算機教育,2007(6):11-12.

[5] 李繪卓,唐峻,范勇.基于案例的軟件測試實驗教學(xué)[J].電腦知識與技術(shù),2009,27(5):7820-7821.

第5篇

【關(guān)鍵詞】軟件測試 技術(shù) 管理

隨著經(jīng)濟社會的不斷進步和信息技術(shù)產(chǎn)業(yè)的持續(xù)發(fā)展,我國的軟件業(yè)逐步成為了信息技術(shù)產(chǎn)業(yè)的靈魂與核心。然而與同屬于亞洲的印度相比,我國在全球軟件業(yè)的整體地位還遠遠落后,印度目前位列全世界的前五個軟件方面供應(yīng)大國之一,在計算機的軟件出口方面地位僅在美國之后、位列世界第二。在促使印度的軟件業(yè)得以快速成長和發(fā)展的原因當(dāng)中,注重軟件的質(zhì)量是印度軟件業(yè)能夠攻取成功的一個關(guān)鍵性因素,印度的軟件企業(yè)在世界上所獲得的質(zhì)量認(rèn)證也是全球最多的。所以,提升軟件的質(zhì)量能夠大大地推動我國的軟件業(yè)的快速發(fā)展。而軟件的測試是把好軟件的質(zhì)量關(guān)口的一個重要的環(huán)節(jié),屬于軟件的開發(fā)周期當(dāng)中占據(jù)較大比重的一項內(nèi)容。然而在開發(fā)時間延續(xù)中,對軟件的缺陷修復(fù)的代價會十倍速地增長。所以,加強軟件的測試工作研究,對于提升軟件產(chǎn)品項目的質(zhì)量,推動我國軟件行業(yè)和企業(yè)持續(xù)健康發(fā)展具有十分重要的意義和作用。本文簡要介紹了軟件測試的目的和分類,深入闡述了促進軟件測試技術(shù)自動化的措施,研究提出了加強軟件測試管理的對策和建議,希望對于推進軟件測試的研究和實踐工作能夠起到一定的幫助和借鑒作用。

1 軟件測試概述

軟件測試指的是軟件產(chǎn)品在投放市場前,對于軟件產(chǎn)品所進行的需求的分析,設(shè)計的規(guī)格和編碼等內(nèi)容的復(fù)審,是確保軟件產(chǎn)品質(zhì)量的關(guān)鍵性步驟。

1.1 軟件測試的具體目的

軟件測試的具體目的決定著如何來組織進行測試工作。通常情況下軟件測試工作的目的主要有:一是為發(fā)現(xiàn)程序的錯誤從而進行測試,二是測試用以證明軟件的程序存在錯誤,并非證明該程序不存在錯誤;三是好測試其功能在于可以發(fā)現(xiàn)以前沒有發(fā)現(xiàn)的一些錯誤等等。因此,必須關(guān)注測試的具體目的,進行測試用例的選擇時要遵循經(jīng)濟性原則。

1.2 軟件測試分類

軟件測試通常可以分為黑盒式測試與白盒式測試兩種類型。黑盒式測試就是將軟件系統(tǒng)當(dāng)作黑盒子而不去考慮相關(guān)程序內(nèi)在的邏輯,按照需求規(guī)格的說明書要求對程序功能進行檢查,看能否達到功能說明的要求。白盒式測試就是允許實施測試的人員根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)和相關(guān)信息進行測試用例的設(shè)計與選擇,測試程序邏輯的路徑。按照前后的過程分類,測試步驟可分成:單元測試,組裝(集成)測試,確認(rèn)測試及系統(tǒng)測試等。

2 促進軟件測試技術(shù)自動化的措施

2.1 軟件傳統(tǒng)測試方法的主要問題

一是重復(fù)性較強。在功能增加及缺陷修復(fù)時均可能修改程序的代碼,對改變過的代碼進行測試就要反復(fù)地執(zhí)行測試用例,用手工進行重復(fù)操作會增加出錯率;二是測試的周期過長,手工重復(fù)測試將會使軟件的測試周期延長;三是測試內(nèi)容不夠全面,修改代碼之后,手工進行測試會忽略對關(guān)聯(lián)內(nèi)容的相應(yīng)測試;四是不能測試不可視的組件,服務(wù)器端重要的程序代碼均處于邏輯層,而采取手工進行測試的方法無法判斷邏輯層相應(yīng)內(nèi)容。

2.2 軟件測試自動化技術(shù)措施

一是生成測試個案,采用相應(yīng)的編程語言編制短小程序用以形成測試的輸入,以使自動化的測試和結(jié)果的核對程序更易于控制與操作。二是對測試進行寫控制,對單元的測試及集成的測試會采取單機運行的方式,然而對系統(tǒng)的測試及回歸式測試,則可會用到多臺設(shè)備在網(wǎng)絡(luò)環(huán)境下運行,以節(jié)省時間。 三是對測試的結(jié)果和標(biāo)準(zhǔn)化輸出進行對比,輸出的數(shù)據(jù)量情況和數(shù)據(jù)的格式對于對比速度有著直接的影響,應(yīng)當(dāng)編制特殊軟件將測試的結(jié)果和標(biāo)準(zhǔn)化輸出進行對比。四是利用對比軟件,分類、分析記錄及通報不符合的測試工作結(jié)果。五是產(chǎn)生測試總體統(tǒng)計報表,以增強過程管理工作的質(zhì)量,節(jié)省數(shù)據(jù)統(tǒng)計時間。

3 加強軟件測試管理的對策和建議

3.1 強化軟件測試的過程管理

測試需求階段中,就明確軟件測試的對象與范圍,測試負(fù)責(zé)與項目組成員應(yīng)充分溝通,對各種資料進行收集整理,對各階段測試工作需求進行分析,把測試內(nèi)容細分成測試的需求,并保證其測試的可行性。測試計劃階段中,主要的任務(wù)就是按照測試需求來制定測試的計劃,計劃內(nèi)容應(yīng)包括:測試的環(huán)境、進度、用例及風(fēng)險的分析等等。測試執(zhí)行的階段中,應(yīng)完成測試的實施與過程的監(jiān)控。在缺陷跟蹤的階段中,主要是及時報告軟件的缺陷,跟蹤修改的進展情況。

3.2 強化對軟件測試突出問題的管理

一是防范思維定勢的問題。克服測試人員由于太過熟悉測試的軟件,從而建立起慣性的思維,造成測試的次數(shù)越是多,其發(fā)現(xiàn)缺陷機會反而越少的情況;防范方法是:測試人員不斷編制測試新程序及測試的用例,從而發(fā)現(xiàn)更多缺陷;還可用新人進行軟件的測試。二是防范定位效應(yīng)的問題。測試人員的定位效應(yīng)就是對于已測試功能不能進行認(rèn)真的測試,由于疏于防范,可能會使缺陷一起存在;解決此問題方法為完整地實施測試用例,或者組織測試的人員進行交叉式的測試。

3.3 強化測試團隊的管理

嚴(yán)格員工考核,測試負(fù)責(zé)人定期組織項目組成員談話,定期評定做過什么和怎樣去做,做好測試人員的績效考核。加大培訓(xùn)力度,系統(tǒng)學(xué)習(xí)相關(guān)領(lǐng)域的基礎(chǔ)和業(yè)務(wù)知識,強化日常培訓(xùn),深入學(xué)習(xí)特定的項目及技術(shù),全面提升測試團隊的整體素質(zhì)和能力。針對測試人員流動帶來的影響,建立相應(yīng)的健全培訓(xùn)工作機制,促進新任員工可以盡快地適應(yīng)測試工作。

4 結(jié)語

綜上所述,軟件測試工作是軟件在投放市場使用前,對于軟件產(chǎn)品編碼的實現(xiàn),設(shè)計的規(guī)格及需求的分析等內(nèi)容所進行的最后一次審查,是軟件項目開發(fā)的一個重要的環(huán)節(jié),對于軟件質(zhì)量發(fā)揮著基礎(chǔ)保障的作用。因此,必須高度重視和加強軟件測試工作,不斷總結(jié)技術(shù)經(jīng)驗,持續(xù)完善管理措施和辦法,以提升軟件產(chǎn)品的質(zhì)量、推動軟件研發(fā)企業(yè)持續(xù)健康發(fā)展。

參考文獻

[1]楊亞南,孫忠林,李艷.軟件自動化測試淺談[J].科技信息,2007(24).

[2]肖新鳳.Web應(yīng)用程序性能測試技術(shù)的研究及應(yīng)用[J].科技信息,2010(27).

[3]張軍威.淺談如何以軟件測試推動軍工軟件工程化[J].硅谷,2011(14).

第6篇

【關(guān)鍵詞】激勵教學(xué)法 軟件測試 教學(xué)改革

【項目基金】北京師范大學(xué)珠海分校教學(xué)改革項目(項目編號:201245)。

【中圖分類號】G642 【文獻標(biāo)識碼】A 【文章編號】2095-3089(2013)12-0247-02

軟件質(zhì)量是一個直接影響軟件產(chǎn)業(yè)應(yīng)用發(fā)展的關(guān)鍵因素,軟件測試作為一個提高軟件質(zhì)量的重要手段和衡量軟件質(zhì)量的唯一標(biāo)準(zhǔn),得到了越來越多的重視。然而,目前我國軟件測試人才匱乏,其中主要的原因是這個行業(yè)對從業(yè)人員,尤其是對軟件測試工程師的要求很高。目前我國軟件測試人才主要依靠企業(yè)、IT培訓(xùn)機構(gòu)和高校培養(yǎng)三方面,靠企業(yè)和IT培訓(xùn)機構(gòu)突擊培養(yǎng)出來的人才往往基礎(chǔ)理論知識不夠扎實,在向高層次人才發(fā)展的過程中會碰到難以突破的瓶頸。

鑒于這種情況,許多高校都開設(shè)了軟件測試的課程,有的學(xué)校還開設(shè)了軟件測試方向或軟件測試專業(yè)。以我們信息學(xué)院為例,2008年開設(shè)了獨立的軟件測試的課程,2010年將軟件測試作為軟件工程專業(yè)的一個專業(yè)方向,其專業(yè)課程包括“軟件測試方法與技術(shù)”、“軟件測試自動化”、“軟件測試管理”和“軟件質(zhì)量保證”。這些軟件測試專業(yè)課程的實踐性和綜合性都很強,尤其是“軟件測試自動化”這門課程,除了要熟悉相關(guān)的測試?yán)碚摚私鈹?shù)據(jù)庫、網(wǎng)頁設(shè)計、程序設(shè)計等軟件開發(fā)方面的基礎(chǔ)知識,還要求掌握先進的開發(fā)及測試的方法和技術(shù),并能熟練運用常用的自動化測試工具。這些特點使得常規(guī)的教學(xué)方法和手段難以取得良好的教學(xué)效果,因此高等學(xué)校培養(yǎng)出來的軟件測試人員存在著理論和實踐脫節(jié)、獨立解決問題能力和綜合應(yīng)用能力不足等問題。

1.軟件測試專業(yè)課程教學(xué)存在的問題

目前,高校的軟件測試專業(yè)課程的教學(xué)大都采用課堂教學(xué)輔助以上機練習(xí)的方法,培養(yǎng)出的學(xué)生雖然有著較強的理論根底,但對于如何將這些理論運用到千變?nèi)f化的實際工作中去卻知之甚少,理論和實踐嚴(yán)重脫節(jié),學(xué)生的獨立解決問題能力和綜合應(yīng)用能力不足。

許多教學(xué)研究人員和專業(yè)教師也注意到了測試專業(yè)課程教學(xué)中存在的問題,并針對這些問題提出了一系列教學(xué)改革的方法。其中項目驅(qū)動的方法是[1]在教學(xué)的過程中師生共同實施一個完整的項目,使學(xué)生的綜合應(yīng)用能力得到了提高,因而在軟件測試專業(yè)課程教學(xué)中得到了廣泛的應(yīng)用[2],也取得了不錯的效果。但是,這種課堂授課+上機實驗+課程項目的教學(xué)方法對軟件測試專業(yè)課程來講,還存在著一定的局限性,主要表現(xiàn)在以下幾個方面:

1.1缺乏真實的被測對象

在教學(xué)中使用的項目和案例中,被測對象通常是一些簡單模擬的應(yīng)用軟件,測試場景,測試用例和bug也往往是模擬的。使用這類模擬的軟件、測試用例和bug對學(xué)生進一步理解概念和方法有一定的幫助,但往往不利于學(xué)生體會真實測試工作的復(fù)雜性和測試工作的價值,學(xué)生綜合應(yīng)用能力的提高受到了很大的限制,學(xué)習(xí)興趣也難以調(diào)動。

1.2缺乏對新知識的掌握

軟件開發(fā)和測試技術(shù)日新月異,在就業(yè)壓力日益增加的今天,學(xué)生不僅需要學(xué)習(xí)基礎(chǔ)知識,還要掌握行業(yè)的最新發(fā)展趨勢。對于軟件測試這種高應(yīng)用性的學(xué)科來說,最新的、最實用的技術(shù)和方法是在不斷的實踐中總結(jié)出來的,課堂授課+上機實驗+課程項目這種局限于校園的教學(xué)方法很難滿足學(xué)生和老師對新知識的掌握,也難以激發(fā)學(xué)生的學(xué)習(xí)熱情,更不利于開拓學(xué)生的視野,培養(yǎng)他們獨立解決問題的能力。

1.3缺乏對測試工作的熱情

目前,軟件行業(yè)里流傳著軟件測試工作的門檻低、收入低,經(jīng)過簡單的培訓(xùn)就可勝任的錯誤言論。其實,在軟件測試行業(yè)剛剛興起,軟件測試還是手工進行的時候,這種情況是存在的。但隨著軟件開發(fā)技術(shù)的發(fā)展,軟件變得越來越復(fù)雜,測試的方法和技術(shù)也有了進一步提高,低技術(shù)含量的單純手工測試已經(jīng)不能滿足需求了,測試工作的回報也有了大幅度地提高。然而,這種低門檻低收入的說法卻一直流傳了下來,加上前面提到的過于簡單的被測對象和沒能及時更新的測試技術(shù),都使得學(xué)生對軟件測試工作認(rèn)識不足,進而缺乏足夠的熱情。

2.改革措施

根據(jù)上一節(jié)提出的當(dāng)前軟件測試專業(yè)課程教學(xué)方法的局限性,我們提出了將激勵教學(xué)法應(yīng)用到軟件測試專業(yè)課程教學(xué)工作中的解決方案。具體的說,就是在課程中引入企業(yè)發(fā)起的校園競賽。

2.1激勵教學(xué)法

激勵教學(xué)法,就是教師根據(jù)學(xué)生的不同情況,運用各種有效手段,激發(fā)、鼓勵學(xué)生的進取精神、競爭精神和創(chuàng)造精神,提高學(xué)生的學(xué)習(xí)積極性、主動性,使其思想行為朝著教學(xué)計劃所期望的方向發(fā)展的方法[3]。然而,對大學(xué)高年級的同學(xué)來講,一般的方法和手段并不能對他們起到真正的激勵作用,為此,我們采用“校園競賽”這種與所學(xué)課程和未來職業(yè)規(guī)劃聯(lián)系密切的方式來激發(fā)同學(xué)們學(xué)習(xí)的積極性,同時也能提高他們獨立解決問題和綜合應(yīng)用的能力。

2.2校園競賽

在軟件測試專業(yè)課程的教學(xué)中,校園競賽是激勵教學(xué)法中的激勵機制,因此校園競賽設(shè)計的好壞,直接影響到激勵教學(xué)法實施的效果。

和大多數(shù)校園競賽不同,激勵教學(xué)法中的校園競賽是和某一軟件測試課程緊密聯(lián)系的,但競賽內(nèi)容卻不失實用性,參賽者也不僅僅局限于學(xué)習(xí)課程的學(xué)生。這樣,不但對課程的學(xué)習(xí)有很大的幫助,也能更多地吸引其他同學(xué)。最重要的是,競賽的優(yōu)勝者可以獲得進入企業(yè)實習(xí)和工作的機會,這種激勵方式可以有效地激發(fā)同學(xué)們學(xué)習(xí)的興趣。

為了使激勵教學(xué)法在軟件測試專業(yè)課程的教學(xué)中取得良好的效果,在競賽的設(shè)計方面,應(yīng)著重注意以下幾點:

2.2.1真實的被測對象

競賽中使用的被測對象應(yīng)該是企業(yè)中正在開發(fā)或運營的真實產(chǎn)品,在競賽的過程中,企業(yè)一線的軟件測試工程師應(yīng)親自指導(dǎo),使學(xué)生猶如置身于一個實際的工作環(huán)境中。這從根本上解決了高校培養(yǎng)的軟件測試人員理論和實踐脫節(jié)、缺乏實戰(zhàn)經(jīng)驗的問題,極大地提高了學(xué)生的綜合應(yīng)用能力。

2.2.2及時更新技術(shù)知識

在競賽的過程中應(yīng)定期地舉辦一系列技術(shù)講座,邀請企業(yè)的專家學(xué)者來學(xué)校和同學(xué)們面對面地交流。這些業(yè)內(nèi)專家不僅會帶來國內(nèi)外最先進的測試技術(shù),還可對如何將這些技術(shù)應(yīng)用到實際工作中去做詳細的講解。這不僅讓學(xué)生加深對理論學(xué)習(xí)重要性的認(rèn)識,激發(fā)他們的學(xué)習(xí)興趣,更從另一個側(cè)面強化他們把理論應(yīng)用到實踐中去的能力,并且使同學(xué)們對企業(yè)的管理和工作方式有更深入、更具體的了解,為今后走向社會打下堅實的基礎(chǔ)。

2.2.3競賽題目的難度要適中

對學(xué)生專業(yè)興趣的培養(yǎng)和鼓勵不能僅僅靠真實被測對象和新技術(shù)的更新,還要注意競賽題目的難易程度,要根據(jù)學(xué)生的整體知識水平和能力做相應(yīng)調(diào)整。太簡單了會失去挑戰(zhàn)性,太困難了會使他們產(chǎn)生畏懼心理,兩者都不利于激發(fā)他們對測試工作和測試課程學(xué)習(xí)的熱情。

3.方案實施

激勵教學(xué)法首先在“軟件測試自動化”課程上進行了實施。“軟件測試自動化”是軟件測試方向的必修課、其他方向的選修課,參加課程學(xué)習(xí)的同學(xué)主要為大三軟件工程專業(yè)的學(xué)生,他們一般至少學(xué)過一門軟件測試課程,具備一定的軟件測試的基本知識,同時對數(shù)據(jù)庫、網(wǎng)頁設(shè)計、程序設(shè)計等軟件開發(fā)方面的基礎(chǔ)知識有一定的了解。

根據(jù)“軟件測試自動化”課程的特點,結(jié)合腳本程序在測試工作中應(yīng)用越來越廣泛的趨勢,校園競賽的主題定為“自動化測試腳本編程”,被測試的對象為公司正在開發(fā)運行的一個性能監(jiān)控工具。

競賽分三個階段進行:

第一階段為熱身運動。企業(yè)提供詳細的操作步驟與說明,幫助參賽者了解比賽進行的方式與完成的步驟,也了解被測試對象的功能。

第二階段為實際演練。在這個階段,參賽者需要運用所學(xué)到的技能,結(jié)合自動化測試的理論及工具,來完成精細的自動化代碼設(shè)計任務(wù)。

第三階段為實戰(zhàn)考驗。參賽者需要完成實際的軟件測試自動化編碼工作,編寫真正的自動化測試腳本,搭建自動化測試框架,并讓其跑在真正的被測產(chǎn)品上。

為了擴大校園競賽的影響,專家講座以課外科技講座的形式進行,競賽結(jié)果的評定由企業(yè)和教師共同進行。

4.結(jié)語

激勵教學(xué)法針對高等學(xué)校培養(yǎng)的軟件測試人員存在的理論和實踐脫節(jié)、獨立解決問題能力和綜合應(yīng)用能力不足等問題,克服了當(dāng)前軟件測試專業(yè)課程教學(xué)經(jīng)常出現(xiàn)的缺乏真實測試對象、知識更新不及時和對測試工作熱情不高帶來了弊端,對培養(yǎng)應(yīng)用型、外向型、復(fù)合型的專門測試人才起到了積極的作用。經(jīng)過對“軟件測試自動化”課程教學(xué)的實施,證明了該方法是切實可行、效果顯著的,不但可以在軟件測試專業(yè)課程中進行應(yīng)用,經(jīng)過改進,完全有可能在其他類似的課程(如軟件工程)中加以推廣。

參考文獻:

[1]焦瑞.項目導(dǎo)向法初探[J].中國科技創(chuàng)新導(dǎo)刊,2010(13):36 - 36.

[2]趙曉君,黃艷,鄧璐娟. 項目驅(qū)動法在“軟件測試?yán)碚摗闭n程教學(xué)中的應(yīng)用[J]. 中國電力教育,2013(7): 101-102.

第7篇

關(guān)鍵詞 軟件測試 實踐教學(xué) 測試工具

中圖分類號:TP311.53 文獻標(biāo)識碼:A

1 軟件測試課程教學(xué)現(xiàn)狀及分析

1.1 軟件測試課程教學(xué)現(xiàn)狀介紹

軟件測試是軟件工程專業(yè)本科生的一門重要的必修課程。在本校的課程設(shè)置中為56學(xué)時,其中理論教學(xué)為32學(xué)時,上機實踐為24學(xué)時,由于軟件測試的各個環(huán)節(jié)分別對應(yīng)于軟件工程的相應(yīng)環(huán)節(jié),使得軟件測試課程的內(nèi)容龐雜,而其實踐環(huán)節(jié)也相應(yīng)地具有內(nèi)容雜,任務(wù)重的特點。

軟件測試的教學(xué)目標(biāo)是通過理論及實踐教學(xué),讓本科生熟悉軟件測試的工作流程、常用軟件測試方法及常用工具的使用及軟件測試過程管理。

教學(xué)過程中的主要參考書目為機械工業(yè)出版社出版,原著為Paul C.Jorgensen,韓柯等譯的《軟件測試(原書第2版)》,原書的英文名為《Software Testing A Craftsman''s Approach(Second Edition》。授課基本流程基本也是依據(jù)以上教材的流程,首先介紹軟件測試的概論,介紹什么是軟件測試,軟件測試的意義、軟件測試的基本流程和基本概念等內(nèi)容。接著介紹貫穿全書的軟件測試需要的示例以及軟件測試所需要的基本理論知識,包括測試人員使用的離散數(shù)學(xué)及圖論相關(guān)知識。介紹完以上知識以后,按照軟件測試流程依次介紹單元測試、集成測試和系統(tǒng)測試的測試用例開發(fā)方法和技術(shù)。其中在單元測試部分分別介紹單元測試部分的黑盒測試和白盒測試內(nèi)容,黑盒測試部分包括邊界值測試、等價類測試和基于決策表的測試,在白盒測試部分介紹路徑測試、數(shù)據(jù)流測試等結(jié)構(gòu)性測試方法的測試用例開發(fā)技術(shù)。介紹完以上內(nèi)容以后,又介紹了面向?qū)ο蟮能浖y試方法。

課程的上機實踐基本上也是配合上課的流程進行安排,在相應(yīng)的知識點介紹以后,安排學(xué)生按照指定的技術(shù)開發(fā)測試用例以進行測試活動,附帶掌握相應(yīng)的軟件測試的各種管理和自動化工具。

1.2 軟件測試課程教學(xué)現(xiàn)狀分析

通過以上教學(xué)流程的描述結(jié)合以往畢業(yè)生工作以后反饋,可以總結(jié)其教學(xué)過程的特點為:通過系統(tǒng)的學(xué)習(xí),同學(xué)們基本上能掌握軟件測試用例開發(fā)的各種技術(shù)要點,對所有的知識點都有所觸及,通過學(xué)習(xí)同學(xué)們基本上能夠掌握各種實用的軟件測試用例的開發(fā)方法,也能將各種方法應(yīng)用于實際軟件測試中。

而在實際軟件測試實踐中,軟件測試工作具有以下特點:

首先,依據(jù)測試工作越早開展越有利的原則,軟件測試一般從開發(fā)的初期就開始介入。例如在開發(fā)初期,需要編制測試計劃進行時間人員和物力上的計劃;在需求分析階段需要進行軟件測試的系統(tǒng)測試用例的開發(fā);在設(shè)計階段需要進行集成測試用例的開發(fā),隨著設(shè)計粒度越來越細,相應(yīng)的路徑及數(shù)據(jù)流集成測試用例也向下擴展;到達軟件編碼階段,主要依據(jù)相應(yīng)白盒技術(shù)進行單元測試用例的開發(fā)。其次,現(xiàn)代化的測試管理技術(shù)需要利用軟件全面管理軟件測試過程中的環(huán)節(jié),包括測試計劃的建立及管理、測試用例的管理、測試過程評價管理等。最后,因為人力資源成本的提高及各種技術(shù)限制,各種自動化的軟件用例的運行軟件的使用越來越多等。

通過比較教學(xué)過程及實際軟件測試的開發(fā)過程很容易發(fā)現(xiàn)以往教學(xué)過程具有以下限制:

首先,沒有將軟件測試作為軟件開發(fā)的有機部分進行介紹,而是將軟件測試過程從軟件開發(fā)過程中割裂開來。知識點沒有按照實際應(yīng)用過程展開,容易造成同學(xué)們掌握各個知識點,卻無法形成知識實際應(yīng)用能力。其次,缺少相應(yīng)的測試管理軟件的介紹和實踐,影響了同學(xué)們對軟件測試管理的重要性的認(rèn)識。最后,教學(xué)課程缺乏同學(xué)們比較感興趣的各種軟件測試自動化工具的介紹。降低了同學(xué)們的學(xué)習(xí)興趣。

2 軟件測試課程教學(xué)改革方法探討

通過上文的現(xiàn)狀介紹和分析,針對以上教學(xué)方法進行改造,同時本著揚長避短的原則,在中國石油大學(xué)(華東)軟件工程專業(yè)2009級軟件測試課程教學(xué)過程中進行了教學(xué)改革。

教學(xué)改革的契機為本校軟件工程專業(yè)和IBM公司開展教材合作編寫項目,軟件測試作為軟件開發(fā)的重要部分獲得了空前的發(fā)展良機。

具體的有利因素可以概括為:首先,學(xué)校向IBM公司購買JAZZ開發(fā)平臺及相應(yīng)的專業(yè)軟件測試管理軟件。通過和業(yè)界領(lǐng)先的最新的軟件測試管理軟件接觸,了解了最新的軟件測試管理理念;其次,通過IBM公司對教工的業(yè)務(wù)培訓(xùn),了解了IBM公司的各種軟件測試工具的使用情況;最后,通過本文作者共同努力,將平時用于開發(fā)的實際應(yīng)用軟件例如體育公共課管理軟件等進行整合,用于軟件測試用例的案例教學(xué)。

有了以上基礎(chǔ)前提以后,結(jié)合以上有利條件,教改的主要做法如下:首先進行案例化教學(xué),通過自己開發(fā)的軟件這樣生動的實例向同學(xué)們介紹軟件開發(fā)過程中的軟件測試的重要性和各種原則,避免了介紹知識的空洞和乏味,提高了同學(xué)們的學(xué)習(xí)興趣;其次,在案例化教學(xué)的指導(dǎo)思想下,重新安排各個教學(xué)點的教學(xué)順序,主要脈絡(luò)為依照軟件開發(fā)的實際流程,首先介紹系統(tǒng)用例開發(fā)技術(shù),然后介紹繼承測試用例開發(fā),到最后介紹單元測試用例開發(fā)方法。在運行測試用例的過程中,充分結(jié)合IBM公司提供的各種軟件測試用例運行工具,使得學(xué)生能夠活學(xué)活用。最后,充分利用IBM的軟件平臺,介紹業(yè)界領(lǐng)先的軟件管理工具的使用,使得學(xué)生學(xué)習(xí)興趣得到極大提高。

通過以上的教學(xué)改革,理順了教學(xué)和實踐的關(guān)系,使得教學(xué)過程緊密聯(lián)系實際軟件的開發(fā)過程,同學(xué)們對軟件測試課程的理解得到了加深。

3 結(jié)論及下一步工作

通過上文對教學(xué)現(xiàn)狀的總結(jié),以及針對教學(xué)現(xiàn)狀的利弊進行分析,本文充分利用外部優(yōu)勢大膽進行了軟件測試的教學(xué)改革,取得了預(yù)期的改革目標(biāo)。同時也注意到改革工作才剛剛開始,還有很多需要完善的地方。接下來的工作主要包括:進一步豐富用于軟件測試教學(xué)的案例及密切關(guān)注業(yè)界測試技術(shù)的最新發(fā)展以用于教學(xué)。總之,本文的教改工作達到了預(yù)期的目標(biāo),使得同學(xué)們對于軟件測試的理解較之以前更加條理化、系統(tǒng)化和實用化。

參考文獻

[1] 匡青.高職院校軟件測試課程教學(xué)改革探索[J].現(xiàn)代商貿(mào)工業(yè),2010.3.

第8篇

關(guān)鍵詞:軟件測試;能力培養(yǎng);教學(xué)理念;培養(yǎng)模式;探索實踐

中圖分類號:TP311 文獻標(biāo)識碼:A DoI: 10.3969/j.issn.1003-6970.2012.03.009

Explore and Practice of Training the Ability for Software Test Talent

CaI Jian-ping

(School of Software Engineering Beijing University of Technology, Beijing 100101, China)

【Abstract】According to the requirements of Ministry of Education for training software talents, Aim at the software engineering features, and as a breakthrough for shortage of talent on software test, the paper analysis the employing demand of IT enterprises, study the training target of software testing talents and the training demand on the ability, explore a good method of the ability training for software test talents. Based on this, we actively undertake many practice activities about the ability training for software test talents, for example, concise the teaching philosophy of training software testing talent, build the new pattern of training the ability for software test talents, constitute a general outline for software test course, write corresponding book, establish laboratory, etc.

【Key words】software testing; ability training; Teaching Philosophy; Training Pattern; Explore and Practice

0 引 言

軟件測試是軟件工程的一個重要分支,是軟件質(zhì)量保證的重要基礎(chǔ)。現(xiàn)代軟件測試與傳統(tǒng)的軟件測試不一樣,它是貫穿軟件工程整個生命周期(從需求分析、軟件設(shè)計、代碼開發(fā),一直到最后測試、驗收和維護),涉及各種軟件開發(fā)技術(shù)、應(yīng)用技術(shù)以及測試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域(如桌面軟件、網(wǎng)絡(luò)應(yīng)用、信息系統(tǒng)、電子服務(wù)、嵌入式系統(tǒng)、數(shù)字娛樂等),面臨不同的專業(yè)領(lǐng)域知識,所要求的投入與軟件開發(fā)相比規(guī)模同等甚至更高。另外,軟件測試是一項需具備較強專業(yè)技術(shù)、學(xué)習(xí)和創(chuàng)新能力的工作,軟件測試人員除了需要有一定的軟件測試實踐經(jīng)驗外,必須要具有縝密的邏輯思維能力、全面的技術(shù)能力、各種測試工具的使用能力、敢想敢干的創(chuàng)新能力,要有較強的責(zé)任心和團隊合作精神以及出色的溝通能力等專業(yè)素質(zhì)。要成為一名合格的軟件測試人才需要經(jīng)過嚴(yán)格系統(tǒng)化的專業(yè)培養(yǎng),并且在專業(yè)培養(yǎng)過程中一定要結(jié)合軟件測試專業(yè)化的特殊要求,強調(diào)軟件測試人員的工程實踐能力。

目前,很多高等學(xué)校僅僅是在計算機專業(yè)或軟件工程專業(yè)中設(shè)置一些軟件測試課程,還沒有提高到軟件測試專業(yè)化人才培養(yǎng)這個層面。北京工業(yè)大學(xué)軟件學(xué)院率先在這方面進行了探索和實踐,將能力培養(yǎng)作為軟件測試人才培養(yǎng)的重要內(nèi)容和突破口,提出了“用工具,促能力”的教學(xué)理念,積極探索軟件測試課程的改革與實踐,最終建立通過學(xué)習(xí)和使用軟件測試工具進行軟件測試能力培養(yǎng)的新模式。并在此基礎(chǔ)上,開展課程建設(shè)、教材建設(shè)、實驗室建設(shè)等工作,取得了較好的效果。

1 “用工具,促能力”的教學(xué)理念

工程實踐能力是計算機專業(yè),特別是軟件工程專業(yè)的基本要求之一。計算機技術(shù)或軟件工程技術(shù)涉及到大量的知識內(nèi)容,包含各種開發(fā)和應(yīng)用技術(shù),覆蓋許多應(yīng)用領(lǐng)域,需要有很強工程實踐能力。對于我們在校的本科學(xué)生,由于從高中到大學(xué),一直在學(xué)習(xí),缺乏實際項目經(jīng)歷。如果按照傳統(tǒng)的課堂傳授理論知識的方法進行教學(xué),輔助一般的實驗,會讓學(xué)生感到枯燥、乏味,提不起興趣。

為此,北京工業(yè)大學(xué)軟件學(xué)院要求在軟件工程本科專業(yè)的培養(yǎng)計劃中加大計算機基礎(chǔ)課程和軟件工程專業(yè)核心課程的實踐教學(xué)環(huán)節(jié)(包括配套的課程設(shè)計,獨立的實踐課程,以及小學(xué)期的集中實訓(xùn)等),并特別在軟件測試課程的實踐教學(xué)上進行了大膽的改革和創(chuàng)新,提出了“用工具,促能力”進行軟件測試人才能力培養(yǎng)的教學(xué)理念。該教學(xué)理念的核心思想是通過要求學(xué)生熟練地使用各種軟件測試工具,來掌握軟件測試相關(guān)知識、技術(shù)、方法和管理流程,提高軟件測試的工程實踐能力,提升軟件測試的專業(yè)化水平。

熟練地使用軟件測試工具能帶來如下好處:

1)提高工作效率。

軟件測試的工作量很大(據(jù)統(tǒng)計,測試會占用到40%的開發(fā)時間;一些可靠性要求非常高的軟件,甚至?xí)嫉?0%);另外,測試中的許多操作是重復(fù)的、非智力性的和非創(chuàng)造性的,但要求準(zhǔn)確細致。最后,那些固定的、重復(fù)性的工作,可以由測試工具來完成,這樣就使得測試人員能有更多的時間來計劃測試過程,設(shè)計測試用例,使測試進行的更加完善。

2)保證測試的準(zhǔn)確性。

手工測試常會犯一些人為錯誤。為此需要投入大量的時間和精力;而工具的特點是能保證測試的準(zhǔn)確性,防止人為疏忽造成的錯誤。

3)有些測試很難開展,必須使用工具(如性能測試等)。

測試工具可以執(zhí)行一些手工難于執(zhí)行,或者是無法執(zhí)行的測試。這是因為軟件測試工作相當(dāng)復(fù)雜,要求非常嚴(yán)格,很多測試在手工測試環(huán)境是無法完成的。

4)測試工具很好地保證測試工作的規(guī)范性和一致性。

軟件工程最重要的內(nèi)容就是管理,軟件測試同樣也是將管理放在第一位。

5)測試工具體現(xiàn)了先進的測試思想、方法和技術(shù)。

掌握并熟練地使用軟件測試工具,能夠快速和有效地掌握或鞏固所學(xué)的軟件測試的思想、方法和技術(shù);運用軟件測試工具開展軟件測試工作,能夠有效地提升解決軟件測試中遇到的各種問題,增強軟件測試的實戰(zhàn)能力。

事實上,“用工具,促能力”的教學(xué)理念非常適合在工程化要求較高的軟件工程核心課程中進行示范,予以推廣。

2 探索軟件測試人才能力培養(yǎng)的新模式

我們在“用工具,促能力”的教學(xué)理念指導(dǎo)下,對以軟件測試人才能力培養(yǎng)為目標(biāo)的教學(xué)方法與教學(xué)模式進行積極地探索和實踐,確定了軟件測試課程教學(xué)的知識體系以及學(xué)習(xí)和使用軟件測試工具進行軟件測試能力培養(yǎng)的實踐教學(xué)體系,制定了軟件測試課程教學(xué)大綱和實踐教學(xué)課程大綱,從而建立軟件測試課程教學(xué)及能力培養(yǎng)的新模式。

我們這里所說的軟件測試人才能力培養(yǎng)新模式主要是指我們在對軟件工程本科學(xué)生的軟件測試能力培養(yǎng)過程中,強調(diào)“用工具,促能力”的教學(xué)理念,以開源軟件測試工具為基礎(chǔ),結(jié)合精選的教學(xué)案例,大膽地將測試工具的掌握和測試工具的應(yīng)用作為實踐教學(xué)的重點,強化學(xué)生軟件測試專業(yè)知識的掌握,促進學(xué)生軟件測試實踐能力的培養(yǎng)。這種實踐教學(xué)的新模式,通過不斷的探索和實踐,充分得到學(xué)生的認(rèn)可。學(xué)生通過軟件測試工具的使用,大大提高了參與實踐的興趣,對軟件測試相關(guān)的理論知識有了更深入的理解和掌握,運用工具解決測試項目實際問題的能力得到了加強。

2.1 軟件測試人才能力培養(yǎng)的課程建設(shè)

軟件測試人才培養(yǎng)專業(yè)性強,人員素質(zhì)高,這要求我們必須科學(xué)地對軟件測試課程體系進行論證,并按照軟件測試人才能力培養(yǎng)新模式的要求制定出教學(xué)大綱。目前,學(xué)院在軟件測試課程體系的設(shè)置上分三個層次:理論課程―軟件測試,實踐課程―軟件測試課程設(shè)計,創(chuàng)新學(xué)分―軟件協(xié)同測試。貫穿這三個層次的主線是軟件測試工具,即通過軟件測試工具在不同軟件測試項目中的使用,強化學(xué)生知識的掌握和能力的培養(yǎng),并按照工具使用流程要求,培養(yǎng)學(xué)生專業(yè)職業(yè)素質(zhì)。

2.2 基于開源軟件的軟件測試實驗室建設(shè)

軟件測試課程對工程實踐要求極高,對學(xué)生動手能力要求極強,因此軟件測試實驗室的建設(shè),軟件測試工具的配備除了支撐教學(xué)外,還是“用工具,促能力”教學(xué)理念的貫徹和通過學(xué)習(xí)和使用軟件測試工具進行軟件測試人才能力培養(yǎng)新模式的實施最重要的保證。

考慮到軟件測試貫穿軟件工程整個軟件生命周期,涉及各種軟件開發(fā)技術(shù)、應(yīng)用技術(shù)以及測試技術(shù),覆蓋軟件各種應(yīng)用領(lǐng)域,需要用到多種測試技術(shù)、方法和測試類型。因此要建設(shè)能夠讓學(xué)生或受訓(xùn)人員全面參與這些實驗或?qū)嵺`的軟件測試實驗室,特別是全面配置商用軟件測試工具,這幾乎是不可能的。首先,除一次性投入滿足數(shù)十位學(xué)生同時上機進行實驗或?qū)嵺`的要求外,經(jīng)常性的升級維護費用就會讓條件優(yōu)越的高校或培訓(xùn)機構(gòu)難以承受,更不要說大多數(shù)條件不優(yōu)越的高等院校。另外,如果完全依靠商用軟件測試工具開展軟件測試的實踐教學(xué),除了面太窄、投入太高外,我們很難推廣和普及在這方面取得的實踐教學(xué)成果。

為此,我們提出了以主流的開源軟件測試工具為基礎(chǔ),進行軟件測試實驗室建設(shè)的解決方案。該方案覆蓋軟件測試的各個階段和各種類型,保證了國內(nèi)許多院校在辦學(xué)條件不足,實驗教學(xué)經(jīng)費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠很好地開設(shè)軟件測試實踐類課程。

實際上,我們在軟件測試實踐能力培養(yǎng)過程中,一直是要求學(xué)生使用開源測試工具。這是因為:

①開源測試工具的使用,特別是測試環(huán)境的建立,能夠促使學(xué)生接觸各種開源工具,如操作系統(tǒng)、服務(wù)器、數(shù)據(jù)庫、頁面開發(fā)語言、繪圖、郵件等,培養(yǎng)他們搭建平臺的綜合能力。

②采用開源測試工具搭建測試環(huán)境開展測試工作,更有利于學(xué)生學(xué)習(xí)和理解軟件開發(fā)技術(shù)和軟件測試原理,提高學(xué)習(xí)興趣。

③學(xué)生通過使用開源測試工具,除了完成課程設(shè)計所規(guī)定的測試任務(wù)外,還能夠清楚地了解這些測試工具對測試技術(shù)和測試方法的支持以及這些工具在應(yīng)用中存在的問題,并可以嘗試自己動手改進這些測試工具。

2.3 軟件測試課程配套的教材建設(shè)

為使教學(xué)理念真正得到貫徹,能力培養(yǎng)模式真正得到實施,必須解決與之配套的教材問題。為此,我們編寫了《軟件測試大學(xué)教程》、《軟件測試實驗指導(dǎo)教程》以及《嵌入式軟件測試實用技術(shù)》3本教材。這3本教材不僅是課程的配套教材,而且還是軟件測試課程建設(shè)和教學(xué)研究及改革等成果的最終表現(xiàn),也是軟件測試能力培養(yǎng)新模式實施的基石。《軟件測試大學(xué)教程》已被北京市教委推薦為“十二五”普通高等教育本科國家級規(guī)劃教材(待評審);另外,《軟件測試實驗指導(dǎo)教程》全面介紹了支持各種軟件測試類型的開源軟件測試工具的主要功能、應(yīng)用流程及實際案例,涉及到測試管理、缺陷管理、代碼分析、單元測試、系統(tǒng)測試、性能測試以及軟件綜合評測等重要實踐內(nèi)容。該教材配套有近1GB內(nèi)容的DVD光盤,光盤中存放有覆蓋軟件測試不同階段和不同類型的大量開源軟件測試工具及配套的實踐教學(xué)案例,保證了國內(nèi)許多院校在辦學(xué)條件不足,實驗教學(xué)經(jīng)費有限,無法全方位引進商用軟件測試工具的情況下,仍然能夠?qū)W習(xí)和推廣我們的教學(xué)成果;最后,學(xué)術(shù)專著《嵌入式軟件測試實用技術(shù)》對軟件工程應(yīng)用領(lǐng)域嵌入式軟件的測試活動開展提供了專業(yè)支持。

上述教材的出版及使用,能夠使我們的教學(xué)理念真正得到貫徹,教學(xué)大綱真正得到落實,教學(xué)新模式真正得到實施,實踐教學(xué)的探索及改革有據(jù)可查,有跡可循。

2.4 軟件測試精品課程的建設(shè)

精品課程的建設(shè)能夠推動優(yōu)質(zhì)教育資源的共享、教學(xué)理念的宣傳和教學(xué)模式的普及與推廣,使學(xué)生得到最好的教育,從而全面提高教學(xué)質(zhì)量。

軟件測試課程自2009年評為北京工業(yè)大學(xué)校級精品課程以來,一直在努力開展精品課程相關(guān)內(nèi)容的建設(shè),積極申報北京市精品課程。通過近幾年的軟件測試精品課程建設(shè),很好地推動了優(yōu)質(zhì)教育資源的共享,以及實踐教學(xué)理念的宣傳和實踐教學(xué)模式的普及與推廣。

軟件測試課程在建設(shè)過程中,對教學(xué)內(nèi)容、教學(xué)方法進行了如下的改革:

①在整個本科和工程碩士教學(xué)計劃和培養(yǎng)方案的基礎(chǔ)上,進行課程體系、教學(xué)內(nèi)容及實驗和實踐環(huán)節(jié)整體配套和優(yōu)化的教學(xué)改革;

②重視基礎(chǔ)理論,采用案例驅(qū)動式教學(xué)方式,加強實踐教學(xué)環(huán)節(jié),注重基本技能訓(xùn)練與工程能力的培養(yǎng);

③密切軟件開發(fā)技術(shù)及測試技術(shù)應(yīng)用最新動態(tài),設(shè)計實踐教學(xué)案例,增強課程內(nèi)容的針對性和時效性;

④將軟件測試課程理論教學(xué)與軟件測試課程設(shè)計、軟件協(xié)同測試等實踐教學(xué)和創(chuàng)新學(xué)分整體考慮,努力達到培養(yǎng)高素質(zhì)、專業(yè)化軟件測試人才的要求;

⑤為使軟件測試課程達到既定目標(biāo),開展了配套的教材建設(shè)。

總之,精品課程教學(xué)內(nèi)容突出全生命周期軟件測試概念、軟件質(zhì)量分析手段、現(xiàn)代軟件測試技術(shù)、主流測試工具應(yīng)用以及典型應(yīng)用測試方法等,幫助學(xué)生了解和掌握現(xiàn)代軟件測試的各種原理、方法和技術(shù),并能夠選擇合適的軟件測試工具進行相關(guān)測試。這些舉措為培養(yǎng)學(xué)生今后成為高素質(zhì)、專業(yè)化的軟件測試人才打下很好的基礎(chǔ),許多學(xué)生畢業(yè)后在IT企業(yè)能夠很好地從事軟件測試工作。

軟件測試精品課程網(wǎng)站是按照北京市精品課程網(wǎng)站建設(shè)要求建設(shè)的。網(wǎng)上的內(nèi)容除了課程概況、課程內(nèi)容、練習(xí)作業(yè)、教學(xué)課件、參考資料以及全程錄像。由于軟件測試課程包含有實踐性教學(xué),因此本網(wǎng)站包括實踐教學(xué)指導(dǎo)等。除此之外,本網(wǎng)站還包括軟件測試課程全面教育教學(xué)研究和改革的思路、方案和成果。可以說,本網(wǎng)站內(nèi)容完整、資源豐富,其成果具有可示范性和可推廣性。

軟件測試課程建設(shè)得到北京世紀(jì)超星信息技術(shù)發(fā)展有限責(zé)任公司的大力支持,該公司將本課程作為優(yōu)秀學(xué)術(shù)成果(超星名師講壇――超星學(xué)術(shù)視頻)進行了全程的錄像和系統(tǒng)的整理,部分錄像資源可在超星網(wǎng)上觀看或下載,網(wǎng)址是: video.省略/playvideo.aspx?id=31475。另外,超星公司已授權(quán)我們可將本課程的完整學(xué)術(shù)視頻放在學(xué)校精品課程網(wǎng)站上,使教師和學(xué)生共享其資源。

3 軟件測試人才能力培養(yǎng)模式的實踐

軟件測試課程在不同的院校其設(shè)置是不一樣(如理論課或理論課+實驗課,學(xué)時、學(xué)分等)的,北京工業(yè)大學(xué)軟件學(xué)院在軟件工程專業(yè)本科生的教學(xué)計劃中將軟件測試課程設(shè)為專業(yè)必修課,其課程設(shè)置包括理論課及實驗課(課程設(shè)計)兩部分。理論課32學(xué)時,16周完成,每周2學(xué)時,最后參加學(xué)校考試周的閉卷考試。課程設(shè)計是期末小學(xué)期2周集中進行,共60學(xué)時。

3.1 課程設(shè)置情況

軟件測試課程自2005年開設(shè)以來,就依據(jù)“用工具,促能力”的教學(xué)理念開展本文所提到的軟件測試人才能力培養(yǎng)的新模式進行教學(xué),講授了8輪次,學(xué)習(xí)人數(shù)達500多人。

無論是軟件測試?yán)碚撜n實驗、軟件測試課程設(shè)計,還是創(chuàng)新學(xué)分――軟件協(xié)同測試,都是以軟件測試工具為核心,結(jié)合精心設(shè)計的測試案例,使學(xué)生從測試需求、測試環(huán)境建立、測試策略、測試技術(shù)應(yīng)用、測試用例設(shè)計與執(zhí)行、測試結(jié)果分析,以及缺陷跟蹤管理與測試報告文檔撰寫等方面完成實驗內(nèi)容和課程設(shè)計內(nèi)容。

3.1.1 軟件測試?yán)碚撜n程的實驗大綱

軟件測試?yán)碚撜n中安排了6個學(xué)時的實驗內(nèi)容,包括三個方面的內(nèi)容(每部分內(nèi)容2學(xué)時):代碼靜態(tài)檢測、Java單元測試Junit、Gtk+界面測試。

3.1.2 軟件測試課程設(shè)計大綱

軟件測試課程設(shè)計按照《軟件測試實驗指導(dǎo)教程》開設(shè)了6大類型的軟件測試項目,每個類型的測試項目要求學(xué)生同時使用主流的開源測試工具,體會先進和成熟的軟件測試技術(shù),提高學(xué)生的實戰(zhàn)能力。

類型1:以測試過程管理為主,實驗重點是缺陷管理、測試管理以及缺陷管理與測試管理的集成。涉及到的開源工具主要有Mantis、Bugzilla、Testlink、Testopia等。

類型2:以程序的靜態(tài)分析為主,實驗內(nèi)容是程序理解、代碼靜態(tài)分析。涉及到的開源工具主要有Oink,Eclipse PTP/ CDT,以及分析Java代碼的多種工具(如Findbugs、PMD、Checkstyle、Valgrind、Prefast等)。

類型3:以單元測試為主,實驗內(nèi)容是基于支持測試驅(qū)動開發(fā)(TDD)的單元測試框架xUnit的C/C++功能測試和C/C++及Java的覆蓋測試。涉及到的開源工具主要有CppUnit、EclEmma、Gcov等。

類型4:以圖形界面測試為主,基于單元測試框架對Java GUI進行測試,對網(wǎng)頁進行測試。涉及到的開源工具主要有JFCUnit、HttpUnit、JWebUnit等。

類型5:以性能測試為主,除了繼續(xù)在單元測試框架的基礎(chǔ)上對Java應(yīng)用進行單元性能測試外,重點是對Web應(yīng)用系統(tǒng)進行整體的性能測試。涉及到的開源工具主要有p-unit、JMeter、WebLoad等。

類型6:以軟件綜合評測為主,對南京大學(xué)的EASTT工具進行綜合應(yīng)用(可輔助使用Panorama++試用版),全面了解軟件評測的思想、方法和要求。

軟件測試課程設(shè)計的考核內(nèi)容包括:建立測試環(huán)境,運行測試工具,編寫測試?yán)樱虞d被測程序,執(zhí)行測試用例,分析測試結(jié)果,撰寫測試總結(jié)報告(報告字?jǐn)?shù)不少于1萬字),最后登臺匯報(PPT演講)。

通過撰寫報告和登臺PPT匯報,培養(yǎng)學(xué)生的邏輯思維、歸納總結(jié)、論文撰寫、多媒體制作以及登臺演講能力。3.1.3 軟件協(xié)同測試創(chuàng)新學(xué)分大綱

軟件協(xié)同測試創(chuàng)新學(xué)分實踐課程主要是由教師布置具體的較大型軟件測試項目,模擬多人異地得測試活動,讓學(xué)生體驗軟件測試各個階段進行協(xié)同的關(guān)鍵要素。包括測試需求分析、測試計劃制定、測試用例設(shè)計、測試用例執(zhí)行、測試結(jié)果收集以及測試資源和測試過程管理等各個環(huán)節(jié)的協(xié)同要求,學(xué)生通過協(xié)同分工完成整個課程任務(wù),并在測試實踐中總結(jié)方法,創(chuàng)新性的提出軟件協(xié)同測試的解決方案。

3.2 實踐效果

基于“用工具,促能力” 的教學(xué)理念下的軟件測試人才能力培養(yǎng)的新模式在內(nèi)容組織上做到了既能夠調(diào)動學(xué)生專業(yè)興趣,使其感到軟件測試的實用性和挑戰(zhàn)性,又加強了學(xué)生軟件測試的實際動手能力。軟件測試課程以主流的開源軟件測試工具應(yīng)用為基礎(chǔ),以實戰(zhàn)能力培養(yǎng)為目的,易于教師開展軟件測試的各項實踐教學(xué)活動,而且學(xué)生對這種形式的實踐教學(xué)反映非常好,學(xué)生參與實驗的熱情非常高,學(xué)生經(jīng)過實踐后收獲非常大、能力提高非常快,學(xué)生為實踐收集或設(shè)計的案例非常豐富,部分學(xué)生撰寫的實踐總結(jié)報告水平也非常高。另外,學(xué)生結(jié)合分組實踐內(nèi)容的安排,進行針對性地軟件測試實踐活動,同時也可以方便不同層次的學(xué)生根據(jù)自己的能力、時間和興趣選擇相關(guān)的實踐內(nèi)容進行自學(xué)和實踐,進一步地拓展自己的專業(yè)知識和專業(yè)技能,為今后的職業(yè)生涯規(guī)劃打基礎(chǔ)。

企業(yè)對我們所取得的成果給予了認(rèn)可。北京應(yīng)用軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心與學(xué)院簽署了戰(zhàn)略合作協(xié)議,確定在軟件測試人才培養(yǎng)(如軟件測試培訓(xùn)、實訓(xùn)及實習(xí))、軟件測試科研、軟件協(xié)同測試平臺建設(shè)以及嵌入式軟件測試等基礎(chǔ)建設(shè)方面開展合作。

2009年,北京工業(yè)大學(xué)軟件學(xué)院所獲得的北京市軟件工程實踐教學(xué)示范中心其建設(shè)內(nèi)容主要是軟件工程及其相關(guān)專業(yè)核心課程的實踐教學(xué)及其學(xué)生的能力培養(yǎng)。按照什么樣的理念和模式開展這些課程的實踐教學(xué),軟件測試課程“用工具,促能力”的教學(xué)理念和在該教學(xué)理念指導(dǎo)下的軟件測試人才能力培養(yǎng)模式做了一個很好的實踐和回答。

4 結(jié)束語

目前計算機學(xué)院或軟件學(xué)院學(xué)生的軟件測試人才培養(yǎng)一直是高等院校計算機人才或軟件人才培養(yǎng)的一個“短板”,一直缺少好的教學(xué)理念和教學(xué)模式。因此,開展軟件測試人才能力培養(yǎng)的教學(xué)理念及培養(yǎng)模式的探索與實踐是一件非常有意義的工作。對于這項工作,有關(guān)專家給與了充分的肯定,他們認(rèn)為:軟件測試人才能力培養(yǎng)的教學(xué)理念和新模式強調(diào)軟件測試工具使用的重要性,同時重視教學(xué)實驗成本和教學(xué)的靈活性,所有實驗和實踐活動的內(nèi)容組織均以開源軟件測試工具為主。通過實際測試項目的開展和工具的使用,能夠使學(xué)生掌握軟件測試的基本方法、技術(shù)和流程,提高他們的動手能力。而且這種教學(xué)理念和培養(yǎng)模式具有示范性和推廣性。

參考文獻

[1] 柳永坡. 讓軟件測試實驗和實訓(xùn)課程輕松地走進高校或培訓(xùn)機構(gòu)――介紹《軟件測試實驗指導(dǎo)教程》[J].計算機教育,2010(13):158.

[2] 柳永坡. 軟件測試大學(xué)教程:軟件測試課程專業(yè)教材[J].計算機教育,2010(12):158.

[3] 蔡建平. 開源軟件測試實踐教學(xué)方案設(shè)計[J]. 計算機教育,2011(6):103-108.

[4] 蔡建平. 軟件測試大學(xué)教程[M]. 北京:清華大學(xué)出版社,2009,09.

第9篇

一、工作數(shù)據(jù)

我于xx日入職,在這4個月的工作中,我從開始進入公司配置xx安裝環(huán)境到xx,再到現(xiàn)在完全測試的xx工作。

二、工作總結(jié)

作為一名軟件測試人員,我的工作內(nèi)容是:主動尋找公司的軟件產(chǎn)品中可能的缺陷以及不合理的地方,并及時反饋給開發(fā)同事,保證公司的軟件交給客戶是比較理想沒有明顯缺陷的狀態(tài)。

在公司測試的日常工作,思想?yún)R報專題主要由兩部分組成:一是與實施同事交流討論,總結(jié)實施同事提交的并提交給開發(fā)修改、全程跟蹤,直到關(guān)閉。二是按照流程細致的分析軟件可能存在的缺陷,及時反饋給開發(fā)同事。在4個月的時間里,我由測試xx轉(zhuǎn)到測試xx,下面對我的工作做一個總結(jié)。

1、xx測試。剛來公司,測試經(jīng)理給我非配的是一臺惠普的新臺式機,運行速度很快,用起來很舒服,很喜歡。第一個星期主要是學(xué)習(xí)xx的業(yè)務(wù)流程和安裝部署xx財政端和單位端的測試環(huán)境。在xx的幫助下我配置了6月到8月份,我主要測試的是xx版本,財政端測試的模塊主要有:票據(jù)管理、收入管理、基礎(chǔ)資料、單位對賬、統(tǒng)計報表、票據(jù)查詢、以及系統(tǒng)管理等模塊;測試單位端主要是與財政端相關(guān)模塊。測試的用戶有:省財政廳、xx縣、xx縣。

2、xx測試。到了八月底,由于黃石非稅項目組的xx*的項目任務(wù)比價緊,我遍參加進入了xx的測試小組,與xx、xx一起并肩戰(zhàn)斗!由于xx功能不夠穩(wěn)定,測試工作進度受開發(fā)的影像,進度時快時慢,工作狀態(tài)也反復(fù)無常。我調(diào)整好狀態(tài),及時與開發(fā)的同事溝通,把沒有及時跟新出現(xiàn)的直接與開發(fā)交流,避免了測試工作的反復(fù)。測試xx的過程中由于開始業(yè)務(wù)不熟悉,請教xx,她都耐心的幫我解答。

三、工作中存在的問題以及解決辦法

剛走出校園初次接觸軟件測試這個全新的行業(yè),我就對這份工作產(chǎn)生了極大的好奇,在工作的過程中,不斷的和同事交流,學(xué)習(xí)工作技巧,工作到今天,工作技能有了很大的進步,但是,隨著工作的日益進展,也出現(xiàn)了些困惑和工作難題。

1、部門間同事交流不是很充分。前期測試xx感覺交流還比較充分,因為xx版本是一個穩(wěn)定的版本,性能比較穩(wěn)定,用戶提出的都很深入比較少,實施、測試、開發(fā)就有充分的時間討論、分析需求、最終合理的解決。但是轉(zhuǎn)到測試xx后就明顯感覺交流的時間不夠,我想是因為xx的項目時間趕得太急,這段時間資源有限,整個項目組必須拿寶貴的時間解決最重要的事情,所以需要項目的每個成員做好全心的投入,每個細節(jié)和問題及時溝通,這樣才能保證項目開發(fā)流程的順暢,最后完成任務(wù)。我想我在緊急項目測試的這個方面還要注意方法。

2、由于個剛走出校門的大學(xué)生,項目經(jīng)驗比較少,也很欠缺對行業(yè)技術(shù)的把握。我要加緊學(xué)習(xí),才能更好的滿足不斷變化的深入的測試工作。

四、近期工作計劃及職業(yè)規(guī)劃

第10篇

 

1 軟件開發(fā)和軟件測試

 

軟件開發(fā)和軟件測試都是軟件工程定義里的重要階段。軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)人員主要工作是對用戶需求進行分析,根據(jù)需求分析進行系統(tǒng)設(shè)計、程序編碼、單元測試和軟件缺陷的修復(fù)。

 

軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(包括輸入數(shù)據(jù)與預(yù)期輸出結(jié)果),并利用這些測試用例運行軟件,以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷的過程。在軟件投入運行前,軟件測試對軟件需求分析、設(shè)計規(guī)格說明和編碼最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。

 

2 軟件開發(fā)和軟件測試的關(guān)系

 

在軟件項目團隊中,軟件開發(fā)和軟件測試都是其重要的項目成員,兩者都有共同的目標(biāo)就是實現(xiàn)用戶需求,保證軟件高品質(zhì)的交付到用戶手中。有開發(fā)就會有測試,開發(fā)人員先實現(xiàn)軟件,測試人員對軟件進行測試找出程序錯誤和缺陷,并提交開發(fā)進行修復(fù)。軟件開發(fā)和軟件測試通過這樣互相合作,逐步解除軟件隱藏的程序錯誤和潛在風(fēng)險,使軟件產(chǎn)品更逼近于用戶需求。

 

軟件開發(fā)和軟件測試的工作交集就是軟件缺陷,在軟件缺陷的定義和處理上往往容易發(fā)生意見分歧。在這個時候,作為軟件測試人員,如何處理和應(yīng)對好和軟件開發(fā)的關(guān)系,保持高效的團隊協(xié)作能力就顯得尤為重要。

 

3 軟件測試對軟件開發(fā)關(guān)系的處理方法及技巧

 

3.1 尊重開發(fā)成果

 

作為測試人員要保持良好的心態(tài),要尊重開發(fā)的工作成果。有的測試人員接到開發(fā)提交測試的軟件,在開始測試后碰到這樣那樣的問題,有的可能是顯而易見的問題時,就會心生抱怨,甚至言語上抨擊開發(fā)人員技術(shù)水平低,單元測試沒做好,這樣很容易導(dǎo)致開發(fā)人員對測試人員的反感和抵觸,造成兩者關(guān)系緊張。其實,你要理解開發(fā)人員也是在時間緊,任務(wù)重,經(jīng)過加班加點的情況下開發(fā)出來的程序,有錯誤那是肯定的,我們測試人員的職責(zé)就是要幫助他們找到軟件里面的 Bug,幫助他們改進軟件質(zhì)量。所以,測試人員要保持好的心態(tài),理解開發(fā)人員的辛勞,盡好測試職責(zé)努力幫助他們。

 

3.2 提交缺陷技巧

 

日常工作中測試與開發(fā)打交道最多的莫過于在軟件缺陷的定義和處理上了。怎樣能夠讓開發(fā)人員更樂于接受測試提交的缺陷并改進它,測試人員要注意以下幾點:

 

3.2.1 換位思考,多站在開發(fā)人員的角度想

 

開發(fā)人員將軟件提交測試后,他們最焦急等待的測試結(jié)果基本上都是系統(tǒng)邏輯跑不跑得通,數(shù)據(jù)流轉(zhuǎn)是否正確。測試人員在這方面就要注意測試技巧和提交Bug的優(yōu)先順序。測試時優(yōu)先按業(yè)務(wù)流程測試整個系統(tǒng)邏輯,把影響系統(tǒng)邏輯的錯誤找出來優(yōu)先提交給開發(fā)人員,這時候的開發(fā)人員會很喜歡修改這些問題。測試中碰到一些不影響系統(tǒng)邏輯的Bug我們先暫且記錄下來,待第一批都修改完畢,測試才提交如界面美觀、輸入輸出控制等改進型的Bug,這樣有主次的提交 Bug順序,開發(fā)更易于接受。

 

3.2.2 Bug描述要清晰準(zhǔn)確

 

測試人員發(fā)現(xiàn)的BUG是開發(fā)人員改進的重要依據(jù),好的Bug描述對于正確的和高效的解決Bug非常重要。測試人員在描述Bug時,語言要簡明準(zhǔn)確,杜絕使用“好像、有時、偶爾、幾分鐘、一段時間”等模糊詞語;描述的內(nèi)容不是越多越好,只要提供有利于開發(fā)人員快速定位的必要信息即可。具備一定開發(fā)經(jīng)驗,水平較高的測試人員還能通過錯誤現(xiàn)象,定位程序可能出錯的地方,提出問題查找的方向。

 

3.2.3 避免提交重復(fù)和無效的Bug

 

測試人員在遇到Bug時,要先進行問題分析,這個問題是獨立出現(xiàn)還是整個系統(tǒng)都普遍存在,如果是普遍問題,只需要提交一個Bug即可。過多的同一問題根源的Bug會令開發(fā)人員厭煩。另外,測試人員不但要熟悉業(yè)務(wù)需求,還要熟悉軟件系統(tǒng)的操作和使用,提交由于操作錯誤而非程序問題引起的Bug,容易導(dǎo)致開發(fā)對測試失去信任。如果測試人員在不確定是否Bug的時候,可先向開發(fā)人員進行詢問確認(rèn)。

 

3.3 注重溝通

 

(1)測試人員與開發(fā)人員最容易產(chǎn)生分歧的就是對缺陷的定義,這時候面對面的討論比在即時通訊工具上數(shù)十個來回的爭論來得直接、有效、清晰。討論的時候,測試人員應(yīng)說說自己的測試方法,讓開發(fā)明白你的測試內(nèi)容和做法都是站在用戶的角度去測試和看待問題。

 

(2)不要期望所有的Bug都會被開發(fā)人員修復(fù),浪費太多的時間去爭論一些不影響系統(tǒng)本質(zhì)的非關(guān)鍵點反而會得不嘗失,應(yīng)該允許開發(fā)人員保持不同的觀點,問題可留待下個版本完善。

 

(3)平時多與開發(fā)人員交流,了解他們負(fù)責(zé)的模塊和實現(xiàn)方法,這樣有助于自己對系統(tǒng)有更深入的認(rèn)識,改善測試方法和測試技巧,幫助開發(fā)改進軟件質(zhì)量。

 

4 總結(jié)

 

軟件測試與軟件開發(fā)保持良好的合作關(guān)系,能夠使項目團隊具備更高的凝聚力,極大的提升團隊協(xié)作能力,是順利、高效的實施軟件項目的有力保障。

第11篇

關(guān)鍵詞:代碼審查;嵌入式軟件;檢查單

0 引言

隨著嵌入式系統(tǒng)軟件功能的日益強大,其規(guī)模和復(fù)雜性也日益增加,進行專業(yè)化的高效的軟件測試的要求越來越迫切,挑戰(zhàn)性也越來越強。軟件測試的目標(biāo)就是要盡可能早一些找出缺陷,并且確保缺陷得以修復(fù)從而保證軟件的質(zhì)量。

軟件測試按照是否執(zhí)行軟件代碼分為動態(tài)測試和靜態(tài)測試,靜態(tài)測試方式又分為基于軟件工具的靜態(tài)分析和基于人工分析的代碼審查。一般認(rèn)為代碼審查是一種高效的軟件測試手段,可以比動態(tài)測試更有效地發(fā)現(xiàn)某些特定類型的缺陷,且實施時無需特別條件,成本較低。工程實踐表明,代碼審查是發(fā)現(xiàn)軟件缺陷、提高軟件質(zhì)量和可靠性的有效手段,該階段發(fā)現(xiàn)的軟件缺陷數(shù)目占整個軟件測試周期發(fā)現(xiàn)缺陷總數(shù)的40%~60%[1]。

1 代碼審查概述

1.1 代碼審查定義

代碼審查是一種正式的評定技術(shù)。由除作者之外的某人或某一小組仔細檢查軟件代碼,以找出故障和違反開發(fā)標(biāo)準(zhǔn)之處以及其他一些問題。軟件代碼審查的目的是檢查代碼和設(shè)計的一致性、代碼執(zhí)行標(biāo)準(zhǔn)的情況、代碼邏輯表達的正確性、代碼結(jié)構(gòu)的合理性以及代碼的可讀性[2]。

1.2 代碼審查過程

1.2.1 個人審查

在進行軟件代碼審查之前我們要求先完成軟件靜態(tài)分析,這有利于軟件測試人員在后續(xù)代碼審查時對軟件建立宏觀上認(rèn)識,在審查中容易做到有的放矢,更易于發(fā)現(xiàn)軟件代碼中的缺陷。具體表現(xiàn)在:

1)軟件靜態(tài)分析是通過專業(yè)軟件靜態(tài)分析工具對程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、代碼品質(zhì)等在非運行狀態(tài)下的分析,它提取了軟件大量的靜態(tài)內(nèi)部信息,比如違背編碼規(guī)則、子程序模塊、調(diào)用/被調(diào)用關(guān)系、扇入/扇出數(shù)等,可以為代碼審查提供輔助參考信息,依據(jù)現(xiàn)有的度量模型定量地評價軟件的內(nèi)在質(zhì)量[3];靜態(tài)分析的查錯功能是編譯系統(tǒng)不能替代的,因此,有必要在編譯通過之后及其它靜態(tài)測試開始之前,進行靜態(tài)分析。

2)編程準(zhǔn)則檢查是靜態(tài)分析的重要組成部分,也是以往代碼審查具體檢查項的規(guī)范化總結(jié)。編程規(guī)則的許多條款以前是代碼審查檢查單中的內(nèi)容,但依據(jù)人的檢查工作量大且往往會遺漏,現(xiàn)在上升為專業(yè)工具檢查,大大提高了檢查的效率和準(zhǔn)確性。軟件中編程準(zhǔn)則的違背往往是缺陷引入最可能的地方,但并不是違背住處必定是功能缺陷之處,這還需要再進行分析。代碼審查就要對使用工具所做的靜態(tài)分析的結(jié)果進行驗證。

個人審查時測試人員要仔細閱讀代碼和相關(guān)材料,結(jié)合靜態(tài)分析的結(jié)果對軟件代碼進行審查,同時還要對照代碼檢查單,記錄下發(fā)現(xiàn)的問題及明顯缺陷。

1.2.2 會議審查

由組長、資深程序員、程序開發(fā)人員與專職測試人員組成測試小組,在一起以會議的形式進行代碼審查。審查首先由程序開發(fā)人員逐條語句講述程序的邏想結(jié)構(gòu)。在講述的過程當(dāng)中,小組的其他成員應(yīng)提問題、判斷是否存在錯誤,同時對照代碼檢查單進行分析討論,對討論的各個問題形成結(jié)論性意見。

利用代碼檢查單對軟件進行審查是代碼審查過程的一個重要部分,如果想發(fā)現(xiàn)和改正程序中的每一個缺陷,就必須遵照一個精確的規(guī)程。檢查單可以幫助確保遵循這個規(guī)程。本文針對C語言代碼的檢查部分,列出檢查單中常見的錯誤類型:

1)一致性錯誤:一致性錯誤主要是檢查設(shè)計的所有功能是否都已經(jīng)編碼,以及所有的代碼是否都可對應(yīng)到設(shè)計文檔。

2)數(shù)據(jù)引用錯誤:數(shù)據(jù)引用錯誤是指使用未經(jīng)正確初始化用法和引用方式的變量、常量、數(shù)組、字符串或記錄而導(dǎo)致的軟件錯誤。

3)數(shù)據(jù)聲明錯誤:數(shù)據(jù)聲明錯誤是指不正確地聲明或使用變量和常量。

4)運算錯誤:計算錯誤是基本的數(shù)學(xué)邏輯問題,計算無法得到預(yù)期結(jié)果。

5)比較錯誤:小于、大于、等于、不等于、真、假。比較和判斷錯誤很可能是邊界條件問題。

6)控制流錯誤:控制流程錯誤的原因是編程語言中循環(huán)等控制結(jié)構(gòu)未按預(yù)期的方式工作。它們通常由計算或者比較錯誤直接或間接造成。

7)子程序參數(shù)錯誤:子程序參數(shù)錯誤的來源是軟件子程序不正確地傳遞數(shù)據(jù)。

代碼審查的目的就是為了產(chǎn)生合格的代碼,代碼審查過程中正確地使用代碼檢查單可以用較少的時間更好的發(fā)現(xiàn)程序中的缺陷,同時根據(jù)測試經(jīng)驗和代碼審查中發(fā)現(xiàn)的錯誤也可以補充完善檢查單,為后續(xù)軟件測試提供有價值的參考。

2 代碼審查實踐

2.1 嵌入式軟件特點

嵌入式軟件是基于嵌入式系統(tǒng)設(shè)計的軟件,它是由程序以及文檔組成。嵌入式軟件同通用軟件的區(qū)別主要表現(xiàn)在以下幾方面:首先,與通用的軟件有很強的兼容性不同,嵌入式軟件只能運行在特定的目標(biāo)機上,與其所屬的目標(biāo)機系統(tǒng)有很強的耦合性,軟件的實現(xiàn)細節(jié)和目標(biāo)機系統(tǒng)的結(jié)構(gòu)、I/O端口配置等都有關(guān)系;其次,由于嵌入式系統(tǒng)計算機應(yīng)用要求,需要在規(guī)定的時間內(nèi)完成處理功能,這就要求嵌入式軟件要有很強的實時性;另外,嵌入式實時系統(tǒng)對外部事件的響應(yīng)一般都是通過中斷來處理的,其對中斷的處理方式直接影響到系統(tǒng)的實時性能。但在實際應(yīng)用中,由于中斷的復(fù)雜性,不可能進行充分的測試,而只能通過充分的中斷分析來彌補。因此,嵌入式軟件的測試應(yīng)有別于通用的軟件。

2.2 嵌入式軟件代碼審查實踐

在我院相關(guān)產(chǎn)品中,嵌入式軟件占了絕大多數(shù),而嵌入式軟件又是最難測試的一類軟件,表現(xiàn)在其實時性強、I/O通道少、開發(fā)工具昂貴、內(nèi)存不豐富、與硬件緊密相關(guān)、CPU種類繁多等[4],且嵌入式軟件比普通軟件對可靠性的要求更高,因此有必要對嵌入式軟件的測試技術(shù)做深入的研究。本人結(jié)合我院代碼審查工作情況,總結(jié)了多個嵌入式產(chǎn)品軟件的測試結(jié)果及經(jīng)驗,歸納出在嵌入式軟件代碼審查中,除常見錯誤類型之外還應(yīng)著重檢查的內(nèi)容:

2.2.1 初始化檢查

主要檢查在系統(tǒng)軟件工作開始時,系統(tǒng)的軟件硬件是否都處于一個完備的、正確的初始狀態(tài)。檢查項目有:

1)軟件在初始化時是否確保禁止、互鎖和安全邏輯的配置,并保證滿足異常限制條件。

2)加電初始化的系統(tǒng)狀態(tài)是否和所有外部接口的初始狀態(tài)規(guī)定相符合。

3)軟件是否將可置換單元初始化,啟動和置于某個已知的安全狀態(tài)。

4)所有不使用的RAM、寄存器(包括可編程邏輯芯片的共享RAM,寄存器)是否初始化。

5)非正常條件下系統(tǒng)是否初始化。

2.2.2 接口檢查

主要檢查是否會因為接口處理不當(dāng)導(dǎo)致軟件功能的錯誤或損失,甚至硬件的損壞。檢查項目有:

1)接換數(shù)據(jù)的以下特征:信源、信宿、類型、格式、協(xié)議、傳輸速率、分辨率、吞吐量。

2)外部系統(tǒng)來的復(fù)雜數(shù)據(jù),考慮可能的失效模式。

3)數(shù)據(jù)采集的頻率和外部數(shù)據(jù)的變化率是否相適應(yīng)。

4)數(shù)據(jù)采集的分辨率和外部數(shù)據(jù)的精度是否相適應(yīng)。

5)串行通訊的異常處理的適合性。

2.2.3 中斷處理檢查

主要檢查是否會因為中斷處理不當(dāng)導(dǎo)致軟件性能下降,死鎖和數(shù)據(jù)腐敗。檢查項目有:

1)檢查軟件中用到的中斷,分析它們的屬性,比如是屬于定時中斷、周期性中斷還是隨機中斷;是偶發(fā)的還是頻繁的;是系統(tǒng)內(nèi)部的還是系統(tǒng)外部的。

2)檢查中斷之間的關(guān)系,中斷的優(yōu)先級分配;中斷之間是否有約束機制,如A中斷必須在B中斷之后出現(xiàn)等。

3)中斷的處理流程,中斷入口的保護;中斷出口的恢復(fù);中斷執(zhí)行時間是否合適;開中斷的時機是否恰當(dāng)。

4)中斷的嵌套,中斷控制初始化是否和硬件電路相容,是否和系統(tǒng)功能要求一致;可能發(fā)生的最大嵌套次數(shù);是否有自嵌套的情況;是否會丟失低級中斷;是否會發(fā)生死鎖。

5)資源競爭檢查,有無共享的緩沖區(qū)、變量和I/O端口存在,讀、寫處理有否沖突;有無同時出現(xiàn)的中斷申請。

6)異常情況的處理,是否采用了防止干擾引起中斷誤觸發(fā)的措施,發(fā)生誤觸發(fā)或丟失中斷對系統(tǒng)功能有什么影響。

7)對中斷信號的確認(rèn)處理和硬件電路是否一致。

2.2.4 與時間特性有關(guān)的檢查

主要檢查是否會因為處理不當(dāng)導(dǎo)致軟件功能的時間特性下降錯誤或功能紊亂。檢查項目有:

1)在超過正常響應(yīng)時間時,是否有適合的保護機制。

2)對與時間相關(guān)的功能,例如濾波、積分、延遲、迭代等,是否有算法超時保護機制。

3)采樣周期是否考慮了干擾信號的頻率。

4)不使用空操作或空循環(huán)來做延時。

5)不使用大的多重if-then-else 和多重case結(jié)構(gòu)。

2.2.5 安全性可靠性的處理檢查

檢查為提高系統(tǒng)安全性和可靠性的處理措施是否合適。檢查項目有:

1)檢查出現(xiàn)硬件失效,導(dǎo)致系統(tǒng)失效的軟件故障的情況下,或者軟件檢測到一個與當(dāng)前運行模式不一致的配置時,軟件是否有能力將系統(tǒng)置于某個安全狀態(tài)。

2)采取的檢錯、防錯、糾錯和容錯措施是否有效,并且沒有副作用。

3)對關(guān)鍵功能的所有不期望事件,是否都有處理要求且措施合適。

2.2.6 重用代碼檢查

在有延續(xù)性的產(chǎn)品中,代碼或組件重用是很常見的現(xiàn)象,當(dāng)代碼或組件的重用方式與原來的設(shè)計者或開發(fā)者的意圖不同時,重用可能就是不恰當(dāng)?shù)摹V赜脵z查項目有:

1)檢用代碼是否有依賴性,如果代碼要依賴其它完成特定任務(wù)的東西,而新的程序不完成那個任務(wù),代碼就不能正常工作。

2)檢用代碼與新程序的集成,如果新的程序中定義的變量、給定的常量或指針,不是被重用的模塊所期望的,也會造成代碼的重用錯誤。

實踐證明,以上這些檢查內(nèi)容可以有效地發(fā)現(xiàn)代碼中存在的缺陷,是常用測試內(nèi)容的有益補充,能顯著地提升軟件測試的效果。

3 結(jié)論

本文介紹了軟件代碼檢查單中的常見錯誤類型,列舉了嵌入式軟件因為其特殊性而應(yīng)著重檢查的內(nèi)容,兩者結(jié)合對嵌入式軟件進行代碼審查,可在有限的軟件測試周期內(nèi)對程序的正確性、規(guī)范性、一致性、中斷處理、時間特性、安全性可靠性等方面進行有效的檢查。通過使用該方法在實際工程項目中發(fā)現(xiàn)了眾多的軟件缺陷,效果顯著,從而提高了整個測試工作的效率。

參考文獻:

[1] Oliver Laitenberger. Studying the Effects of Code Inspection and Structural Testing on Software Quality[J].

[2] 許聚常,朱國慶,尹平等.GJB/Z141軍用軟件測試指南.中國人民總裝備部.2004.

第12篇

【關(guān)鍵詞】軟件測試;測試方法;黑盒測試

隨著軟件產(chǎn)業(yè)的迅速發(fā)展,軟件產(chǎn)品的質(zhì)量已成為軟件企業(yè)生存與發(fā)展的關(guān)鍵。軟件缺陷自軟件誕生的那一日起就跟隨著出現(xiàn),軟件測試就應(yīng)運而生。隨著軟件內(nèi)容和結(jié)構(gòu)的不斷豐富,軟件缺陷也日趨多樣化,引起更為嚴(yán)重的質(zhì)量問題。軟件測試方法的研究正是本著提高軟件質(zhì)量,降低軟件缺陷的影響。隨著人們對軟件質(zhì)量的重視,軟件測試也不斷得到加強和持續(xù)發(fā)展。

1、軟件測試的定義

軟件測試應(yīng)該是以查找軟件缺陷為目標(biāo)的一種過程,測試用例設(shè)計和缺陷管理是軟件測試中提高缺陷查找效率和缺陷處理效率的兩個有效手段。軟件測試依靠的是強大的邏輯和條理性來完成工作,也同時存在著一定的風(fēng)險。軟件的應(yīng)用形式多樣,輸出和實現(xiàn)功能的方式也不止一種,而產(chǎn)品設(shè)計中缺乏客觀的標(biāo)準(zhǔn),就使得軟件缺陷的標(biāo)準(zhǔn)也變的多樣,沒有任何一種方式能夠?qū)浖M行完全測試。這樣,就無法通過軟件測試顯示隱藏的軟件缺陷,只能盡量查找軟件缺陷,找到的軟件缺陷越多,說明軟件本身的缺陷就越多,同時尚有在測試過程中被發(fā)現(xiàn)和斷定的缺陷,這也是軟件測試的局限性。

2、軟件測試的基本方法

軟件測試過程包含幾個階段:測試需求的分析和確定;測試計劃;測試執(zhí)行;測試記錄和跟蹤;回歸測試;測試總結(jié)和報告。狹義的測試是指在代碼編寫完成后對代碼進行測試,而廣義的測試開始于需求階段,伴隨著設(shè)計、實現(xiàn)階段。如測試需求規(guī)格說明書,測試設(shè)計框架等。可以從不同角度來劃分軟件測試方法。

2.1靜態(tài)測試和動態(tài)測試

軟件測試從是否需要執(zhí)行被測軟件的角度,可以將軟件測試分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試是指依據(jù)需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行,對軟件進行分析、檢查和測試,不實際運行被測試的軟件,約可找出30%到70%的邏輯設(shè)計錯誤。這種方式不通過程序運行就能夠?qū)ふ掖a中的缺陷或?qū)Τ绦蛑械拇a進行評估,可以由人來操作,發(fā)揮了人的邏輯思維的優(yōu)勢或測試經(jīng)驗,能夠批量性地發(fā)現(xiàn)問題,并直接定位到缺陷或錯誤的具置。靜態(tài)測試可以分為靜態(tài)分析和代碼走查。靜態(tài)分析是一種計算機輔助靜態(tài)分析方法。主要對程序進行控制流分析、數(shù)據(jù)流分析、接口分析和表達式分析等。靜態(tài)分析的對象是計算機程序,程序設(shè)計語言不同,相應(yīng)的靜態(tài)分析工具也不盡相同。代碼走查是一種人工測試方法,它一般依靠有經(jīng)驗的程序員根據(jù)需求分析、設(shè)計規(guī)格等來執(zhí)行。動態(tài)測試是指通過運行軟件來檢驗軟件的動態(tài)行為和運行結(jié)果的正確性。動態(tài)測試有兩個基本要素:被測試程序和測試數(shù)據(jù)。必須生成測試數(shù)據(jù)來運行被測試程序,取得程序運行的真實情況、動態(tài)情況,進而進行分析測試質(zhì)量依賴于測試數(shù)據(jù)。

2.2黑盒測試、白盒測試、灰盒測試

從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實現(xiàn)算法來看,可以將軟件測試分為黑盒測試、白盒測試、灰盒測試。

黑盒測試又稱功能測試,數(shù)據(jù)驅(qū)動的測試或者基于規(guī)格說明書的測試。黑盒測試可以從軟件的功能為起始,根據(jù)功能的需求說明測試所用的方式,并依據(jù)該方式的需求來運行被測試的程序。從名字上來解釋,就是將軟件看成是不透明的黑盒子,對于盒子內(nèi)部的結(jié)構(gòu)不理會,只關(guān)注軟件的實用功能,并對這些功能進行測試。

白盒測試又稱結(jié)構(gòu)測試,玻璃盒測試或基于覆蓋的測試。相比較于黑盒測試,它更關(guān)注于軟件內(nèi)部邏輯結(jié)構(gòu),其測試的重點是測試用例的覆蓋程序結(jié)構(gòu)的程度。白盒測試,是將軟件比作透明可見的盒子,測試人員可以根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)來設(shè)計測試用例,來測試程序的邏輯路徑。

灰盒測試,也稱跟蹤法測試,是指介于白盒測試和黑盒測試之間的一種測試方法,它關(guān)注輸出對于輸入的正確性,同時也關(guān)注內(nèi)部結(jié)構(gòu)形式的程度,它跟蹤程序的運行過程,特別是輸入數(shù)據(jù)在程序中的“流程”。比如,測試人員輸入數(shù)據(jù)后,軟件會將其轉(zhuǎn)換為代碼并通信至服務(wù)器,服務(wù)器經(jīng)過一系列的處理,將數(shù)據(jù)傳送給客戶端,并最終顯示給測試者。灰盒測試能夠?qū)φw的過程進行追蹤,對每一步的數(shù)據(jù)進行測試。。但較白盒測試而言,灰盒測試沒有深入解析程序的結(jié)構(gòu),但也不像黑盒測試那樣只關(guān)注輸入和輸出,它也關(guān)心程序中間的某些流程是否正確。

3、軟件測試用例設(shè)計

傳統(tǒng)軟件測試用例設(shè)計是從軟件的各個模塊的算法細節(jié)得出的,而面向?qū)ο蟮能浖y試用例則著眼于適當(dāng)?shù)牟僮餍蛄校詫崿F(xiàn)對類的說明,主要有基于故障的測試、基于腳本的測試和類層次的分割測試等形式。

3.1基于故障的測試

軟件系統(tǒng)最終是以實現(xiàn)用戶的需求為目的的。基于故障的測試是從模型分析開始,逐步來測試軟件可能發(fā)生的故障,為了確定故障的類型和存在方式,一般設(shè)計用例去執(zhí)行代碼。基于故障的測試核心問題是測試者怎么來判定錯誤的性質(zhì)。“可能的錯誤”可以是意料之外的結(jié)果,不正當(dāng)?shù)牟僮鳎e誤的引用等。如果是操作不當(dāng)引起的錯誤或故障還需要對操作進行檢查,排除操作因素引起的故障。這種方法除用于操作測試外,還可用于屬性測試,確定其對于不同類型對象行為是否賦予了正確的屬性值。

3.2基于腳本的測試

基于腳本的測試主要關(guān)注用戶的需求,并從用戶任務(wù)中找出用戶要做什么及去執(zhí)行。這種基于腳本的測試有助于在一個單元測試情況下檢查多重系統(tǒng),所以基于腳本用例測試比基于故障測試更實際也更復(fù)雜。

3.3類層次的分割測試

類層次的分割測試可以減少用完全相同的方式檢查類測試用例的數(shù)目,這與傳統(tǒng)測試中的等價類劃分測試很相似。類層次的分割測試主要分為:基于狀態(tài)的分割,按類操作是否改變類的狀態(tài)來分割;基于屬性的分割,按類操作所用到的屬性來分割;基于類型的分割,按完成的功能分割。

4、結(jié)束語

軟件設(shè)計中出現(xiàn)的缺陷是無法完全消除的,卻可以通過軟件測試來降低缺陷的發(fā)生,隨著市場對軟件質(zhì)量要求的提高,軟件測試在軟件開發(fā)中的地位越來越重要。軟件測試的最終目的不是為了找出軟件設(shè)計中的錯誤和故障,而是通過測試來發(fā)現(xiàn)缺陷,找出缺陷的分布特征和出現(xiàn)的規(guī)律,以期在新的開發(fā)項目中尋找更優(yōu)的方式來避免缺陷的出現(xiàn),改進設(shè)計結(jié)構(gòu),同時也能夠通過設(shè)計有針對性的檢測方法,改善軟件測試的有效性。

參考文獻

亚洲精品无码久久久久久久性色,淫荡人妻一区二区三区在线视频,精品一级片高清无码,国产一区中文字幕无码
香蕉啪视频在线观看视频久 | 中文字幕亚洲无线码在线中 | 亚洲va成高清在线播放人 | 日本三级韩国三级网站乱 | 日本精品免费网站 | 日韩美女少妇免费观看 |