-
1 # 小說研究所
-
2 # PM蘇木
伴隨著軟體開發趨向於大型化複雜化,軟體測試應運而生
我們先來解釋一下什麼是軟體測試?
軟體測試(英語:Software Testing),描述一種用來促進鑑定軟體的正確性、完整性、安全性和質量的過程。換句話說,軟體測試是一種實際輸出與預期輸出之間的稽核或者比較過程。軟體測試的經典定義是:在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。
軟體測試型別(或者說方向?)?
其實有很多,主要有自動化測試,效能方向,安全方向
然後我們如何學習軟體測試?
1.基礎能力
學習軟體測試首先要了解的就是計算機基礎(測試環境)具體就是掌握Windows / Linux作業系統下測試環境的搭建與配置;瞭解計算機硬體組成,軟體分類;熟悉計算機網路配置等。另外包括測試的基本概念和基礎也要掌握,涵蓋測試的定義、測試的分類、測試的方法、測試的生命週期。測試計劃、測試方案、測試策略、測試用例的編寫。
BUG相關(包括定義、分類、六要素、生命週期等等)。測試和開發流程(瀑布流、V字形、W字型(雙V)、螺旋型、敏捷等等)的關係。PDCA、5W2H等分析管理的方法,另外還有比較重要的像簡單的網路協議:TCP/UDP,HTTP/HTTPS,Linux的基本操作和常用指令,MySQL資料庫的基本操作和常用sql語句。
其實還有 邏輯分析能力
這點一直有爭議,我個人覺得是有必要的,因為測試只有知道自己測試的產品是什麼,才能清楚的認識到自己要怎麼去測試它
2 硬體能力
基礎之上就是硬體能力,學習使用軟測工具是你軟測學習道路上必不可少的一步
fiddle抓包工具的使用。
postman介面測試工具的使用。
如果你想更進一步的學習,那就要深入程式碼學習,
jmeter和loadrunner效能測試工具的使用。這裡推薦Python(人生苦短,我學Python,狗頭保命)
在上述學習完成之後你就可以根據自己的方向去進行自己的職業規劃,做一名專業的軟測啦
-
3 # 江蘇優就業
軟體測試相較於開發語言學習要簡單,所以零基礎也是可以學習的,零基礎學習要自學軟體測試會比較難,主要學習功能測試,自動化測試,介面測試,效能測試等幾個方面,熟悉軟體測試的流程,多寫一些文件,聯絡分析需要和寫作力,還要培養溝通意識和團隊寫作能力。雖然軟體測試不用深入學習開發,但是要有一定的開發基礎,要學一些python的相關知識為自動化測試打基礎。小編建議零基礎的人可以透過培訓來學習軟體測試。
培訓學習軟體測試對於零基礎的人學起來還是比較簡單的。機構有經驗豐富的老師帶著進行學習,會比較簡單,有問題也可以找老師解決。其次,透過機構學習還能接觸到實戰專案,積累經驗,一般都是理論和實戰相結合,靠譜的機構還會有專案實訓,提前體驗企業級的工作流程。
綜上零基礎是可以學員軟體測試的,如果報班學習戶更簡單。
-
4 # 對犇彈琴
分白盒測試和黑盒測試。
白盒測試要求很高,基本上編寫軟體需要的技能你都要學而且比他們要更加精通。
黑盒測試就比較簡單了,隨便找個人經過簡單培訓,就能上手,比如遊戲軟體,新遊戲剛開發出來,測試就是玩這個遊戲,在玩的過程中看有沒有bug出現。
-
5 # 佐一笑
一、軟體測試的原理
v 軟體工程:軟體的含義、軟體開發過程的特性 、軟體生命週期模型、軟體管理過程軟體質量和質量保證:軟體質量就是客戶的滿意度 、質量的概念、軟體質量的內涵、質量管理體系、SQA、SCM、SEPG
v軟體測試概念:軟體危機、軟體測試產生的背景,軟體缺陷是什麼、軟體測試職業發展,軟體測試人員應具備的素質和技能、軟體測試基本概念、軟體測試的目的、軟體測試的重要性、軟體測試的原則、軟體開發與軟體測試
v軟體測試依據和規範:軟體質量標準、軟體測試規範、介面規範、編碼規範、CMM和ISO9001思想結構體系、CMM VS ISO
二、軟體測試的技術
v軟體測試技術概述:軟體測試的基該方法,黑盒測試、白盒測試、靜態測試、動態測試、測試策略
v軟體測試流程:軟體測試流程、通用測試文件模板 、軟體測試的分類、軟體包的質量特性
v 單元測試和整合測試:什麼是單元測試、單元測試的目標和任務、單元測試方法、除錯與評估、什麼是整合測試、整合測試目標和任務、整合測試的模式與方法
v 系統測試和驗收測試:什麼是系統測試,系統測試的目標和任務,系統測試方法,系統測試中工具的應用、什麼是驗收測試、驗收測試的目標、驗收測試的過程和主要內容、產品規格說明書的驗證
v 特定型別的軟體測試:面向物件軟體的測試、面向物件軟體的特點、面向物件測試的層次與資料流、面向物件的單元測試、面向物件的整合測試 、基於應用伺服器的測試、應用伺服器的分類和特徵、基於Web伺服器應用的測試、基於資料庫應用伺服器的測試、基於J2EE平臺的測試、軟體本地化測試:什麼是軟體本地化、軟體本地化的翻譯問題、軟體本地化測試的技術問題、本地化測試的重點
三、軟體測試的實踐
v測試環境的部署:測試環境的重要性、測試環境的各要素、建立測試實驗室、測試環境的維護和管理
v軟體測試用例的設計:測試用例來源、測試需求提取、測試用例設計、白盒測試用例設計方法、邏輯覆蓋法/基本路徑測試法 、黑盒測試用例設計方法、等價類劃分法/邊界值分析法/因果圖法/錯誤推測法 /功能圖法、測試用例的組織和跟蹤、使用實際專案實踐
v 報告所發現的軟體缺陷:軟體缺陷的描述 、軟體缺陷相關的資訊、軟體缺陷的處理和跟蹤
v軟體測試和質量分析報告:軟體產品的質量度量 、評估系統測試的覆蓋程度 、軟體缺陷分析方法 、基於缺陷分析的產品質量評估 、軟體質量的可靠性評估、軟體可靠性模型、可靠性評估過程
v軟體測試自動化:測試自動化的內涵、測試工具的分類和選擇、測試工具的主流產品介紹、IBM-Rational產品的整體解決方案、Mercury Interactive產品的整體解決方案,測試管理工具TD實操演示及指導、功能測試工具Robot實操演示及指導、指令碼語言perl實操演示及指導、效能測試工具LR
v 網路基礎知識:協議概念、常見的網路協議及層次、TCP/IP協議、Arp協議等報文分析、常見的網元裝置及工作原理、常用的網路操作相關命令、客戶機伺服器模型、抓包工具使用
v 資料庫簡介及SQL語句:資料庫系統概念、資料管理的發展階段、資料庫系統的特點、SQL概述、SQL資料定義功能、SQL資料查詢功能、SQL資料修改功能、嵌入式SQL
v Linux作業系統簡介及常用命令:Linux系統介紹、Linux系統歷史及發展、Linux系統特點、Linux系統安裝與配置、Linux系統命令的使用方式、檔案及目錄操作命令、檔案壓縮命令、聯機幫助命令、程序管理的命令
四、軟體測試管理
v 組織和管理測試團隊:基於ISO的測試管理體系構成、測試團隊的地位和責任、測試團隊的構成 、測試團隊的管理和發展
v軟體測試專案管理:軟體測試專案管理的概述、軟體測試專案的組織 、軟體測試專案的過程管理 、軟體測試專案的資源管理 、測試專案的進度管理 、測試專案的風險管理 、測試專案的質量和配置管理、軟體測試文件的管理
v 理解CMM:KPA簡介 、CMM的五個等級及關鍵過程域、CMM例項簡介 、CMM的發展、CMMI2級詳細講解
五、軟體測試人員面臨的機會和挑戰
v軟體測試職位在IT行業的現狀
v軟體測試職位到底是幹什麼?
v軟體測試行業的背景
v軟體測試人員需要具備的基本素質
v軟體測試工程師需掌握的技術技能大綱
v軟體測試人員後期的發展機會和挑戰
附錄(基礎技能版):
一、基礎技能方面:
Unix/Linux作業系統:
⒈熟悉UNⅨ環境
⒉掌握UNⅨ常用命令
⒊瞭解並掌握Vi的一些常用命令
⒋瞭解基本的shell
Informix:
⒈熟悉並掌握informix常用命令
⒉掌握SQL相關的一些知識
Oracle:
⒈掌握Oracle的基本操作
⒉掌握在unix/Linux系統下安裝Oracle資料庫
二、網路基礎知識
⒈熟悉TCP/IP、HTTP、UDP協議
⒉掌握常用的網路命令
⒊抓包工具的熟悉與學習
三、測試理論
⒈軟體及其開發過程
⒉軟體測試的基本概念與方法
⒊質量保證與策略
⒋測試依據與規範
⒌單元測試
⒍整合測試與系統測試
⒎驗收測試
⒏基於應用伺服器的測試
⒐測試計劃的制定、用例的設計與執行、缺陷的跟蹤
四、模擬專案練習
⒈理解需求,設計測試用例、測試用例評審
⒉測試執行
⒊提單規範
-
6 # 小男哥啊
無論是軟體開發還是軟體測試都是一門需要較強動手能力的工作,只聽或者只看不做,你永遠學不會軟體測試。
而作為一個軟體產品的研發到釋出,測試工作只是其中的一部分。而要想學好測試或者成為測試專家,你必須融入到整個軟體開發過程中去。
軟體測試脫離了整個軟體開發流程是不可能孤立存在的。瞭解整個專案的流程,包括:需求、設計、評審、測試、校驗等才能更好的瞭解測試和把控測試。
下面說說需要學習掌握的一些內容:
第一步,測試基礎:
測試基礎是軟體測試最最最重要的部分,只要你是做測試,不管是什麼測試,測試的基礎、理論知識都是必須學會的。大概就包括:測試計劃編寫、設計測試用例、編寫測試報告、編寫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、主從、叢集。
第六步:專案實戰
最好參與真實專案的測試工作,積累真實專案的測試經驗。
成為軟體測試員之必備條件,就是你一定要有良好的心態。心要靜、細心耐心、責任心。心靜不下來無法對bug展開發向思維及拓展想像。任何一個測試最先面對的心理壓力就是重複性的勞動。
希望此回答可以幫到題主!
-
7 # 騰化馬雲
Linux系統命令、shell指令碼、一些測試工具是常做軟體測試必須掌握的。
企業應用平臺多數是Linux系統,掌握基礎的Linux命令是操作linux系統的基礎,平常工作早學會積累知識,命令有很多,在工作中學習,在工作中實踐。
shell指令碼方便做一些測試工作,在linux系統下執行,linux命令是設計shell指令碼的基礎,其次要有很好的邏輯能力,使指令碼簡潔高效。可以網上查詢一些優秀指令碼去學習他們的思路和設計邏輯,多多鍛鍊。
工具類有很多,主要看所在企業所應用的工具,有的是自己開發的工具,當然也有常規的工具,慢慢積累吧。
希望可以幫到你[耶]
-
8 # 邊緣人
01
軟體測試需要哪些知識
02
很多人都在各大論壇提問"我是零基礎該如何學習軟體測試"。關於這個問題首先應該給零基礎定一個範圍,到底什麼樣才是零基礎,從來沒有接觸過計算機的?我是學英語的只瞭解一些?還是學計算機的沒有接觸過測試的。對於第一種我想現在應該沒有了吧。為了回答這個問題,我們先看一下做軟體測試工作需要掌握哪些知識。我們要做的工作時軟體測試,而不是硬體測試。那麼這個就可以分為兩部分了,一個是測試的知識,另一部分是軟體的知識。先看一下測試的知識,這部分主要是對測試概念要了解,常見的測試策略和方法,發現缺陷後怎麼處理等內容,當然這裡的測試知識還是針對軟體測試的。再看軟體,首先軟體是執行在一個作業系統中的(這裡不是很準確),那麼你就要對它執行的環境要了解,軟體是程式語言開發的,所以也要對開發他的語言有一定的瞭解,現在的軟體越來越多的都是基於網路的,所以還要對網路知識有一定的瞭解。OK,現在就來看一下軟體測試需要掌握的知識了吧。1、首先是軟體測試的基礎知識,包括軟體測試的概念、過程,測試用例和缺陷等相關知識。2、第二部分就是測試環境的知識(這放在第一位也是可以的),這主要就是對常見的作業系統要了解,會搭建測試環境,主要就是Windows、Linux和Mac OS.3、就是要了解資料庫的知識,現在大多軟體都是要用資料庫儲存資料的。而且面試也會問很多關於資料庫的內容。4、就是要熟悉一門程式設計語言,常見的有Java、C、C++……5、瞭解自動化測試的知識,主要是會使用自動化工具,像QTP、Loadrunner、QC這些。6、就是白盒測試知識和白盒工具。其中像自動化和白盒部分的內容對於零基礎來說剛開始工作肯定是接觸的很少的。那麼只要你把前4部分掌握好,找到軟體測試的工作應該是不成問題的了。
03
如何學習每門課程
04
測試基礎:這部分內容概念還是比較多的,也是最重要的部分,所以要重概念、重理解、重體會。重概念就是記住這些概念了,然後要理解它了,重體會就是在專案中要來體會它,有自己的見解。資料庫:資料庫是一門實踐性很強的課程,所以要重概念、重操作。對於基礎的概念還是要理解的,只有理解了這些才能跟好的使用它。要熟練的使用的資料庫,對重要的命令要牢記。多上機練習。Java部分:這部分也是要重概念、重實踐。學習程式設計的好辦法就是多讀程式碼,多寫程式碼了。沒有什麼捷徑。自動化部分:這部分主要是介紹一些工具,所以還是要重概念、重操作。多去實踐,熟練操作。Linux部分:還是重概念、重實踐啊,理解一些基本概念,多去實踐,這樣命令才能記住。白盒部分:現階段對它重概念就可以了,記住基本概念。
-
9 # 今天天氣晴
軟體測試時零基礎適學的,一般培訓五個月左右,零基礎的也不怕。
培訓的前期會有一段時間的基礎知識講解,都會讓你打好基礎再開始拔高練習。
-
10 # 檸檬班軟體測試
先說一下軟體測試大致要學哪些知識:(從下面的圖片中你就可以獲取你應該做哪些方向的知識儲備哦)
軟體測試必備技能
第二步:你需要一個真實的測試專案,用於最佳化你的簡歷。專案大致流程如下(這樣也是為了方便你找到好工作)真實專案流程
第三步:計算機網路技術+Linux作業系統(面試加分項)Linux+計算機網路技術
第四步:測試工程師必備的資料庫(必備必備!一定要會)資料庫
第五步:抓包工具(在測試過程中,我們經常要定位Bug是屬於前端還是後臺,好找對應的開發解決這個Bug,所以這個是必學知識點!)Fiddler抓包
第六步:學習介面測試,Jmeter(會這個技能,不管是你的面試還是你的薪資都可以加至少3K!)介面測試加薪項
第七步:APP測試,app是絕大部分公司都會開發的,目前app測試已經佔主流,所以app測試非學不可,有很多公司如果你沒有app測試經驗就直接pass你了。所以你還需要找一款app去測試一下,作為一個專案哦app測試加分項
第八步:Git和Java基礎知識(針對軟體測試這個行業去針對性的學習!)第九步:Jmeter+Jenkins+Maven(職場高逼格技能)如果你會這個的話,我想面試官一定會留住你的。Jmeter+Jenkins+Maven知識點
第十步:會效能測試的測試工程師都很吃香,因為絕大部分公司想測試下併發,壓力測試現在也成為了必需品了。Loadrunner效能測試加分項
綜上所述,如果你掌握了第一步和第二步,你可以找到一個軟體測試的工作,但是薪資可能不會很高;如果你能掌握全部的話~~那薪資可能就不一樣了,就會相當可觀,但是未來你還需要晉升。
這個只限於你是一個小白,想進入軟體測試行業,這10個步驟是適應於98%的企業。
希望以上的講解對你有用!
如果還是一頭霧水,文末最後準備了以下學習影片,內容涵蓋如下:
回覆列表
門檻的高低是有相對度的,對於其他IT程式設計類科目,軟體測試算是難度比較低的,但是跟其他IT類的工作相比,則未必。所以只能說如果你想轉行IT技術類工作,軟體測試還算是門檻比較低的。
其實,如果你想轉行IT行業,其實軟體測試是相對簡單的學科,非常適合零基礎的同學學習,只要你有一顆好奇的心、肯學習的心,並且也軟體測試充滿興趣,難度就不會太大。
軟體測試是測試軟體的功能、效能,找出軟體的問題,保證軟體質量,使之能夠順利上線,是軟體製作工作中非常重要的一環。軟體測試一般是有功能測試、效能測試、相容性測試、安全性測試等幾大塊組成,每一塊都有非常多的工作內容,只要你足夠細心,找尋程式碼和軟體中的bug就是小case.