一直感覺V模型有很大的問題。通過單元測試的代碼,直接就進行集成測試是否合適?
單元測試通常是由開發完成的,如果由測試人員來完成,可能存在如下問題:
1)雙方溝通的問題,根據開發人員的代碼寫單元測試代碼肯定要理解開發的代碼,這過程中需要有一定的溝通。
2)時間的問題。完整的單元測試的代碼量很可觀,需要投入很大的時間,相對而言通過寫測試用例文檔,直接執行的方式會顯得高效多了。
3)和測試人員寫代碼能力的問題。
可開發的代碼不經過測試人員,直接進行集成測試顯然是不合適的,原因如下:
1)集成測試和單元測試的關注點是不一樣的,而我們會發現很多開發人員做的單元測試僅涉及最基本的情況,顯然這不符合單元測試代碼設計要求,但如果僅僅以代碼覆蓋率而言,代碼符合要求了,可這樣的單元測試肯定是不完全的。所以單元測試階段我認為也很有必要有測試人員加入。
2)每個測試階段,都應該有一支專業獨立的測試團隊進行。開發人員內部自測的弊端我不用說大家也都應該知道。
3)本著BUG發現的越早,節約的成本越低的原則。
所以我認為在開發人員進行白盒單元測試后,加入測試人員進行的黑盒單元測試應該比較合適,通過黑盒單元測試后,再進行集成測試、系統測試...
黑盒單元測試我一直在做,發現這個階段會存在很多BUG.特別你會發現一些設計上的BUG.這有些在后期的集成測試、系統測試可能會發現,有些可能就漏掉了,因為畢竟關注點不同。
單元測試是在軟件開發過程中要進行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試。 單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發過程中使用,單元測試必須是可重復的,無論是在軟件修改,或是移植到新的運行環境的過程中。因此,所有的測試都必須在整個軟件系統的生命周期中進行維護。
原文轉自:http://www.anti-gravitydesign.com