讓我們思考幾個常見的問題:
軟件測試的目的是什么?
開發人員能否構建出沒有Bug的完美軟件?
測人人員和開發人員是什么關系?
軟件測試能否保證軟件質量?
先閉目冥想五分鐘吧,然后可以嘗試著回答上面的問題。
計算機先驅 Maurice Wikes 回憶起 1949 年他在英國劍橋工作的情形,在拖著打孔紙帶上樓給雛形計算機 EDASC 裝載程序時,他看到了自己的未來:
我強烈的意識到,生命中剩下的好日子,都將耗費在給自己的程序找錯誤上頭。
Maurice Wikes告訴我們,沒有完美的軟件。
我在我的微信訂閱號“程序視界”里發布過一篇薦書文,推薦了溫伯格技術思想三部曲中的《顛覆完美軟件::軟件測試必須知道的幾件事》。在這本書里,溫伯格也告訴我們,沒有完美的軟件。所有的開發和測試人員都應該讀讀那本書。
溫伯格在《顛覆完美軟件》中幾乎討論所有常見的與軟件測試相關的概念、問題和指導思想,所以,在這篇文章里,我只能來吐槽啦,我將從以下幾方面列一些常見的現象,希望能引起大家的思考。
測試和開發的關系
流程與標準
資源
態度
測試和開發的關系
測試和開發是對立的嗎?
從處理Bug的角度看,似乎可以這么說。開發人員既生產代碼,也生產Bug。因為開發人員不可避免地會生產Bug,所以測試人員必須存在,以便在軟件交付之前盡可能多地檢出Bug,保證交付給客戶的軟件質量更好一些。一個產Bug,一個挑Bug,看起來似乎是對立的。
在現實中,很多測試團隊和開發團隊也正是因為這一點而搞得關系不和,甚至真的對立起來。請回想一下你周圍發生的與開發和測試相關的事兒,看看有沒有遇到過下面的情景:
開發說,測試凈找麻煩,客戶跟本不可能像他們那樣使用軟件
測試說,問題總是會在看似極端的條件下產生,用戶總是會不經意觸碰到看似極端的不可能出現的條件
開發說,測試花在異常情況下的精力比測試主流程還多,不知道輕重緩急
測試說,開發從來不考慮測試的感受,連測都不測就扔給我們
開發說,我都測了,還要測試人員干什么
測試說,這么明顯的問題你們都不測一下,把我們測試當垃圾桶啊
……
許許多多類似的問題,讓開發和測試的關系從撲朔迷離、相愛相殺走向對立。我見過開發和測試搞冷戰某人遇見某人側臉而過,也見過測試經理和開發經理打架,還見過高層領導故意讓測試團隊和開發團隊關系緊張以為這樣可以提高測試效率也能給開發壓力最終會產出更高質量的軟件……
實際上,測試和開發擁有同一個目的:讓軟件更完美。測試和開發的關系,是一個問題的兩面,應該是相輔相成和平共處的。測試不是為了挑刺兒,他提出的問題也不針對生產軟件的開發人員,而僅僅是在努力想讓開發人員的產出物看起來更好用。只要開發不將測試提Bug這個行為看成針對個人的行為,一切就有了美好的前提。
否定軟件,并不是否定開發軟件的人。這是開發和測試都需要明確的一個原則和前提。
還有的人認為開發和測試之關系類似皮與毛,皮之不存毛將焉附?所以有的開發也會因此而有優越感:沒我們寫軟件,你們測試早下崗了!可是,開發不寫軟件,開發也下崗了耶!
感謝開發的不完美,讓測試可以有事可做并練就慧眼。
感謝測試的認真細致和耐心體貼,讓開發可以發現自己的不完美并有機會提升自己——那些說我軟件不好的,都是為了我好。
資源
別動我們測試的服務器,你們自己搭一個!
我們沒環境,不用你們的用誰的?
誰把我們的測試手機拿走了?你們申請一個嘛,老來占我們設備。
誰在用我們的賬號?招呼都不打!我要用,趕緊退出來!
有時開發和測試之間也會有資源上的沖突,要有努力的有創造性的解決(我可以負責任地說,裝黑蘋果不是好辦法),不要讓大家伙的工作卡在環境上,這是管理者要解決的基本問題。我見過很多非常棒的一線經理,在現實制約下,主動把自己的手機、iPad都貢獻出來當做測試設備。這也是解決資源問題的一種辦法哦。
原文轉自:http://www.testwo.com/article/641