但是我要告訴你的是“這和測試沒有什么關系,這所有的一切都只能說明,你們的測試人員很濫,他們的很濫直接影響到了你對整個測試的理解”;
同時,我要講的是是否了解需求與是否做黑盒測試沒有關系,下面是黑盒測試的概念可以參考一下:
黑盒測試:也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。
所以,如果遇到上面的情況,不應該是說對軟件測試失去信心(因為我們需要更好的保證質量),而應該向你的上級反應,我們需要更稱職的測試人員!!!
建議去51Testing上看一看有關軟件測試方面的信息
“在做性能測試的時候,需要 Dev 手把手的教怎么做性能測試,如何找到系統性能極限,如何測試系統的 latency,如何觀察系統的負載(CPU,內存,網絡帶寬,磁盤和網卡I/O,內存換頁……)如何做 Soak Test,如何觀察各個線程的資源使用情況,如何通過配置網絡交換機來模擬各種網絡錯誤,等等,等等。”
這就是我上面說的,測試人員的本身素質太差,無法實現自我學習,自我提升與自我突破的情形
要知道在工作中要用到的東西并不是我們都會的,在這種情況下,我們就要積極主動的去學習,個人認為在有壓力的情況下學習,往往是事半功倍的!
“在項目快要上線前的一周,我又私自查看了一下他們的 Test Result,我看到 5 天的 Soak Test 的內存使用一直往上漲,很明顯的內存泄露,這個情況發生在 2 個月前,但是一直都沒有報告,我只好和我的程序員每天都加班到凌晨,趕在上線前解決了這個問題。但是,QA 部門的同學們就像沒發生什么事似的,依然正常上下班。哎……”
首先要肯定的是測試人員沒有測試好,開發人員沒有開發好,所以誰也不要說誰做得不好。人非圣賢,離孰能無過焉!
出現問題時,先解決問題,而不是先追究責任,在問題解決之后,我們需要討論問題產生的原因,如何避免下次再出現這樣的情況,同時如果可以追溯到相關的責任人,我們要進行一定的處理,但處理不是重點。
出現一些緊急的情況,加班難免,要能扛得住!
“為什么會這樣?我覺得有這么幾點原因(和鄒欣的觀點一樣)
1、給了 QA 全部測試的權力,但是沒有給相應的責任,
2、QA 沒有體會過軟件質量出問題后的痛苦(解決線上問題的壓力),導致 QA 不會主動思考和改進。
3、QA 對 Dev 的開發過程和技術完全不了解,增加了很多 QA 和 Dev 的溝通。
4、QA 對軟件項目的設計和實現要點不了解,導致了很多不有效的測試。”
1、質量部的責任是很重的,一量出現漏測或出現線上事故,質量部是要承擔一半或以上的責任的(但具體的也要看公司的情況,如果沒有系統的管理,這個很難說)
2、軟件出現問題,測試人員是不是要重新測試,甚至有時候要加班加點(至于分享者說的他們測試人員不管什么時候按時下班,這還是歸結到測試人員的素質問題,就無關乎能力了)是常有的事;計算機行業是一個快速發展的行業,不思考不主動學習,你很快就會被淘汰,如果你的公司的測試人員還抱著過去的知識、抑制學習、被動思考,那么你可以讓他回家抱孩子,熱坑頭……
3、測試人員不了解軟件工程或開發語言的情況常有,但有時候我們也需要精通業務的人來進行測試,這個是很重要的!
4、這個涉及到我前面講過的對需求的管理與測試人員對需求的理解,以及對基礎測試理論的缺失
從以上的幾個觀點來看,可以看出來文章的作者對測試人員還是很存在一定的理解偏差的,他的問題主要是把他們公司的測試一些人員當成了整個軟件測試行業!
如果他可以跳出他們公司,去質量管理規范的公司看一看,或許能有極大的改觀,不知道他本身是否認可?
“我越來越覺得軟件開發,真的不需要專職的 QA,更不需要只寫代碼不懂做測試的專職的 Dev”
關于作者的這句話,我不敢完全茍同,我覺得更應該這樣說:
“我越來越覺得需要軟件測試人員,但不需要不專業的測試人員,更不需要只寫代碼不懂做測試的專職的 Dev”
我為什么我不說“我們需要專業的測試人員”而不是說“我們需要懂開發的測試人員”?
專業,包括懂需求、懂開發、懂測試理論的人員,也包括懂業務、懂需求、懂測試理論的測試人員,這兩者都是我們需要的優秀的測試人員!
“1) 開發人員做測試更有效
開發人員本來就要測試自己寫的軟件,如果開發人員不懂測試,或是對測試不專業,那么這就不是一個專業的開發人員。
開發人員了解整個軟件的設計和開發過程,開發人員是最清楚應該怎么測試的,這包括單元測試,功能測試,性能測試,回歸測試,以及 Soak Test 等。
開發人員知道怎么測試是最有效的。開發人員知道所有的 function point,知道 fix 一個 bug 后,哪些測試要做回歸和驗證,哪些不需要。開發人員的技術能力知道怎么才能更好的做測試。
很多開發人員只喜歡寫代碼,不喜歡做測試,或是他們說,開發人員應該關注于開發,而不是測試。這個思路相當的錯誤。開發人員最應該關注的是軟件質量,需要證明自己的開發成果的質量。開發人員如果都不知道怎么做測試,這個開發人員就是一個不合格的開發人員。
另外,我始終不明白,為什么不做開發的 QA 會比 Dev 在測試上更專業? 這一點都說不通啊。”
聞道有先后,術業有專攻!
首先我對寫下這段文字的Dev表示我的景仰,你能說出這番話說明你還是對軟件測試、對軟件質量、對Dev本身的測試還是有一定的了解和意識的。
但是,要知道軟件測試也是一個系統的過程,和軟件開發一樣,他有一個長期的過程,開發人員通經系統、完善的培訓或者可以成為一個優秀的測試人員,這個不虛假;但是術業有專攻,開發人員專攻的是開發,測試人員專攻的是測試(最最好是彼此都有一些了解)。開發人員要進行的測試是對基礎功能的粗略測試,因為他有更重要的開發工作要去完成,做不到詳細的完全測試;而測試人員一方面要詳細的對基礎功能進行測試,還要對很多很多的細支末節進行測試,尤其是平常經常使用的或可能會出現,但一般人很少想到的,在測試中我們稱之為場景,測試人員要對各種可能出現的場景進行測試,往往這種測試是很煩瑣的。
原文轉自:http://www.anti-gravitydesign.com