軟體測試員必須編寫程式碼嗎?掌握多少程式設計能力才夠?
我相信每一個剛入門軟體測試的萌新都會琢磨一個問題:軟體測試人員,要不要懂程式碼?其實這個問題同樣困擾著已經在測試行業闖蕩了幾年的測試小司機們。
那今天,我就來給大家分析一下:
在軟體測試初級階段,不需要程式設計能力。
但是任何一個職業,都會追求長期發展,
想要可持續發展,變成能力還是很必要的!
軟體測試的方法會因軟體產品的需求、行業的不同而所有不同,而優秀的測試員在整個產品的測試過程中扮演著極其重要的角色。
軟體測試員掌握 多少程式設計技能才夠?
一提到程式設計和除錯,絕大部分人一定會說這是軟體開發工程師的工作,那為什麼軟體測試工程師也必須掌握程式設計能力呢?
下面我們分析下原因:
做自動化測試時,你需要寫程式碼
做白盒測試時,你需要讀懂程式碼和寫程式碼
做資料庫操作時,你需要會sql的增刪改查操作
在敏捷測試過程中,你需要會寫自動化測試
做效能測試,你需要寫程式碼
做安全測試時,你需要寫程式碼
做資料測試時,你需要寫程式碼
軟體測試的基本測試策略:手工測試和自動化測試。又可能進一步劃為黑盒測試、白盒測試、灰盒測試。不同的測試策略要求不同的測試技術。
你會發現:
從事黑盒測試,你可能不需要程式設計能力,測試人員只是透過輸入資料來測試軟體,然後檢查輸出。
從事白盒測試或基於程式碼驅動測試模式時,你必須具備程式設計能力,掌握例如python、java、c++、sql等等各種程式語言
從事自動化測試或程式碼檢測時,你需要足夠好的程式設計能力,因為你需要關注程式碼覆蓋、語句覆蓋。開發自動化測試框架等等,同樣你也可能需要具備前端、資料庫等等一些技術。
sql,你需要掌握各種資料庫的增刪改查操作,以便驗證一些資料,甚至實現自動驗證
sql-注入,“sql注入“是透過插入不必要的命令來進行資料庫駭客攻擊的技術之一。對.有很好的瞭解JavaScript和SQL使用命令可以避免這種軟體安全威脅。
敏捷測試敏捷測試整個團隊負責軟體的質量。在整個敏捷過程中,測試人員將與一個或多個程式設計師一起編寫測試。因此,為了建立一個自動測試,測試人員必須知道程式碼。
所以,作為一名想要可持續發展的軟體測試員,會程式設計懂程式碼是非常有必要的!
整個專案階段,測試員的工作過程
1、版本或者產品的規劃階段: 作為一個測試人員,這個時候可以從一個更高的角度對產品的規劃提出自己的想法,來更好的幫助產品取得成功。需要具備的能力或者知識:對於產品的商業理解以及整個行業和市場的理解都比較深入,實際上這個時候我們可以將自己看成是一個產品經理。 2、版本的需求階段: 測試人員已經能夠開始做需求階段的缺陷預防,保證需求是能夠滿⾜足使用者的原始需求,並且整個需求都是非常清晰和合理的,版本後期沒有需求不合理或者需求不清晰的問題。需要具備的能力或者知識:對於客戶的使用場景非常清楚,能夠在客戶角度上面思考問題;有自己的一套需求分析的方法,最好是模型或者checklist之類的;非常好的分析能力,能夠透過需求文件分析到可能潛在的問題。 3、設計階段: 測試人員開始做設計階段的缺陷預防,能夠對於研發的整個設計方案非常清楚,能夠根據研發設計文件裡面的業務邏輯圖自己能夠站在測試的角度來畫出一份讓測試人員更加容易理解的業務邏輯圖,並且能夠發現研發在設計方案上存在的一些問題,並且指導研發進行修改。需要具備的能力或者知識:比較深入的業務背景知識;熟悉開發使用的語言;業務分析和轉換的能力; 4、編碼階段: 測試人員開始編寫單元測試、介面測試用例、測試工具或者自動化測試用例,並且開始思考後面如何去更好的測試,並且幫助研發提前做好編碼階段的缺陷預防,甚至做得測試驅動開發。需要具備的能力或者技能:熟悉開發使用的編碼語言、能夠對開發的程式碼進行靜態走讀、熟悉開發使用的編碼語言的單元或者介面測試方法和框架、具備測試工具開發的能力、具備自動化的能力,良好的程式碼分析能力和用例設計能力。 5、測試階段:
測試人員開始制定測試策略和測試計劃、執行測試用例、發現和定位bug、跟蹤和迴歸bug,質量分析,有效的探索性測試等等,目的是花更短的時間來更好的保證質量。具備的能力或者技能:制定策略和計劃的能力、執行能力、分析和排查問題的能力,業務的理解能力,對程式碼的熟悉程度,模組的質量分析能力等等!
總結:
軟體QA通常分為兩類,
Qa測試人員:它不需要編碼知識。
SDET:它需要編碼知識
一個優秀的測試 員 應該具備 什麼?
良好領域知識
良好的邏輯思維
良好的程式設計知識。
測試人員在進行自動化測試時需要良好的編碼知識。
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2636730/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試員一定需要懂程式設計程式碼嗎?程式設計
- 測試工程師必須要會寫程式碼嗎?工程師
- 寫給軟體測試程式設計師:這5大點必須提起注意!程式設計師
- 程式設計師可以自己寫測試?還需要測試人員嗎?程式設計師
- Android 程式設計師必須掌握的三種自動化測試方法Android程式設計師
- shell程式設計必須要掌握的命令-xargs程式設計
- 程式設計師必須掌握哪些演算法?程式設計師演算法
- 做軟體測試需要懂程式碼嗎?
- 軟體測試必須掌握的http網路協議知識HTTP協議
- 軟體測試必須掌握的 http 網路協議知識HTTP協議
- Java 程式設計師必須掌握的 Linux 命令Java程式設計師Linux
- 軟體測試用例的設計和編寫
- CCUT程式設計能力測試---前言程式設計
- 使用 xunit 編寫測試程式碼
- 使用 intern 編寫測試程式碼
- 程式設計師必須掌握的資料結構 1程式設計師資料結構
- 程式設計師必須掌握的資料結構 2程式設計師資料結構
- Java程式設計師必須掌握的5個註解!Java程式設計師
- Java程式設計師面試必須要掌握的面試題Java程式設計師面試題
- 程式設計師必須掌握的五個seo知識程式設計師
- 測試工程師必備:掌握這5種設計方法快速編寫測試用例~思路分析工程師
- 程式設計師必須掌握的核心演算法有哪些?程式設計師演算法
- 程式設計師生存指南:你必須要掌握的兩點!程式設計師
- 前端進階-編寫測試程式碼前端
- 編寫可測試的 JavaSript 程式碼Java
- 編寫可測試的 JavaScript 程式碼JavaScript
- 軟體測試人員就是QA嗎?
- JMH-大廠是如何使用JMH進行Java程式碼效能測試的?必須掌握!Java
- 程式設計師 vs 編碼員程式設計師
- 測試人員必須要知道的軟體測試流程,廣東第三方軟體測試機構推薦
- 寫給程式設計師的軟體測試指南:人人都可以開發無Bug程式碼程式設計師
- 你們現在編寫程式碼是從先寫測試開始嗎?
- 技術人必須掌握能力——深度思考
- 為什麼說 Java 程式設計師必須掌握 Spring Boot ?Java程式設計師Spring Boot
- Java程式設計師必須掌握的Spring依賴管理原理Java程式設計師Spring
- 牛逼程式設計師必須要掌握金字塔思維程式設計師
- Java程式設計師必須掌握的7個Java效能指標!Java程式設計師指標
- 程式設計師,你能真正掌握多少程式設計技術?程式設計師