日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

测试 / 单元测试的重要性

發(fā)布時(shí)間:2024/10/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试 / 单元测试的重要性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、什么是單元測(cè)試?

要搞懂單元測(cè)試,首要要弄清楚什么是單元。

單元是軟件中承擔(dān)單一責(zé)任的單位,一個(gè)函數(shù)、一個(gè)文件、一個(gè)類(lèi)、一個(gè)模塊都可以稱(chēng)為一個(gè)單元。

單元測(cè)試便是對(duì)軟件設(shè)計(jì)的最小單位進(jìn)行正確性測(cè)試,以檢驗(yàn)程序單元是否滿足功能、性能、接口、設(shè)計(jì)規(guī)約等要求。

單元測(cè)試本質(zhì)上也是代碼,與普通代碼的區(qū)別在于它是驗(yàn)證代碼正確性的代碼。軟件開(kāi)發(fā)天生就具有復(fù)雜性,沒(méi)人敢打包票說(shuō)自己寫(xiě)的代碼一點(diǎn)問(wèn)題都沒(méi)有,或者不經(jīng)測(cè)試就能保證代碼正確運(yùn)行,可能你在這個(gè)執(zhí)行路徑下能夠執(zhí)行,殊不知還有其他路徑,有一一去驗(yàn)證過(guò)嗎?

因此,要保證程序的正確性就必須要對(duì)我們代碼進(jìn)行嚴(yán)格測(cè)試。

二、單元測(cè)試帶來(lái)的好處

通常我們?cè)谧鋈魏喂ぷ鲿?huì)先考慮它的回報(bào),編寫(xiě)代碼更是如此。如果單元測(cè)試的作用不大,沒(méi)有人會(huì)愿意再寫(xiě)一堆無(wú)用的代碼,那么單元測(cè)試到底能夠給我們帶來(lái)什么優(yōu)點(diǎn)呢?如下:

  • 便于后期重構(gòu)。單元測(cè)試可以為代碼的重構(gòu)提供保障,只要重構(gòu)代碼之后單元測(cè)試全部運(yùn)行通過(guò),那么在很大程度上表示這次重構(gòu)沒(méi)有引入新的BUG,當(dāng)然這是建立在完整、有效的單元測(cè)試覆蓋率的基礎(chǔ)上。
  • 優(yōu)化設(shè)計(jì)。編寫(xiě)單元測(cè)試將使用戶(hù)從調(diào)用者的角度觀察、思考,特別是使用 TDD(Test Driven Development) 驅(qū)動(dòng)開(kāi)發(fā)的開(kāi)發(fā)方式,會(huì)讓使用者把程序設(shè)計(jì)成易于調(diào)用和可測(cè)試,并且解除軟件中的耦合。
  • 文檔記錄。單元測(cè)試就是一種無(wú)價(jià)的文檔,它是展示函數(shù)或類(lèi)如何使用的最佳文檔,這份文檔是可編譯、可運(yùn)行的、并且它保持最新,永遠(yuǎn)與代碼同步。
  • 具有回歸性。自動(dòng)化的單元測(cè)試避免了代碼出現(xiàn)回歸,編寫(xiě)完成之后,可以隨時(shí)隨地地快速運(yùn)行測(cè)試,而不是將代碼部署到設(shè)備之后,然后再手動(dòng)地覆蓋各種執(zhí)行路徑,這樣的行為效率低下,浪費(fèi)時(shí)間。

三、什么是好的單元測(cè)試

既然我們已經(jīng)知道了單元測(cè)試對(duì)一個(gè)程序員的重要性。那如何寫(xiě)好單元測(cè)試也是程序員需掌握好的技巧。這里,我想向大家介紹測(cè)試的 FIRST?原則。FIRST? 并不是第一的意思,其每個(gè)字母都有獨(dú)特的含義:

  • F - 快速:測(cè)試必須非常快,這樣開(kāi)發(fā)人員可以對(duì)每一個(gè)小更改運(yùn)行測(cè)試,而不用中斷思緒去等待測(cè)試運(yùn)行。

  • I - 隔離:不同的測(cè)試用例之間是隔離的。一個(gè)測(cè)試不會(huì)依賴(lài)另一個(gè)測(cè)試。不同測(cè)試的故障是相互隔離的。

  • R - REPEATABLE - 可重演:測(cè)試程序要可在不同環(huán)境跑。

  • S - SLEF-VALIDATING - 自我確認(rèn):測(cè)試結(jié)果應(yīng)是簡(jiǎn)單的 TRUE / FALSE,無(wú)須人工確認(rèn)。

  • T - 及時(shí):測(cè)試是及時(shí)的。程序員在代碼上線前,及時(shí)地編寫(xiě)它們,以防止bug。

轉(zhuǎn)載:(42 封私信 / 82 條消息) gtest - 搜索結(jié)果 - 知乎 (zhihu.com)

(SAW:Game Over!)

與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的测试 / 单元测试的重要性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。