誰說軟件測試簡單了?


 
經常聽想入行的朋友說:
 
我想轉軟件測試,聽說軟件測試很簡單。
 
這時我的心里就呵呵了,誰說軟件測試簡單了,你知道嗎?測試工程師要會的,要了解的東西比開發多,比運維多,比DBA多,比產品經理多,不管是是從廣度還是維度上來講,測試人員需要掌握的東西都太多了。
 

 
那就分析一下測試工程師需要會哪些技能:
 
01
軟件測試理論
 
作為一個軟件測試人員,總不能不知道軟件測試本身的東西吧。
 
你總要知道軟件測試是什么?什么是測試用例?什么是缺陷?軟件測試有些什么特點?這些僅僅是理論,現在還不關心會不會做。
 
比如軟件測試的定義,軟件測試是測試程序?還是測試文檔?還是測試軟件等?
 
02
軟件測試流程
 
如果要清楚軟件測試流程,那就一定要知道軟件工程、軟件生命周期、研發模型、測試模型。
模型又有經典的瀑布模型、目前最流行的敏捷開發流程、V模型、W模型、X模型、H模型等,這些模型至少要隨便知道三四種吧。
 
03
測試文檔
 
軟件測試是技能型工作,不是研究型工作,了解了軟件測試理論之后,你總會要做點東西吧,比如寫寫文檔。
 
軟件測試人員必備技能之一就是寫文檔,會總結。
 
軟件測試有很多文檔要寫,比如測試計划、測試方案、測試用例、提交bug單、測試報告,有時每個迭代完全后,老大還會要求你輸出幾份經驗文檔出來,可見會寫文檔的測試人員是多么的必要。
 
04
計算機基礎
 
軟件測試工程師怎么說也算是IT人員,計算機基礎總要會吧。
不然讓你關個服務,你迷茫……
讓你配置個環境變量,你再迷茫……
讓你安裝軟件,卸載個軟件,你搞半天,安裝的軟件全在C盤,卸載軟件完全沒卸干凈,重裝不成功,然后你再再迷茫……
讓你在DOS命令窗口查個IP,然后再配個靜態IP,你再再再迷茫
………………
計算機基礎是軟件測試人員必備的技能之一。
 
05
軟件、工具
 
作為一個IT人員,你好意思說自己不會幾個軟件么?
 
那我們就一起盤點盤點,軟件測試人員必須要會的軟件:
 
office辦公軟件就不說了,軟件測試要寫這么多文檔,office辦公軟件一定要會。
 
需求分析時,拆會測試點時,總要畫一下思維導圖,所以XMIND或其它思維導圖軟件總要會一個吧。
 
配置管理工具,不管是以前的SVN還是現在流行的git總要會一個。
 
遠程連接工具,數據庫和服務器基本都是配置機房,所以數據庫和服務器的遠程連接工具都要會,你總不能跑到機房去操作吧,如果你跑到機房去操作,那一定記得帶台顯示器去。
 
碰到不會的,總要查一下度娘和谷叔吧,你不會說這個人人都會,千萬別這樣!要不然怎么會有相同的問題,別人就能快速找到解決方法,而你搜索出來的網頁總是找不到呢?
 
06
數據庫
 
不管是MySQL,還是Oracle,還是SQLServere,還是DB2等等,數據庫的特性、性能和優化可能不用知道,但是SQL語言總要會吧,誰讓它們都認識SQL語言呢。
 
SQL語言又會為DDL、DML、DQL、DCL。
 
數據定義語言(DDL):       
用於下定義和管理數據對象(庫,表,索引,視圖),包括數據庫,數據表等,例如:CREATE DROP ALTER等語句。
 
數據操作語言(DML):
用於操作數據庫對象中包含的數據,例如:INSERT UPDATE DELETE語句。
 
數據查詢語言(DQL):           
用於查詢數據庫對象中包含的數據,能夠進行單表查詢,連接查詢,嵌套查詢,以及集合查詢等各種復雜不同的數據庫查詢,並將數據返回到客戶機中顯示,例如:SELECT語句。
 
數據控制語言(DCL):
用於管理數據庫的語言,包含管理權限及數據更改,例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。
 
就算軟件測試人員不需要關心數據庫結構,可以不用DDL、DCL,但是針對數據(增、刪、改、查)的DML、DQL語言一定要會吧。
 
就算你說insert、update、delete語句都很簡單,照着格式直接使用就行,那select呢。
 
select語句不僅有簡單查詢,還有復雜查詢。
 
復雜查詢中包含多表查詢、連接查詢、子查詢,以及包含各種函數進行的查詢。
 
這些語句軟件測試人員都要掌握吧。
 
07
LINUX
 
Linux做為服務器的操作系統,軟件測試人員需要經常在LINUX上進行搭建測試環境。
 
如果你說公司的測試環境都是開發搭的,系統和軟件是運維裝的,不用了解Linux系統。
 
那你就大錯特錯了。
 
如果測試過程中,運行報錯了,總需要在后台去看看日志吧,分析下是不是bug,如果是bug,總還需要定位一下吧。
 
如果Linux系統很卡時,你總要去查下進程,查下系統資源管理,或者殺死幾個進程,重啟下服務什么的。
 
那這些命令軟件測試人員總都要會吧。
 
如果你說這些還都可以依靠開發和運維,那你就當我沒說。
 
08
編程語言
 
既然是IT人士,如果出去說自己不會一門編程語言,好像很沒面子一樣的。
 
目前世面上編程語言有C、C++、C#、世界上最好的語言(PHP)、JAVA、Perl、Python等等上百種,那你總要選一門語言學會使用。
 
一般情況下都是選公司系統目前所用的語言。
 
但如果不知道怎么選,那我建議軟件測試人員可以選JAVA和Python,JAVA經久不衰定有它過人之處,Python能在這么短的時間內火起來,也一定是有原因的。
 
如果沒有任何編程基礎,建議先學Python,Python更加貼近自然語言,學起來更順手,更快。
 
09
行業
 
軟件測試有一條原則是:測試活動依賴於測試內容。
 
那這個測試內容就是公司業務,在成為業務之前,俗稱需求。
 
經常在JD中看到有支付行業經驗優先,有金融行業經驗優先,有電信行業經驗優先,有電商行業經驗優化……
 
為什么會這樣呢?
 
那是因為測試人員一定需要了解業務,熟悉業務。
 
從事電信行業的測試人員需要掌握各類協議,比如HTTP協議、TCP/IP協議,還有可能需要熟悉交換機和路由器的原理。
 
從事金融行業的測試人員需要熟悉各種會計知識。
 
如果是測試嵌入系統的測試人員還需要了解硬件知識。
 
軟件測試人員需要非常熟悉所測軟件的業務,比誰都要熟悉。
 
以上這些都是基礎中的基礎。
 
如果你還成長成大牛,作為測試人員還需要會自動化測試、性能測試、安全測試、接口測試等。
 
那每一種測試有涉及到各種各樣的工具和框架,比如自動化測試。
 
比如工具就RobotFramwork、QTP、Selenium、AutoRunner等等很多很多,雖然不需要全都掌握,但至少要會一種吧。
 
那其他的測試類型也一樣。
 
你還能說軟件測試簡單么?
 
最后,王豆豆想說”路漫漫其修遠兮,吾將上下而求索“,Tester們一起努力吧。
 
歡迎關注微信公眾號:資深Tester,了解更多好文,和王豆豆一起成長。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM