註冊學生大本營的賬號有兩個多星期了,除了一夜興起發了一篇立志文章一直沒有時間寫點別的。總算又到了週末了,終於可以讓自己空閒下來,寫點什麼。
軟體測試這個職位在國內好像是最近幾年才開始進入大家的實現,被人重視。可是在這些天瀏覽了一下測試課堂發現很多同學對測試工作還是不太了解,而且很多的討論都是更傾向於技術方面。這裡我想更多的說一說測試這項工作到底該做些什麼。
本人並非專業的測試人員,只是把自己幾年來看到的對測試工作性質的了解說一說。希望專業人員指正。
測試人員的職責:
測試的目的是保證軟體能夠正確的完成使用者期望的功能,並且不會給使用者造成不必要的損失,保證軟體達到需要的質量要求。所以,測試人員的責任並不僅僅是「找bug」而已。
1. 確定什麼才是正確的行為,特別是定義邊界行為的正確性
要確定軟體執行是正確的首先要知道什麼是「正確的」,這本身就是測試人員的重要職責之一。需求工程師和專案經理不可能一次將產品在所有情況下的行為都定義出來,甚至不能想到所有的情況。這種時候測試人員的職責就是盡量想到所有可能出現的情況,並且和需求工程師、專案經理和開發人員一起確定所有條件下的行為。這是測試人員的職責,也是權利,不要說測試只是在專案中後期才參與產品的「跟班」。
最重要的是盡量保證軟體是「指哪打哪」而不是「打哪指哪」(跑到了一種行為發現沒定義過,然後根據程式的反應來定義)
2. 了解「使用者」如何使用軟體,並且確定「使用者」使用的時候不會遇到重要的bug
很多專案都會遇到這樣的抱怨「為什麼產品測試的時候沒有問題,拿到客戶那裡一用就出問題」。
原因其實就在於測試人員沒有按照使用者的方式來測試軟體。測試人員需要了解究竟使用者是怎樣使用軟體的,使用者使用軟體是的環境是什麼樣的(什麼作業系統,多少記憶體,伺服器負載多大,等等等)。測試人員必須要了解需求,了解行業,了解使用者,然後把測試用例定義成使用者真正使用軟體的時候會出現的情況。只有這樣才能最有效的找到使用者在意的 bug,而不是大量無關緊要的問題。
3. 定義產品的質量要求
很多企業裡面,測試又被稱為qa(quality assurance)——質量保證。所以測試人員最大的權利和義務就是制定產品要達到的質量標準。p1的bug少於多少,p2的bug少於多少,無故障執行時間多少,需要服務承受的壓力不低於多少,測試的**覆蓋率有多少……而這些標準需要制定的既滿足客戶對質量的要求,又不會過於嚴格而導致開發時間過長,這裡面的學問可大著呢。
更重要的是,測試人員要能夠在專案過程中負責的堅持這些標準,並且獲得開發人員和管理層的支援。不能夠因為進度等原因就隨意讓步,因為產品質量爛,負責的就是你,到時候什麼藉口都沒有用。
4. 保證測試的質量,給大家安全感
可以這麼說,軟體開發過程中最大的焦慮來自對產品現實情況的無知,不論是開發團隊,管理團隊還是銷售團隊。而測試的重要職責就是隨時讓所有人了解現在情況時好時壞,有多好(多糟)。所以測試人員要保證隨時掌握產品的質量。因此測試要頻繁的進行,持續的進行,盡快的反饋。
5. 保證測試的效率,不要影響產品的開發進度
除了質量,效率在測試中也很重要。如果開發者3天做出來的修改需要1個月才能測試完,肯定沒法滿足大家的需要。所以要想盡辦法,在最短的時間內跑最多的測試(至少也是能夠保證產品質量的測試)。你一天出乙個build,我一天出乙個測試報告!
可以說4、5條是發揮測試人員聰明才智的領地。自動化測試,自動化結果分析,測試平台,一切測試有關的基礎發明都是為了這個目的。
先說這麼多吧。下一次講講測試人員要有那些能力(包括技術和非技術)
談測試 5 測試人員對自己的定位
按照我的理解,測試人員對自己的定位,對測試工作的認知高度,直接決定了自己能到達的水平。第乙個層次 找bug 軟體開發人員交付給測試之後,測試人員開始針對該軟體版本進行測試驗證,尋找其中的問題。在這個階段,能夠源源不斷找出問題,摸索出自己的測試思路,能夠借助自動化工具進行規模和壓力測試,都可以獲得一定...
談軟體測試人員定位 三年軟體測試總結
因為一直從事web產品的測試,我的觀點並不一定適合所有的型別專案。工作已將近三年了,雖然這三個年頭裡我都在積極的學習著與測試相關的技術 但是能沉澱的東西很少。相信測試同學都有類似的感覺。不要為了測試而測試 前幾天做了乙個測試的ppt 就是講專案中要用到的測試技術,總結了半天其實實際的產品中沒什麼技術...
談軟體測試人員的發展方向
如果你不想轉開發,轉管理,轉產品,或自己創業買煎餅果子的話。那麼說明你是對測試是真愛。測試需要掌握的測試技術太寬泛了,所以,我們必須要選擇乙個方向。五年過去了,我想再試著寫寫對這幾個方向的認識。自動化測試 自動化測試有廣義和狹義之分,廣義上一切使用工具或 來代替手工測試都可以認為是自動化測試 不過,...