02.27 軟件測試這個工作入門難不難?

自律改變人生


首先你要知道測試是做什麼,開發是做什麼。從行業發展來看,目前開發人員還是很多,崗位比例的話基本上也是10:1,測試的話需求比較大,但是專業的測試人員比較小,所以崗位比例的話是1:6。但是會存在有一些小企業可能開發就兼測試了,不會專門招一個測試,但是一些大企業肯定是崗位職責很明確的。從薪資水平來看,開發的薪資固然比測試的高,但是也不排除部分測試薪資也很高。但是開發加班什麼的肯定都比測試多。最後怎麼選擇主要是看你自己更傾向於學什麼,開發吧,年齡越大肯定越力不從心,但是沒辦法,薪資高,很多人還是想走開發。


55號


作為一名從業多年的IT人,我來回答一下這個問題。

首先,學習軟件測試是個不錯的選擇,總體上來說入門難度並不算高,即使計算機基礎知識比較薄弱的人,通過一個系統的學習過程也能夠學得會用的好。

雖然入門軟件測試的難度並不算高,但是需要學習的內容卻比較多,也比較雜。簡單的說,就是測試什麼類型的軟件就需要掌握其相應的知識,像Linux操作系統,各種數據庫產品以及各種服務器產品等等,所以軟件測試人員需要掌握的知識面是比較廣的。另外,測試人員還要掌握測試工具的使用,比如採用自動化測試時可以使用RobotFramework。

軟件測試工作是圍繞軟件生命週期展開的,根據軟件生命週期的不同階段進行相應的功能驗證(週期內要做的參考CSTQB)。通常來說,在需求設計階段,測試人員需要理解需求和具體的業務知識;在用例設計階段測試需要根據業務需求進行業務場景識別,進而進行用例設計、用例評審等;在測試執行階段需要執行測試用例結合探索測試;測試總結階段需要收集測試的相關數據並完成測試報告。另外,根據不同的測試方向,需要選擇不同的測試方法。

不同團隊對於測試人員的要求也不同,當前不少團隊賦予了測試人員更多的工作內容,比如測試不僅僅侷限於功能性驗證,還需要從用戶的使用體驗入手進行測試。測試的內容涵蓋了交互、視覺等更廣泛的內容,這其實也賦予了測試人員更多的職責,從職業發展的角度來說,這就要求測試人員能夠站在一個更高的角度來審視軟件產品。

總之,專業測試人員是目前軟件行業比較短期的人才,未來的發展前景也比較廣闊。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網方面的問題,或者考研方面的問題,都可以諮詢我,謝謝!


IT人劉俊明


1、軟件=程序+文檔,軟件測試=程序測試+文檔測試。“程序”是指能夠實現某種功能的指令的集合,“文檔”是指軟件在開發、使用和維護過程中產生的圖文集合。;2、軟件的分類按功能分:系統軟件、應用軟件按技術架構分:單機版軟件、C/S結構軟件(C是指客戶端, S指服務器端)、B/S結構軟件(B是指瀏覽器)按照用戶劃分:產品軟件、項目軟件按開發規模劃分:小型、中型、大型3、BUG的定義:軟件的BUG指的是軟件中(包括程序和文檔)不符合用戶需求的問題。常見的軟件BUG分三種類型:完全沒有實現的功能;基本實現了用戶需求的功能;實現了用戶不需要的功能。4、測試環境=軟件+網絡+硬件。搭建環境:真實、乾淨、無毒、獨立5、軟件環境的分類:軟件開發環境\\軟件生產運行環境6、測試用例:指在測試執行之前設計的一套詳細的測試方案,包括測試環境、測試步驟、測試數據和與其結果!測試用例=輸入+輸出+測試環境。測試用例有兩個模板,word和excel,前者適合性能測試,後者適合功能測試。

軟件測試分類1、黑盒測試:指的是把被測的軟件看作是一個黑盒子,我們不去關心盒子裡面的結構是什麼樣子的,只關心軟件的輸入數據和輸出結果 白盒測試:指的是把盒子蓋打開,去研究裡面的源代碼和程序結構。2、靜態測試:是指不實際運行被測軟件,而只是靜態的檢查程序代碼、界面或文檔中可能存在的錯誤的過程。 動態測試:是指實際運行被測程序,輸入相應的測試數據,檢查實際輸出結果和預期結果是否相符的過程,所以我們判斷一個測試屬於動態測試還是靜態測試,唯一的標準就是看是否運行程序。 注:同一個測試,既有可能屬於黑盒測試,也有可能屬於動態測試;既有可能屬於靜態測試,也有可能屬於白盒測試。他們之間也有可能交叉。3、單元測試:編譯運行程序——靜態測試——動態測試 集成測試:是單元測試的下一個階段,是指將通過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不同模塊的接口部分。 系統測試:指的是將整個軟件系統看作1個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。 驗收測試:指的是在系統測試的後期,以用戶測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最後一道工序. 驗收測試又分為α測試和β測試,其實α測試指的是由用戶、測試人員、開發人員等共同參與的內部測試,而β測試指的是內側後的公測,即完全交給最終用戶測試。4、功能測試:是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。功能測試又可以細分為很多種:邏輯功能測試、界面測試、易用性測試、安裝測試、兼容性測試等。 性能測試:軟件的性能包括很多方面,主要有時間性能和空間性能兩種。時間性能:主要指軟件的一個具體事務的響應時間。空間性能:主要指軟件運行時所消耗的系統資源。 軟件性能測試分為一般性能測試、穩定性測試、負載測試和壓力測試。一般性能測試指的是讓被測系統在正常的軟硬件環境下運行,不向其施加任何壓力的性能測試。穩定性測試,也叫可靠性測試,是指連續運行內測系統,檢查系統運行時的穩定程度。我們通常用MTBF(錯誤發生的平均時間間隔)來衡量系統的穩定性,越大穩定性越強。負載測試是性能測試的一種,通常是指讓被測系統在其能忍受的極限範圍之內連續運行,來測試系統的穩定性。壓力測試是性能測試的一種,通常是指連續不斷地給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。 假設一個人很輕鬆的就能背一袋米,背兩袋米很吃力,最多就能背三袋米,那麼: 一般性能測試:我就讓他背一袋米 穩定性測試:我讓他背一袋米,但是讓他去操場上跑圈,看多久累倒。 負載測試:我讓他背兩袋米去操場上跑圈,看多久累倒。 壓力測試:我讓他背兩袋米,三袋米,四袋米......發現他最多就能背三袋米。5、迴歸測試:是指對軟件的新的版本測試時,重複執行上一個版本測試時的用例 冒煙測試:是指在對一個新版本進行西戎大規模的測試之前,先驗證一下軟件的基本功能是否可以實現,是否具備可測性 隨機測試:是指測試中所有的輸入數據都是都是隨機生成的,其目的是模擬用戶的真是操作,並發現一些邊緣的錯誤。6、關係
測試工程師1、測試工程應該具備的基本職業素質:三心二意一能力。三心:細心、耐心、信心。二意:服務意識、團隊意識。一能力:溝通能力。2、如何成為一名優秀的測試工程師:內功(基礎知識:計算機硬件、網絡、操作系統、數據庫等)、測試技術(黑盒測試中等價類、邊界值、因果圖等,白盒測試中的語句覆蓋、分支覆蓋、路徑覆蓋等) 1)、不斷學習充電 2)、閱讀原版書籍 3)、閱讀缺陷管理系統中的缺陷報告 4)、閱讀高手寫的測試用例 5)、學習產品相關的業務知識3、SQA——軟件質量保障,CMM是SQA用來監督項目的一個標準質量模型,SQA按照CMM上面各種規則來檢驗各種各樣的項目。CMM——能力成熟度模型4、軟件測試的原則: 1)、Zero bug——指的是軟件沒有任何bug,沒有bug是不可能的,我們只能想方設法把軟件的bug數控制在可以忍受的範圍之內。Good enough——指的是隻要軟件達到一定的質量要求,就可以停止測試了。 2)、不要試圖窮舉測試 3)、開發人員不能既是運動員又是裁判員 4)、軟件測試要儘早執行 5)、軟件測試應該追溯需求 6)、缺陷的二八定理——缺陷的集群現象或是蟲子窩現象 7)、缺陷具有免疫性黑盒測試技術等價類技術、邊界值技術、因果圖法、流程圖法缺陷管理1、BUG的分類Bug嚴重級別(Severity,Bug級別):是指因缺陷引起的故障對軟件產品的影響程度。由測試人員指定。

A錯誤導致了死機、產品失敗(“崩潰”)、系統懸掛無法操作;B功能未實現或導致一個特性不能運行並且不可能有替代方案(包括計算錯誤);C錯誤導致了一個特性不能運行但可有一個替代方案;D錯誤是表面化或微小的(提示信息不太準確友好、錯別字、UI佈局或罕見故障等),對功能幾乎沒有影響,產品及屬性仍可使用;E建設性的意見或建議。Bug優先級(Priority):指缺陷必須被修復的緊急程度。由Bug分配者(開發組長/經理)指定。5阻止相關開發人員的進一步開發活動,立即進行修復工作;阻止與此密切相關功能的進一步測試4必須修改,發版前必須修正3必須修改,不一定馬上修改,但需確定在某個特定里程碑結束前須修正2如果時間允許應該修改1允許不修改缺陷類型(Type):是根據缺陷的自然屬性劃分的缺陷種類。

Build由於配置庫、變更管理或版本控制引起的錯誤。Data數據、數據庫、計算錯誤等。Function影響了重要的特性、產品接口、硬件結構接口和全局數據結構。如邏輯,指針,循環,遞歸,功能等缺陷。Interface與其他組件、模塊或設備驅動程序、調用參數、控制塊或參數列表相互影響的接口缺陷。Performance不滿足系統可測量的屬性值,如:執行時間,事務處理速率等。Requirement需求方面缺陷如(不明確、錯誤、考慮不全面等等)。User Interface(簡寫UI)人機交互特性:屏幕格式,頁面排版、控件位置等方面的缺陷。其它未知錯誤Bug狀態(Status):指缺陷通過一個跟蹤修復過程的進展情況。包括Open、Fixed、Closed及Postponed等Open為測試人員新問題提交所標誌的狀態。為任務分配人(開發組長/經理)對該問題準備進行修改並對該問題分配修改人員所標誌的狀態。Bug解決中的狀態,由任務分配人改變。對沒有進入此狀態的Bug,程序員不用管。Fixed為開發人員修改問題後所標誌的狀態,修改後還未測試。Closed為測試人員對修改問題進行驗證後通過所標誌的狀態。由測試人員改變。Postponed1、由於開發時間、進度、重要程度或者技術/設計/需求等方面的原因,認為不能解決、須延期解決、或者本版不做留待到後續版本解決的Bug;2、因設計結構問題無法修改。測試人員認為是Bug,不符合邏輯,也不符合用戶的要求,但開發人員則認為是按照設計做的、只能如此處理,否則修改代價太大,這種問題可以拖後處理duplicatedbug重複提交Not error測試員理解錯,不是bug,測試員提錯了2、提交BUG注意事項:確保重現、要用最少且必要的步驟描述BUG、簡潔準確完整、一個BUG一個報告3、常見的BUG管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA測試管理測試周期:計劃——測試設計——測試執行——測試評估

軟件測試工具簡介1、一般軟件測試工具分為黑盒測試工具、白盒測試工具、測試管理工具2、MI loadrunner——性能測試,MI winrunner——功能測試,MI testdirector——測試管理工具,MI QTP——功能測試工具......


u君的日常放送


怎麼說呢,其實這個行業不同的公司對專業技能的要求差別非常大,有些小公司,只要你會操作電腦,能看懂一些軟件術語,基本就夠用了。

但是千萬別以為這就是軟件測試工程師的全部,想要把這個工作幹好幹精需要了解大量的知識,沒有特別的技能,很容易被代替

你是初中學歷,入門級別的測試工程師還是可以做的,但是想深入學習,不是一件容易的事情,想做好軟件測試工程師,下列技能是一定要掌握的

1 linux操作系統,包括一些簡單的文件操作,軟件的安裝,常用地指令等等

2 shell腳本

3 數據庫,常見的數據庫mysql, oracle, postgrel,redis,mongodb等等等等,公司用啥你就得學啥,常見的增刪改查得會

4 常見的抓包工具,fiddler,wireshark等等,之前得會其中一兩個吧

5 還要對軟件非常瞭解,說白了你是公司的質檢員,你不瞭解產品怎麼做好質檢員的工作呢

其實我只列舉了一部分,掌握了以上只能說明你是一個合格的軟件測試工程師,要想做的比別人強,更優秀,其實遠遠還是不夠的

軟件測試越來越向以下方向發展

1 自動化

所謂自動化就是使用代碼來代替一般的人工測試,這就要求你得掌握之前一種開發語言了,還有單元測試框架以及selenium等等

2 性能測試

主流的LoadRunner和Jmeter都得了解下吧

3 安全測試

這個就要求更高了,黑客懂吧,找系統漏洞

反正想做好,不容易


mynevermore


軟件測試就是在現有軟件中尋找缺陷的過程。在規定的條件下對程序進行操作,目的是在用戶使用之前發現錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程,它是軟件開發過程中重要的一環,下面小編就和大家介紹下軟件測試工程師要學哪些知識,這些知識好不好學。

一名合格的軟件測試工程師需要學習的知識還是很多的,十大測試工具和五大測試方法都需要學習,有:LoadRunner、JMeter、Selenium、Appium、Postman、Fiddler等測試工具和功能、web自動化、移動自動化、接口、性能等測試技術。除了這些之外還需要學習python開發語言,不過軟件測試工程師只需要學習python的基礎知識,不需要太過深入的學習,因為學習python只是為了之後學習自動化測試打下基礎。

軟件測試所要學的知識點雖然多,但相較於開發還是好學的,因為要學的代碼更少,不怎麼需要學習編程知識,所要軟件測試技術的學習大大降低了。如果你是零基礎想轉行,那麼軟件測試是一個不錯的選擇,而且市面上很多軟件測試培訓班都有系統的課程大綱和經驗豐富的講師授課,如果你選擇報班培訓那麼軟件測試技術會更加好學。


專注IT小UU


作為一個多年工作的程序員,我來回答一下這個問題

首先軟件測試包括白盒測試和黑盒測試。白盒測試就需要技術來支撐了,需要寫大量的腳本代碼來實現,黑盒測試大部分的工作都是功能性測試,如果設計自動化測試的話也需要寫一部分的代碼來實現。

綜上我認為如果說入門的話並不算很難,當然這是指黑盒測試,很多人特別是妹子們選擇測試這個行業也挺好的,就是如果是互聯網行業得話,產品上線前可能會經常加班。

初中學歷的話我建議還是報一個培訓班,先系統的學習一下。簡單的計算機基礎還是要懂得。

希望我得回答能夠幫到你

詳細得可以關注我給我發私信溝通


碼農雷哥


根據我的理解和經驗分析下。

1、入門容易,學精困難,術業有專攻,師父領進門後,你得靠自己;

2、和公司選擇有關係,大公司,你可能只是測試一個模塊,小公司,不累死你誓不罷休,你想你得掌握多少?

3、萬變不離其宗,軟件測試是個軟件系統工程,掌握全面,測試點各個擊破,方能庖丁解牛;

4、學會溝通交流,準確反饋測試結果和解決思路,技術再好,沒有表達給程序員,成果不利於轉化;

5、抱著一顆時刻學習、時刻進步的心,軟件是一個快速迭代的行業,跟不上時代,追不上趨勢,就會被社會淘汰。


職場說禪


初中的話,剛開始只能從事功能測試方面的工作,有時間可以提升下學歷,對升職加薪都有幫助。如果想跟著老師學的話,優就業還不錯,總部在北京,全國都有分校,學完可以給你推薦工作


漢武帝在武漢加油


入門確實挺容易的,基本就是做功能測試。如果想繼續發展,那學習的東西就多了,Linux系統,數據庫,編程語言也得會,比如java或者python。測試工具,uft,selenium,load runner,jmeter,postman。抓包工具也得會使用。有時候前端的知識也得會,html,css


走在測試的路上


其實軟件測試和軟件開發, 產品設計各有各的難點 各有各的特點,不能簡單的比較誰難誰易。


分享到:


相關文章: