<<測試驅動開發的藝術>>讀書筆記

来源:http://www.cnblogs.com/linyilong3/archive/2016/11/05/6033916.html
-Advertisement-
Play Games

1. TDD通過邊測試邊編寫代碼,然後重構來防止重構所引起的錯誤 2. 通過自動化測試和持續集成工具,隨時保持可以發佈 3. TDD第一步: 1. 需求分解 2. 將需求轉化成測試 3. 寫一個失敗的測試 4. 逐步通過測試,再寫一個測試 5. 開始消除重覆代碼 (由於這個時候有測試在了,所以不用擔 ...


  1. TDD通過邊測試邊編寫代碼,然後重構來防止重構所引起的錯誤
  2. 通過自動化測試和持續集成工具,隨時保持可以發佈
  3. TDD第一步:

    1. 需求分解
    2. 將需求轉化成測試
    3. 寫一個失敗的測試
    4. 逐步通過測試,再寫一個測試
    5. 開始消除重覆代碼 (由於這個時候有測試在了,所以不用擔心更改會引起集成錯誤)

    看到這裡感覺在國內公司已經很難實現這個了,因為時間很難讓你去做這些事情

  4. 交互測試,並不驗證結果的正確性,而是驗證代碼與其協作對象的交互行為的正確性
  5. 重構代碼的時候不要直接用調試器調試,而是要把代碼分為一個嚴格地軟體開發活動
    1. 確定變更點
    2. 確定測試點
    3. 覆蓋測試點
    4. 修改代碼
    5. 重構代碼

    先分析程式再寫測試再重構,以前都搞反了,先重構再寫測試所以很難去保證重構後代碼正確,因為思維方向就不對,先重構再測試時按照自己的思路來寫測試,更傾向於為了通過測試而寫測試,而 先測試再重構思路更傾向於根據業務來進行測試

  6. 資料庫測試,增量式DDL腳本。一次只添加一個列或者一張表,每個步驟都可以回滾
  7. 資料庫測試使用腳本或者其他方法添加進數據,然後進行測試


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 介紹 COLUMN分區是5.5開始引入的分區功能,只有RANGE COLUMN和LIST COLUMN這兩種分區;支持整形、日期、字元串;RANGE和LIST的分區方式非常的相似。 COLUMNS和RANGE和LIST分區的區別 1.針對日期欄位的分區就不需要再使用函數進行轉換了,例如針對date字 ...
  • 說到隊列的話,大家一定不會陌生,但是扯到優先順序隊列的話,還是有一部分同學是不清楚的,可能是不知道怎麼去實現吧,其實呢,,,這東西已 經爛大街了。。。很簡單,用“堆”去實現的,在我們系統中有一個訂單催付的場景,我們客戶的客戶在tmall,taobao下的訂單,taobao會及時將訂單推送給 我們,如果 ...
  • 今天把應用部署到AWS上發現後臺修改內容提交後程式報錯,經過排查發現是更新數據的時候,有張數據表中的一個timestamp類型的欄位預設值變成了"0000-00-00 00:00:00.000000"格式,導致解析失敗造成的。 在mysql該欄位的創建語句如下 因為在本地開發環境測試過,沒有該問題, ...
  • JDBC ___ 補充:Jabc相關類介紹 1.Connection類 a.用於代表資料庫的鏈接,客戶端與資料庫所有交互都是通過connection對象完成的。 b.主要方法: createStatement():創建向資料庫發送sql的statement對象。 prepareStatement(s ...
  • 文章翻譯自:http://www.tomsitpro.com/articles/database-certifications,2-664.html 我們總是需求一些懂行的,有天賦的,知識淵博的資料庫專業人員。下麵是一些最好的資料庫認證,給DBA,Database developers及相關人員參考 ...
  • 設教學資料庫中有三個基本表: 學生表 S(S#,SNAME,AGE,SEX),其屬性表示學生的學號、姓名、年齡和性別;選課表 SC(S#,C#,GRADE),其屬性表示學生的學號、所學課程的課程號和成績;課程表 C(C#,CNAME,TEACHER),其屬性表示課程號、課程名稱和任課教師姓名。 下麵 ...
  • 實驗分析與討論: 在本次資料庫試驗中,我完成了實驗要求。本次實驗內容是關於多表的連接查詢及投影、選擇條件。在課堂上,老師講授了多表連接查詢的相關知識,我也用筆練習寫了sql語句,但是感覺印象還不是很深刻,有些不太理解。在實驗課中我練習了sql語句,對課堂上所學的知識有了更深的理解,收穫很多。實驗中, ...
  • 性能計數器和sql profiler都是常用的性能診斷工具和優化工具,最近和群友聊天發現很多人竟然不知道這兩個可以“組合”使用,所以這篇算是一篇掃盲貼吧。 兩種工具簡述 通過計數器可以收集兩部分內容:WINDOWS 的運行指標,和SQL Server的指標。比如:伺服器的CPU使用率、磁碟隊列、記憶體 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...