記得以前面試過一個女孩,她認為軟件測試就是點擊網頁,囧,作為一名軟件測試工程師,我當時真是無地自容啊。相信很多人都把這個職業想象的非常簡單,作為軟件測試工程師的我,是有必要普及一下軟件測試的童鞋都需要在哪些方面提高自己的。
1.分析能力。軟件測試的核心其實應該就是設計測試用例了(具體啥樣的用例設計,請參見《什么樣的測試用例是好的》),而設計測試用例,就是依賴與分析能力了。這里我們不說那些常用的設計方法,從一個稍高的層面上來講,可以說就是怎么將一個復雜的系統進行抽象,分析拆成幾個不同的維度,結合維度可能出現的情況進行有選擇的組合,以最小成本獲取最大的收益。無法將一個復雜系統拆解成簡單的維度,是沒法做好用例設計的
2.編程語言。語言其實就像說話一樣,只不過我們常說的英語日語之類是與人溝通,計算機語言就是與計算機進行溝通的。對于測試工程師來說,精通一門語言,熟悉其它幾門語言是有必要的。對于不同語言編寫的被測程序,是有不同特點的,如果對實現的語言不了解,無法進行白盒測試,沒法看代碼diff(結合代碼diff做測試)來提高效率。對于特點不了解,可能也會導致自己漏掉部分內容。
3.設計能力。不要認為設計能力就是開發工程師的事情,擁有好的設計能力,就可以在設計評審的時候多提意見,促進開發工程師使用好的設計,不僅對開發有好處,對測試也是很有好處的。這樣才能防患于未然,不僅自己的勞動力,也節省團隊的勞動力。
4.對業務的理解。對業務的理解越充分,就越能夠理解最終用戶的需求,促進產品設計使用好的方式,促進產品成功。難道你想做一大堆不成功的項目么,那樣是多么沒有成就感的一件事啊。
5.自動化相關的考慮。隨著項目越來越多,系統的測試項目也會積累的越來越多,每次有新功能了,難道要用手工來回歸一下原有的case么。自動化測試是提高回歸測試效率的唯一解決方案(如果你說還有解決方案就是不回歸,我…),以高效率促進高質量,才是一個良性循環的發展方式啊。
嗯,以高效率促進高質量,我覺得很有很有道理。
原文轉自:http://www.anti-gravitydesign.com/deltestingadmindd/index.php