首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級(jí) | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級(jí)
等級(jí)考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會(huì)工作者
會(huì)計(jì)職稱 | 注會(huì)CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊(cè)稅務(wù)師 | 評(píng)估師 | 精算師 | 高會(huì) | ACCA | 審計(jì)師
法律顧問 | 會(huì)計(jì)證
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評(píng)價(jià)師
房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評(píng)價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 軟件評(píng)測(cè)師 > 正文

軟件評(píng)測(cè)師:為什么要進(jìn)行煩人的單元測(cè)試?

這篇文章主要闡述這樣一個(gè)問題:為什么要進(jìn)行煩人的單元測(cè)試?那些剛剛接觸完全測(cè)試概念的開發(fā)人員常常遇到這個(gè)問題。我們這里將采用“反調(diào)論證”的方法來回答這個(gè)問題, 先提出一些反對(duì)單元測(cè)試的普遍論點(diǎn), 然后我們會(huì)證明這些論點(diǎn)是站不住腳的。那些公開發(fā)表的文章和數(shù)據(jù)充分證實(shí)了單元測(cè)試的有效性。

  IPL是一個(gè)獨(dú)立的軟件開發(fā)機(jī)構(gòu),成立于1979年,基地設(shè)在Bath。IPL在1988年通過了ISO9001認(rèn)證,并在1991年通過TickIT認(rèn)證。IPL開發(fā)并提供AdaTEST和Cantata等軟件驗(yàn)證產(chǎn)品。AdaTEST和Cantata的開發(fā)遵循了這些標(biāo)準(zhǔn)的要求。

  簡介

  在使新的產(chǎn)品和業(yè)務(wù)的開發(fā)過程工業(yè)化的嘗試中,軟件的質(zhì)量和可靠性常常被看作是薄弱環(huán)節(jié)。

  在最近的十年里,隨著越來越多的人在開發(fā)過程中采用了設(shè)計(jì)方法論和使用CASE工具,軟件質(zhì)量和可靠性的問題越來越受到重視。大多數(shù)軟件設(shè)計(jì)人員都接受了這方面的培訓(xùn),并且在這些正規(guī)的軟件設(shè)計(jì)方法的使用中取得了很多經(jīng)驗(yàn)。

  但不幸的是,軟件測(cè)試并沒有得到同樣的重視。很多使用這些軟件設(shè)計(jì)方法的開發(fā)活動(dòng)并沒有使軟件質(zhì)量和可靠性得到控制。修改最初的軟件開發(fā)活動(dòng)遺留的Bug一般要在軟件維護(hù)費(fèi)用中占到50%的比例,這是不正常的,這些Bug應(yīng)該在有效的軟件測(cè)試過程中被排除掉。

  這篇文章主要闡述這樣一個(gè)問題:為什么要進(jìn)行煩人的單元測(cè)試?那些剛剛接觸完全測(cè)試概念的開發(fā)人員常常遇到這個(gè)問題。我們這里將采用“反調(diào)論證”的方法來回答這個(gè)問題,先列出一些反對(duì)單元測(cè)試的普遍論點(diǎn),然后我們會(huì)證明這些論點(diǎn)是站不住腳的。那些公開發(fā)表的文章和數(shù)據(jù)充分證實(shí)了單元測(cè)試的有效性。

  什么是單元測(cè)試

  單元測(cè)試是在軟件開發(fā)過程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試。

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

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

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

  一些流行的誤解

  在明確了什么是單元測(cè)試以后,我們可以進(jìn)行“反調(diào)論證”了。在下面的章節(jié)里,我們列出了一些反對(duì)單元測(cè)試的普遍的論點(diǎn)。然后用充分的理由來證明這些論點(diǎn)是不足取的。

  它浪費(fèi)了太多的時(shí)間

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

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

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

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

1 2 3 4 下一頁
  相關(guān)推薦:2010年計(jì)算機(jī)軟件評(píng)測(cè)師備考必備知識(shí)匯總
       2010年計(jì)算機(jī)軟件水平考試時(shí)間安排通知
       2010年上半年全國計(jì)算機(jī)軟考報(bào)名時(shí)間匯總 轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
軟件評(píng)測(cè)師:為什么要進(jìn)行煩人的單元測(cè)試?網(wǎng)友評(píng)論網(wǎng)友評(píng)論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
 zhangyuqiong