如何保證軟件的質量一直就是令人頭疼的事,這里列了一個自己實際運作的一套用于保證軟件質量的體系,還望大家多加指點。
軟件的質量保證的關注點主要分為三個方面:
1、對于需求的滿足
保證軟件的設計/實現對于需求是滿足的。
2、對于設計的滿足
保證代碼的實現是遵循設計的。
3、代碼的質量/性能
避免代碼實現造成的性能或其他的一些非功能性問題。
為了保證這三點的達成,在實際的項目/產品中采用了一套這樣的方法,涉及到的角色有項目經理/開發經理/需求人員/設計人員/開發人員/測試人員:
1、對于需求的滿足
在對于需求的滿足上,為避免代碼的設計/實現與需求出現大的偏差,要求由需求人員提供驗證的場景,同時根據每天早會大家的計劃在下班時對計劃的完成根據驗證場景進行驗證。
涉及到的角色:需求人員(負責驗證場景的提供和需求實現的驗證)
測試人員(根據驗證場景進行驗證)
2、對于設計的滿足
在對于設計的滿足上,為避免出現代碼和設計嚴重偏離的現象,要求設計人員和開發人員頻繁的交流,確信開發人員對于設計意圖的理解,開發人員在進行代碼實現時根據設計人員提供的概要設計完成詳細設計,在開發過程中采用TDD的方式進行,確保代碼對于設計的符合,這樣并不是說設計是不可修改的,但設計和代碼的實現需要是可映射的。
要求設計人員對開發人員的代碼進行頻繁的Code Review,確定設計被正常的實現。
涉及到的角色:設計人員(提供對于設計驗證的方法)
開發人員(TDD)
3、代碼的質量/性能
為保證代碼的質量,在PP不能完全執行的情況下也要求盡量的多采用PP的方式進行開發,同時通過設計人員對于開發人員以及開發人員互相的Code Review來保證代碼的質量。
對于代碼的性能更多的是通過單元測試執行的耗時來分析。
對于設計以及代碼進行重構來提升代碼的質量和性能。
涉及到的角色:設計人員(Code Review、性能分析、設計重構)
開發人員(PP、Code Review、代碼重構)
4、任務完成情況/差距分析
為保證軟件開發順利完成,應不斷的對任務完成的情況進行差距分析,以盡早做出應對措施并調整。
涉及到的角色:項目經理/開發經理
在開發過程中首先要求的是高質量的測試代碼(滿足需求/設計) ,之后才是高質量的實現代碼,對于實現代碼在有了測試代碼的情況下更多的可以通過重構去達到高質量。
總體而言,在軟件開發過程中最重要的就是要保證各種角色人員的接口的明確、交流/反饋的暢通,同時采取小步前進的方式,通過重構來達到目標。