對于這個觀點,在社區有過很多激烈的討論,比如這篇文章《我們需要專職的QA嗎?》就曾經引起了很大的爭議,其實個人認為這篇文章里提到的QA指的是Tester,具體兩者的區別可參考前面的觀點;拋開這個,作者的某些觀點其實是很有價值的,比如作者最后提到了質量不是測出來的,要通過軟件生命周期各個階段相關活動的保障,而這些活動都離不開QA的參與。
首先需求分析階段,QA可以從不同的視角對于需求提出疑問,補充,修改,因為QA特有的技術背景,對于軟件的可用性等有更深入的理解,所以往往可以提出不同于業務分析師和開發人員的觀點;開發階段,QA也會審查開發人員寫的自動化測試,通過QA的專業測試背景幫助開發人員寫更有價值的測試,比如我們在項目中曾經發現開發人員寫了很多沒有業務價值的測試;測試階段,探索性測試,可用性測試,安全測試,性能測試等都是QA們在做的事情。
當然,如果業務分析師從各種視角把業務分析的透徹完美,開發人員可以寫非常有價值的測試,也可以做各種類型的手動測試,那么去掉專職QA也不是不可以,那樣的話不是不需要QA,而是人人都是QA。
結論
以上列出來的七點是剛剛接觸敏捷測試時很容易進入的誤區,甚至有的觀點在一些已經施行敏捷很長時間的團隊中仍然存在,這些觀點很容易導致敏捷測試走上彎路,以上是結合實際項目經驗個人的一些思考,希望對大家有所幫助。