原創 做軟體測試到底要不要學程式設計?

2021-09-19 22:53:19 字數 2152 閱讀 6865

賈伯斯曾經說過「每個人都應該學習程式設計,因為它會教你如何思考」,看,喬幫主都覺得所有人都應該學程式設計,那你說做測試的要不要學?當然要。

作為測試人員,除了上面這個原因,我覺得如果會程式設計,還有下面 3 個好處。

1、知道技術實現,可以設計更有針對性的用例

比如我在《需求評審之實戰演練》中提到的關於計算器的測試,有些人會寫一條用例是「測試乙個超大的數」。

但是問到多大數算大?100000 算不算?很多人回答不上來。

也就是說,很多人知道需要測試邊界值的情況,但是沒人知道這個邊界值到底是多少。

當然也不是所有人都不知道。

比如有人說,是 int 型別的最大值,得,能說出來這個就已經很靠譜了,試想下,如果你不會程式設計,你能知道什麼是 int 型別?你能知道用 int 的最大值去做針對性測試?

2、更容易和開發進行邏輯層的溝通,更好的拓展測試思路。

比如乙個同學發現乙個 bug:

如果在 windows 的系統盤根目錄丟乙個 program.exe 的檔案,某些程式在執行程序建立時,就會出錯,把 program.exe 執行起來了。

於是這個同學就去找開發溝通。

第乙個同學的溝通過程是這樣的:

測試:「xgg,這個問題是什麼原因導致的?」

開發:「目標程序路徑帶有空格,我**中沒有加引號,所以就出問題了。」

測試:「噢,好滴。」

另乙個同學覺得還是有疑問,於是再次找到開發。

測試:「xgg,具體是哪個實現的問題?是我們內部的函式實現?還是呼叫的系統 api 有問題?」

開發:「我用的 createprocess api,他的第二個引數如果帶有空格,又沒有加引號,就會出這個問題。」

測試:「createprocess api 使用的地方很多,能否搜一下看看每個地方本次都做了修改?」

開發:「好,馬上看。」

測試:「同樣功能的 createprocessasuser、createprocesswithlogon、createprocesswithtoken 應該有類似的問題,可以一起搜一下看看都處理了沒有。」

開發:「好,立刻看。」

如果你是開發,你喜歡和哪一位測試配合?

如果你是測試,你希望自己前面那位同學還是後面這位?

3、更好的自動化思維,把提效落實到實處。

現在很多功能,都會在邏輯中加一些日誌,如果是除錯版檔案,日誌輸出就更多了,對於客戶端產品來說,很多日誌輸出在 db**iew 裡,我們可以通過一些過濾條件進行過濾,甚至設定高亮,但如果是輸出的純本地的文字日誌,那麼每次檢視日誌就必須要 ctrl+f 然後輸入關鍵字逐個去確認了。

我們看看手工操作的步驟:

第一步:找到日誌檔案並開啟;

第二步:ctrl+f 調起搜尋框並輸入關鍵字;

第三步:回車-檢查-回車-檢查,如此反覆;

這時候如果有乙個同學,會一些簡單的指令碼技術,可能會考慮對這個過程做乙個優化,比如提供乙個工具,只需要在工具中輸入關鍵字,工具就會自動找到日誌檔案,並把所有關鍵字相關的記錄都提取出來,會不會爽很多?

我們看看使用這個工具的操作步驟:

第一步:開啟工具並輸入關鍵字(工具自己查詢日誌路徑,並且在每次操作時都保證獲取的是最新的日誌);

第二步:檢查結果(結果中全都是相關性內容);

看起來只是節省了一步吧,但是工具這兩步操作中,都隱含了大量的重複操作的優化。

比如第一步「開啟工具並輸入關鍵字」,其實工具是自己查詢日誌路徑,並且在每次操作時都保證獲取最新的日誌,這樣就避免了手工操作時每次都要重新開啟日誌的麻煩。

比如第二步「檢查結果」,之前是在所有日誌裡面去乙個個檢查搜尋結果,現在工具出的結果是只顯示和關鍵字相關的上下文資訊,可以極大地減少其他資訊干擾,更快更準地找到自己需要的資訊。

如果你不會程式設計,你會考慮用這個簡單的工具去提效?

就算你考慮到能用工具提效,你能快速準確的把自己的需求提出來並找到人幫忙實現?

就算實現了,碰到一些小的體驗問題你能總是不斷找人幫忙優化?

最後再總結下我的結論。

做測試要不要學程式設計?我的答案是,要,會程式設計的測試可以往業務線的測試開發方向努力。

我不會程式設計能不能做測試?我的答案是,能,不會程式設計的測試可以繼續在業務專家方向深耕。

當然,如果你支援我上面的觀點,請點個「在看」讓更多人來一起看。

想轉行學IT,到底要不要去培訓機構?

之前在知乎上看到個很有意思的問題 你見過出身最奇特的碼農之前是做什麼的?答案五花八門,有快遞員 廚師 軍人 物理老師 各種看起來跟it行業八竿子打不著的職業,最後都轉行做了程式設計師,而且大多數做的還很不錯。由此可以看出,半路轉行it並非個例,而且相比於其他行業,it行業更看重能力,而不是出身。想轉...

軟體測試環境要不要和軟體開發環境隔離?

開發環境要不要和測試環境隔離?要就是說,是不是要各用一套資料庫等基礎設施?能隔離當然最好,開發人員和測試人員不會互相干擾。但隔離是有代價的,它意味著你要多引乙個資料庫,如果你的系統是分布式的,你還要多維護一套mq rpc中介軟體等。依我看,需不需要隔離要看系統是否滿足下面的三個條件 1 兩個環境的系...

做亞馬遜到底要不要測評?不測評真的沒活路嗎

測評也是很多大賣家起步的必經之路,許多亞馬遜賣家為了出單 為了排名,不計後果瘋狂刷刷刷,最終下場不是排名刷不上去,就是listing被警告,甚至掛賬號!那究竟刷還是不刷?先來看看賣家們是怎麼說的吧!刷單的意義是 引流 刷單是運營手段的一種 不刷評的運營,就拿點底薪吧。總結就是,雖然很努力去運營,還是...