国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

概述(Overview)

2018-02-24 15:40 更新

測試

測試是軟件開發(fā)的一個重要組成部分。不管我們是否意識到,我們一直在不斷地進行測試。 例如,當我們在用 PHP 寫一個類的時候,我們可能用 echo 或者 die 語句一步一步簡單的調(diào)試 驗證我們實現(xiàn)的代碼是否按照最初的計劃工作。在開發(fā) web 應(yīng)用的時候,我們在表單中輸入 一些測試數(shù)據(jù)來確保頁面能夠如預期那樣和我們進行交互。

測試過程可能是自動的,所以每次我們需要驗證的時候,我們只需要調(diào)用它就可以測試代碼 了。 驗證代碼執(zhí)行結(jié)果是否符合我們的計劃叫做測試,測試過程的創(chuàng)建以及進一步執(zhí)行叫做 自動化測試,這是這些測試章節(jié)的主要主題。

帶著測試進行開發(fā)

測試驅(qū)動開發(fā)(TDD)和行為驅(qū)動開發(fā)(BDD)在開始編寫實際代碼之前,首先通過描述一段 代碼的行為或?qū)⑵渥鳛橐唤M場景或測試的全部特征,然后創(chuàng)建符合這些測試預期驗證的行為 實現(xiàn)。

開發(fā)一個功能的過程如下:

  • 創(chuàng)建一個描述一個功能被實現(xiàn)測試。
  • 運行這個測試來確保功能失敗.因為這是沒有實現(xiàn)之前的預期。
  • 編寫簡單代碼確保這個測試通過。
  • 運行所有測試確保所有測試都通過。
  • 優(yōu)化代碼確保測試依然可以通過。

走完上面的過程之后,為其他功能或者擴展重復上面測試過程。如果功能發(fā)生變化,測試也需 要跟著變化。

技巧: 如果你覺得你做一些很小很簡單的迭代是在浪費時間,請嘗試覆蓋更多的測試 場景,這樣你就可以在執(zhí)行測試之前做更多的嘗試。如果你的調(diào)試過多,試著做相反的工作。

在做一些具體的實現(xiàn)之前創(chuàng)建測試的原因是,這允許我們后期專注于我們想要的實現(xiàn),并且 可以花費更多的精力到實現(xiàn)細節(jié)。在涉及功能調(diào)整的時候,這會使得抽象更合理、測試維護 更簡單或者使得耦合元件更少。

這種做法的優(yōu)點如下:

  • 在計劃和實現(xiàn)發(fā)生變更的時候,可以讓你在同一時間只專注于一件事情。
  • 更多功能更詳細的覆蓋測試的結(jié)果,如果測試都通過好比再也沒有什么問題了。

在很長一段時間內(nèi),這通常會給你提供一個有效的時間節(jié)省。

技巧: 如果你想了解更多關(guān)于收集軟件需求和建模的原則,最好去學習?Domain Driven Development (DDD)。

什么時候測試,怎么測試?

在測試的時候,對于一些相對復雜的項目上面的內(nèi)容是非常有意義的,但對于一些比較 簡單的項目就做的有些極端了。適用場景如下:

  • 項目已經(jīng)很大且復雜。
  • 項目需求開始變得復雜起來。項目不斷發(fā)展。
  • 項目歷時很長。
  • 失敗的代價非常高。

在現(xiàn)有的實現(xiàn)行為中進行覆蓋測試是非常適合的。

  • 項目是一個逐步更新的遺產(chǎn)。
  • 你有一個還沒有經(jīng)過測試的項目要做。

在一些情況下,任何形式的自動化測試都是過于極端的:

  • 項目很簡單,也不會變得復雜。
  • 過期不再工作的一次性項目。

假如你有很多的時間,在這種情況下進行自動測試也很好。

深度閱讀

  • Test Driven Development: By Example / Kent Beck. ISBN: 0321146530.
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號