SCM的殘酷現實
但是在改進過程中,我們會碰到太多的阻力,其中一個重要的阻力是配置管理流程的執行問題。開發人員認為配置管理約束了他們的自由的創作,配置管理員也不知道如何進行配置管理活動。這些情況在中小型軟件企業中普遍存在。
管理層不能狠下決心結合配置管理來做好進度和風險的控制,配置管理的流程和制度名存實亡,配置管理員在這樣的環境下,可能很難想象自己除了寫寫無聊的配置管理計劃和報告之外,究竟要做些什么工作。
另一方面,由于配置管理流程沒有真正建立起來,測試人員也在發牢騷,因為他們永遠也不知道開發人員在什么時候又改動了一行代碼,結果導致他們測試的遺漏,或者是開發人員一時興起,把大部分控件的名稱改成更好聽的名字,結果導致測試人員的自動化腳本需要重新錄制。
VSS是大部分中小軟件企業都在使用的配置管理工具。把它稱為配置管理工具實在有點勉強,因為缺乏構建管理、流程管理等功能,充其量也不過是個源代碼控制工具。但是就是這樣一個小工具,卻是我們大部分人用在配置管理活動中的核心工具。
在這樣“殘酷”的環境中,真的就只能互相埋怨,被迫接受現實了嗎?不,基于VSS,我們還是可以主動的獲取很多信息來真正幫助我們。
VSS的編程接口
VSS提供了2種類型的編程接口,命令行,自動化接口。VSS的SS.exe通過命令行調用,支持大部分的VSS界面操作的功能。例如通過Checkin 和Checkout命令來簽入、簽出文件。
VSS還提供了一個自動化編程接口IVSS,IVSS是一個基于COM的自動化接口集合,通過Microsoft.VisualStudio.SourceSafe.Interop命名空間暴露給用戶使用。它提供了操作VSS數據庫的接口。例如,通過IVSSDatabase接口訪問和登錄VSS數據庫。
每日配置管理簡報
既然,VSS提供了方便的編程接口,那么我們能否利用它來幫助我們進行配置管理活動呢?答案是肯定的。其中一個簡單的活動是配置管理記錄的自動生成。
我們可以在每天晚上下班后運行一個小程序,自動登錄到VSS,獲取當天開發人員對VSS做的任何改動。并記錄到文件中,作為配置管理記錄,并且發送到項目組各成員的郵箱中,這樣測試人員也可以在每天早上上班的時候知道昨天開發人員進行了哪些更改,是否需要取版本進行回歸測試,回歸測試的策略也可以方便地根據配置管理記錄來進行設計。
Surveillant
原文轉自:http://www.anti-gravitydesign.com