軟件測試需要掌握哪些知識
(1)軟件開發技術
很多人認為,干嗎要學習軟件開發啊,那還不如直接去學什么JAVA、C++、C#了。要知道,在以后的軟件測試工作中,你就會發現軟件開發與軟件測試之間是什么樣的關系了。沒有軟件開發,就沒有軟件測試,有了軟件測試,軟件開發出的軟件產品才能夠達到用戶滿意的地步,他們之間是相互依賴關系。有了更多的軟件開發知識,就會更好地能理解軟件產品,就知道在哪個環節開發人員容易犯錯誤,知道在哪個邏輯結構、哪個接口或函數,甚至是從內存的管理機制上都可以找出問題。
軟件開發所用的程序設計語言有很多種,所以要精通其中一門,其他能看懂代碼,會對你的測試工作有更好的幫助,另外也會幫助開發人員進行快速缺陷定位。
而且在軟件測試工作中,要編寫一些輔助測試的小工具,都需要有軟件開發基礎。象測試過程管理工具、測試用例管理工具、缺陷跟蹤工具、性能檢測工具等等。
不要老是認為軟件開發難,什么事都是從不會到會,從不精通到精通,都需要一個過程。沒有人一生下來就什么都會的,都需要自己的不斷努力才能成功。
(2)網絡技術
軟件是從字符界面產品發展到圖形界面產品,從單機版到網絡版(C/S結構和B/S結構),經歷了一個漫長的過程。計算機網絡的出現,改變了現實社會中人們的相互溝通方式,把一個小小的地球變成了一個地球村。所以,目前所有的軟件產品都從傳統的單機模式向網絡模式轉變,網絡技術就更加關鍵。
目前網絡的發展,使得網絡速度進一步提高。目前,家庭網速達到1M~2Mbps,企業達到4Mbps,據說要到2012年家庭的網絡速度要達到20Mbps。那么網絡硬件從傳統的電纜到目前的光纖技術、無線通信技術。從目前的發展速度,三網(電信網、電視網、計算機網絡)合并是遲早的事情。
網絡硬件協議的測試,也是網絡設備生產商要做的工作,比如華為和中興電子。
(3)數據庫技術
現在的數據信息是海量的。在目前的軟件產品中,底層架構中就需要有數據庫進行數據存儲,那么對數據的增刪改查的操作是軟件測試人員必須要必備的技能。數據庫測試也是測試技術的一種。
(4)測試與質量保證技術
精通軟件測試理論,熟悉軟件測試流程,理解軟件測試的哲學思想,掌握軟件測試每個階段的文檔編寫技巧,掌握軟件測試的策略與各種測試方法,掌握測試用例的設計方法。掌握單元測試、集成測試、確認測試、系統測試、驗收測試等每個階段的測試技術。軟件質量保證知識、測試項目管理、測試團隊建設知識也是必須要具備的。
掌握軟件測試自動化工具,理解軟件測試自動化測試框架,能夠學會如何進行測試項目管理、回歸測試以及性能測試,能夠把性能缺陷進行定位。
軟件測試還是一個嶄新的學科,還沒有形成一個獨有的知識體系,還需要我們不斷的研究與實踐。
(5)行業知識
目前軟件測試涉及的行業是多種多樣的,從金融產品到電信、游戲、汽車、殺毒、網站、企業管理、學校教育、本地化產品等等,各行各業的軟件產品都需要大量的測試,所以相關行業知識的儲備也是必須的。
測試工程師基本素質
(1)計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間和持久競爭力的測試工程師,計算機專業技能則是必不可少的。計算機專業技能主要包含三個方面:
l.測試專業技能:
現在軟件測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有扎實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點擊”之類的測試工作,讓測試工作以自己的專業知識為依托。
測試專業技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。
lI軟件編程技能:
“測試人員是否需要會編程?”可以說是測試人員最常提出的問題之一。實際上,由于在我國開發人員待遇普遍高于測試人員,因此能寫代碼的幾乎都去做開發了,而很多人則是因為做不了開發或者不能從事其它工作才“被迫”從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以借助測試工具進行簡單的自動化測試(主要錄制、修改、回放測試腳本)。
軟件編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能給編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟件測試人員的編程技能要求也有別于開發人員:測試人員編寫的程序應著眼于運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的算法設計能力。依據作者的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。
lII網絡、操作系統、數據庫、中間件等知識:
與開發人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由于測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平臺進行分析與調優,因此測試人員需要掌握更多網絡、操作系統、數據庫等知識。
在網絡方面,測試人員應該掌握基本的網絡協議以及網絡工作原理,尤其要掌握一些網絡環境的配置,這些都是測試工作中經常遇到的知識。
操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基于Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟件。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
數據庫知識則是更應該掌握技能,現在的應用系統幾乎離不開數據庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MSSqlserver、Oracle等常見數據庫的使用。
作為一名測試人員,盡管不能精通所有的知識,但要想做好測試工作,應該盡可能地去學習更多的與測試工作相關的知識。
(2)行業知識
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟件運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。
行業知識與工作經驗有一定關系,通過時間即可以完成積累。
(3)個人素養
作為一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的“五心”。
專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟件缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。
細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些界面的樣式、文字等。
耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到“專心”和“細心”,這將讓很多軟件缺陷從你眼前逃過。
責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的后果。
自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能“解決一切測試問題”的信心。
“五心”只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解“開發人員”,同時要尊重開發人員的勞動成果――開發出來的產品。
軟件測試工程師就業前景
就業競爭小
據數據顯示,目前國內120萬軟件從業人員中,真正能擔當軟件測試職位的不超過5萬人,人才缺口達到20萬并有逐年擴大的趨勢。 人才的極度匱乏令許多IT企業不得不延緩甚至停止項目,為企業發展帶來消極影響,但對人才就業卻有積極意義。人才供不應求讓軟件測試人員的就業競爭壓力明顯小于同類其它職業,有利于從業者的身心健康。
另外,由于軟件測試在我國起步較晚,獨立設置測試部門、對測試人員有強烈需求的多為獨具慧眼的大中型IT企業。軟件測試人才不需要在小企業積累經驗就能獲得知名企業的入門通行證,工作起點高于同類其它職業。
高薪沒商量
“曾在網上看到說自己是2016年2月畢業的,3月份就找到了工作,現在的薪資是同齡人的2-3倍。”就職于上海某公司的牛耳學員曾同學對自己當前的待遇很滿意。像他這樣剛入行的軟件測試人員,起步月薪就在6000-7000元左右,遠高于同齡人2000-3000元的薪資水平,另外還可享受帶薪年假、內部培訓、住房公積金等福利待遇。
就業質量高
“與其他IT職位相比,軟件測試人員最大的優勢就是發展方向太多了。”在某軟件公司擔任軟件測試工程師的曹同學說。 由于工作的特殊性,測試人員不但需要對軟件的質量進行檢測,而且對于軟件項目的立項、管理、售前、售后的等領域都要涉及。在這過程中,測試人員不僅提升了專業的軟件測試技能,還能接觸到各行各業,項目管理、溝通協調、市場需求分析等能力都能得到很好的鍛煉,從而為自己的多元化發展奠定了基礎。也就是說,軟件測試工作確實能給年輕人提供更廣闊的發展平臺。因此,經過軟件測試崗位洗禮的人才往往是行業中的多面手,比其它IT人才具有更強的可塑性,在技術、管理、市場甚至其它非IT領域都能得到良好的發展。
無性別歧視
如果把軟件開發領域比作男子單打,那么軟件測試領域就是混合雙打。
由于工作的特殊,軟件測試人員往往更偏好認真、耐心、細致、敏感等個性元素,而這在一定程度上與女性的個性氣質相吻合。據了解,目前很多IT企業中軟件測試人員的比例更趨向平衡,甚至出現女性員工成主流的情況。對此,北京某信息技術教育發展有限公司CEO楊明認為,無性別歧視是職業設置合理的一種表現,有利于軟件測試工作的穩定發展,對人才的大量培養也起到積極的促進作用。
-
軟件測試
+關注
關注
2文章
221瀏覽量
18515
發布評論請先 登錄
相關推薦
評論