賈伯斯曾經說過「每個人都應該學習程式設計,因為它會教你如何思考」,看,喬幫主都覺得所有人都應該學程式設計,那你說做測試的要不要學?當然要。
作為測試人員,除了上面這個原因,我覺得如果會程式設計,還有下面 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被警告,甚至掛賬號!那究竟刷還是不刷?先來看看賣家們是怎麼說的吧!刷單的意義是 引流 刷單是運營手段的一種 不刷評的運營,就拿點底薪吧。總結就是,雖然很努力去運營,還是...