1. 程式人生 > >敏捷開發中的測試

敏捷開發中的測試

敏捷開發是針對傳統的瀑布開發模式的弊端而產生的一種新的開發模式,目標是提高開發效率和響應能力。

敏捷開發過程中,很多時候測試人員就時常被當成專案無法加快的阻力,一下這邊爆一個bug,那邊有個缺陷,所以專案經理痛恨測試,程式設計師們也巴不得測試快快放行,讓程式好好上線,但我們都知道沒有測好的東西是不能硬上的,測試這種把守專案上線最後一關卡的,若沒有兩把刷子,可能會時常變成專案延遲的炮灰。

為了讓測試的效率跟上專案開發的進度,需要抓住兩個關鍵點:
1. 品質是規劃出來,非測試出來的
測試在專案的早期就必須參加,熟悉需求,並從測試角度提出各種問題,確保產品經理、開發、測試的等角色的關注點都有備考量到,而測試也會從早期就開始撰寫測試用例,在撰寫過程中如果有發現任何問題也趁早反饋給產品經理、專案經理,趁早把問題給理清,這樣做測試才能把自己的角色提升到為質量負責的角色。

2. 落實自動化

所有重複性的工作都應該被自動化,包含測試,如果你專案大多數的時間都花在基礎功能測試,那效率肯定不會高的,所以測試環境、測試資料的準備應該都要有工具能輔助,各種測試用例如果是反覆發生且變動性少,絕對值得你花時間去撰寫自動化指令碼,而對於後端API介面的測試更是關鍵,一般的測試可能大多針對功能進行測試,但我們知道很多會露出被使用者測到的bug,大多都不是點一點就能測的出來,很多都是因為API在某種情境下出錯了,或在某種負載下出錯了,這些靠人工非常難驗證,透過自動化工具就相對簡單多了。

對於敏捷開發專案的測試而言,單元和整合測試是測試策略的關鍵環節。單元測試是驗證最小和獨立單元程式碼行為的過程,比如C++類,C函式,Ada包。這通常在系統測試之前進行。單元和整合測試是構建穩定減少錯誤應用程式的重要方法,因為它允許測試人員更容易模擬應用程式基本邏輯功能,並驗證其是否滿足設計需求。

傳統的單元測試,通常針對開發人員寫的每個軟體單元生成測試用例,執行這些用例驗證程式碼功能的正確性。這種模式存在一定風險,因為開發人員在設計測試用例時,很容易受自己實現該程式碼的思維的影響,從而導致某些情況不能被考慮到或測試到。


自動化測試工具,如:VectorCAST
可支援C/C++語言(VectorCAST C/C++)和Ada(VectorCAST/Ada)的單元測試和整合測試。兩者都可以自動化地完成單元測試和整合測試的關鍵步驟。包括測試驅動的生成,測試用例和測試結果的管理,以及自動化的迴歸測試。

自動化的測試不僅大大提高了測試效率,而且自動化的客觀性還能大幅提高測試的準確性。測試的自動化讓敏捷開發更加“敏捷”!