單元測試任務(wù)

單元測試任務(wù)包括:1 模塊接口測試;2 模塊局部數(shù)據(jù)結(jié)構(gòu)測試;3 模塊邊界條件測試;4 模塊中所有獨(dú)立執(zhí)行通路測試;5 模塊的各條錯(cuò)誤處理通路測試。

單元測試任務(wù)造價(jià)信息

市場價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號 市場價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
信號處理單元 DH-GSTN5600 查看價(jià)格 查看價(jià)格

13% 海灣安全技術(shù)有限公司
手動水壓測試 品種:探測器配件;類別:各種滅火器、滅火器箱、維修設(shè)備和配件類;品牌產(chǎn)地:上海; 查看價(jià)格 查看價(jià)格

山河

13% 天津山河平安消防器材銷售有限公司
基本單元 FX3UC-64MT/D 查看價(jià)格 查看價(jià)格

三菱

個(gè) 13% 安徽德曼研磨材料有限公司
基本單元 FX3G-60MT/ESS 查看價(jià)格 查看價(jià)格

三菱

個(gè) 13% 湖南中巨自動化設(shè)備有限公司
基本單元 FX3G-14MT/ESS 查看價(jià)格 查看價(jià)格

三菱

個(gè) 13% 安徽德曼研磨材料有限公司
單元 RF16W 查看價(jià)格 查看價(jià)格

格力

個(gè) 13% 長沙遠(yuǎn)卓空調(diào)有限公司
基本單元 FX3G-60MT/ESS 查看價(jià)格 查看價(jià)格

三菱

個(gè) 13% 安徽德曼研磨材料有限公司
保安單元 FA9-26(PTC) 查看價(jià)格 查看價(jià)格

三信

13% 三信國際電器無錫有限公司
材料名稱 規(guī)格/型號 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
接口單元 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年2月信息價(jià)
鍵控單元 2×FN-16L8K 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
接口單元 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
鍵控單元 AFN-16L8K 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
鍵控單元 3×FN-16L8K 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
鍵控單元 4×FN-16L8K 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
廣播錄放單元 GGA4551 查看價(jià)格 查看價(jià)格

湛江市2005年2月信息價(jià)
聯(lián)動擴(kuò)展單元 AFN5041E/16 查看價(jià)格 查看價(jià)格

個(gè) 湛江市2005年1月信息價(jià)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
任務(wù)分配模塊 實(shí)現(xiàn)作業(yè)計(jì)劃的任務(wù)自動下發(fā),任務(wù)內(nèi)容要求包括任務(wù)處置事件、任務(wù)名稱、任務(wù)執(zhí)行時(shí)間、任務(wù)地點(diǎn)、任務(wù)說明信息,任務(wù)中的人員要求實(shí)現(xiàn)分組功能,并能在任務(wù)中指定使用的工作表單,任務(wù)設(shè)定好之后能進(jìn)行任務(wù)的發(fā)布,發(fā)布時(shí)要求以短信方式通知任務(wù)人員.任務(wù)接收,當(dāng)任務(wù)人員接收任務(wù)以后,可反饋在在任務(wù)信息上.|1套 1 查看價(jià)格 廣州熹尚科技設(shè)備有限公司 全國   2021-09-15
工作任務(wù)分配系統(tǒng) 需求調(diào)研、編制需求分析報(bào)告、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、程序編碼、單元測試|1人日 1 查看價(jià)格 廣東中建普聯(lián)科技股份有限公司 全國   2022-12-01
消殺任務(wù)模塊 可對消殺任務(wù)進(jìn)行管理,可對消殺區(qū)域進(jìn)行設(shè)定.實(shí)現(xiàn)不同事件的消殺范圍大小設(shè)定,通過與現(xiàn)場采集的地標(biāo)為基礎(chǔ),結(jié)合GIS地圖,根據(jù)不同的事件處置要求實(shí)現(xiàn)不同事件的消殺區(qū)域設(shè)定.|1套 1 查看價(jià)格 廣州熹尚科技設(shè)備有限公司 全國   2021-09-15
目標(biāo)任務(wù)管理 提供目標(biāo)任務(wù)管理模板,通過從目標(biāo)關(guān)聯(lián)任務(wù)交辦、計(jì)劃要求、過程督辦、進(jìn)度管理、任務(wù)辦結(jié)的全流程管理,完善目標(biāo)績效的過程管理,健全目標(biāo)績效管理體系,保障所有的目標(biāo)都能夠達(dá)到件件有落實(shí),過程有監(jiān)督,考核有依據(jù).|1套 1 查看價(jià)格 廣州尚漢信息科技有限公司 全國   2022-01-07
巡檢任務(wù)配置 配置巡檢項(xiàng)目、巡檢點(diǎn)、巡檢計(jì)劃等巡檢初始化工作.每個(gè)泵房按照中級軟件工程師2.0人天計(jì)算.|99套 3 查看價(jià)格 深圳市超網(wǎng)科技有限公司 全國   2022-03-27
任務(wù)燈(SF-2051) 1、200 mm寬 x 200 mm深 x 1350 mm高2、做法參考物料表"SF-2051"及對應(yīng)附屬大樣圖3、滿足圖紙及要求等一切所需|13套 3 查看價(jià)格 深圳市寶安華韻燈飾有限公司 全國   2022-03-28
任務(wù)燈(SF-1051) 1、 337 mm寬 x 180 mm深 x 450 mm高2、做法參考物料表"SF-10"及對應(yīng)附屬大樣圖3、滿足圖紙及要求等一切所需|13套 3 查看價(jià)格 中山市旺來聚燈飾有限公司 全國   2022-03-28
任務(wù)燈(SF-1051) 1、 337 mm寬 x 180 mm深 x 450 mm高2、做法參考物料表"SF-10"及對應(yīng)附屬大樣圖3、滿足圖紙及要求等一切所需|13套 3 查看價(jià)格 東莞市晶太燈飾有限公司 全國   2022-03-28

單元測試任務(wù)常見問題

  • ABB斷路器可選附件 SOR測試單元是什么意思

    ABB斷路器可選附件SOR測試單元是ABB-E框架斷路器和T系列塑殼斷路器的附件,ABB斷路器可選附件SOR測試單元是測試分閘線圈用的,周期性的檢查分閘線圈的正確性和可靠性(20S檢查一次)。斷路器(...

  • 整體與單元

    在 三樁承臺 的界面中 切換 便于調(diào)整 三樁承臺 的鋼筋 調(diào)整鋼筋方向和編輯承臺鋼筋。

  • 單元樓梯對單元大門怎么化解

    大門對著樓梯很不好。這屬于傳統(tǒng)風(fēng)水學(xué)上的“牽牛煞”又俗稱“牽鼻水”或“下樓勢”。在臺灣、港澳、新加坡也稱為?“牽牛沖”。大門是非常講究的,大門不能直接對窗、大門不能直接對廚房(上水)或?qū)πl(wèi)生間(下水)...

單元測試任務(wù)文獻(xiàn)

簡單機(jī)械單元測試題 簡單機(jī)械單元測試題

格式:pdf

大?。?span id="i94vwzj" class="single-tag-height">258KB

頁數(shù): 2頁

評分: 4.5

簡 單 機(jī) 械 單 元 測 試 題 一、選擇題(共 8 小題 . 每題 3 分,共 2 4 分) 1、以下關(guān)于杠桿的說法正確的是 A、杠桿是能繞支點(diǎn)轉(zhuǎn)動的彈性棒 B 、天平是利用杠桿的平衡條件來稱出物體的質(zhì)量的 C、使用杠桿的目的是為了省力 D 商販不慎在稱砣上沾了一塊泥,他賣給顧客的菜將會缺斤少兩 2、如圖所示,將物體 G分別沿斜面 AC和 BC推到頂端 C,所用的力分別是 F1和 F2, 所做的功分別是 W1和 W2,不計(jì)摩擦,比較它們的大小: A、 F1>F2 W1=W2 B、 F1W2 3、爬陡坡上山比走盤山公路難,這是因?yàn)?A 要用更大的力 B 要做更多的功 C 陡坡這種斜面的機(jī)械效率低 D 爬陡坡消耗的功率大 4、甲乙兩種機(jī)械的效率分別 70%和 50%,則下列說法中正確

立即下載
供熱工程自學(xué)考試單元測試4 供熱工程自學(xué)考試單元測試4

格式:pdf

大?。?span id="zb7ddz6" class="single-tag-height">258KB

頁數(shù): 5頁

評分: 4.5

單元測試 4 一、單項(xiàng)選擇題 1、 《熱網(wǎng)規(guī)范》規(guī)定,輸送干線每隔( )米需裝設(shè)一個(gè)分段閥門。 A. 1000-2000 B. 2000-3000 C. 3000-4000 D. 4000-5000 2、 對熱水供熱系統(tǒng)起定壓作用的設(shè)備,稱為( )。

立即下載

一般認(rèn)為單元測試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過復(fù)審和編譯檢查,便可開始單元測試。測試用例的設(shè)計(jì)應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計(jì)信息選取測試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類錯(cuò)誤的可能性。在確定測試用例的同時(shí),應(yīng)給出期望結(jié)果。

單元測試過程

應(yīng)為測試模塊開發(fā)一個(gè)驅(qū)動模塊(driver)和(或)若干個(gè)樁模塊(stub)。驅(qū)動模塊在大多數(shù)場合稱為“主程序”,它接收測試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測試模塊,被測試模塊被調(diào)用后,“主程序”打印“進(jìn)入-退出”消息。

驅(qū)動模塊和樁模塊是測試使用的軟件,而不是軟件產(chǎn)品的組成部分,但它需要一定的開發(fā)費(fèi)用。若驅(qū)動和樁模塊比較簡單,實(shí)際開銷相對低些。遺憾的是,僅用簡單的驅(qū)動模塊和樁模塊不能完成某些模塊的測試任務(wù),這些模塊的單元測試只能采用下面討論的綜合測試方法。

提高模塊的內(nèi)聚度可簡化單元測試,如果每個(gè)模塊只能完成一個(gè),所需測試用例數(shù)目將顯著減少,模塊中的錯(cuò)誤也更容易發(fā)現(xiàn)。

進(jìn)行單元測試時(shí),常用的方法是采用白盒測試,輔之以黑盒測試。

模塊測試單元測試

要進(jìn)行充分的單元測試,應(yīng)專門編寫測試代碼,并與產(chǎn)品代碼隔離。比較簡單的辦法是為產(chǎn)品工程建立對應(yīng)的測試工程,為每個(gè)類建立對應(yīng)的測試類,為每個(gè)函數(shù)(很簡單的除外)建立測試函數(shù)。

結(jié)構(gòu)化程序時(shí)代

一般認(rèn)為,在結(jié)構(gòu)化程序時(shí)代,單元測試所說的單元是指函數(shù),在當(dāng)今的面向?qū)ο髸r(shí)代,單元測試所說的單元是指類。以類作為測試單位,復(fù)雜度高,可操作性較差,因此仍然主張以函數(shù)作為單元測試的測試單位,但可以用一個(gè)測試類來組織某個(gè)類的所有測試函數(shù)。單元測試不應(yīng)過分強(qiáng)調(diào)面向?qū)ο?,因?yàn)榫植看a依然是結(jié)構(gòu)化的。單元測試的工作量較大,簡單實(shí)用高效才是硬道理。

有一種看法是,只測試類的接口(公有函數(shù)),不測試其他函數(shù),從面向?qū)ο蠼嵌葋砜?,確實(shí)有其道理,但是,測試的目的是找錯(cuò)并最終排錯(cuò),因此,只要是包含錯(cuò)誤的可能性較大的函數(shù)都要測試,跟函數(shù)是否私有沒有關(guān)系。對于C++來說,可以用一種簡單的方法區(qū)隔需測試的函數(shù):簡單的函數(shù)如數(shù)據(jù)讀寫函數(shù)的實(shí)現(xiàn)在頭文件中編寫(inline函數(shù)),所有在源文件編寫實(shí)現(xiàn)的函數(shù)都要進(jìn)行測試(構(gòu)造函數(shù)和析構(gòu)函數(shù)除外)。

單元測試與使用

我們編寫代碼時(shí),一定會反復(fù)調(diào)試保證它能夠編譯通過。如果是編譯沒有通過的代碼,沒有任何人會愿意交付給自己的老板。但代碼通過編譯,只是說明了它的語法正確;我們卻無法保證它的語義也一定正確,沒有任何人可以輕易承諾這段代碼的行為一定是正確的。

幸運(yùn),單元測試會為我們的承諾做保證。編寫單元測試就是用來驗(yàn)證這段代碼的行為是否與我們期望的一致。有了單元測試,我們可以自信的交付自己的代碼,而沒有任何的后顧之憂。

什么時(shí)候測試?

單元測試越早越好,早到什么程度?XP開發(fā)理論講究TDD,即測試驅(qū)動開發(fā),先編寫測試代碼,再進(jìn)行開發(fā)。在實(shí)際的工作中,可以不必過分強(qiáng)調(diào)先什么后什么,重要的是高效和感覺舒適。先編寫產(chǎn)品函數(shù)的框架,然后編寫測試函數(shù),針對產(chǎn)品函數(shù)的功能編寫測試用例,然后編寫產(chǎn)品函數(shù)的代碼,每寫一個(gè)功能點(diǎn)都運(yùn)行測試,隨時(shí)補(bǔ)充測試用例。所謂先編寫產(chǎn)品函數(shù)的框架,是指先編寫函數(shù)空的實(shí)現(xiàn),有返回值的隨便返回一個(gè)值,編譯通過后再編寫測試代碼,這時(shí),函數(shù)名、參數(shù)表、返回類型都應(yīng)該確定下來了,所編寫的測試代碼以后需修改的可能性比較小。

由誰測試?

單元測試與其他測試不同,單元測試可看作是編碼??過了單元測試的代碼才是已完成的代碼,提交產(chǎn)品代碼時(shí)也要同時(shí)提交測試代碼。測試部門可以作一定程度的審核。

關(guān)于樁代碼,單元測試應(yīng)避免編寫樁代碼。樁代碼就是用來代替某些代碼的代碼,例如,產(chǎn)品函數(shù)或測試函數(shù)調(diào)用了一個(gè)未編寫的函數(shù),可以編寫樁函數(shù)來代替該被調(diào)用的函數(shù),樁代碼也用于實(shí)現(xiàn)測試隔離。采用由底向上的方式進(jìn)行開發(fā),底層的代碼先開發(fā)并先測試,可以避免編寫樁代碼,這樣做的好處有:減少了工作量;測試上層函數(shù)時(shí),也是對下層函數(shù)的間接測試;當(dāng)下層函數(shù)修改時(shí),通過回歸測試可以確認(rèn)修改是否導(dǎo)致上層函數(shù)產(chǎn)生錯(cuò)誤。

在一種傳統(tǒng)的結(jié)構(gòu)化編程語言中,比如C,要進(jìn)行測試的單元一般是函數(shù)或子過程。在象C++這樣的面向?qū)ο蟮恼Z言中, 要進(jìn)行測試的基本單元是類。對Ada語言來說,開發(fā)人員可以選擇是在獨(dú)立的過程和函數(shù),還是在Ada包的級別上進(jìn)行單元測試。單元測試的原則同樣被擴(kuò)展到第四代語言(4GL)的開發(fā)中,在這里基本單元被典型地劃分為一個(gè)菜單或顯示界面。

單元測試不僅僅是作為無錯(cuò)編碼一種輔助手段在一次性的開發(fā)過程中使用,單元測試必須是可重復(fù)的,無論是在軟件修改,或是移植到新的運(yùn)行環(huán)境的過程中。因此,所有的測試都必須在整個(gè)軟件系統(tǒng)的生命周期中進(jìn)行維護(hù)。

經(jīng)常與單元測試聯(lián)系起來的另外一些開發(fā)活動包括代碼走讀(Code review),靜態(tài)分析(Static analysis)和動態(tài)分析(Dynamic analysis)。靜態(tài)分析就是對軟件的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),并不需要對代碼進(jìn)行編譯和執(zhí)行。動態(tài)分析就是通過觀察軟件運(yùn)行時(shí)的動作,來提供執(zhí)行跟蹤,時(shí)間分析,以及測試覆蓋度方面的信息。

單元測試的誤解

一旦編碼完成,開發(fā)人員總是會迫切希望進(jìn)行軟件的集成工作,這樣他們就能夠看到實(shí)際的系統(tǒng)開始啟動工作了。 這在外表上看來是一項(xiàng)明顯的進(jìn)步,而象單元測試這樣的活動也許會被看作是通往這個(gè)階段點(diǎn)的道路上的障礙, 推遲了對整個(gè)系統(tǒng)進(jìn)行聯(lián)調(diào)這種真正有意思的工作啟動的時(shí)間。

在這種開發(fā)步驟中,真實(shí)意義上的進(jìn)步被外表上的進(jìn)步取代了。系統(tǒng)能夠正常工作的可能性是很小的,更多的情況是充滿了各式各樣的Bug。在實(shí)踐中,這樣一種開發(fā)步驟常常會導(dǎo)致這樣的結(jié)果:軟件甚至無法運(yùn)行。更進(jìn)一步的結(jié)果是大量的時(shí)間將被花費(fèi)在跟蹤那些包含在獨(dú)立單元里的簡單的Bug上面,在個(gè)別情況下,這些Bug也許是瑣碎和微不足道的,但是總的來說,他們會導(dǎo)致在軟件集成為一個(gè)系統(tǒng)時(shí)增加額外的工期, 而且當(dāng)這個(gè)系統(tǒng)投入使用時(shí)也無法確保它能夠可靠運(yùn)行。

在實(shí)踐工作中,進(jìn)行了完整計(jì)劃的單元測試和編寫實(shí)際的代碼所花費(fèi)的精力大致上是相同的。一旦完成了這些單元測試工作,很多Bug將被糾正,在確信他們手頭擁有穩(wěn)定可靠的部件的情況下,開發(fā)人員能夠進(jìn)行更高效的系統(tǒng)集成工作。這才是真實(shí)意義上的進(jìn)步,所以說完整計(jì)劃下的單元測試是對時(shí)間的更高效的利用。而調(diào)試人員的不受控和散漫的工作方式只會花費(fèi)更多的時(shí)間而取得很少的好處。

使用AdaTEST和Cantata這樣的支持工具可以使單元測試更加簡單和有效。但這不是必須的,單元測試即使是在沒有工具支持的情況下也是一項(xiàng)非常有意義的活動。

它僅僅是證明這些代碼做了什么

這是那些沒有首先為每個(gè)單元編寫一個(gè)詳細(xì)的規(guī)格說明而直接跳到編碼階段的開發(fā)人員提出的一條普遍的抱怨, 當(dāng)編碼完成以后并且面臨代碼測試任務(wù)的時(shí)候,他們就閱讀這些代碼并找出它實(shí)際上做了什么,把他們的測試工作基于已經(jīng)寫好的代碼的基礎(chǔ)上。當(dāng)然,他們無法證明任何事情。所有的這些測試工作能夠表明的事情就是編譯器工作正常。是的,他們也許能夠抓住(希望能夠)罕見的編譯器Bug,但是他們能夠做的僅僅是這些。

如果他們首先寫好一個(gè)詳細(xì)的規(guī)格說明,測試能夠以規(guī)格說明為基礎(chǔ)。代碼就能夠針對它的規(guī)格說明,而不是針對自身進(jìn)行測試。這樣的測試仍然能夠抓住編譯器的Bug,同時(shí)也能找到更多的編碼錯(cuò)誤,甚至是一些規(guī)格說明中的錯(cuò)誤。好的規(guī)格說明可以使測試的質(zhì)量更高,所以最后的結(jié)論是高質(zhì)量的測試需要高質(zhì)量的規(guī)格說明。

在實(shí)踐中會出現(xiàn)這樣的情況: 一個(gè)開發(fā)人員要面對測試一個(gè)單元時(shí)只給出單元的代碼而沒有規(guī)格說明這樣吃力不討好的任務(wù)。你怎樣做才會有更多的收獲,而不僅僅是發(fā)現(xiàn)編譯器的Bug?第一步是理解這個(gè)單元原本要做什么, --- 不是它實(shí)際上做了什么。 比較有效的方法是倒推出一個(gè)概要的規(guī)格說明。這個(gè)過程的主要輸入條件是要閱讀那些程序代碼和注釋, 主要針對這個(gè)單元, 及調(diào)用它和被它調(diào)用的相關(guān)代碼。畫出流程圖是非常有幫助的,你可以用手工或使用某種工具。 可以組織對這個(gè)概要規(guī)格說明的走讀(Review),以確保對這個(gè)單元的說明沒有基本的錯(cuò)誤, 有了這種最小程度的代碼深層說明,就可以用它來設(shè)計(jì)單元測試了。

我是個(gè)很棒的程序員, 我是不是可以不進(jìn)行單元測試?

在每個(gè)開發(fā)組織中都至少有一個(gè)這樣的開發(fā)人員,他非常擅長于編程,他們開發(fā)的軟件總是在第一時(shí)間就可以正常運(yùn)行,因此不需要進(jìn)行測試。你是否經(jīng)常聽到這樣的借口?

在真實(shí)世界里,每個(gè)人都會犯錯(cuò)誤。即使某個(gè)開發(fā)人員可以抱著這種態(tài)度在很少的一些簡單的程序中應(yīng)付過去。 但真正的軟件系統(tǒng)是非常復(fù)雜的。真正的軟件系統(tǒng)不可以寄希望于沒有進(jìn)行廣泛的測試和Bug修改過程就可以正常工作。

編碼不是一個(gè)可以一次性通過的過程。在真實(shí)世界中,軟件產(chǎn)品必須進(jìn)行維護(hù)以對操作需求的改變作出反應(yīng), 并且要對最初的開發(fā)工作遺留下來的Bug進(jìn)行修改。你希望依靠那些原始作者進(jìn)行修改嗎? 這些制造出這些未經(jīng)測試的原始代碼的資深專家們還會繼續(xù)在其他地方制造這樣的代碼。在開發(fā)人員做出修改后進(jìn)行可重復(fù)的單元測試可以避免產(chǎn)生那些令人不快的負(fù)作用。

不管怎樣,集成測試將會抓住所有的Bug 我們已經(jīng)在前面的討論中從一個(gè)側(cè)面對這個(gè)問題進(jìn)行了部分的闡述。這個(gè)論點(diǎn)不成立的原因在于規(guī)模越大的代碼集成意味著復(fù)雜性就越高。如果軟件的單元沒有事先進(jìn)行測試,開發(fā)人員很可能會花費(fèi)大量的時(shí)間僅僅是為了使軟件能夠運(yùn)行,而任何實(shí)際的測試方案都無法執(zhí)行。

單元測試過程

一旦軟件可以運(yùn)行了,開發(fā)人員又要面對每個(gè)單元進(jìn)行全面的測試。 這是一件非常困難的事情,甚至在創(chuàng)造一種單元調(diào)用的測試條件的時(shí)候,要全面的考慮單元的被調(diào)用時(shí)的各種入口參數(shù)。在軟件集成階段,對單元功能全面測試的復(fù)雜程度遠(yuǎn)遠(yuǎn)的超過獨(dú)立進(jìn)行的單元測試過程。

最后的結(jié)果是測試將無法達(dá)到它所應(yīng)該有的全面性。一些缺陷將被遺漏,并且很多Bug將被忽略過去。

讓我們類比一下,假設(shè)我們要清洗一臺已經(jīng)完全裝配好的食物加工機(jī)器!無論你噴了多少水和清潔劑,一些食物的小碎片還是會粘在機(jī)器的死角位置,只有任其腐爛并等待以后再想辦法。但我們換個(gè)角度想想,如果這臺機(jī)器是拆開的, 這些死角也許就不存在或者更容易接觸到了,并且每一部分都可以毫不費(fèi)力的進(jìn)行清洗。

成本效率不高

一個(gè)特定的開發(fā)組織或軟件應(yīng)用系統(tǒng)的測試水平取決于對那些未發(fā)現(xiàn)的Bug的潛在后果的重視程度。這種后果的嚴(yán)重程度可以從一個(gè)Bug引起的小小的不便到發(fā)生多次的死機(jī)的情況。這種后果可能常常會被軟件的開發(fā)人員所忽視(但是用戶可不會這樣),這種情況會長期的損害這些向用戶提交帶有Bug的軟件的開發(fā)組織的信譽(yù),并且會導(dǎo)致對未來的市場產(chǎn)生負(fù)面的影響。相反地,一個(gè)可靠的軟件系統(tǒng)的良好的聲譽(yù)將有助于一個(gè)開發(fā)組織獲取未來的市場。

Bug發(fā)現(xiàn)的越晚,修改它所需的費(fèi)用就越高,因此從經(jīng)濟(jì)角度來看, 應(yīng)該盡可能早的查找和修改Bug。在修改費(fèi)用變的過高之前,單元測試是一個(gè)在早期抓住Bug的機(jī)會。

相比后階段的測試,單元測試的創(chuàng)建更簡單,維護(hù)更容易,并且可以更方便的進(jìn)行重復(fù)。從全程的費(fèi)用來考慮, 相比起那些復(fù)雜且曠日持久的集成測試,或是不穩(wěn)定的軟件系統(tǒng)來說,單元測試所需的費(fèi)用是很低的。

一些圖表

這些圖表摘自<<實(shí)用軟件度量>>(Capers Jones,McGraw-Hill 1991),它列出了準(zhǔn)備測試,執(zhí)行測試,和修改缺陷所花費(fèi)的時(shí)間(以一個(gè)功能點(diǎn)為基準(zhǔn)),這些數(shù)據(jù)顯示單元測試的成本效率大約是集成測試的兩倍系統(tǒng)測試的三倍(參見條形圖)。 (術(shù)語域測試(Field test)意思是在軟件投入使用以后,針對某個(gè)領(lǐng)域所作的所有測試活動)

這個(gè)圖表并不表示開發(fā)人員不應(yīng)該進(jìn)行后階段的測試活動,這次測試活動仍然是必須的。它的真正意思是盡可能早的排除盡可能多的Bug可以減少后階段測試的費(fèi)用。

其他的一些圖表顯示高達(dá)50%的維護(hù)工作量被花在那些總是會有的Bug的修改上面。如果這些Bug在開發(fā)階段被排除掉的話,這些工作量就可以節(jié)省下來。當(dāng)考慮到軟件維護(hù)費(fèi)用可能會比最初的開發(fā)費(fèi)用高出數(shù)倍的時(shí)候,這種潛在的對50%軟件維護(hù)費(fèi)用的節(jié)省將對整個(gè)軟件生命周期費(fèi)用產(chǎn)生重大的影響。

結(jié)論

經(jīng)驗(yàn)表明一個(gè)盡責(zé)的單元測試方法將會在軟件開發(fā)的某個(gè)階段發(fā)現(xiàn)很多的Bug,并且修改它們的成本也很低。在軟件開發(fā)的后期階段,Bug的發(fā)現(xiàn)并修改將會變得更加困難,并要消耗大量的時(shí)間和開發(fā)費(fèi)用。在提供了經(jīng)過測試的單元的情況下,系統(tǒng)集成過程將會大大地簡化。開發(fā)人員可以將精力集中在單元之間的交互作用和全局的功能實(shí)現(xiàn)上,而不是陷入充滿很多Bug的單元之中不能自拔。

使測試工作的效力發(fā)揮到最大化的關(guān)鍵在于選擇正確的測試策略,這其中包含了完全的單元測試的概念,以及對測試過程的良好的管理,還有適當(dāng)?shù)厥褂孟驛daTEST和Cantata這樣的工具來支持測試過程。這些活動可以產(chǎn)生這樣的結(jié)果:在花費(fèi)更低的開發(fā)費(fèi)用的情況下得到更穩(wěn)定的軟件。更進(jìn)一步的好處是簡化了維護(hù)過程并降低了生命周期的費(fèi)用。有效的單元測試是推行全局質(zhì)量文化的一部分,而這種質(zhì)量文化將會為軟件開發(fā)者帶來無限的商機(jī)。

UTP是UNIT TEST CASE SPECIFICATIONS的簡稱,單元測試用例描述,指軟件開發(fā)中的測試用例。2100433B

單元測試任務(wù)相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 廣東國咨招標(biāo)有限公司 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 拆邊機(jī) 大山檳榔 上海地鐵維護(hù)保障有限公司通號分公司 甘肅中維國際招標(biāo)有限公司 舌花雛菊 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 華潤燃?xì)猓ㄉ虾#┯邢薰? 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 四川中澤盛世招標(biāo)代理有限公司