做測試工作,經常要分析日誌,有的時候活兒還很髒很累,比如抽取符合某些pattern的行,重新格式化等等。有的時候,我們需要也創造一些測試用資料檔案。基於上述兩種原因,在unix like 系統上,一些古老的字處理程式就顯得非常有用了,這些古老的程式包括 grep,sed,awk等,它們不用安裝(已經成為了作業系統的標準),使用方便,效率很高,能直接跟管道,重定向之類的shell操作並用,能嵌入到shell指令碼中處理複雜情況。這些特性能夠幫助測試人員迅速完成文字相關工作。每當我看到有測試人員還在傻傻的用ultraedit從ftp上download大文字到本地,然後費勁的開啟,修改,寫程式解析。就忍不住要跟他們說:學學直接在shell下完成工作吧,花些時間學學vi,學學這些字元操作的工具,學學寫shell吧,這些比我們年齡還要大的古老工具一點也不落後,反而是高效的利器。本次會先從awk這個相對偏僻的工具說起。
首先花一分鐘時間了解awk是幹嘛的:awk是這個程式3個作者名字首字母的縮寫(很帥的命名方法)。它的主要作用是能夠方便的對字元分割檔案做各種各樣的處理,如篩選,重新格式化等(當然,它能做的遠不止如此)。如果想迅速了解awk的使用,強烈建議看左耳朵耗子的這篇文章: 這是我看到的寫的最清晰的一篇介紹awk用法的文章。要想深入理解的話,下面這個鏈結是一篇很不錯的教程: 如果想真正用好它,肯定要通讀使用者手冊: 其實內容也不多,10個小時以內就能看完,學成後你肯定會對字元處理有新的感受。
由於內建了流程控制,變數支援,正規表示式支援,內建函式支援等一系列特性,我們可以說awk是一門字元處理的dsl了。它遠比你想象的要強大很多很多。舉例一種玩法:有同學用它和shell結合寫了個測試資料生成器,根據輸入模式批量生成sql,堪比datafactory,還更加合適自己的專案,更加高效。
最後要說的是:很多granpa們留下的東西是非常棒的,不要因為他們太古老就扔掉它們。
requirejs的簡要用法
以前看過一些關於requirejs的介紹和使用,腦子太笨,一直沒明白,總結一下其中的簡單用法,希望能對大家有用requirejs的使用包括三個方法 1 require.config 初始化定義,定義別名,路徑,示例 require.config 2 require 正式使用,requery進行按序載...
軟體測試的簡要介紹
測試意義 沒有經過測試的軟體一般都會存在一些問題,ide工具版本不同,軟體執行環境配置,以及異常邏輯的執行等等,都有可能導致程式出現漏洞。有嚴重問題的程式導致的問題也多種多樣,使用者體驗差留存低,甚至造成開發者或者使用者的財產損失。為避免出現一系列問題,對於系統軟體進行測試是非常重要的。熱點系統平台...
測試人員面臨的測試挑戰和必備技能
結果不確定的複雜ai系統給測試人員和程式設計師帶來了挑戰。fiona charles認為,這樣的系統在高影響 高風險應用程式中將越來越普遍。測試人員應該提公升他們的思考能力和學習能力,發展一些個人優勢,比如說勇氣和良好的判斷力。軟體測試顧問和專案測試經理fiona charles將在2017年歐洲測...