回覆列表
  • 1 # 千鋒頭號粉絲

    很多朋友看到了一些宣傳,看到軟體測試門檻低,就認為軟體測試甚至不需要報班學習,只用自學就夠了,那麼真的是這樣嗎?下面,就讓我們一起來看看軟體測試工程師都得會些什麼吧!

    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協議,還有可能需要熟悉交換機和路由器的原理。

    從事金融行業的測試人員需要熟悉各種會計知識。

    如果是測試嵌入系統的測試人員還需要了解硬體知識。

    軟體測試人員需要非常熟悉所測軟體的業務,比誰都要熟悉。

  • 中秋節和大豐收的關聯?
  • 盆栽桂花老葉尖發焦怎麼辦?