我們需要專職的QA嗎

發表于:2012-04-25來源:博客園作者:qileilove點擊數: 標簽:qa
前些天在網站上看到一篇名為我們需要專職的QA嗎?讓我很讓震驚! 發這篇文章的目的,并不是對原作者的看法表示如何的批評,且說出自己的想法(自認為很中正的看法),希望各位網友能說出你的看法,也希望我能解釋很多開發人員的疑惑。 文章鏈接:我

  前些天在網站上看到一篇名為我們需要專職的QA嗎?讓我很讓震驚!

  發這篇文章的目的,并不是對原作者的看法表示如何的批評,且說出自己的想法(自認為很中正的看法),希望各位網友能說出你的看法,也希望我能解釋很多開發人員的疑惑。

  文章鏈接:我們需要專職的QA嗎?

  紫色的文字為引用原文,因為引用文章很長,請見諒

  在開始今天的討論之前,先看幾個名詞解釋(參考):

  質量保證(QA):QA(QUALITY ASSURANCE,中文意思是“品質保證”,通過過程的持續改進來提高產品質量,是軟件成熟度模型(CMMI/ISO)中的一個角色

  QA可以對開發的具體技術不了解,但要對CMMI、ISO900等的流程要清楚

  軟件配置管理(SCM):配置管理(Configuration Management,CM)是通過技術或行政手段對軟件產品及其開發過程和生命周期進行控制、規范的一系列措施。配置管理的目標是記錄軟件產品的演化過程(其中涉及到基線的概念),確保軟件開發者在軟件生命周期中各個階段都能得到精確的產品配置;

  配置管理包括六大任務:配置標識、版本管理、變更管理、配置審核、狀態報告、發布管理,配置管理的最重要的是版本管理和發布管理;

  配置管理往往是配置在質量部統一進行管理,現時還要為測試提供一個測試環境,即我們講的搭測試環境。

  軟件測試(Tester):使用人工或者自動手段來運行或測試某個系統的過程(他是一個驗證的過程),其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別,通俗的說是去驗證兩個方面:是否做了正確的某事,是否正確的做了某事

  QA通過對流程(過程)的持續改進來提升產品的最終質量;軟件測試通過技術來保證產品的最終質量;配置管理是對過程產品及軟件生命周期進行管理。

  所以,到這里我們就可以看到,其實標題中把測試和QA的概念混為一談,是錯誤的!

  “我們都同意,Dev 要懂測試,QA 要懂開發,只不過分工不同,既然你中有我,我中有你,那就不要分彼此了,一起攜手開發測試吧 (另外,我個人覺得不懂開發的測試人員不可能測試得好”)

  對于上面的觀點我是認同的。

  至于園子中轉載的文章,我不知道作者是誰,既然是分享,那么我們來看一下作者的故事:

  我們暫且沿用作者的QA稱謂

  “我再說說我最糟糕的 QA 經歷吧,這個公司的 QA 部門只做測試,他們的 leader 覺得所有的 test design 和 test 的過程都不需要 Dev 參與,他們是獨立于 Dev 之外的部門,他們幾乎不關心 Dev 的設計和實現,他們只關心能跑通他們自己設計的 test case。但是去執行 Test Case 的時候,又需要 Dev 的支持,尤其在環境設置,測試工具使用,確認是否是 bug 方面,全都在消耗著 Dev 的資源,最扯的是,他們對任何線上的問題不負責,反正出了問題由 Dev 加班搞定。”

  上面的文字包含了很多分享者公司的情況,不知是不是可以猜測如下:

  把測試能獨立于開發之外(把需求視若無物)進行,這首先是Tester或Leader認知層面上的一個錯誤(是否作者的理解有誤差暫且不論);

  或者可能從中看出來,分享者的公司中沒有測試總監、測試組長之類的Leader或者他們的資質明顯不足以勝任他們的工作,才會出現前面所說的將測試獨立于開發和其他部門而存在;

  我們或者可以從Dev的抱怨中看到,公司的測試人員資質不夠(不懂得基本測試工具的使用,不擅長自我學習、自我突破),過分的依賴本身已有的知識及開發人員的協助;

  公司對于需求的管理很粗或者根本沒有管理(或者還是測試人員的理解能力太差,無法理解需求的含義,無法分辨需求與實現之前的差異是否可以定義為Bug),如果有明確的需求管理,則不會出現經常無法確認是否Bug的情況;

  我們可以從字里行間,感覺分享者的公司好像是為了測試而測試,要知道測試的目的是為了最終的質量,這一點在整個公司上下的目的都是一致的,任何的工作都不能偏離這個目標而存在

  我認為:

  公司要做好測試工作保證質量,公司從CEO到普通員工有質量意識很重要,只有從意識上認識到質量的重要性,才能真正的做好質量的管理,沒質量的意識,其他就都是空中樓閣;

  同時優秀的測試總監和測試組長是保證測試工作質量的前提 ,相信強將手下少弱兵;

  不要認為任何人都能做好測試,基層測試人員的素質很重要(懂開發的測試人員或Dev最好,還要有專業系統的測試理論,同時最好了解需求或業務),他們最終的測試執行者,是質量保證的第一關和最后一關;

  需求管理與需求培訓很重要,遇到需求問題,溝通很重要;

  質量部不是擺設,測試人員也不是找茬的家伙,大家的目標要一致的---質量

  “我有一次私自 review 他們的 test case 的時候,發現很多的 test case 這樣寫到 – “Expected Result:Make sure every thing is fine” ,WTF,什么叫“Every thing is fine”?!而在 test case design 的時候,沒有說明 test environment/configuration 是什么?沒有說明 test data 在哪里?Test Case、Test Data、Test Configuration 都沒有版本控制,還有很多 Test Case 設計得非常冗余(多個 Test Case 只測試了一個功能),不懂得分析 Function Point 就做 Test Design。另外,我不知道他們為什么那么熱衷于設計一堆各式各樣的 Negative Test Case,而有很多 Positive 的 Test Case 沒有覆蓋到。為什么呢,因為他們不知道開發和設計的細節,所以沒有辦法設計出 Effective 的 Test Case,只能從需求和表面上做黑盒。”

  我很能理解這會Dev的感受,測試人員把預期結果寫成“Every thing is fine”,誰他都受不了!

  上面所說到的測試人員存在兩個問題:

 ?、?STRONG>測試用例的基本構成不完成,構成元素過于模糊無法達到準確測試的目的,無法實現測試用例的延續(他人無法看懂你的測試用例)

 ?、跍y試人員對需求或測試理論理解不夠,導致很多的漏洞或重復測試

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97