●敏捷開發實踐:使用Visual Studio Team Foundation Server 2012|悅知文化
著作:
●SQL Server 2012 T-SQL 資料庫設計|悅知文化
●SQL Server 2012 SSIS整合服務|悅知文化
●SQL Server 2008管理實戰【進階維護篇】|悅知文化
●SQL Server 2008 T-SQL資料庫設計|悅知文化
●SQL Server 2008 SSIS整合服務|悅知文化
●SQL Server 2008管理實戰【營運管理篇】|悅知文化
●SQL Server 2008 Reporting Services報表服務|悅知文化
●IT DNA|悅知文化
BLOG:byronhu.spaces.live.com/
陸雲中 Kent Lu
集英信誠執行顧問
主要專長為.Net開發、Visual Studio Team System、Team Foundation Server(TFS)軟體開發生命周期(ALM)導入,曾經協助多家企業導入以TFS為基礎的軟體開發流程,並參與多項大型專案開發。於在2010年獲選為微軟最有價值專家(MVP)。
微軟的整合開發環境從強調程式語言Visual Basic/Visual C++,到強調 ApplicationLifecycle Management,進而強調測試。軟體開發流程模型從瀑布式、漩渦式到敏捷開發,從推廣CMMI 到Scrum,而今,隨著Visual Studio 3000 多人的團隊從2003年開始採用敏捷開發的Scrum方法論,讓VS大幅茁壯與精進,以自身團隊見證了Scrum。更重要的是,VS團隊直接將Scrum精神融入了自身開發的產品。
十幾年來,看著軟體測試從跑龍套逐漸演變成重要角色,施行的時程從開發專案結尾時的可有可無,變成貫穿整個開發流程的多種測試。這也標示了軟體開發的進化、細緻分工與重視品質。以往,為了要做負載測試,提供模擬上千人的壓力,我要撰寫程式搭配Microsoft Message Queue,讓多台機器同時跑多個執行檔,存取待測系統服務,再收集資料建立報表,那時測得是Win95、Microsoft Transaction Server(MTS)搭配SQL Server 7.0、Windows 4.0的系統平台。一切自己來,讓廣泛而精細的測試變得難上加難,只能在有限時間與資源下,選擇重要的測試。
因系統的規模日益龐大,負載測試變成基本要求,微軟也開始提供免費工具,如,Microsoft Web Application Stress Tool。隨著Agile開發方法論日漸風行,其單元測試促成了Open Source 的JUnit、NUnit 乃至於其他的測試Framework。市面上各種測試工具如雨後春筍,微軟的整合開發工具也逐漸演變到2005 年的Visual Studio Team System,直接內含單元測試、Web效能測試、負載測試...等功能,可滿足一般的測試需求。直至2010 年Team Foundation Server/Visual StudioUltimate 2010 現身,微軟再度大幅擴充測試的功能。此次的2012版更加精煉了既有功能,並小幅新增測試功能,如新的單元測試架構、探勘測試、新的測試實驗室環境...等。
然而,不太變的是開發團隊之想法與做法,曾和台灣旅美任職微軟的專業測試工程師聊到,他感覺台灣的軟體開發文化,大部分是:Quick and Dirty。由於一人分飾多角,開發過程充滿盲點,又高度壓縮時間與成本,往往只能犧牲品質。以往系統生命週期短,系統範圍小,功能、資料量、使用人數都少,系統損毀的代價不高,開發團隊靠一位英雄就可以讓他豪邁地重頭來過。
而這些理由多可總結一句「沒做好測試」。在非關鍵不重要的系統上可以發生,但重點是,你希望自己只負責這樣的系統嗎?軟/硬體一直在變、使用者需求一直在變、你的同事也一直在變。昨天改系統平台、今天改資料結構、明天改程式架構、後天升級。沒有隨手可得的測試,你敢談品質嗎?這次有幸與集英信誠的好夥伴們一同撰寫這本用Visual Studio 2012 執行測試的專書,寫作過程中,雲中和欽展學習到許多想法與作法,實屬幸運。也要特別感謝微軟資深產品經理吳典璋與技術專員徐鈞安的大力支持,提供資源幫忙解惑。而最要謝的當屬老婆,許我一塊清淨之地 。