关于软件质量(2)- 开发 vs 测试
生活随笔
收集整理的這篇文章主要介紹了
关于软件质量(2)- 开发 vs 测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
影響軟件產品質量的因素很多,開發時間、技術、員工經驗、測試方法、工作態度...還有一樣我覺得是關鍵但卻很少被人提及,追究原因就是這個因素很難真正的改變,就是開發者和測試者的關系,或者說開發團隊和測試團隊在一個公司的組織架構。我觀察到三種組織模型:
??? 1)不分你我
??? 這在小軟件公司頗為流行(據統計70%軟件公司都是小公司)。小公司成立初期最重要的是把產品做出來,慢慢的有客戶之后意識質量問題日益嚴重,開始注意開發后還要好好測試,再之后發現自己做的自己測的靠不住,讓team其它人測;最后慢慢的張三做的李四測,李四做的張三測......這些小公司的開發團隊簡直就是agile team的典范啊。除了小公司,很多大公司的小產品在剛剛創立階段,也基本沿襲這種開發/測試組織架構。
??? 優點:不用多說,小而快,靈活
??? 不足:這種測試停留在“夠用”即可,別奢望追求完美的質量。很多時候產品是在后期客戶使用中不斷修修補補完善的
??? 2)你輸我贏
??? 測試和開發處于不同的部門,或者說二者雖屬于同一產品,但有著不同的goal,而這些goal又是顯然對立的。以之前我工作的通信公司為例:
?? 做不出來開發的責任,做出來被后期測試出來的bug太多開發的責任;
?? 測不出bug或者測出的bug沒有達到數量測試的責任,客戶上線發現新bug測試的責任;
?? 責任鮮明。記得每次release完后,我都總結bug數,然后每個bug單獨做RCA,每個RCA前后耗若干小時;對嚴重漏到客戶的bug,見到幾次開發經理開發工程師和測試經理測試工程師開會討論到底是誰的責任。
?? 優點:問責!無論開發還是測試都有對產品質量都有著鮮明的責任,有壓力自然有動力,潛力在戰斗中才能爆發,事實證明對產品質量控制是顯著的。我知道還有其它通信公司也采用這種方式。
?? 不足:這種過于對立的立場甚至利益點或多或少對teamwork有影響;而軟件開發過程中的創新往往需要開放、交流、團隊的工作氛圍;此外過于強調一些指標比如測試bug數目,有時候會導致一些無益的內耗。
???? 3)你好我好大家都好
???? 開發和測試有著共同的目標,大家朝著共同的目標努力著。這種類似又當運動員又當裁判員的工作模式,表現往往工作氛圍異常好,開發和測試在和諧愉快的溝通中達到一個看似“共贏”的結果,比如產品永遠是準時發布的。
???? 優點:共同的目標,團隊合作,愉快的工作氛圍...這些都是優秀公司的基礎;
???? 不足:這種架構下,測試工作的成就感以及對測試工作的激情會降低;你會加班3個小時去尋找一個必然存在但3天才能出現的一個bug嗎?除非你挑戰自己,否則難,因為這種成就感這種架構下并沒得到認可,大家的目標是一塊準時deliver;同樣,在開發和測試的“較量中”,測試往往也處于相對弱勢,不是人很“弱”,而是你有必要“強”嗎?此外,對產品質量問題責任不清晰,“是你責任,是我責任,最后結果大家都沒責任”。
???? 很難說哪種組織方式最好,這取決于不同的產品,市場的需求,甚至公司的企業文化。
??? 1)不分你我
??? 這在小軟件公司頗為流行(據統計70%軟件公司都是小公司)。小公司成立初期最重要的是把產品做出來,慢慢的有客戶之后意識質量問題日益嚴重,開始注意開發后還要好好測試,再之后發現自己做的自己測的靠不住,讓team其它人測;最后慢慢的張三做的李四測,李四做的張三測......這些小公司的開發團隊簡直就是agile team的典范啊。除了小公司,很多大公司的小產品在剛剛創立階段,也基本沿襲這種開發/測試組織架構。
??? 優點:不用多說,小而快,靈活
??? 不足:這種測試停留在“夠用”即可,別奢望追求完美的質量。很多時候產品是在后期客戶使用中不斷修修補補完善的
??? 2)你輸我贏
??? 測試和開發處于不同的部門,或者說二者雖屬于同一產品,但有著不同的goal,而這些goal又是顯然對立的。以之前我工作的通信公司為例:
?? 做不出來開發的責任,做出來被后期測試出來的bug太多開發的責任;
?? 測不出bug或者測出的bug沒有達到數量測試的責任,客戶上線發現新bug測試的責任;
?? 責任鮮明。記得每次release完后,我都總結bug數,然后每個bug單獨做RCA,每個RCA前后耗若干小時;對嚴重漏到客戶的bug,見到幾次開發經理開發工程師和測試經理測試工程師開會討論到底是誰的責任。
?? 優點:問責!無論開發還是測試都有對產品質量都有著鮮明的責任,有壓力自然有動力,潛力在戰斗中才能爆發,事實證明對產品質量控制是顯著的。我知道還有其它通信公司也采用這種方式。
?? 不足:這種過于對立的立場甚至利益點或多或少對teamwork有影響;而軟件開發過程中的創新往往需要開放、交流、團隊的工作氛圍;此外過于強調一些指標比如測試bug數目,有時候會導致一些無益的內耗。
???? 3)你好我好大家都好
???? 開發和測試有著共同的目標,大家朝著共同的目標努力著。這種類似又當運動員又當裁判員的工作模式,表現往往工作氛圍異常好,開發和測試在和諧愉快的溝通中達到一個看似“共贏”的結果,比如產品永遠是準時發布的。
???? 優點:共同的目標,團隊合作,愉快的工作氛圍...這些都是優秀公司的基礎;
???? 不足:這種架構下,測試工作的成就感以及對測試工作的激情會降低;你會加班3個小時去尋找一個必然存在但3天才能出現的一個bug嗎?除非你挑戰自己,否則難,因為這種成就感這種架構下并沒得到認可,大家的目標是一塊準時deliver;同樣,在開發和測試的“較量中”,測試往往也處于相對弱勢,不是人很“弱”,而是你有必要“強”嗎?此外,對產品質量問題責任不清晰,“是你責任,是我責任,最后結果大家都沒責任”。
???? 很難說哪種組織方式最好,這取決于不同的產品,市場的需求,甚至公司的企業文化。
轉載于:https://blog.51cto.com/binping/336241
總結
以上是生活随笔為你收集整理的关于软件质量(2)- 开发 vs 测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 静态链接库和动态链接库(转)
- 下一篇: OPhone2.0应该重在中文应用体验