Re: [請益] 軟體測試出路?
※ 引述《AmosYang (Zzz...)》之銘言:
: ※ 引述《lovdkkkk (dk)》之銘言:
: : 恕刪
: : 關於 agile 及 taliao 大上一篇提到的 TDD,
: : 個人一直覺得是不怎麼合的兩個東西,
: : 一個是變動為本,另一個則起碼要寫得出 test case。
: : (然後 test case 得隨著變動一直重寫?)
: : 想了好一陣子摸不著頭腦,剛才狗了一下...
: : http://www.agiledata.org/essays/tdd.html#TDDAMDD
: : days... hours... minutes...
: : 看起來超忙的啊 XDD
: 「個人一直覺得是不怎麼合的兩個東西」這句話讓我想起一個經驗:
: 我是烹飪門外漢,每次讀到食譜裡把醬油與冰糖放入同一道菜裡的作法
: 我的反應就是: dafaq?
: 但對烹飪經驗豐富的人來說,醬油與冰糖就只是調味料,
: 放對時機、分量、順序, 這一鹹一甜就能讓整道料理的滋味更上一層樓
: 在我的認知裡, TDD 只是一種流程工具, 一種心態(mentality)
: 在試作原型(prototyping)時,測試方法可以偏向 exploratory testing
: 一旦開始 coding, 那就可以試著導入 xUnit 的架構
: 有了 test case 後, (無論是否 automated); 這些 test case 除了可以協助預防
: regression, 還可以協助估計「變動規格」的代價
: 易言之,各種工具合與不合,取決於使用時機與方法是否適當 :)
事實上TDD是軟體工程發展史上一個劃時代的發明,只可惜在2000年左右發明時,很多
人第一反應是"這太花時間了吧",所以大部分人都沒有採用。但到了2009~2010,DevOps
跟Continuous Delivery被提出以後,整個軟體業的"工法"發生了根本的變化,TDD已經
成為DevOps跟Continuous Delivery裡面不可或缺的一部分,甚至某些矽谷公司,面試
時直接就是問你怎麼做TDD的,要是全無經驗,當場傻在那邊,結果一定是被發卡。
台灣的軟體業還處於非常原始的階段,相較於美國已經升到帝王後期,台灣可能才剛升
封建而已,所以對於現在最重要的DevOps跟Continuous Delivery,90%的台灣人大概是
聽都沒聽過,剩下聽過的也僅止於一知半解的階段,有深刻了解跟經驗的可說是鳳毛麟
角。但事實上DevOps跟Continuous Delivery就算不能跟蒸汽機的發明相提並論,對軟
體業的影響恐怕也至少有當年蒸汽機影響工業革命的六七成影響力。
相信很多人都知道軟體業在美國現在是最紅的行業,軟體工程師平均薪資是第一名,而
且還不斷創新高。但說到為什麼,很多人只能說"時候到了,人類發展到現在就是會開
始注重軟體"這種好像對但又很沒根據的說法。那為什麼不是十年前開始這件事,偏偏
就是差不多2011~2012以後開始發生?事實上促成現在榮景,主要是三件事的影響,第
一是創投環境跟方法的成熟,使得創業資金非常容易取得,方法論也都寫成暢銷書,
要開公司就去看lean startup,創投也有一些很有經驗的mentor可以幫忙。第二是雲
端的發展造成新創軟體公司的門檻大幅降低。第三就是DevOps跟Continuous
Delivery的發明,使得軟體業的生產力和品質都獲得倍數的成長,使用這套的好比手
上拿了自動步槍,沒使用這套的跟拿大刀差不多而已,無論你刀法如何精妙,還是打
不贏自動步槍。
去翻一下現在矽谷的工程師職缺,一列出來一堆叫做"DevOps Engineer"的,就算不
是叫這個名字,點進去看job description,或多或少也都需要DevOps相關經驗。那
究竟為什麼人家都上太空了,台灣軟體業還在殺豬公,甚至連人家上太空了都不知
道,聽到人家上太空還說"太空,那是什麼,能吃嗎?"。這主要是因為台灣軟體業太
小也太落後,大部分公司又都是以接案為主的形式,而非自己本身就是做軟體出來
賣錢的,接案的話其實只要業務一張嘴會說,合約簽得下來就好,之後案子做好做
壞根本也關係不大,做壞就是砸公司招牌,以後這家客戶不能再做了而已,真要壞
到公司名聲在業界整個臭掉,無法再生存下去,那要做壞很多個案子。既然不是立
即就有生死問題,老闆們自然也不太在乎品質跟專案成功率,甚至一堆低價搶標的
。反正就算最後公司做不下去,老闆們也撈夠了,這些老闆通常也有其他事業或投
資,不會這個死了就死了,再不然換個名字重新包裝再出發,又是一條好漢。品質
,產值,那是什麼?能幹麼?品質高一倍我可以多賺一倍錢嗎?不行呀,那我在意這
個幹麼?產值?叫工程師加班就好啦,不然多找幾個便宜的免洗來先擋著用
但是美國的軟體公司多半是自己作軟體自己賣,自家產品就是軟體,做不好沒人用
,過不了多久公司就得關門大吉,那可是攸關生死的大事,老闆們自然不敢對品質
馬虎,所有東西都要求最高標準,自然會對能提升產值和品質數倍的軟體工程方法
趨之若鶩。當這個產業夠大,領先集團又都這樣搞的時候,其他公司自然得跟進,
導致即使不是自己賣軟體的公司也都紛紛引進這套,整個業界的生產力往上提升數
倍,自然就風生水起,整個形勢大好。
另外在這套之下,developer跟tester的界限已經愈來愈模糊,tester工作內容大
部分是在寫code,developer也要花些時間去做TDD,如果有注意facebook的職缺,
會發現他們根本沒有分developer跟tester,所有職缺都叫software engineer。
這套新的軟體工程方法跟以往的思維可說是完全不同,沒接觸過的剛聽到真的是會
覺得到了一個新世界,回頭再看會覺得以前到底是怎麼用那種方法寫出東西去賣錢
的,想一想都覺得汗顏,再戴上DevOps跟Continuous Delivery的眼鏡去看自己以
前寫的code,會覺得以前真是不懂事呀,怎麼會寫出這種鳥code。這個浪潮或許不
會在一兩年內就翻掉整個軟體業,特別是台灣的軟體業,但是長久來看這個肯定是
會慢慢的把軟體業的方法整個顛覆掉,建議台灣的軟體從業人員盡快的學習相關知
識,以免十年後整個落後一個世代,到時候被淘汰就很慘。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.200.238
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1399691771.A.F23.html
推
05/10 12:10, , 1F
05/10 12:10, 1F
推
05/10 13:33, , 2F
05/10 13:33, 2F
→
05/10 13:43, , 3F
05/10 13:43, 3F
※ 編輯: Wolfken (118.165.200.238), 05/10/2014 13:48:24
→
05/10 13:48, , 4F
05/10 13:48, 4F
推
05/10 14:39, , 5F
05/10 14:39, 5F
→
05/10 14:52, , 6F
05/10 14:52, 6F
推
05/10 15:00, , 7F
05/10 15:00, 7F
→
05/10 15:00, , 8F
05/10 15:00, 8F
→
05/10 15:09, , 9F
05/10 15:09, 9F
→
05/10 15:09, , 10F
05/10 15:09, 10F
→
05/10 15:09, , 11F
05/10 15:09, 11F
→
05/10 15:09, , 12F
05/10 15:09, 12F
→
05/10 15:10, , 13F
05/10 15:10, 13F
→
05/10 15:40, , 14F
05/10 15:40, 14F
→
05/10 15:41, , 15F
05/10 15:41, 15F
→
05/10 15:42, , 16F
05/10 15:42, 16F
→
05/10 15:43, , 17F
05/10 15:43, 17F
→
05/10 15:44, , 18F
05/10 15:44, 18F
→
05/10 15:44, , 19F
05/10 15:44, 19F
→
05/10 15:44, , 20F
05/10 15:44, 20F
→
05/10 15:44, , 21F
05/10 15:44, 21F
推
05/10 17:09, , 22F
05/10 17:09, 22F
→
05/10 17:09, , 23F
05/10 17:09, 23F
→
05/10 17:09, , 24F
05/10 17:09, 24F
推
05/10 17:20, , 25F
05/10 17:20, 25F
→
05/10 17:20, , 26F
05/10 17:20, 26F
→
05/10 17:20, , 27F
05/10 17:20, 27F
→
05/10 17:20, , 28F
05/10 17:20, 28F
→
05/10 17:20, , 29F
05/10 17:20, 29F
→
05/10 17:20, , 30F
05/10 17:20, 30F
→
05/10 17:20, , 31F
05/10 17:20, 31F
推
05/10 17:22, , 32F
05/10 17:22, 32F
→
05/10 17:23, , 33F
05/10 17:23, 33F
→
05/10 17:23, , 34F
05/10 17:23, 34F
推
05/10 17:54, , 35F
05/10 17:54, 35F
→
05/10 17:54, , 36F
05/10 17:54, 36F
→
05/10 17:54, , 37F
05/10 17:54, 37F
推
05/10 18:11, , 38F
05/10 18:11, 38F
→
05/10 18:39, , 39F
05/10 18:39, 39F
推
05/10 19:41, , 40F
05/10 19:41, 40F
→
05/10 19:41, , 41F
05/10 19:41, 41F
→
05/10 19:42, , 42F
05/10 19:42, 42F
討論串 (同標題文章)
本文引述了以下文章的的內容:
請益
2
4
完整討論串 (本文為第 8 之 10 篇):
請益
11
19
請益
2
3
請益
10
42
請益
1
2
請益
2
4
請益
2
4
請益
19
25
請益
3
3
請益
6
13