當計窮力竭時請再堅持一下下----記一個ror新手學習體會

背景:
1.本人手工測試人員,代碼能力約等於零。
2.公司、身邊朋友無人精通ror(瞭解的也沒有)。

涉及人物:
1.@大慶:培訓的老師,他的博客:http://rabelapp.com
2.“大神”:一位深藏不願意露面的高手,主要與其交流心得和思路,聆聽其教誨
3.運維小童鞋:項目組內運維人員,欺壓其搞定環境問題

流水賬開始:
五月份開始自學ruby及rails框架,跟着railstutorial電子書學習,參加@大慶組織的小規模培訓。總之,在有學習資料有人講授的情況下,學習總是愉快的。書看完了,培訓也快結束了,自己動手實踐該開始了。
工作上正在進行的一個項目,每天通過檢查對甲方提供的測試用例驗證情況來跟蹤項目進度。測試用例是手工編輯在excel中,excel分發給相關的開發人員和測試人員,每人根據自己當天的完成情況更新文檔並提交,我對文檔彙總並統計出測試用例各階段情況後,再下發給項目所有成員,費時費力,還容易出錯。決定就拿這個練手,通過ror把它做出來,部署上去,這樣,相關的人可以進行操作,節省人力成本。
說做就做。分析設計需求,找“大神”一起討論分析的結果,請@大慶一起設計程序的框架。脈絡搞清楚了,接下來便是具體的實現,對於牛人來講,前期的分析設計做好後,具體的實現是手到擒來,但是對於一個還沒有“斷奶”的新手來說,這裏是痛苦的深淵。
開始動手問題就暴露出來了----眼高手低,總覺得自己是會的,但是不知道應該從哪裏入手。一邊翻書、上課時的筆記一邊寫代碼,書上有的,講課的時候有講到的,腦子裏總是有印象的,照抄出好,自己寫也罷,總能寫出來,書上和講課沒有講到了,完全徹底傻眼,連個思路都沒有。要寫一個是動態關聯(選擇項目名稱後,此項目所屬的模塊會自動顯示出來),去google搜,總是查不到符合自己的要求的結果,好不容易找到個例子,卻看不懂人家的源代碼,在自己憋了一個星期無果的情況下抱着電腦去找@大慶請教。牛人三下五除二解決問題,並講解原理,因爲有憋了一週的基礎,接受起來難度不大。問題搞定,繼續向前啃,各種坑,各種掙扎。苦憋了一個月,一個醜陋的demo算是做出來了,只有添加、修改、刪除測試用例而已,項目名稱、項目關聯的模塊、開發與測試人員姓名都是通過數據庫手工添加進去的。但是最最核心的功能算是有了。
繼續完善,根據業務要求,需要有一個統計(按項目分類,測試用例的數量,進度各個階段的數量等)。在數據庫中直接寫sql沒問題,但是怎樣通過程序把數據呈現出來,沒思路,找“大神”,說問題,交流思路。思路找到了,動手做,呵呵,不會,取不出來數據源,閉着眼睛皺着眉回憶培訓的時候@大慶講取數據的思路,在紙上畫出思路,然後一點兒一點兒試,ruby語言的map用法不會用,查map的用法,再試,統計總算做出來了^_^,外面霧霆天的天空感覺都是藍色的。
接着完善,應用戶真實實用場景要求,不同角色的用戶登錄後,只顯示自己關心的東西。用戶登錄,這個好做。開工,開心的早了點,達不到要求,苦苦google了一天未果,退回來和“大神”繼續溝通思路,最終定位,當前的數據庫結構不符合要求,用當前的數據庫結構實現不了需要,改數據庫結構,改model,改、改、改,改完了,可還是實現不了,google不到好辦法,等等,培訓中講過一個用法,和這個場景類似,嘗試一下,成功了^_^。生命在於折騰啊!再去加上後臺管理,用來添加項目、模塊、用戶及角色;調整樣式,使它看上去好看一點兒,仍然有各種不大不小的坑,各種google、翻筆記搞定。
代碼寫完了,不能讓它只留在自己的上,總得找個地方部署。簡直是一個惡夢。本機環境是ios,培訓時在ubuntu下練習部署,而公司的linux環境全是redhat,按照ubuntu的方式進行部署,各種見所未見的錯誤蹦出來,google真是個好東西(前提是翻過牆頭兒)繼續搜,先對需要部署的機器換源,再裝依賴包,依賴包找不到的,裝不上的,繼續google,搜不到,換個思路換個條件再搜。拖着運維小童鞋折騰了兩天,他跑路了。要死要活的折騰了一個星期,想死的心都有。環境總算是弄好了,開始部署程序,蒼天啊!!!讓我順利點兒行嗎?nginx服務啓不來,趴在電腦前搜了一天,還是沒有結果,算了,下班了,不弄了,明天繼續吧,咦!看到一個辦法,再試一下,死馬當活馬醫,如果不行,明天繼續,居然成功了,無法言語的開心啊。
前前後後折騰了將近兩個月,項目進度緊張,白天忙得連喝水的時間都沒有,只有用早上早起和晚上下班後時間弄,天天灰頭土臉的,老大一直以爲我是被工作所累,帶病工作^_^。部署完成後,項目已經結束了。千辛萬苦寫的程序最終沒能在項目上用到,但是這是自己動手寫的第一個完整的程序,雖然它很脆弱,不那麼好看,還有很多bug,代碼也不優雅。寫的過程中有很多次也想放棄,不寫了,問題丟給“大神”去搞定吧,我等他弄好後直接拿來用就好了,每次都會手欠的再搜搜,再試試,有的時候真的就成功了。每次把問題搞定,感覺天也藍了,水也清了,腰也不酸了,眼也不花了,那個問題就是小菜一碟兒。堅持一下,你會收穫前所未有的喜悅。

總結:
1.學習ruby和rails,貴在堅持;
2.ror的門檻着實不低,要有思想準備;
3.要善於用google、Stack Overflow、牛人等來解決問題,這個不同於其他語言的學習。

PS1:項目可完成的主要功能
1.未登錄情況下,可查看針對所有測試用例的統計;
2.管理員登錄後,可查看針對所有測試用例的統計;維護測試用例(增(手工和批量導入)、刪、改、查);維護後臺(項目、模塊、用戶的增、刪、改)
3.普通用戶(開發、測試角色),登錄後,可查看與個人關聯的測試用例的統計;維護與個人關聯的測試用例;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章