{eval=Array;=+count(Array);}
軟件測試就是模仿真實用戶使用場景對軟件的各個方面進行測試,軟件測試工程師需要學習一下項技能
1.專業技能:專業技能是必須要掌握的知識,包括黑白盒的測試,還要學習系統測試和功能測試相關內容,系統測試是在應用層面上進行測試,最基礎的測試流程管理也是要學習的專業技能。
2.軟件編程的技能:編程程序過關,才能往單元測試和性能測試等難度比較大的工作方向發展
3.數據庫和操作系統:在測試中要配置各種測試環境,需要對系統平臺進行分析,所以要掌握這些基礎知識,數據庫是應用系統所離不開的
做為從事測試工作十幾年的一個老測試,看了好幾天這個問題,但卻一直沒點進來回答這個問題!原因很復雜,但今天最終還是想給希望踏入這個領域的有心人分享一些個人經驗!
一、測試是一個入門相對容易的職業。可以這么說,只要對電腦操作有一定了解的人,原則上都可以去做軟件測試,只是剛開始能做的測試任務比較簡單罷了!
二、測試又是一個精通比較困難的職業。很多非常牛的計算機系學校開設有專門的軟件測試碩士專業,用來專門培養高水平的測試人員。
從以上兩個極端的測試從業者水平之間的知識差距可以分析軟件測試大概需要學習的內容。
基于以上,可以說軟件測試是一個需要活到老學到老的職業,你愿意學的內容根據你希望達到的職業目標緊密聯系在一起的!
希望以上對您有一定參考和借鑒!
一枚IT兵哥
庚子年春于北京
1/6 分步閱讀
會一門編程語言,會到什么程度,能寫自動化腳本;但是能不能做好測試不僅僅是會編程而已。
2/6
會SQL,除非那種報表類型的測試,會普通增刪改查,知道4種join的區別就可以了(如果你想成為DBA,那么建議你還是深入研究更為妥當)。
3/6
測試用例、測試方案要會寫,常用的測試設計方法要知道。
4/6
會通信協議,HTTP是必須的,看行業腦補,做電信的SMPP/MM7/MDSP,做即時通信的SIP/XMPP,會到什么程度,有個RFC在手邊能夠讀懂報文。
5/6
會性能,這個比較寬泛,要學的太多,前端調優,中間件調優,函數調優,數據庫調優。
6/6
Windows、Linux系統命令要會敲,安全性和易用性要了解。
你好!很高興回答你的問題,軟件測試專業是當下熱門專業,就業前景非常廣闊。該專業所需要的技術知識學習難度較大,知識豐富度較高。從你的問題中,看出來你對該專業充滿興趣,以下是我對你所提問題的歸納總結,希望對你有所幫助和更加堅定學習好這門專業。
軟件測試專業主要分為測試理論基礎、測試項目實戰、測試工具、自動測試實戰四個課程階段學習。
一、測試理論基礎
1、軟件前景分析。課程詳情:(1)為什么學測試?(2)互聯網行業發展前景分析?(3)測試行業發展及人員需要具備的能力。(4)什么是測試?為什么企業越來越重視測試?
2、測試生命周期。課程詳情:(1)測試定義,分類,原則,策略,方法,模型,流程,測試生命周期。(2)模擬測試計劃需求澄清過程。(3)掌握測試計劃編寫的要素。
3、測試用例設計與管理。課程詳情:(1)測試用例編寫原則,標準,內容。(2)用例管理與維護。(3)測試用例設計:等價類劃分,邊界圖,場景法,因果圖,錯誤推測。
4、BUG的編寫及管理流程。課程詳情:(1)BUG的起源、定義與分類。(2)BUG嚴重程度,優先級,狀態標準設定。(3)BUG生命周期狀態流程管理。
二、測試項目實戰
1、Web項目實戰。課程詳情:(1)模擬項目啟動,組建研發團隊。(2)項目測試計劃設計。(3)測試執行、BUG執行。(4)項目報告總結編寫
2、APP端測試。課程詳情:(1)企業級APP測試重點功能分析,測試點提取。(2)企業級兼容性測試。(3)APP測試資源準備。
3、APP端項目實戰。4、敏捷測試。5、探索式測試。
三、測試工具
1、數據庫基礎-MySql。課程詳情:(1)數據庫管理工具。(2)數據庫命令使用。(3)數據庫高級查詢使用。
2、Linux實戰。
四、自動化測試實戰
1、Selenium Web自動化測試。
2、接口測試。
3、接口自動化測試。
4、性能測試。
以上是較為詳細的軟件測試不同階段學習的內容,知識內容非常之多,我個人感覺,對于初學者這些課程幾乎接收不全,即使學會,很難理解,無異于給自己壓力, 我建議你先明確自己的階段,入門一般可以找一本基礎書籍看看定義概念,理解崗位,對于現在主流的工具有一些淺顯的認識,一般就可以達到入門的標準。
第一步,測試基礎:
測試基礎是軟件測試最最最重要的部分,只要你是做測試,不管是什么測試,測試的基礎、理論知識都是必須學會的。
大概就包括:測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等。
第二步:學習腳本語言
如:python語言,當然python 是一門相對簡單的計算機語言,考慮長遠發展,需要了解C語言或者java。都說C語言最難,但是用得確實也多。
第三步:學習軟件測試工具
學習軟件測試工具并不難,只是需要我們去系統的學習。比如性能測試工具loadrunner,自動化測試工具selenium、Appium,接口測試Jmeter、Postman等。雖然說工具不是萬能的但是工具能為我們提高工作效率,所以必須得會熟練的使用。最關鍵的一點,是要結合項目具體去操作,實踐出真知,理論知識在實際項目中才能得到鞏固。
第四步:計算機硬件知識
做過性能測試的都知道在性能測試過程中硬件性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬件測試的。那么就更不用說了。交換機、路由器、防火墻這些設備都需要有所了解。
第五步:數據庫測試
MySQL數據庫
MySQL簡介、命令行工具以及數據管理、MySQL數據查詢(條件、分組、聚合函數、排序、分頁、連接查詢、自關聯、子查詢)、內置函數、項目練習、數據分表、Python操作MySQL。
Redis數據庫
Redis簡介、客戶端和服務器、數據類型(string、hash、list、set、zset)、各種數據類型操作、Python操作Redis、主從、集群。
第六步:項目實戰
最好參與真實項目的測試工作,積累真實項目的測試經驗。
成為優秀軟件測試員之提升條件,如果你想成為一個更優秀的軟件測試員的話,除了上面那些,你也最好能夠具備開發語言即代碼編寫能力,雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那么代碼編寫能力就是必選項、如果不會寫代碼、那么你不可能成為高級測試。高級測試工程 師的一部分工作就是在寫測試工具。
雖然測試也需要寫代碼但不需要和開發一樣那么精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你 現在所在的項目從C++語言、2年后你換工作了、新公司的開發語言是Java或者是VB什么的)所以在開發語言中測試需要更廣的學習。
成為軟件測試員之必備條件,就是你一定要有良好的心態。心要靜、細心耐心、責任心。心靜不下來無法對bug展開發向思維及拓展想像。
任何一個測試最先面對的心理壓力就是重復性的勞動。在你的測試生涯中,一定會碰見很多心理的考驗,自己對于質量心里沒有底、或者由于產品發布問題或者達到了測試瓶頸時候的困惑等。
每個人都有自己的背景以及性格,往往對于測試來講,就是考驗心理素質的時候,這個時候就需要你自己不斷地去克服這些心理
軟件測試的學習門檻其實是很低的,不需要有計算機基礎,也不需要你有相關的背景,只要認真學習,耐心細心,都能夠學會。因為軟件測試課程會從計算機基礎開始講解,再一步步深入到具體的軟件測試方法和項目實戰。
軟件測試是分為手工測試和自動化測試的,自動化測試可能需要編寫腳本來控制測試工具進行自動化測試,但是手工測試則不需要,只用手動點擊進行測試就可以了。
如果你覺得自動化測試有點難度的話,只掌握手工測試也能夠做軟件測試工程師,找到不錯的工作。
當然,如果想要升職加薪的話,在后續掌握自動化測試也是很有必要的。不過那也是職業生涯后幾年的事情,作為零基礎的IT小白,現階段努力學好手工測試就可以了。
手工測試分為功能測試、接口測試、性能測試三大類,并不需要學好所有方向,只需熟練掌握其中一個方向就可以從事相應方向的測試工作了。
其中功能測試相對來說比較基礎,是初級軟件測試工程師大多會從事的方向。接口測試和性能測試就屬于進階一些的方向了,但也不是很難,前期可以先了解一下,后期想從事相關工作的時候再掌握就可以了。
首先很榮幸能夠回答這個問題,以下是軟件測試需要的技能,你先看看
(1)熟悉計算機基礎知識;
(2)熟悉操作系統、數據庫、中間件、程序設計語言基礎知識;
(3)熟悉計算機網絡基礎知識;
(4)熟悉軟件工程知識,理解軟件開發方法及過程;
(5)熟悉軟件質量及軟件質量管理基礎知識;
(6)熟悉軟件測試標準;
(7)掌握軟件測試技術及方法;
(8)掌握軟件測試項目管理知識;
(9)掌握語言程序設計技術;
(10)了解信息化及信息安全基礎知識;
軟件測試具體需要幾個階段去學習
第一階段 基礎
測試的基礎理論知識必須學的,最好能理解,并能夠復述。 因為面試初級測試的問題都是基礎理論的考核,如定義、分類、方法、生命周期。 計劃、方案、用例編寫、 BUG定義、BUG分類、BUG六要素、BUG生命周期、測試和開發流程的關系、瀑布流、V字形、螺旋型、敏捷開發等等, 質量管理體系CMMI……
第二階段 工具
不用糾結工具選擇,學習基礎的幾個工具,就行了,以后用到那個再去學也行。
性能測試工具:loadrunner、jmeter。
接口測試工具:postman
抓包工具:fiddle
數據庫管理工具:Navicat、ms-sql server
項目/BUG管理工具:QC
網頁監測工具:HTTPwatch,鍵盤的F12
APP元素查看工具:uiautomator
第三階段 代碼
學習代碼,關于編程語言的選擇,看你的興趣了,目前推薦python,膠水語言對測試應該更合適學習吧,當然學學c#和java方便以后考職業資格,數據庫也必須掌握!在這個階段學更復雜的SQL編寫。
第四階段 思考方向
1、管理型:
不限于項目管理,流程管理,QA,CMMI等等。更多的是看個人機遇了。
2、技術型:
最靠譜、最需要個人奮斗就能實現的路線,大致分為以下幾種。
自動化測試工程:
又可以劃分為UI自動化測試工程師,APP自動化測試工程師、接口自動化測試工程師等,編程是自動化的核心,要會主流的測試框架和輔助工具。主流的框架,如selenium,appium,monkey,monkeyrunner之類的,掌握了APP和UI自動化都可以了。輔助工具前面說過了。
性能測試工程:
只要會工具就能成為一個性能測試工程師,性能測試好做也好學,但是性能調優是的核心技術,學習成本挺高的,這個需要好的開發能力,C、Java要會。各種協議要掌握,TCP/UDP/HTTP/SOCKET等等。還要會Linux。
持續集成工程師:
現今這是一個偏向于云相關的方向,DevOps(英文Development和Operations的組合)是一組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。它的出現是由于軟件行業日益清晰地認識到:為了按時交付軟件產品和服務,開發和運營工作必須緊密合作。
是不是有點暈,大致描述就是開發提交代碼后,首次做好各種配置,以后自動觸發任務,開始編譯部署到測試環境,然后自動進行自動化測試,自動推到生產環境,如果測試沒通過,自動回滾,然后開發修改。
沒有正版圖,懶得畫了,百度devops,有圖片便于你理解。
還是需要懂代碼,服務器運維,CI/CD持續集成持續發布,如Jenkins。至少我認為devops全面成熟實行后,初級測試工程師的就業機會會減少。
測試開發工程師:
雙槍老太婆,一看名字就能才出來了,雙料能人。和問題不太相關,不多說了(其實是沒什么快說的了,哈哈)
安全測試工程師:
SQL注入、滲透測試、暴力破解、脫庫等等,基本上偏向于黑客了,發展方向就是白帽子。
最后回答難不難的問題,這個真是因人而異,看你學不學了。希望我的回答能夠幫助你
[從大的方向來看,需要學習以下內容:
1.計算機網絡,例如了解什么是IP、TCP協議、UDP協議、http協議等。
2.軟件工程,了解軟件開發的流程,軟件的開發模式。
3.操作系統,例如linux和windows平臺的運維。
4.測試工具的學習。
5.軟件測試理論,例如需求用例設計,用例評審,bug管理等
6.開發語言的學習,例如python或者java等,數字sql等數據庫語言。
第一步,測試基礎:
測試基礎是軟件測試最最最重要的部分,只要你是做測試,不管是什么測試,測試的基礎、理論知識都是必須學會的。大概就包括:測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等。
第二步:學習腳本語言
如:python語言,當然python 是一門相對簡單的計算機語言,考慮長遠發展,需要了解C語言或者java。都說C語言最難,但是用得確實也多。
第三步:學習軟件測試工具
學習軟件測試工具并不難,只是需要我們去系統的學習。比如性能測試工具loadrunner,自動化測試工具selenium、Appium,接口測試Jmeter、Postman等。雖然說工具不是萬能的但是工具能為我們提高工作效率,所以必須得會熟練的使用。最關鍵的一點,是要結合項目具體去操作,實踐出真知,理論知識在實際項目中才能得到鞏固。
第四步:計算機硬件知識
做過性能測試的都知道在性能測試過程中硬件性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬件測試的。那么就更不用說了。交換機、路由器、防火墻這些設備都需要有所了解。
第五步:數據庫測試
MySQL數據庫
MySQL簡介、命令行工具以及數據管理、MySQL數據查詢(條件、分組、聚合函數、排序、分頁、連接查詢、自關聯、子查詢)、內置函數、項目練習、數據分表、Python操作MySQL。
Redis數據庫
Redis簡介、客戶端和服務器、數據類型(string、hash、list、set、zset)、各種數據類型操作、Python操作Redis、主從、集群。
第六步:項目實戰
最好參與真實項目的測試工作,積累真實項目的測試經驗。
成為優秀軟件測試員之提升條件,如果你想成為一個更優秀的軟件測試員的話,除了上面那些,你也最好能夠具備開發語言即代碼編寫能力,雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那么代碼編寫能力就是必選項、如果不會寫代碼、那么你不可能成為高級測試。高級測試工程 師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那么精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你 現在所在的項目從C++語言、2年后你換工作了、新公司的開發語言是Java或者是VB什么的)所以在開發語言中測試需要更廣的學習。
成為軟件測試員之必備條件,就是你一定要有良好的心態。心要靜、細心耐心、責任心。心靜不下來無法對bug展開發向思維及拓展想像。任何一個測試最先面對的心理壓力就是重復性的勞動。在你的測試生涯中,一定會碰見很多心理的考驗,自己對于質量心里沒有底、或者由于產品發布問題或者達到了測試瓶頸時候的困惑等。每個人都有自己的背景以及性格,往往對于測試來講,就是考驗心理素質的時候,這個時候就需要你自己不斷地去克服這些心理。
需要學習掌握的技能有不少,比如尚腦的學習課程有:SQL Server數據庫技術、Oracle數據庫技術、JAVA編程、Windows操作系統和網絡基礎、軟件測試基礎理論、Linux操作系統及網絡環境、質量管理工具禪道和缺陷管理工具JIRA、Jmeter、性能測試工具LR、Selenium、基于Python語言的Web接口開發與自動化測試、手機APP功能測試、手機APP性能測試、手機自動化測試工具、手機APP黑白盒測試、黑客技術于黑客事件滲透測試指南、信息收集與社會工程學等,還是要認真學習實踐的。
0
回答5
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答10
回答