回覆列表
  • 1 # 河南眾海環保

    可以是軟體開發轉入測試,這個時候強的是軟體開發方面的知識,但是若的是對業務和需求本身的理解,同時也容易捲入程式設計師的固有思維而不能從客戶的角度來看待問題;也可以是先從測試和業務熟悉做起,後面逐漸需求一些開發方面的知識,包括資料庫SQL和指令碼語言,但是往往沒有真正做過開發又很難理解結構化程式設計的一些基本規則。這裡面都存在一個轉換問題,都需要自己在這個轉換的環節多去思考,轉變思維,多多總結。

    其次測試最核心的內容是什麼?做軟體測試需要時刻的提醒自己來思考這個最重要的問題。軟體工程書裡面我們學過來,測試最重要的就是找出至今為止別人沒有發現的Bug,找出儘可能多的有價值的問題,以最大限度的降低的缺陷洩露和現場故障。這個回答本身沒有問題,不過我們還需要做一些更加深測試的思考,特別是做了測試一兩年後更需要不斷思考,測試的核心和關鍵點究竟在哪裡?在這裡我想談兩個比較重要的核心內容,一個就是拿到一個大的系統或複雜的業務功能後,這個時候第一個核心就是根據需求規格說明書進行測試分析,而不是一下切入到了測試用例和測試設計,測試分析的目的是讓測試人員真正的理解需求和業務場景本身,測試有個重要的概念是測試場景,而測試場景則來源於需求場景。做測試分析的目的就是根據需求和業務流程梳理清楚我對整個測試流程的總體規劃,搞清楚對於複雜的功能如何按一定的方法系統性的開展測試,如何更加有效的設計測試用例,如果加強測試用例和測試資料的複用,測試用例對需求和業務場景的覆蓋等諸多問題。如果你還不能去考試測試分析,說明還在測試的一種初級階段,完全照搬著需求規格說明書的測試用例是無法帶來很好的測試效果和效率的。第二個重要內容要談的是測試用例的設計問題,一條測試用例涉及到編號,名稱,對應的需求點和業務規則,前置條件,測試步驟和預期輸出和優先順序等諸多內容,那帶來的一個重要問題就是測試用例本身的核心是什麼?其實這裡我想指出的則是透過前期的測試需求分析後所規劃的測試資料的準備問題,而測試資料準備的方法則來源於我們常說的黑盒測試場景方法,如等價類劃分,邊界值設定,因果分析等,這些都是為測試資料準備服務的,沒有準備的測試資料預期的測試輸出往往是一句空話,有了預先準備的測試資料測試的過程才是有計劃和有目的的,真正準備了測試資料的人才談得上在真正系統的使用各種黑盒測試方法。系統的規劃和準備測試資料是系統化的進行測試用例的靈魂,你考慮了這點才會發現到,需求裡面囉嗦了半天的內容往往僅僅需要1-2條測試用例概括即可,而需求裡面只有一句話的業務規則往往則需要準備上十條甚至更多的測試用例來進行測試。如果在測試用例的設計上考慮到了這些問題,基本表示對業務深入理解和對測試方法已經靈活應用了。

    最後談下成為一個優秀的測試工程師,首先你要轉變思維,你代表的是使用者,你是整個軟體產品或系統版本釋出的最後一關,對你的評價只有一個就是從你手出去的產品到了使用者現場的缺陷情況,這是唯一的一個有價值的目標。如果連對自己的工作績效如何衡量都還不清楚,更談不上如何做好測試,因此對於測試我們會談到一個重要的外延就是質量管理方面知識的學習,質量管理基礎理論,質量管理七工具,6Sigma等都可能是測試中需要時常用到的方法和工具,需要去拓展這個外延知識,加深對測試工作本身意義的理解。同時優秀的測試工作師不僅僅是測試方法和各種測試工具的熟悉,更重要的一點需要意識到的是對某個業務領域業務的深入理解,沒有理解無法做好測試,理解一些可以做單個功能模

  • 2 # 每日拆解

    開發一個好的軟體,40%以上的時間用在測試上,所以軟體測試工程師非常重要,用我們的話來說很吃香。現在從事程式設計師的人有很多,做測試工程師的人少點,工作壓力不太大

    測試工程師應該具備的三項基本素質[1] 很多年輕或者剛剛從事測試工作的工程師,經常會問:“測試工程師需要什麼技能或者具有什麼素質才是合格的?”與開發人員相比,測試人員不但需要一技之長,還需要掌握諸如作業系統、資料庫、網路等多方面的知識。

    經過這幾年的發展,國內IT公司的測試水平有了很大的提高,但是與此同時,很多測試工程師也迎來了個人的發展瓶頸:很多人從測試工程師做到了測試經理的職位,不知道下一步如何發展;或者每天機械地從事著功能測試工作。

    根據作者多年的經驗,一個有競爭力的測試人員要具有下面三個方面的素質:

    計算機專業技能

    計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。儘管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。計算機專業技能主要包含三個方面:

    測試專業技能

    現在軟體測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有紮實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點選”之類的測試工作,讓測試工作以自己的專業知識為依託。

    測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的範圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、整合測試、系統測試、效能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。

    軟體程式設計技能

    “測試人員是否需要程式設計?”可以說是測試人員最常提出的問題之一。實際上,由於在中國開發人員待遇普遍高於測試人員,因此能寫程式碼的幾乎都去做開發了,而很多人則是因為做不了開發或者不能從事其它工作才“被迫”從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以藉助測試工具進行簡單的自動化測試(主要錄製、修改、回放測試指令碼)。

    軟體程式設計技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程式。只有能給編寫程式,才可以勝任諸如單元測試、整合測試、效能測試等難度較大的測試工作。

    此外,對軟體測試人員的程式設計技能要求也有別於開發人員:測試人員編寫的程式應著眼於執行正確,同時兼顧高效率,尤其體現在與效能測試相關的測試程式碼編寫上。因此測試人員要具備一定的演算法設計能力。依據作者的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。

    網路、作業系統、資料庫、中介軟體等知識:

    與開發人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由於測試中經常需要配置、除錯各種測試環境,而且在效能測試中還要對各種系統平臺進行分析與調優,因此測試人員需要掌握更多網路、作業系統、資料庫等知識。

    在網路方面,測試人員應該掌握基本的網路協議以及網路工作原理,尤其要掌握一些網路環境的配置,這些都是測試工作中經常遇到的知識。

    作業系統和中介軟體方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unix、linux來執行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟體。而WebLogic、Websphere等中介軟體的安裝、配置很多時候也需要掌握一些。

    資料庫知識則是更應該掌握技能,現在的應用系統幾乎離不開資料庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MS Sqlserver、Oracle等常見資料庫的使用。

    作為一名測試人員,儘管不能精通所有的知識,但要想做好測試工作,應該儘可能地去學習更多的與測試工作相關的知識

  • 中秋節和大豐收的關聯?
  • 如何讓鐵線蓮爬滿牆?