軟體測試工程師成長爲測試大牛的必經關卡,你們都知道嗎?

軟件測試是軟件工程中的一個重要部分,它貫穿於整個軟件開發生命週期,是軟件質量保證的關鍵手段。隨著軟件產業高速發展,從事軟件測試的技術人員也愈來愈多。軟件測試工程師在工作環境、自身能力和價值創造等方面的提升,對企業軟件開發組織和個人成長之路都有重要意義。在通往軟件測試的成長之路上,涉及測試能力培養、測試心理調適、測試與開發團隊間的協作溝通等內容。一個測試新人如何通過組織培養和自身努力,逐步成長為中高級測試工程師或測試管理者,是需要邁過很多關口的.

 下面佳德智合(jdzh-wx)一起來和大家探討一下軟件測試工程師的成長之路上“過五關”。包括“心理關”、“業務關”、“技術關”、“專業關”和管理關。

軟件測試工程師成長為測試大牛的必經關卡,你們都知道嗎?

心理關

在當前的軟件行業中,由於軟件公司規模大小不同,對軟件研發的投入和重視程度也不相同,有部分中小公司對質量的概念薄弱,以致於軟件測試也常常被忽略或不受重視。行業內還有不少老古董開發人員對測試有偏見和誤解,認為只有不會編程或技術弱的才去做測試。

剛從事軟件測試工作的人員如果一開始就進入了一箇中小型公司,在開始時,常常心理上不適應。這種不適感來自於自身技術薄弱、公司沒正式的測試部門、開發流程不規範以及公司領導對測試的不重視等多種因素。很多軟件測試人員從心理上佔了弱勢,就自覺地把自己當成開發人員的下級去溝通,長此以往,在整個開發工作中就很被動,總被開發人員支配,被開發牽著鼻子走。如果遇到這種情況,我們除了在心理上接受並忍耐著配合完成工作,但也應該努力提高自己的工作質量和效率,提出更多有建設性的意見幫助開發團隊一起改進,去贏得開發團隊的尊重和重視,不能總是這麼被動地順從不合理流程。

實際上開發和測試是軟件工程中並行的兩條線,同等重要,所以我們在工作中心態要平和,要自己對自己有信心。

業務關

在軟件測試中,功能測試是最基礎也是最重要的,要做好功能測試,就必須對被測系統要實現的業務功能非常熟悉。掌握被測軟件系統所涉及的業務知識對每個測試人員都很重要。快速學習並掌握各種流程及業務知識才能設計出具有深度和廣度的測試用例,並高效地執行測試,這是測試人員必須有的基本功,測試人員必須過“業務關”。

一個測 試工程師長期從事某一個行業領域的測試工作,他通過“業務關”的有效途徑是先學習和掌握“行業通用業務知識”。例如:銀行核心業務系統、電信計費系統、稅收徵收系統、財務軟件等我們都分別把它們叫做對應的某個行業。

技術關

 強調精通業務知識不等於不用掌握技術。事實上,測試是一個技術性很強的工作。與開發工程師相比,測試工程師需要掌握的技術範疇要廣闊得多,只是在技術深度方面有所不同。

一般來講,測試工程師要掌握系統使用和系統管理方面的技術,包括以下幾方面:

1)各種操作系統安裝、配置和系統管理;

2)各種數據庫管理系統的安裝、配置和系統管理、數據庫的使用(SQL);

3)各種中間件的安裝、配置和管理;

4)計算機網絡的配置和系統管理;

5)上述系統的綜合管理和應用,其中最高級別的要算性能測試的性能調優工作,這一般是高級性能測試專家才具備的能力,一般測試工程師和開發工程師都難以企及。

所以資深的高級測試不比開發差,往往比一般開發能力更強。

除了以上一些常用要掌握的,測試工程師還需掌握這些專業的工具和技術。不僅要會使用,而且還要會腳本開發,能夠獨立地完成自動化或性能測試工作。

中高級測試工程師同樣需要熟悉一兩種編程語言和測試腳本開發。

無論開發還是測試工程師,我們都不可能精通每一項技術,但常用的我們要熟悉,至少能精通一兩種。在實際測試工作中多培養解決技術問題的能力,遇到什麼問題時再加強相關知識的學習,也就是什麼不懂就拿起來學。多去開展一些技術攻關活動,這樣做的事多了,技術能力自然就會大大提高,這也是過技術關的關鍵所在。

專業關

  對於測試工程師來講,前面的過“心理關”、“業務關”、“技術關”都是為過“專業關”打下基礎。測試質量如何才是我們真正的能力體現。測試的能力體現在以下這些方面:

1)測試分析能力

測試分析就是根據軟件需求的設計,結合項目各方面情況,編寫軟件測試需求和制定測試策略。測試分析能力最考驗測試人員的能力,是高級測試經理區別於一般測試工程師的地方,也是測試人員能夠影響、引導和驅動開發組的地方(否則測試就會被開發人員牽著鼻子走)。

測試分析能力不是一朝一夕得來的,需要長期實踐工作中去培養。

2)測試計劃能力

測試計劃能力反應的是項目管理能力,所以一個好的測試經理一定具備較強的項目管理能力。軟件測試是軟件工程中的重要部分,測試也需要用工程的方法科學地組織和管理,所以制定測試計劃需要掌握軟件測試過程模型。

3)測試設計能力

測試設計是根據測試需求進行測試方案設計和測試用例開發的過程。軟件測試主要是根據測試方案和測試用例來執行的,所以一套簡潔高效的測試用例是做好測試的關鍵所在。測試設計人員最核心、最關鍵、最重要的能力測試工程師必須掌握測試方案設計的過程和方法,精通測試用例的設計方法。

4)測試執行能力

測試執行能力就是動手能力,是測試人員發現bug的重要環節。動手能力除了包括“技術關”中要求的系統安裝、環境配置等技術能力外,還包括直接與測試相關的測試數據準備、具體測試執行、測試結果檢查、缺陷發現、判斷、記錄、分析定位、報告總結編寫等能力。這些工作繁瑣又繁重,需要測試人員保持精力集中、思維敏捷。如何在測試過程中找到一些高效的辦法,對測試人員來說是一個很大的挑戰。

能力強高級別的測試執行能力還包括隨機測試的探索測試能力,即在測。測試用例之外進行延伸性的探索測試,從而發現日常測試工作中找不到的bug。這有時需要靈感,但更多是趨於經驗直覺去判斷。這也是高級測試和普通測試人員的力的區別。

5)管理關

我們在這裡只談作為一個測試工程師的管理關。很多測試人員認為自己只是個小小測試員,管理的事跟自己不相關。其實管理不是經理們的專利,測試工程師也需具備某些管理能力。測試工程師的管理能力主要體現在兩個方面:團隊協作和個人管理。軟件測試工作的特點包括受支配的、被動的、涉及面很廣,需要和不同部門的其它團隊成員打交道。這些特點要求測試工程師應具備較強的團隊協作精神,測試工程師要更積極主動地開展工作,做好溝通和協調工作。具體體現在以下方面的溝通能力:

(a) 與項目成員的溝通協作

從上面我們看到測試工程師需要學習和了解的知識很多,有些是通過看資料,操作運行軟件獲得,但更多的信息需要與項目成員交流才能得到。所以測試工程師在與開發人員協作過程中,要有自信,即要堅持原則,又要靈活應變,這些都需要通過工作磨練才能做到。

(b)與測試經理的溝通

與直接上級測試經理溝通很重要。仔細領會測試經理交待的測試任務,不理解的要問,進到任務和要求明確,不折不扣地完成任務,並及時向測試經理報告完成情況;遇到問題時要主動彙報,不讓問題停滯在自己手中,自己決定不了的事,不要擅自作主,要通過彙報和協商的方式確定。這些都是最基本的工作方法和要求。

(c)個人工作管理

管理好自己的時間和任務,提高個人生產能力。個人的時間和精力是有限的,而測試任務是併發和繁重的,如何提高個人生產力就需要計劃好自己的時間,把大計劃分成小計劃逐步去完成。

總之測試工程師的管理關是一個長期自我修練的過程。通過自我修煉形成:有責任心、主動積極進取的工作態度、耐心、細緻、規範、溝通、計劃、總結、改進等。


分享到:


相關文章: