-
1 # MZ踏雪飛狐
-
2 # 傳智教育官方賬號
測試開發簡單來說就是既要會做測試又要懂開發。
猛地一看,那豈不是壓力更大了嗎?!不不不,因為在測試崗位中應用到開發技術要比開發崗位中應用到的開發技術要簡單很多(除非一些特殊場景)。
所以,必須要給予題主信心的是,手工測試經驗1年以上 或 開發經驗1年以上,想轉行測試開發是沒有問題的。
具體如何實現轉行呢?接下來從以下幾點來分析說明下。
1. 轉測試開發意義是什麼?2. 測試開發崗位是幹什麼的?3. 轉向測試開發崗位需要具備哪些技能?4. 學習路徑建議
一、轉行意義:測試開發薪資發展要遠高於功能測試1、薪資可觀
2、崗位獨立
3、大廠需求
二、測試開發是幹什麼的?從以下2方面來說明測試開發
1、簡述
測試開發:使用程式碼或開發框架進行測試或輔助測試的人員。
2、歸屬分類
以下在企業中由於定位不同,測開技能不同,大體分為以下幾種:
測試工具的開發、測試平臺的開發、測試框架的搭建等...
這些工作都能夠服務於普通的測試人員,提高測試的效率,給公司創造價值。
三、轉向測試開發崗位需要具備哪些技能?1、測試理論:具備完成功能測試能力
2、程式碼能力:具備python或java實施自動化測試能力
3、資料庫:具備資料庫操作能力(增刪改查)
4、測試工具:具備主流工具二次開發能力
5、行業技術知識:具備專案技術框架應用能力
6、業務知識:理解後臺技術架構和業務架構能力
可見,從事測試開發,門檻還是有的。試想一個對開發完全不懂的測試人員,就不可能深刻理解系統實現邏輯,那麼想要把軟體存在的問題都測試到位是不太現實的!所以市場有大量測試開發崗位的需求。
-
3 # 測試領域專家
手工測試轉開發,是傳統測試人員的重要出路。那麼如何轉?
1、一定要有一門能拿來程式設計的語言,哪怕不是那麼熟練,也會知道百度或者google一下。如果沒有,一定要學會一種,對於計算機專業或者非計算機專業和出身的同學來說,我個人建議學習python,上手簡單,功能豐富,測試領域的框架也比較多;
2、周圍有沒有測試開發的氛圍。我說的氛圍,是指有沒有leader帶你去做。如果沒有的話,靠自己的悟性去做,比較費時。這個時候可以考慮報一個輔導班或者網上自學;
3、對自己的日常工作進行提煉。總結哪些工作可以用工具或者自動化解決,常見的思路:IVT即安裝自動化;介面自動化;解決實際工作的小工具等等;
4、多學習、多實踐。程式設計這個東西,一句話,“無他,熟耳”;
前面主要涉及到的是自動化測試。如果升級到測試開發,或者測試架構師,深入的開發技能是少不了的。從前端的html/javascript/css,到後端的orm,開發框架,再到各種中介軟體,甚至於jira這些專案管理軟體的整合。這些都是一個長期的過程,自己需要確定好方向,一步一步來。以Java係為例,建議的學習過程為:
Java基礎知識 -> Maven、GIT、Junit/testng基礎知識 -> 測試工具開發或者基於restassured、unirest、httpclient等的介面自動化 -> 基於webdriver或者appium的UI自動化 -> Jenkins持續整合 -> Java併發、 mockito等白盒測試-> bootstrap+jquery或者react/vue的前端知識 -> SpringCloud、mybatis/hibernate、redis等後端知識 -> 測試平臺搭建。
-
4 # 職場鯨
一般來說,手動測試是入門級別,自動化測試是進階,手動測試到自動化測試是一個由低向高逐漸進化的過程。
目前手動測試完全依靠的是專門的測試人員操作移動端裝置或者PC端裝置進行產品測試,而自動化測試是由測試人員使用相關的測試工具或者測試人員編寫程式碼生成的工具進行測試,而能夠編寫程式碼進行產品測試是每一個測試人員的終極目標,即高階測試。
接下來說下什麼是自動化測試工程師,自動化測試的從業要求有哪些,為什麼自動化測試要會編寫程式,哪些模組可以進行自動進化測試等問題
一.什麼是自動化測試工程師
是一種自動化測試系統的設計與建設的人員。首先,負責自動化測試系統的設計與建設,完成自動化測試用例與指令碼的設計與編寫。其次,確保TD-SCDMA Operation & Maintenance system軟體質量。對被測系統進行,壓力測試,穩定性測試。
另外,掌握QTP工具Lordrunner、Robot、QTP等自動測試工具的應用、Tcl/Perl/VB程式設計等語言
二.自動化測試進階歷程
初級階段:會使用測試工具的測試人員,不能夠稱為真正的自動化測試人員,一般可稱為“工具小子”,
中級階段:會使用測試工具的同時,能夠根據業務進行簡單指令碼的編寫
高階階段:除了中級階段部分,測試人員能夠編寫一些複雜工具供其他測試人員使用,並且結合實際業務,幫助他們解決問題
三.自動化測試從業要求
(1)、熟悉主流開發技術與自動化測試框架
(2)、熟悉主流自動測試工具,能熟練運用工具從事過相關測試工作
(3)、一年以上程式設計經驗;至少一年指令碼程式設計經驗(Tcl/Perl/VB優先),至少2年以上開發或自動化測試經驗;
(4)、熟悉ORACLE 或MYSQL、SQL SERVER資料庫,並能熟練編寫SQL語句,具備linux/unix、windows多平臺開發、測試經驗;
(5)、熟悉UNIX平臺,能熟練使用UNIX作業系統。有相關行業背景者優先考慮
(6)、具有很強的溝通理解能力和協調能力、前瞻創新能力,學習能力強,工作積極主動;
四.自動化測試為什麼要會程式設計
自動化測試人員一定要有開發能力,而這恰恰是目前市場反饋測試人員所欠缺的。沒有開發能力的測試人員雖然也可以做一些所謂的自動化,但也僅僅是一些皮毛,沒有辦法做到活學活用,更無法勝任高職位。根據某機構的調查資料,目前所有從事測試工作的人中,90%的人都沒有任何開發能力。根據目前的市場行情,如果在精通一門開發語言,能夠從純手工測試轉型為自動化測試工程師,月薪至少增加3~5k。這一點,已經從朋友的職業經歷得到驗證。
五.自動化測試模組級別有哪些
自動化測試分為三個層級:單元測試、介面測試和UI測試,這三層成一個金字塔形狀分佈。UI測試在最上層,介面測試在中間,最底層是單元測試。三個層面有何區別?下面透過表格來對比
單元測試
單元測試無疑是最適合做自動化的,但是,現實情況下,單元測試在絕大多數時候,都是由研發人員自己完成。單元測試的程式碼行覆蓋率能夠達到70%,就是一個非常不錯的程度了。不過,測試人員不做單元測試,但是可以嘗試推動測試人員來編寫單元測試用例,可提高編寫程式碼能力
單元測試常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的UnitTest等等;
一個測試用例通常由三部分組成——setUp,測試邏輯,tearDown。setUp用於準備測試資料,tearDown用於清理資料;
一般單元測試框架都支援裝飾器設計模式的註解,比如跳過執行,測試套件的組織,測試用例依賴管理等等
UI測試
目前,大部分的測試人員關注的多是UI的自動化測試。在傳統的測試行業,測試工程師都是從UI下手,來完成所有的測試工作,所以到自動化領域,大家也理所當然的喜歡從UI層來進行自動化。做UI自動化。UI測試有以下幾點思想供參考
分散式思想——— 一般當我們的case變得越來越多的時候,如何高效快速執行這些case成為關鍵,這就涉及分散式,Selenium,官方提供了一個Grid,可以適當研究下,理解一些原理
資料驅動思想—— 業務邏輯在某種程度上存在共性,同一段程式碼的業務邏輯可以透過更換資料輸入,來生成多個測試用例,我們只需維護測試資料就可以維護case,這種框架思想在很多測試工具中都有實現
介面測試
介面自動化,是目前最適合測試工程師進行自動化的一層。介面不但變化小,執行速度快,出現問題後能夠很快定位。
六.什麼時候做自動化
需要明確一點,自動化是為了保證各項功能模組正常而做的工作。
1.專案穩定時,此時自動化可以參與其中,因為這時針對已有功能,專案功能模組比較穩定,即便後續更改也是迭代,自動化測試變更基本不大,而對新功能,不確定性風險高
2.需要反覆進行某項測試,可以考慮使用區域性自動化
3.某項功能測試,需要多個輸入時,可以考慮使用自動化測試
最後,自動化測試之路是漫長的,涉及的知識面也是比較廣的,不過,只要有信心,每天一小步,每天進步一點點,長此以往,你會發現自己越來越成長,越來越優秀。最後,祝願找到一份好工作,走好人生路!
-
5 # 軟體測試開發
有關測試開發的介紹和技能,可訪問這裡https://m.toutiaocdn.com/i6989871353839239716
-
6 # 快樂桑巴
這個問題太籠統了吧?
現在測試分門別類,web,移動,嵌入式
針對具體的類別查詢相應的測試類別,測試方法嘍……
舉例:android有很多測試框架
robotium、monkeyrunner
還要分ui測試及單元測試
這些不行就報班。要麼自行學習。
-
7 # 逍遙憶星學基金
其實很簡單,當然過程會比較痛苦,那就基於提升效率, 儘可能的把費時費事的測試工作用機器或用一些更加有效率的方式去實現。逐步透過拆解費時費事的工作,而有目地的去學相應的東西。慢慢的就可以轉到測試開發崗位了
-
8 # 妖精的尾巴1056
~首先,手工測試和測試開發的職能都是為了要保障專案和產品的質量,所不同的是測試開發是偏向把測試技術化來提升測試效率。
手工測試要轉測試開發就是學習如何更有效地提升測試效率,把最耗時重複測試工作用工具或指令碼代替。
學習一些測試工具的使用,如Jmeter,postman做效能和介面測試;學程式語言,寫自動化指令碼做迴歸測試。
手工測試轉測試開發是個技術提升的過程,在工作之餘多練練手寫寫小指令碼和自動化測試,可以和開發多交流。轉不轉得成功,就看能力和運氣了…
回覆列表
首先你先得理解測試開發崗位跟手工測試崗位的區別,手工測試當然就是指一般的功能測試,純手工測試一般都是剛入行的人必須要接觸的,其中你可以學到一些測試的基本思維,測試用例的設計方法,測試環境的搭建等,總的來說就是一些基本功。然後測試開發崗位對於每個公司來說職業和定位可能也有差別。但是這個職位的基本技能是不會變的,那就是程式碼能力,手工測試人員如果日後想轉測試開發崗位,那你必須要有一定的程式碼編寫能力,這個崗位的職業基本就是負責測試工具測試平臺的一些開發。至於要學什麼語言程式碼,這裡建議學習python或者java其中一門就行了,python對於程式語言小白來說可能比較容易上手。最後再建議如果要從手工轉測試開發,可以嘗試走以下路線:手工測試,自動化測試,開發測試工具。因為一般的ui和介面自動化都是接觸比較簡單的程式碼,等自動化熟悉了,再嘗試接觸開發測試工具,會比較容易上手,也可以從那些自動化測試工具中學到一些測試工具的設計理念等