︿
Top

2017年12月7日 星期四

[SQL Server] T-SQL 測試輔助工具或方案 (2) : Visual Studio + Specflow + Entity Framework


前言

接續前一篇, 筆者找到的第2個方案是 Visual Studio + Specflow + Entity Framework . 

Specflow 是一個用以與使用者溝通的語言工具, 用以描述使用者的需求案例. 適用於整合測試. 當然, 最好是由 Top Down 的方式, 由 BDD (Behavior-Driven Development) 逐步產生實際運作的程式碼 (Production Code); 但若還是不太習慣, 也是可以先寫實際運作的程式碼, 再寫測試方法 (Test Code).
Entity Framework  是微軟以 ADO.NET 為基礎所發展出來的物件關聯對應 (O/R Mapping) 解決方案, 在本文中, 可以用它來建立及清除測試資料.

不過, 該方案需要開發人員, 除了 T-SQL 外, 還要會寫 C# 的程式碼 .


2017年12月3日 星期日

[SQL Server] T-SQL 測試輔助工具或方案 (1) : tSQLt


前言


最近工作上, 可能會需要寫 stored procedure, 想說找一下有沒有測試輔助工具或方案, 以提昇 stored procedure 的品質, 避免後續維護時, 出現改東壞西的狀況. 
筆者以免費的工具或解決方案為優先, 找到的第1個方案是 tSQLt. 至於要付費的, 如參考文件 5.., 筆者還沒有時間去試用.
tSQLt 是一套 Open Source 的 Unit Test Framework; 可以協助 SQL Server 開發人員, 直接在 SQL Server 上進行測試.

所謂測試, 是指實際執行值, 與預期值是否相符的驗證. 基本上分為功能性 (單元測試, 整合測試, 使用者測試) 與非功能 (效能測試, 壓力測試). 
以下僅就單元測試與整合測試, 用易於瞭解的描述作說明. 至於嚴謹的定義, 可以參考 91哥的系列文章: [30天快速上手TDD]目錄與附錄. 筆者在測試的部份, 深受 91哥 "自動測試與 TDD 實務開發(使用C#)" 課程的影響.