網(wǎng)上有篇文章談到“我們需要專職的QA嗎”,在這里談?wù)撘幌聦@個觀點的看法。

  ● 產(chǎn)品是需要測試的,這個測試當(dāng)然可以讓開發(fā)做,也可以讓測試人員來做,所以是個專業(yè)分工的問題;

  ● 我們對測試的期望值是希望測試可以盡量多的發(fā)現(xiàn)bug,還是希望可以提高質(zhì)量,這個要搞清楚;

  ● 產(chǎn)品的質(zhì)量不好,開發(fā)和測試都是有責(zé)任的;

  ● 測試是個服務(wù),只有開發(fā)人員覺得這個測試是個好測試,才能稱之為好的測試人員;

  ● 開發(fā)兼作測試的好處是,他們知道的信息多,可以有針對性的測試(特別是自己負(fù)責(zé)的模塊的回歸測試),壞處是每個人的思維都有局限性,很少能準(zhǔn)確、全部的分析自己代碼可能出現(xiàn)的問題;

  ● 測試人員獨立做測試的好處是,可以綜合了解所有的功能,可以做一些系統(tǒng)級別的測試(包括性能測試,壓力測試等等),壞處是,需要和開發(fā)交流以拿到代碼級別的信息(所以這也是要求高級的測試人員需要讀懂代碼)

  ● QA(Quality Assurance)和QC(Quality Control)是有區(qū)別的,前者在Build沒有出來之前可以幫助提高產(chǎn)品質(zhì)量,后者是Build出來之后通過測試去恒量產(chǎn)品是否達(dá)到標(biāo)準(zhǔn),單純的QC像考試時候出考卷一樣,可以告訴你是否達(dá)標(biāo),但是對于提高你的學(xué)習(xí)成績幫助很。

  ● 高級測試人員需要理解開發(fā),好技術(shù)能力強(qiáng),看得懂code和dev design,知道怎么去debug,能夠criticize,代表用戶,對于不好的功能可以跳出來批評;這要求他們具備比較好的產(chǎn)品設(shè)計的理念;

  ● 如果一個研發(fā)人員(無論是測試還是開發(fā))有能力做到上面說的事情,那讓他來做,但是很多的時候由于資源的問題,由于每個人的能力模型不一樣,不可能讓一個人獨自做所有的事情,這點而言,我們也可以說“我們需要專職的PM”嗎,是否可以讓開發(fā)來做,因為他既懂開發(fā),又懂項目管理,讓他一個人來做可以了;

  ● 小的公司,開發(fā),測試,項目管理一個人來做可以了, 小的功能,我覺得也可以,只要這個人的能力勝任;

  后總結(jié)一下,研發(fā)過程中的需要做的事情擺在那里,有需求分析(你到底要設(shè)計什么功能),dev design,測試,發(fā)布,我們需要做的是把這些事情完美的做好,這樣才可以ship出好的產(chǎn)品;你要搞清楚你對測試,還有測試人員的期望值,那么你不會有“我們需要專職的QA嗎”這樣的疑問;

  另外說一下,我們需要專職的QA嗎,里面很多觀點很合理,我挺贊成的;

  突然想起,大學(xué)的時候在BBS上寫了一篇文章“大學(xué)里面需要教師”嗎?因為那個時候發(fā)現(xiàn)能夠讓你學(xué)習(xí)到東西的途徑是你身邊的同學(xué),所以發(fā)出了這樣的疑問;其實大學(xué)里面不一定需要教師,但是需要的是學(xué)習(xí)。還有一點是你對教師的期望值,有些教師的能力很強(qiáng),有些一般。所以沒有的定論。