999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件單元測試淺議

2010-09-21 11:30:46陳晶晶
赤峰學院學報·自然科學版 2010年11期

陳晶晶

(龍巖學院物理與機電工程學院,福建龍巖364000)

軟件單元測試淺議

陳晶晶

(龍巖學院物理與機電工程學院,福建龍巖364000)

本文首先介紹了單元測試的概念,闡述了單元測試的目的,然后著重分析了單元測試的重要性和實施現狀,最后對單元測試技術的未來進行了展望.

單元測試;軟件錯誤;軟件質量

1 引言

在當今信息化的時代背景下,軟件的使用越來越普及和深化.伴隨著現代軟件規模的日益擴大,軟件的復雜程度也越來越大.這意味著在軟件的開發過程中可能存在很多問題,甚至是未發現的問題.由于有問題存在而難以解決或者是存在而未發現的問題,軟件在使用和開發的過程中輕則可能導致費用失控、進度延遲、執行代碼臃腫、低效,重則可能導致整個軟件項目的失敗.因此,如何提高軟件質量,保證軟件運行的安全性是軟件行業一直在探討和關注的問題.高質量的軟件開發技術將是未來軟件業的追求,而單元測試正是確保高質量軟件的關鍵技術之一[1].

2 單元測試的概念

從軟件設計的思想上來說,軟件設計思想可以分為面向對象的軟件開發思想和面向過程的軟件開發思想.但是不論是用面向對象的開發思想還是用面向過程寫出來的程序,它們都可以劃分為若干個相對獨立的軟件單元,因此,軟件單元是構成軟件的最小單位.在面向對象開發的程序中,最小軟件單元是類,而在面向過程開發的程序中,最小軟件單元是函數.可見,單元測試實質上是將軟件劃分為若干個獨立的測試單元進行隔離測試,它是軟件開發過程中最低級別的測試活動.在軟件生命周期V模型中,它的依據是詳細設計說明書[2].

3 單元測試的目的

單元測試是軟件測試中的一種,IEEE對軟件測試的定義為,使用人工或自動手段來運行或評價某個系統或系統部件的過程,其目的在于檢驗它是否滿足規定的需求;或是弄清楚預期結果和實際結果之間的差別.這個定義明確的說明了軟件測試目的,即檢驗所設計的軟件能否滿足設計時的需求,這也是單元測試的目的.通過確保軟件設計中最小單元的正確性來提高軟件產品的質量.

4 單元測試的重要性

軟件錯誤是不可避免的[3].因為軟件是人編寫的,凡是由人編寫的軟件都不可能是完美無暇的,只能是無限的逼近完美.所以問題的關鍵就在于如何去避免錯誤的產生和糾正已經產生的錯誤.具體來說,引起軟件錯誤的原因有[4]:(1)交流上面的誤解或者是根本不進行交流;(2)軟件的復雜性;(3)程序設計錯誤;(4)需求發生變化;(5)時間壓力;(6)代碼文檔匱乏;(7)軟件開發工具中的錯誤.曾經有些觀點認為較好的程序開發語言可以解決這些問題,但是從程序開發語言的發展進程來看,較好的程序開發語言確實在一定程度上提高了軟件開發效率并且也解決了一些難題.不過在軟件可靠性的問題上,它所起的作用甚小.事實上,對于軟件來講,還沒有像銀彈那樣的東西[5].不論采用什么技術,軟件中仍然會有錯誤.采用新的語言、先進的開發方式、完善的開發過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要通過測試將其找出來,軟件中的錯誤密度也需要測試來評估[6].因此單元測試在整個軟件開發過程中是非常重要的,它是所有軟件測試的第一個環節,也是最基本的一個環節.同時,單元測試也是唯一一次能夠保證代碼覆蓋率達到100%的測試,這樣可以防止開發后期因bug過多或是加入新功能導致的程序框架改變而引起的失控.下圖是微軟公司統計的各種測試的數據圖[7]:

圖1 測試數據統計

從微軟公司的統計圖中不難看出,事后控制不如事中控制,事中控制不如事前控制.在測試中捕捉錯誤,定位問題的最佳時機應該是在項目開發的早期.并且修正一個軟件錯誤所需的費用將隨著軟件生命周期的進展而上升,錯誤發現的越晚,修正它所需的費用就越高.需要強調的是,測試是一個貫穿于軟件項目開發的持續過程,在軟件生命周期中需要運行多種測試,充分發揮不同測試的優點.

5 單元測試的實施現狀

單元測試是目前軟件測試中研究的熱點問題,許多學者提出了大批的測試方法和測試理論.John Watkins在《An Off-the-Shelf software Testing Process》中提出了軟件單元測試通常覆蓋的區域,執行單元測試應該遵循的基本方法等.但是總的來說,這些理論缺乏實際的工程解決方案.從軟件組織對單元測試的實施現狀來看,許多軟件開發組織存在以下問題:

(1)沒有單元測試,或單元測試不徹底.

(2)單元測試大多依賴手工進行,沒有有效的自動化測試工具,導致軟件測試效率低下,測試周期長,不能在軟件開發的各個周期完整測試.

(3)測試驅動難以編寫、測試程序難以管理、軟件單元難以介定[8].

針對這些問題,有些廠家推出了一系列的單元測試工具.其中包括,Purify,CPPUnit,NUnit,junit等.這些工具的推出有效的推動了單元測試的實施.

6 總結與展望

雖然極限化編程方法和測試驅動開發的興起使得單元測試的應用受到了更多的重視,但是從發展的眼光來看,未來不論是公司還是研究機構,在軟件的開發過程中廣泛的使用自動化單元測試技術還是有一定難度的,因為它需要測試人員具有相當豐富的軟件測試和開發經驗.不過,相信隨著軟件測試理論的發展和各種自動化單元測試工具的逐漸成熟,軟件單元測試將在未來取得長足的發展.

〔1〕陳占華.軟件單元測試[J].無線電通信技術, 2003,5(5):50-51.

〔2〕John Watkins.實用軟件測試過程[M].北京:機械工業出版社,2004:10-20.

〔3〕James A.Whittaker.實用軟件測試指南[M].北京:電子工業出版社,2003:51-70.

〔4〕John D.McGregor David A.sykes.面向對象的軟

件測試.北京:機械工業出版社,2002:65-80.〔5〕Ron Patton.軟件測試.北京:機械工業出版社,2002:70-79.

〔6〕陳和平.面向對象的自動化單元測試[D].武漢理工大學,2004.

〔7〕陳靜.單元測試在軟件開發過程中的作用.艦船電子對抗,2006(6).

〔8〕肖波.通訊系統嵌入式平臺下的單元測試技術研究[D].華東師范大學,2006.

TP31

A

1673-260X(2010)11-0029-02

主站蜘蛛池模板: 久精品色妇丰满人妻| 99精品伊人久久久大香线蕉| 亚洲日本中文字幕乱码中文 | 免费看的一级毛片| 久久精品最新免费国产成人| 91黄视频在线观看| 亚洲男人的天堂网| 一级一级特黄女人精品毛片| 亚洲综合一区国产精品| 亚洲精品成人福利在线电影| 91色在线观看| 国产精品一区二区国产主播| 亚洲国产天堂久久综合226114| 亚洲AⅤ无码日韩AV无码网站| 日本影院一区| yjizz国产在线视频网| 999在线免费视频| 亚洲欧美国产五月天综合| 99久视频| 国产成人午夜福利免费无码r| 国产高清无码麻豆精品| 国产美女精品人人做人人爽| 视频二区中文无码| 波多野结衣国产精品| 激情亚洲天堂| 日韩国产一区二区三区无码| 狼友视频一区二区三区| 日本黄色不卡视频| 国产xx在线观看| 亚洲色成人www在线观看| 日韩一区精品视频一区二区| 免费久久一级欧美特大黄| 国产性精品| 久久精品免费国产大片| 国产H片无码不卡在线视频| 亚洲天堂久久| 日日拍夜夜操| 欧美一区精品| av天堂最新版在线| 国产亚洲第一页| 老熟妇喷水一区二区三区| 国产精品精品视频| 婷婷综合在线观看丁香| 91国内视频在线观看| 日韩色图在线观看| 中国国产一级毛片| 97视频免费在线观看| 亚洲人成电影在线播放| 114级毛片免费观看| 国产成在线观看免费视频| 丰满少妇αⅴ无码区| 五月丁香伊人啪啪手机免费观看| 国产后式a一视频| 老司机精品99在线播放| 国产av色站网站| 波多野结衣一二三| 无码中字出轨中文人妻中文中| 亚洲天堂日韩在线| 人妻中文久热无码丝袜| 亚洲人成网站色7799在线播放| 在线精品亚洲国产| 97国产在线播放| 国产精品自在拍首页视频8| 精品三级在线| 日本欧美成人免费| 国产美女无遮挡免费视频| 国产精品九九视频| 高清国产在线| 欧美无专区| 国产微拍精品| 国产白浆一区二区三区视频在线| 成人久久精品一区二区三区 | 扒开粉嫩的小缝隙喷白浆视频| 在线观看无码a∨| 国产精品视频猛进猛出| 亚洲精品777| 国产在线98福利播放视频免费| 老司国产精品视频91| 国产精品免费福利久久播放| 国产精品女主播| 久久国产亚洲欧美日韩精品| 欧美一区二区三区欧美日韩亚洲 |