軟件測試員必須編寫代碼嗎?掌握多少編程能力才夠?

痰盂


軟件測試員不一定非要掌握代碼,這點是可以肯定,如果你是軟件測試從業人員,掌握一門編程語言對你來說是非常好的,因為你的升職機會要多一些!

來看一下這個職業規劃,如果你懂編程,會寫代碼,你相對於其他只會測試的工程師要早一步到主管、經理的位置。軟件測試人員是需要和開發人員溝通的, 你自己懂代碼,溝通起來就比較簡單!

當然,不懂代碼也是可以做測試人員的,下面來看這張圖,你可以看看自己學習到了哪個階段,然後可以做什麼哦!

這個軟件測試學習路線呢,有你所需要了解的知識點,然後能做什麼工作。最後附帶一張超高清的學習路線圖,希望能幫到你的學習!

如果想要軟件測試學習視頻,可以後臺直接回復 軟件測試 即可。


黑馬程序員


首先,對於基礎軟件測試人員來說,不是必須掌握編程的,但是具備編程能力會更好。隨著測試崗位的不斷提升,掌握編程能力會進一步提升測試人員的工作能力。

要想了解測試人員的知識結構,首先要知道測試人員的工作流程以及工作職責。做軟件測試,首先要了解軟件的生命週期,週期內各個流程都需要不同的能力(各個週期內要做的參考CSTQB),比如說:在需求設計階段,測試需要理解需求和業務知識,在用例設計階段,測試人員需要根據需求識別業務場景,進行用例大綱設計、用例設計、用例評審等,在測試執行階段,需要執行測試用例加探索測試,在測試總結階段,則需要收集測試數據,總結測試報告等。

通常情況下,測試人員一個重要的內容就是編寫測試用例,測試用例需要根據不同的需求來編寫,在實際操作的過程中,不少測試用例是可以在某種程度上進行復用的。測試通常分為自動化測試和手工測試,自動化測試需要掌握工具的使用,比如RobotFramework,當然自動化測試工具很多,功能上也都大同小異,測試人員可以根據自己的知識結構和測試需求來選擇。

測試需要掌握的知識結構是比較豐富的,簡單的說,不同的項目需要了解不同的技術體系,比如通常需要掌握數據庫知識、操作系統知識(Linux)等。測試工程師需要測試的另一個內容就是代碼覆蓋率,通常情況下代碼覆蓋率的測試需要開發人員配合完成,開發人員提供代碼,測試人員進行代碼部署之後,跑相應的報文,然後把結果記錄在log中,然後計算代碼覆蓋率,測試的主要任務就是考慮使用哪些請求報文。

隨著軟件行業的不斷髮展,對於測試人員的知識結構有了更多的要求,掌握編程能力會在一定程度上提升測試人員的崗位競爭力,對於測試人員來說,可以從學習Python編程開始,然後在工作中不斷提升。

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

如果有互聯網方面的問題,也可以諮詢我,謝謝!


IT人劉俊明


軟件測試掌握多少編程能力才夠?

先說這個編程能力,一方面是計算機相關的通用知識,也就是操作系統、網絡、linux、數據庫、shell腳本;另一方面需要學習測試的基礎知識,一些測試流程,測試用例的設計方法、缺陷的管理等等。基本上就可以勝任在企業中的測試工作。

但是,現在軟件測試發展比較好的,都是技術型的測試工程師。大概掌握的是:自動化測試、接口性能測試、安全測試等等,掌握這些計算機技術的前提還有就是掌握一門計算機編程語言。

如果自學,推薦去傳智播客社區,比較高端的社區了,內容是從線路圖--->基礎入門--->進階--->工具經驗--->面試大全

軟件測試員必須編寫代碼嗎?

在軟件測試的初級階段,不需要編程能力,這個也是肯定的。可任何職業發展路徑,都要考慮的是追求長期更長遠的發展。想要可持續發展,編程能力實際上是必要的。所以,結論是前期入門是不用的,後期你想不被淘汰是一定要回寫代碼的。

下面我們來分析一下原因:

  • 做自動化測試的時候,我們需要寫代碼;

  • 白盒測試的時候,我們需要讀懂代碼和寫代碼;

  • 做數據庫操作的時候,我們需要會sql的增刪改查這類操作

  • 在敏捷測試的過程中,我們需要會寫自動化測試

  • 做性能測試的時候,我們需要寫代碼

  • 做安全測試的時候,我們需要寫代碼

  • 做數據測試的時候,我們需要寫代碼

軟件測試的基本測試策略分為:手工測試和自動化測試。有可能進一步劃為黑盒測試以及白盒測試還有灰盒測試。不同的測試策略也有不同的測試技術:

  • 黑盒測試,我們不需要編程能力,測試人員只是需要通過輸入數據來測試軟件,然後檢查輸出。

  • 白盒測試,即或是測試或者代碼檢測的時候,我們需要足夠好的編程能力,因為我們需要關注代碼覆蓋、語句覆蓋。開發自動化測試框架等等,同樣的我們是需要具備前端、數據庫等等的一些技術。

  • sql,我們需要掌握上面說過的數據庫的增刪改查操作,一邊驗證一些數據。甚至實現自動驗證。

  • sql-注入,這裡指的是通過插入不必要的命令來進行數據庫黑客攻擊的技術之一,其中可以使我們很好的瞭解JavaScript和SQL使用命令可以避免這種軟件安全威脅。

  • 敏捷測試,在這個過程中間,測試人員一起編寫測試,所以為此創建一個自動測試,測試人員必須要知道代碼。

一個優秀的測試人員應該具備什麼:

  1. 較好的領域知識
  2. 良好的邏輯思維
  3. 優異的編程知識
  4. 測試人員在進行自動化測試的時候需要良好的編碼知識

詳細學習路徑可參考黑馬程序員中的學習線路圖,關注加私信也可以領取配套視頻~


傳智播客


這個看情況吧。主要是看公司,有些公司比較老了或者創業初期,沒有那個要求。

如果不會寫代碼,只是手動測試,各個功能點一點,非常的耗時間,且很多bug測試不出來,也非常需要經驗的積累。而且很容易被替代,因為這個沒有太多的難度,換誰都可以做。自己的核心價值不容易體現。這種的測試員也相對來說比較低級。

所以還是要學會寫代碼。首先看看一個專業的高級軟件測試員,要會的內容。

當然,短時間內不可能學會這麼多東西,因此要有方向,看公司的需要測試的業務是什麼再進行針對性的學習。如果還未就業,只是想學習,個人建議學習一下自動化測試。那麼學習一下Python就很有必要。那麼Python怎麼學習呢?

查看上圖,可以在慕課網上學習。學習Python的同時,unix/linux系統也要會,數據庫知識也要學點。學完這些找個測試工作不難,進入公司之後,針對方向再進行專業化的學習比較靠譜,不然自己的不知道往哪個方向學習,學了也不知道有沒有用。


娛樂爾


看測試在什麼層次,如果是應用層面,一般是需要對業務非常熟悉,能夠清晰的瞭解業務的工作流,軟件的功能,如何使用,通常是黑盒測試。不過隨著對自動化測試,單元測試的重視,這方面的人才需求變得非常少,而且要求較高,一般都只需一兩個業務專家,甚至是產品經理代為簡單試用。而測試中心則推往開發一側,在開發階段編寫測試例。這樣就對編碼有了要求。所以如今的軟件測試還是需要相當的編碼能力,畢竟大多數軟件的領域要求並不高,基本不需要這樣的測試人員,如果高的話,做領域專家可能要比寫兩行代碼更難。


zhangyiant


本人曾經任職於各階級的公司,上到BAT,下到創業公司,說實話,遇到過會寫代碼的測試工程師還是比較少的。我這裡從一個前端工程師的角度說一下一個合格的測試工程師需要具備怎樣的代碼能力吧。


1. 首先,你要具備正常的甚至超凡的閱讀理解能力。為什麼?因為在測試開始之前,你需要理解需求,那麼你就需要去閱讀PRD(產品需求文檔)。大部分情況下,具備正常的閱讀理解能力就足夠了的,當然也有部分很low的產品寫的PRD跟屎一樣,甚至都沒有一句通順的話,這時候你非但需要相對優秀的理解能力,以及我即將說的下一點。


2. 具備較高的溝通技巧。PRD寫的跟屎一樣,導致你無法理解需求,你總需要去找產品對一遍吧?怎麼在最短的時間內搞清楚自己的疑惑?————這時候就需要相對較好的總結問題的能力以及溝通的技巧(畢竟還是要忍住心中的怒火不去罵產品,或者用更委婉的方式罵?)

測出bug了,你就要去找前端/後端溝通了吧,這是不是一個bug?是前後端誰的職責(直接影響你的bug要提給誰,雖然大多數測試人員都是提給前端,再由前端去“分發”bug,但如果作為一個測試工程師的你能精確的把bug提給正確的責任人,那麼升職加薪就離你不遠了)


3. 學習能力。這一點就不作過多解釋了,現在已經進入終身學習的時代了。


4. 編程能力。其實這個,真的不重要,但卻是一個錦上添花的技能。大多數在工作中需要用到的編程技巧可以通過學習快速掌握(往往只是寫sql層面?),這裡的編程能力,不是說能寫代碼寫算法實現各種功能,而是一個編程界的大局觀,最主要的一個體現就是:前後端的能力邊界在哪裡。這個可以直接影響到一個測試工程師和前後端工程師交流時是否足夠通暢,是否能引起共鳴,這就又直接導致了雙方是否會出現英雄之間惺惺相惜的情愫,再往以後就會影響到測試人員和開發之間的關係是否融洽,是否能夠愉快的在一起工作(咳咳,貌似扯遠了)。



總之,不要因為不會編程就在面試工作的時候缺少信心。一個優秀的測試工程師,具備我這裡所說的前三點就夠了,至於編程能力這一點,沒有也行,有了更好。


前端下午茶


測試分為自動化和半自動化,自動化成都越高對變成能力初期要求會弱一點,但是要實現自動化的構建則要求就很高了!另外對於半自動需要人工參與的要求相對少,但是對業務邏輯和測試的基本規範要熟悉,例如輸入框的大小,長度的限制,是否有提示,是否可回填,內容是否可以粘貼等等。對於黑盒測試要求會低一些,對於白盒測試會高一些,對於壓力測試必須要技術過硬!


我愛助人


如果是功能測試,只需要產品經理就可以了,他來測試他自己寫的特性是否正常,這沒什麼可以辯駁的。作為軟件測試人員,是在功能測試前保證軟件質量的。這涉及從基礎的單元測試,到壓力測試,等一些列測試,全部需要編程才行,通常用跟程序一樣的語言或者python。


我低端就改我名


有編碼能力更好,沒有也可以做黑盒測試,也就是簡單的功能測試,也包括安全測試。

對於高級一些的白盒測試要求懂代碼,性能測試更是要求高。至於自動化測試需要懂代碼腳本,否則全靠UI級別的 拖動,很難寫出流暢的自動化腳本


歪脖貳點零


自動化測試和壓力測試腳本


分享到:


相關文章: