可能無數的開發者和測試者都有這樣的疑問:IT公司為什么要設置測試這個崗位,開發不能做嗎?測試的價值在哪里?
我也曾經無數次的問過自己,標准答案如下:
1.開發人員不能夠完全的發現自己的bug
2.開發人員和測試人員的立場不同,前者立足技術,后者立足需求,關注質量
3.測試人員能夠更好的促進項目溝通與反饋
……
顯然,以上答案都有些假大空,如果現在還覺得擁有上述的基本素養,就擁有無可替代的作用,那真的就屬於自欺欺人了。
總所周知,IT公司更新換代很快,如果公司員工不具備與時俱進的無可替代的能力,早晚都會被淘汰。測試行業更是如此,可能還會更慘烈,正是時代“重開發輕測試”這種風氣所致。確實,很多小公司基本上不會招聘這個職位,他們覺得開發完全可以勝任測試,與其招聘一個測試不如招聘一個會開發的去做測試,這樣可以大大節省項目成本。其實這就是最理想的測試崗位了,開發測試工程師,既可以開發又可以測試;而現實情況是,會開發的都去開發了,不會開發的都去測試了,分化很嚴重啊,畢竟薪資都差距嘛。
一直以來,測試行業都流傳着這樣一個亘古不變的招聘法則,需要具有編程基礎或者至少熟悉一種語言(C/C++/JAVA/Python........),相信大家擁有半年以上工作經驗的測試人員都有意識到,技術的重要性,當然這里不是指開發技術,而是自動化技術,代碼編寫能力和表達能力。所以擁有編程能力應該被當做是測試人員的基本門檻,是每個測試人員的基本職業素養。
那么測試人員的不可替代性體現在哪里呢?
- 提高產品質量。正是因為開發、測試的立場不同,開發主攻程序、測試立足產品質量和用戶體驗,所謂一心不能二用,一個人身兼多職,還要做到盡善盡美,太難。
- 溝通能力。相信大家都很清楚,開發人員專注技術,溝通能力真的不及測試。
- 促進開發效率。沒有測試人員的催催催,相信開發真的可以拖拖拖。
- 對bug的敏銳警覺。測試人員的細心和長期的經驗練就了一雙火眼,bug的測試方法和經驗是相當豐富了。
- 編程能力+測試技巧的完美結合,必將使測試人員屹立不倒。
- 文檔編寫及測試反饋。測試方案、測試用例、用戶手冊、測試結果反饋等。
。。。。。。
當然還有很多很多,這些一個開發人員都可以兼顧嗎?如果可以,並且擁有良好的開發能力,那就應該是產品經理級別的人物了,豈還會在意和揣測測試這個小小的崗位。歸根結底,測試人員的只有在具備基本測試素養的基礎上不斷提升編程能力(自動化測試、性能測試、代碼復用等),才能使軟件界重視測試,才能在軟件行業流傳千古,屹立不倒。
能力提升包括:數據庫(sql、Oracle)、了解前端基礎、selenium自動化、LR/Jmeter性能、shell常用命令等、掌握一種編程語言(推薦java/Python)。
共勉