測試人員的新思想
過去,我們注意到按照傳統的方法,當項目快要結束時,開發出來的軟件才被交給測試人員,讓測試人員通過找到軟件的缺陷來為軟件“注入質量”。每一個測試人員都可能會退縮,因為通過經驗他們知道這種方法是多么沒有效率和令人失望的。
使用迭代的開發方法,測試人員仍然要負責確定系統的質量是否足以發布,但是他們確保完成高質量系統的方法卻從根本上發生了變化。首先,測試人員在項目非常早的時候就參與其中,因為每一個迭代(可能除了第一個迭代)都會產生可以被立即測試的可執行的結果。在項目早期,測試更關注找到“影響大的”問題,而不是驗證代碼是不是已經可以交付了。這就意味著你不能簡單的將代碼交給測試人員;相反,測試人員需要與分析人員和開發人員密切的合作以便他們能夠理解在每個迭代中什么是需要被測試的。
此外,測試人員必須向 團隊的其他能夠適當的改經需求、設計、代碼和其他支持性的產物的成員提供測試的反饋。測試人員可以通過這些任務來幫助其他項目成員的工作:通常他們可以幫助產生更好的需求,因為他們在計劃方法來測量一個需求是否被滿足的方面是經過訓練的。同時,現代的集成測試和開發環境允許他們通過使用基線的代碼配置進行連續的測試工作。
就像分析人員和開發人員承擔了更多的任務一樣,測試人員也承擔起了更多的任務。在項目周期的后期,測試人員作為質量專家,對整個開發團隊提供專家意見。例如,除了執行大量了集成和驗收測試之外,他們可以在質量的相關決定上對 項目經理進行指導。
因為貫穿整個項目中需求是被迭代的識別、細化、開發和測試的,因此項目團隊并不應該過早的生成所有被執行的測試的詳細說明。相反,早期的焦點應該是理解對于一定的階段或者迭代的測試的目標 — 他們應該完成什么。這將焦點移到了識別每個迭代的潛在的問題領域上,并且開發測試以暴露那些問題領域。
迭代開發意味著在項目的早期你就要開發測試系統的關鍵能力。同時也意味著你需要在后續的迭代中測試和重新測試這些能力以確保你認為應該被解決的問題不會再一次出現。不通過有效的自動化測試進行完全的回歸測試是不切合實際的 — 而且通常是不可能的,因此你必須要在整個項目中不斷的開發出可自動化的測試。有效的實現這一點的訣竅是理解在迭代不斷持續時什么元素是可以保持穩定的;通過這種方法,你可以避免為每一個迭代重寫自動化測試。這就要求你對系統的體系架構有一定的了解;在比較靠后的迭代中,測試應該更注重系統詳細的功能性。
文章來源于領測軟件測試網 http://www.kjueaiud.com/