天天看點

作為軟體測試的前輩你能不能給我點建議?

抛出建議:一旦走上測試之路,要想把測試工作做好,有四個地方需要注意,分别是:思想、技術、溝通、語言。接下來我講根據我的經曆來分享下這4個方面的經驗,真心希望對你有用:

  1. 測試思想
  2. 技術(用例設計優秀)
  3. 測試溝通

    4.語言(本應該歸為技術,但現在來看太重要了,是以單獨摳出來,且放在最後)

建議一、測試思想:

測試與開發、運維、産品最大的差別就是,一名Tester有着自己的測試思維。那麼我們測試需要注意哪些呢?

1. 站在“使用者”角度去測試

進行測試時很容易陷入的一個誤區就是"根據需求測試”。話雖然沒有錯,但是如果隻根據需求進行測試,就很難發現一些隐藏的問題,是以我們最好是能站在“使用者”角度去發現問題。

例如:進入百度首頁之後,立刻就能看到很幹淨的搜尋按鈕。

這是因為百度基于“使用者”角度思考發現,使用者用百度就是用搜尋

作為軟體測試的前輩你能不能給我點建議?

2. “海盜精神”思維 :要懷疑産品一定有問題

測試的本質是為了發現品質問題,保證産品品質。

為了發現品質問題,我們可以像海盜一樣勇敢的去懷疑,去探索 ,認為産品一定存在問題。

作為軟體測試的前輩你能不能給我點建議?

事實上,每次釋出上線時,我都會在心裡嘀咕:“完蛋了,還有問題沒有測到就要上線了”,“時間不夠”,就是測試永久的心理狀态。

建議二、用例設計優秀

有一定經驗的測試可能覺得很奇怪,實際工作中,好像很少用到用例設計,為什麼用例設計要求優秀呢?答案很簡單,在大部分軟體中,資料層次結構都很簡單,邏輯依賴關系較弱,無非就是些增删改查,再加上一點點業務場景。這些功能點都非常簡單,是以不需要用到很複雜的用例設計技術。

但是對于複雜的業務,我們很難了解的内部互動的純“功能”業務,這個時候,最好的方法就是使用用例設計的方法論:等待類、判定表、因果圖、正交分析法等方法來拆分,得出覆寫全面的測試用例。

建議三、溝通技巧

因為測試是産品釋出的最後一道關卡,是以公司CEO,各部門老大,開發都關注測試的進度和問題,是以咱們測試需要和各層溝通,協調。

1. 測試和開發溝時,需通要樹立共同的目标

這裡測試和開發很容易有的一個誤區就是,測試和開發是對立的,其實不是,測試和開發是有着相同立場的,那就是保證産品品質。

由于測試是發現問題的那一方,是以測試需要注意溝通技巧,對開發要有耐心,引導大家朝更高品質的目的前進。

測試和開發如果溝通有問題,就會出現互相拆台,浪費時間:

我以前就遇到過,開發為了測試是不是真的認真在測試,故意在測試版本上寫出一些BUG,然後等測試測完後問:“你沒有發現這個BUG嗎?”。

也有測試發現很多BUG後,投訴開發天天“寫BUG”。最後隻能是鬧了笑話,浪費時間。

2. 主動溝通推進問題

很多測試人員認為,測試做好本職工作,送出BUG之後,剩下的時間就是等待開發修複,然後回歸。

其實并不是,在實際項目應用當中,測試發現問題之後,應該要主動推動問題解決,這樣才能更高效率的節省時間,提高工作效率。

建議四、語言熟悉(最重要的建議)

在這裡我非常建議大家要認真學一門語言(程式設計),因為懂語言(程式設計)關系到測試的薪資,加薪速度,是否能站在測試的最前沿,因為畢竟目前流行的自動化測試和遭瘋搶的測試開發都需要懂語言(程式設計)。

可能有些朋友會反駁說,我就是一個測試,我幹嘛要學程式設計,“做好測試的根本是了解産品”,“測試本質是去了解業務和需求”,“測試工具的學習成本比較低”…

但我就問一句:不懂代碼邏輯,不懂代碼原理,測試人員就會陷入“為何要測這麼多點,要測這麼多項”的困惑,那還怎麼做測試?

再多問一句:沒有代碼能力,你有機會成為測試領域最前沿的人員嗎?

不懂代碼,就不會了解代碼邏輯層次的耦合,就會不了解資料庫設計,甚至還可能不了解網絡層如何通信,拓撲架構……

這種“不不不”同學能明白研發項目的風險麼?

不明白風險,就難于精确設計測試用例,遺漏高風險場景可怎麼辦?

這種“不不不”的軟體測試人員,哪個大企業敢要?

作為軟體測試的前輩你能不能給我點建議?

是以這兩年在網際網路上,針對測試是不是好找工作,出現了兩種極為沖突的聲調:

一方面大量測試人員,在知乎貼吧吐槽測試飽和不好找工作

一方面卻是大量網際網路公司在招聘網站瘋狂招聘測試,導緻測試平均薪資年年上漲,現在已經快達到20 K(飽和的崗位能薪資年年漲?)。

如果熟悉一門語言,例如python,那麼咱們可以幹嘛呢?

生成難以構造的測試資料:随機數、訂單号

做自動化測試:把測試用例都用代碼實作,用代碼一鍵運作,實作自動化測試

制作測試工具:使用語言可以制造一些特殊的測試工具,例如我之前測試過攝像頭服務端測試,就編寫了模拟視訊流的工具,模拟100個攝像頭向伺服器傳輸視訊資料,給伺服器增加壓力。

懂了語言,無論是java還是python,我們才能從事更流行的自動化測試,才能從事被大廠瘋搶的測試開發。

五、總結:

繼續閱讀