軟件測試中的8組關系
這8組關系為如下所示。
1)質量與人員的關系。
2)質量與流程的關系。
3)質量與技術的關系。
4)質量與資源的關系。
5)人員與技術的關系。
6)人員與流程的關系。
7)技術與資源的關系。
8)流程與資源的關系。
下面就簡單說明一下這些關系的內涵,以及如何處理它們之間的關系(參見圖1-1)。
圖1-1
1、質量與人員的關系
質量需要組織中的全員負責,每個人的行為都能對軟件產品質量有直接的影響,每個人都應樹立積極的態度,做正確的事,對軟件產品質量的提高貢獻自己的力量。
2、質量與流程的關系
借助流程避免或減少人為的錯誤,借助流程可以督促人們在正確的時間做正確的事,甚至基于已有的良好流程迫使流程自身的優化,持續改進。所以,基于流程的質量改進是相對可靠、穩定的,基于流程的質量改進是可持續發展的。
有些流程的實施需要技術的支撐,例如,將流程融入軟件項目管理系統,就可以看做:借助技術,流程被固化在某個信息系統中,這樣流程的執行更加可 靠。例如,要求所有的代碼在檢入(check in)前都需要進行代碼評審,如果沒有評審,就不能檢入。如果流程僅寫在紙上,其執行比較困難,有的人在代碼沒有評審的情況下可以偷偷檢入代碼。但是,如 果開發一個輔助代碼評審的系統(如Review Board、JCR 等),并將這個系統和源代碼配置系統(如CVS、SubVersion 等)集成起來,代碼沒評審就根本無法檢入代碼。這就是從技術上解決流程的執行問題,使流程執行不流于形式,從這個角度保證質量。除此之外,基于技術能力, 可以開發代碼安全性檢查工具、代碼規范符合性掃描工具等,更徹底地確保代碼的質量。從這個意義上看,技術完全可以服務于質量,并能更好地保證質量,或使質 量保證工作能事半功倍。
4、質量與資源的關系
質量保證是需要成本的,從這個角度看,質量的提高需要更多的資源。可以說,質量和資源是成正比的,資源不足會降低質量,而資源充足可以改進質 量。質量與資源的關系是被動的,最終取決于人、流程和技術。例如,服務器資源不夠時,可以通過虛擬技術來增加邏輯服務器,滿足測試的需要。
5、人員與技術的關系
軟件測試人員隸屬于研發團隊,在工程師范疇內,因是技術人員,故以技術為本。軟件測試人員作為用戶代表,雖然更多的是站在用戶的角度去看問題, 去測試產品,但還是要靠技術武裝自己。因為,要完成測試任務,無論是測試環境設置,還是測試工具及其腳本開發、性能測試、可靠性測試等,都需要技術,包括 系統部署技術、網絡技術、編程技術等。沒有技術,很難和開發人員進行有效溝通,甚至因無法進行對話而得不到開發人員的尊重。
有了技術,便能理解系統架構設計和系統實現,就可以更有針對性地進行測試,做到事半功倍。另外,也只有掌握編程技術,才能參加代碼評審,接受敏捷方法的挑戰。因此,作為工程師,技術能力可體現自身價值,是未來發展的基礎。
6、人員與流程的關系
樹挪死、人挪活,流程是死的,人是活的。人發現流程有問題,就需要做出調整,對流程進行修改。流程是人開發出來的,流程是為人服務的,而不是人 為流程服務。但同時,我們也要認識到,流程是多數人甚至是組織的全部人員達成一致意見的結果,是一種約定,在流程沒有改變之前,人們要遵守流程。作為個 體,人要遵守流程,而作為人的整體,當流程不適應組織的變化時,就要服從組織、服從人的整體。
7、技術與資源的關系
技術與資源相輔相成,技術的發展需要資源的支撐,而技術發展以后,又可以反過來優化資源,減少資源的需求。如果技術和資源之間的關系建立在這樣 和諧的良性循環基礎上,對企業、對產品都有利;反過來,當技術和資源之間的關系始終處在激烈的矛盾之中,那它們不利于軟件測試,不利于軟件產品的開發,一 定會阻礙企業的發展。
8、流程與資源的關系
流程與資源的關系,和技術與資源的關系類似,也是相輔相成的關系。流程需要資源支持,資源為流程服務;同時,流程可以幫助我們更好地管理資源,充分地利用資源。
相關鏈接: