資源描述:
《軟件工程翻譯費下載》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、目錄一文獻翻譯2面向?qū)ο筌浖倪M化測試21.引言32.相關(guān)工作33.測試框架43.1進化測試53.2靜態(tài)分析54.實驗64.1評價64.2隨機測試74.3有靜態(tài)分析的隨機測試84.4進化的測試85.結(jié)論和討論116.致謝117.參考文獻11二哈爾濱工程大學(xué)圖書館系統(tǒng)的評價13三網(wǎng)上招聘系統(tǒng)需求規(guī)格說明書141.引言141.1項目名稱:141.2項目背景和內(nèi)容概要151.3系統(tǒng)的目標151.4角色定義152.功能及業(yè)務(wù)流程162.1系統(tǒng)主UseCase圖162.2用例分析193數(shù)據(jù)描述223.1原始數(shù)據(jù)描述223.2數(shù)據(jù)流向圖224.
2、界面要求235.性能需求235.1可靠性需求235.2安全性需求235.3時間特性要求245.4可維護性和可擴展性246.運行環(huán)境需求247.需求確認2423一文獻翻譯面向?qū)ο筌浖倪M化測試LucasSerpaSilva1MaartenvanSomeren21阿姆斯特丹大學(xué),科學(xué)園1071098XG,荷蘭阿姆斯特丹,+410762020757,lssilva@gmail.com2阿姆斯特丹大學(xué),科學(xué)園1071098XG,荷蘭阿姆斯特丹,+310205256791,M.W.vanSomeren@uva.nl摘要:據(jù)估計,軟件開發(fā)成本的
3、80%是用于檢測和修復(fù)缺陷。為了解決這個問題,人們已經(jīng)開發(fā)了一些工具和測試技術(shù),以改善現(xiàn)有的測試框架。雖然如靜態(tài)分析,抽驗和進化測試技術(shù)已被用于自動化測試過程中,目前尚不清楚什么是最好的辦法。進化測試以前的研究主要集中在程序的編程語言,和代碼覆蓋為主要的優(yōu)化參數(shù)。在這項工作中,我們提出了一個把遺傳算法與靜態(tài)分析相結(jié)合的方法來自動測試Eiffel類,以發(fā)現(xiàn)故障的數(shù)目作為優(yōu)化參數(shù)。在22個Eiffel類上總共進行115次實驗來評估進化測試的有效性和通過運行5,30和60分鐘的隨機測試用例生成器產(chǎn)生的結(jié)果進行對比。結(jié)果表明:和一個隨機的測
4、試方法相比,遺傳算法與靜態(tài)分析相結(jié)合的方法,可以大大提高發(fā)現(xiàn)故障的數(shù)目。在某些情況下,進化測試在15分鐘內(nèi)發(fā)現(xiàn)的故障多于隨機測試策略在60分鐘內(nèi)發(fā)現(xiàn)的故障。關(guān)鍵字:進化計算,軟件測試1.引言在過去的50年里軟件在工業(yè)的各個領(lǐng)域的影響力越來越大,導(dǎo)致對復(fù)雜的和可靠的軟件的需求不斷增加。據(jù)一項由國家標準與技術(shù)研究所進行的研究[18]表明,約80%的開發(fā)成本是用于識別和糾正缺陷的。同樣的研究發(fā)現(xiàn),軟件的錯誤花費了美國經(jīng)濟的約為59.5億美元每年,其中三分之一歸因于差的軟件測試基礎(chǔ)設(shè)施。許多已經(jīng)開發(fā)的能夠自動化執(zhí)行測試的工具,如JUnit[
5、3]和GoboTest[2],在努力改善現(xiàn)有的測試基礎(chǔ)設(shè)施。然而,自動化生成測試數(shù)據(jù)仍然是一個研究的主題。最近,已經(jīng)使用的一些方法,如啟發(fā)式算法,隨機測試生成和靜態(tài)分析測試已經(jīng)用于完全自動化測試過程,但是面向?qū)ο筌浖囊恍┕ぞ叩膽?yīng)用,仍然受到限制。一些工具已經(jīng)使用了隨機測試用例生成器(Jartege[14],自動測試[13],Dart[6])。使測試用例的生成自動化,但多項研究發(fā)現(xiàn)進化的測試更有效率和在代碼覆蓋率上優(yōu)于隨機測試[15,11,17,8]。在這個項目中,我們使用遺傳算法自動生成對Eiffel類的測試用例[5]。23這項工
6、作的基本假設(shè)是,和隨機測試相比,進化測試能在更短的時間內(nèi)發(fā)現(xiàn)更多的錯誤。我們認為,遺傳算法是自動化測試的一個好方法的主要原因之一是因為它可以適應(yīng)被測試的代碼。這是合理的假設(shè),每個類都有一個輸入數(shù)據(jù)的最佳的集合,而這個集合將來能夠觸發(fā)所有的錯誤。使用這樣的假設(shè),然后可以使用遺傳算法進化出適應(yīng)每個類的測試策略。該項目使用的錯誤的數(shù)量來代替代碼覆蓋最為遺傳算法的主要優(yōu)化參數(shù),和通過遺傳算法與靜態(tài)分析相結(jié)合的方法,來提高目前工藝的水平。它還提供了一個面向?qū)ο蟮某绦虻倪M化測試的一個最好的實驗結(jié)果。2.相關(guān)工作90年代初以來,已經(jīng)有許多面向應(yīng)用
7、程序的進化測試的研究[16,17,9,15,11,23,8]。在這些研究的大多數(shù)中,分支覆蓋是用來評估所生成測試用例的質(zhì)量的。最近已經(jīng)有許多面向?qū)ο笳Z言的進化測試算法[19,10,22],他們也是優(yōu)化代碼覆蓋的。在過程性的程序中,生成測試用例的輸入數(shù)據(jù)是原語值,如整數(shù),而進化算法是測試面向?qū)ο蟮某绦虻?,它能夠?chuàng)建對象,它必須確保當調(diào)用測試時,對象的類型是兼容的。在[19]中一個關(guān)于分支覆蓋的遺傳算法被用來測試6個Java類。要解決的對象類型的兼容性,染色體根據(jù)語法進行編碼。然后這個語法被用于,以確保變異和交叉操作不會損壞染色體。在[
8、23]中一棵樹被用來代表調(diào)用方法的序列。這些樹包含這樣的一些信息,哪些方法應(yīng)該是被順序調(diào)用的,哪些目標對象和參數(shù)對象應(yīng)為單獨的方法調(diào)用使用的。它為測試類實現(xiàn)了100%的分支覆蓋率。有關(guān)進化測試的已經(jīng)完成的工作中,大部分使用分支覆蓋量作