測試自學路,到底需要掌握哪些技術?
對於自學軟件測試的測試人員來說,遇到最多的問題就是學習了很長時間,但總覺得學得不夠系統,但又不確切哪裏還有欠缺,哪些技能還需要提升,是不是可以開始投簡歷然後接受面試;也有直接去面試的,但碰壁實為多數,勿用大量面試去檢驗自己的成果,而是要珍惜每一次的面試,對測試新人來說,是一次對自身知識架構的考量,也是面對一個新行業不斷提升自我素質的一個機遇。
那麽軟件測試需要掌握的軟件技術與專業技能有哪些呢?
首先,了解軟件測試的本質。這是最基礎的理論知識,但鮮有人能真正地關註,檢驗自己是否能完全站在用戶的角度,思考問題是否能嚴謹、全面、有條理、邏輯性強。其一,參加面試時一些面試官會由此回答來推斷應聘者對軟件測試的理解程度和經驗指數。
熟悉常見的測試方法和種類,對於常見的測試類型如白盒測試、黑盒測試要清楚其定義與測試原理,白盒測試不需要一定自己接觸過,但相關的基礎概念要有所了解,以及其他測試種類在不同項目環境下的應用場景,如可接受性測試、α測試、β測試、接口測試、文檔測試、安裝測試、本地化、國際化測試等等,有些不常用的清楚其原理就好,但不免有些公司的筆試題中會出現。更多的測試類型可以參考文章《軟件測試基本專業術語》中的介紹。
理解軟件生命周期與軟件測試流程等概念,比如面試中最常問的一個問題是:說說你經歷的測試流程是怎樣的?或者你們處理Bug的流程是怎樣的,從需求到交付用戶測試人員在不同階段都扮演了哪些角色?具體的流程可以參考一些基礎的專業書籍中介紹,但不要被觀念固化,要多接觸不同類型的項目,以了解測試流程的靈活應用。
熟悉操作系統的原理,對於計算機專業畢業的同學,應該對操作系統原理印象比較深,但轉行或其他跨專業的測試人員,需要在業余時間將操作系統原理的書籍翻看下,因為操作系統是平臺的基礎,很多公司的產品都支持一些主流的平臺,如UNIX、MAC、Windows等,學習操作系統知識如果純看書的話容易枯燥,且與實際應用結合的效果也不明顯。可以在一些網絡平臺上查找相關的視頻學習。
測試環境的搭建
這是自學測試人員最容易忽略的一點,但如果是作為實習測試前期也不會要求必須能搭建環境,但在自學的過程中可以掌握一些常見的技術,一方面面試時可以加分,其次,當真的需要學習去搭建環境時,自己儲備的理論知識也可以及時起到作用。
關於測試環境搭建需要掌握如下技術,這裏只列出部分。
理解專業術語,構建測試,跨平臺,測試環境鏡像、虛擬技術、Linux基礎操作、中間件等,以上術語不一一解釋,但每一項都對自身測試技能的提升有著關鍵作用,比如,學習中間件可以通過應用Server管理和監控目標應用程序, 對於發現問題、分析問題都有著緊密的關系。
掌握1-2種常見的開發模式,開發模式可以參考之前推文中的瀑布模式與敏捷模式。重要的了解對應的測試模式,如敏捷測試模式就是相對於敏捷開發而言的。一般情況下遊戲公司更多采用敏捷開發模式,了解其叠×××發與增量開發。
了解適當的開發技術,可以參考《Web測試擴展-網頁語言知識簡述》與測試環境搭建類似,前期了解即可,後期在提升自己的職業技能時,開發技術也是必備的,測試人員檢查開發"生產"出的產品,如果完全不了解該產品是如何做出來的,則一定不能做到全面的質量管理,也即測試覆蓋率與測試深度的問題。
最後,就是測試人員的基本功了,如何設計測試用例與提交缺陷報告 。
掌握設計測試用例的基本方法,如等價類、邊界值、判定表、因果圖、錯誤推測法、場景法、流程分析法等等。安裝並試用1-2種缺陷管理工具,熟悉基本的操作。一般面試時會問到:以前使用過哪些項目管理工具,缺陷管理工具等。
最後,就是用例書寫與缺陷報告的書寫格式了,一開始就要給自己形成一個好的習慣。遵照公司內部的書寫格式規範,不要允許一絲懶惰,自身就是從事測試的,更要註意一些細節,養成良好的習慣會終生受益。
測試自學路,到底需要掌握哪些技術?