我們測試到底為什么服務?測試不僅僅是為開發團隊服務,這是很重要的一個思考問題,通常我看到測試團隊開發團隊協作非常緊密,事實上不僅需要跟它們合作,還需要跟需求的業務分析部門,甚至跟后面的運營部門,產品上線了,或者遞交到外部,我們更多的是要以整合業務的角度來看待問題,這是我們很重要的方面?礃I務驅動的軟件開發測試生命周期,有不同角色劃進來,有最終用戶,上層的管理層,還有測試人員、開發人員,架構設計師,這完全是循環,跨平臺,跨部門,在各個階段都有測試的理念。
講了很多方法和理念之后,下一個理念要引入的,有這樣的方法和理念要建立什么團隊來支撐我們的工作,讓我們測試中心,測試團隊更有效。第一點是人才培養,第二個流程建設非常重要,如果沒有成型的流程,整個團隊遵循的規則都很難控制的,再下面有質量量化和工程量化管理,測試項目的管理,我會一一做介紹,第一個會講到人員,對人員有分工,角色與職能的分工。首先會有質量總監,測試經理和項目經理,會有架構設計師和軟件配置人員,還有后面的測試人員,最后還有質量分析專家,到了后期很重要的環節。所以測試是一門學問,需要很多人,很多人投入,有很多專業知識在里面,我測試有什么價值,怎么提升士氣和戰斗力時也有人問到這個問題。
關于IBM開發中心測試平臺和測試方法,IBM Rational常用的RUP,對測試管理的流程定義,通常會有這樣一個角色,這是人員,這是一個行動,這是一個流程在里面,會有很多的工作,有一個固化的流程幫助團隊執行這個工作。這是RUP中的測試方法學,生成的軟件做什么事情,有測試人員,有測試的分析人員,有純粹的設計人員,他們工作的內容不太一樣,這里強調是我們通過這些方面強調測試的進度和質量,一個需求覆蓋率,測試用例實現率,要開發測試用例,寫出來是不是執行到了,最后是統計分析,我們要對缺陷分布進行分析,這是一個需求管理,通過Rational產品可以把你需求細化到每一個用例,甚至一個需求用例對應好幾個測試用例,有分支,或正反向,測試用戶不同有不同的情況出現。
往往你的需求和測試用例對不上,但最后產品質量還是不好,最后客戶發現問題是你沒發現的,這時候就要借助你的工具。這是一個循環,每一個迭代產生一部分,因為更改可能帶來新的BUG,要做回歸測試,我不斷循環測試,是不是意味著人員的投入非常巨大,因為可能新的代碼出現,舊的代碼還要維護,測試的話,這里面提倡的自動化,盡量把程序寫的自動化一些。純粹的流程,人是喜歡自由自在的,喜歡無拘無束,寫再多流程文檔,要讓執行很困難,沒有人在后面拿鞭子抽他,沒有人愿意往前走,你要通過平臺和工具來控制他,所有東西才可控,軟件工業和傳統制造業最大區別,軟件是一個思維,頂多變成代碼,但這代碼意味著什么,很難理解,甚至這代碼很輕易被刪改和刪除掉,你測試用例可能很容易被修改和監測,測試經理很難找到數據,我們需要一個測試管理平臺,提供的功能是有測試計劃,測試用例的執行,測試報告,測試結果的跟蹤。
需要特別指出的重要一點,測試是一個團隊,不是一個人單獨做,因為一個人只能測一點,每個人之間要有分工,分工要有合作,整個項目是一個交集,合集,怎么了解分配狀況,需要集中統一的平臺,所有數據在這里交流,所有人可以看到相應的數據,這樣數據可以被公開和跟蹤。第一個是管理平臺,這里面有很多的細節,要測試要分布,比如有200個測試,要分布在10個機器上,我測試分布怎么做,最笨的辦法就是一個一個系統跑,遠程做一個一個跑可能要遠程做。第三個壓力怎么辦?我跟工行、農行客戶,比如信用卡,他設計5年10年以后有1億用戶,現在可能只有1、2百個,他怎么保證系統設施滿足將來的需求,只能通過測試方法,但是沒有測試環境,而且是并發的,而且不同的測試數據在里面流入,不同的測試流程,沒有自動化的工具可能做不到,現在給我的答案,沒辦法,這確實是一個問題,如果沒有手段,現在做就是試用,比如我到江蘇省,廣東省,在一個省里面推廣,沒發現問題就用了,將來有問題將來再想辦法,經常銀行系統通知大家,系統在升級,就是它需要不斷做調整,這會影響業務和成交額,前一段時間銀行有一個案例就是這樣。
Rational的最佳實踐測試方法,要測試工作量化,測試度量標準,建立測試任務的流程,還有測試案例管理統一模板,統一管理,一定要建立相應的測試管理的平臺,缺陷和變更的管理,以及自動化的實現。
文章來源于領測軟件測試網 http://www.kjueaiud.com/