2012年11月10日 星期六

我的成功可以複製 - 唐駿

Today, I read a book "My success can be replicated".
It is a biography for Jun Tang(唐駿), one of the best CEOs in China.
I think it is a good book for everybody, whatever you are students, engineers or managers.
I summarized some contents as follows:


1.成功的秘訣是什麼?做人簡單,做是勤奮。成功4+1:4分別代表智慧、勤奮、激情和機遇;1代表性格。

2.能考入重點大學固然很好,但是並非進到重點大學就可以解決你的問題,也不意味著到了非重點大學你的人生就缺少機會。

3.只有勤奮才能真正引領以實現人生的目標。其實每個人的智商都差不多,每天我比你多工作20%,也許就意味著我成功的機率多了50%。

4.大學裡的學習絕不只是簡單地把書本讀會。讀什麼專業固然重要,但是比這更重要的是培養自己學習的能力。

5.當周圍人沉迷於溫飽時,你應該去發現新的機會所在。如果你在一家公司裡感覺工作很安逸,你就需要尋找新的發展空間。

6.在一個人具備相當的經濟基礎、管理經驗、對未來方展的預見能力、對公司業務模式的深入理解和對市場的全面了解之前,個人創業並不是一種可取和可行的選擇。

7.每一個看似低的起點,都是通往更高峰的必經之路。任何時候都沒不能放下的成就。這種心態可以使人無往而不利。

8.第一份工作不是選一份好職業、不是選一份好薪水,而是一定要選一家好公司。因為一家好公司可以在各方面奠定你的職業基礎。

9.每個人的職業生涯一定要有良好的規劃,不能盲目努力。沒有目標地工作,在勤奮也沒有用,而且5年、10年以後,你會發現你還在原地踏步。

10.一個成就事業的人,最重要的素質是對工作的激情,而不是能力、責任心或者其他東西,雖然他們也不可或缺。

11.我們在企業裡要做得不是抱怨、不是提意見和建議,而是真正的對公司做一些實質性的改進。能提出問題,又能提出解決方案,且還能論證出方案可行性的人才會真正的被重用。

12.不僅做好自己的本職工作,還要替公司考慮哪些做的不合理或者不夠完善的地方。與上級長官溝通的規範,應該先和直屬長官溝通,在一級級地向上匯報。

13.真正的創新必然是基於對市場的了解,對客戶反饋的觀察,開發出來的產品一定要適應市場,提出的模式一定要能解決實現的問題。

14.一定要做自己最內行的東西,一定要在自己本身的職位上來提升自己。從技術做到管理,角色的轉變首先是一個學習的過程,其次是一個潛移默化、循序漸進的實踐過程。

15.許多了不起的成功,其實都靠點點滴滴的細小努力積累而成,作人就是這些細小努力中最重要的部分。向上、感恩、關心-這三種性格是做人最需要的。如果一個人能力不錯、性格又好,想不成功都很難。

2012年11月8日 星期四

如果我看得比別人遠,是因為我站在巨人的肩膀上~~

在「上帝是數學家?」的書中,有這樣一個可能的真相。
希望不會破壞大家對牛頓的尊敬(不過說不定大家已經因為微積分而恨透他了)。


在牛頓那個年代,有一個被牛頓視為頭號死敵的對手:多產的物理及生物學家羅伯特‧胡克。胡克曾指控牛頓數度剽竊他的構想(先是光的理論,後又加上萬有引力)。

一六七六年一月二十日,胡克在寫給牛頓的私人信件上宣稱:「我想你和我(在光的理論方面)的構想都是針對同一個目標,亦即事實的發掘,我想我們也都可以忍受別人的反對。」

而牛頓在一六七六年二月五日回給胡克的信中寫道:「笛卡兒的成就是很大的一步(指笛卡兒對光的概念)。你已經增添了多種方法,特別是將薄板的顏色納入哲學考量。如果我看得比別人遠,是因為我站在巨人的肩膀上。」

然而,胡克不但不是什麼巨人,還是個嚴重駝背的矮個子。
由此可見,牛頓這句流芳百世的名言可能只是想要嘲諷胡克,
並說明他覺得對胡克毫無虧欠的一句話而已!

2012年11月4日 星期日

一周七書 - 楔子

一周七書的連載終於開始了,希望不會在楔子以後就斷尾了~~


楔子

為什麼會有這次一周七書的計劃呢?這一切都是出自某一天的一個巧合,請聽我娓娓的道來。某個周末(其實也就前幾周而已),我從PPT上的一個板連到了Youtube上的一個影片:「王道還:百年千書的科普與武俠」,這是因應百年千書計畫的推廣所分享的影片。不過重點不是這個影片,而是Youtube會在正在撥放的影片旁邊列出相關的、你可能有興趣的影片。當時正好有一個相關影片吸引了我的注意,於是我在看完科普與武俠這個議題前就轉台了,真有點對不起王道還老師。雖然我也不清楚王道還老師的生平,但在幾天後的一個機會,我在書櫃中發現了一本書:槍炮、病菌與鋼鐵,正巧這本書就是由王道還老師所譯著。好,廣告結束,回到那個關鍵的影片上。

究竟是什麼影片的呢?就是「台灣啟示錄 謝哲青」。我想看過關鍵時刻節目的人應該都不陌生這個看起來斯文、講話謙虛有條理的文史工作者:謝哲青。我花了點時間看完了這個影片,也讓我更瞭解了一些關於謝哲青的生平,影片中他寫出了一句我很喜歡的語句:

每個人心中都有一方沃土 一畝荒蕪
唯有透過不斷地探索與追逐
我 才能填補內心那份巨大的虛空 - 謝哲青

除了這些內容外,哲青還介紹了他的書房,因此讓我有機會一窺他所收藏的千萬(元)書籍。此外,他也很大方的分享他寶貴的藏書與他看過的一些印象深刻的書籍。其中他提到一本書:「在自己房間裡的旅行」,而這本書也正是我這整個一周七書計畫的根源所在。由於對這本書內容的好奇心,我上了博客來網路書店查詢打算購買。有瀏覽過博客來網站的人應該都會發現,它常常會有很多促銷、折價活動、書展與贈品。剛好當時再送一個贈品【繆思十年‧經典再現】A4文件夾(一組四款),結果我完全被吸引了,於是很用力的湊出了「陰陽師 瀧夜叉姬(上、下)」及「星塵」。陰陽師,我想大家都很瞭解夢枕模老師的說故事能力;而星塵,則是在幾年前有改編成電影「星塵傳奇」,就這樣我的購物車裡有三本書(實際上是四本)。

一般來說,除了這些新加入到購物車的書外,通常我都會有幾本上一次沒有購買卻想看的書放在購物車中,打算下次購買。結果,想當然爾的結帳價格超過了兩千塊以上,於是「零與無限大:許文龍幸福學」、「建築家安藤忠雄」和「蒼蠅王」就默默的被我下放到「下次再買清單」。最後就剩下:「國姓爺的寶藏」、「鬼太郎之妻」和「從謊言開始的旅程」,但還是超過一千塊很多。於是我便在「鬼太郎之妻」和「從謊言開始的旅程」之中開始猶豫,但兩本真的都很想看,突然我豁出去了,我不管三七二十一就猛然的按下國內訂購按鈕,直接訂購了。很快的,一天後我拿到了我朝思暮想的【繆思十年‧經典再現】A4文件夾(一組四款),喔!不是,是六本書(其實是七本書)。

在自己房間裡的旅行      - 薩米耶‧德梅斯特
從謊言開始的旅程       - 喜多川太
國姓爺的寶藏         - 蘇上豪
星塵             - 尼爾‧蓋曼
鬼太郎之妻          - 武良布枝
陰陽師 瀧夜叉姬(上)、(下)- 夢枕模

我看的第一本書是,在自己房間裡的旅行。當時還沒有一周七書的計劃,不過當這本書看到三分之一左右的時候,我突然覺得,作者因為被禁足在自己家裡四十二天,所以有了這本書的出現,那我為什麼不能一口氣看完這七本書,然後寫出一本書來分享呢?就這樣我那從星期日到星期六,一周七天,漫遊於七本書中的旅程便如火如荼的展開了。

工作滿一年回憶錄之台積電篇

終於寫完了,沒想到寫得比宏達電篇還多,而且到後面很多都變心得分享了。反正就當作是自己的工作紀錄吧,因為很多部分應該都是蠻有用的,如果將來自己徬徨或疑惑時,看一看說不定可以引領我到另一片的海闊天空。


工作滿一年回憶錄之台積電篇
從宏達電到台積電,這中間的間隔只隔了一天,這也就表示我繳了一天的國民年金,不過這不是重點。不免俗的來描述一下到職的第一天。記得那天,我騎著車到了台積七廠的側門門口,然後停下車拿出公司寄給我的地圖,確認一下地點,接著就騎進了停車場內,直奔學習中心報到。跟到宏達電第一天一樣,人資先簡單的介紹公司,再來上一些人資安排的課程,中午則是吃便當,然後最重要的來了,上完課差不多六點,人資就說:「今天就到這邊,大家可以回家去了,報到資料有缺繳的明天記得帶喔」,聽完我就乖乖的回家了(原來下班後回家吃飯的感覺是這樣的啊!)。

到台積電沒多久我就發現了一件事,原來待在”辦公室”跟待在”公司”是差這麼多的啊!另外讓我很驚訝的是,我這個課竟然有舉辦樂活日的習俗,就是每個月找一天樂活一下,整個課一起出去玩。雖然才到台積電五個月,不過已經玩過不少地方,像是觀音鄉騎腳踏車之旅、到山上人家半日遊、到中秋內灣烤肉行等等。還有就是,每個新人都要在部門會議的時候準備PPT上台做自我介紹。當時還有一個比我早到的新人,因為我們兩個都會彈吉他,結果就被要求要在部門會議的自我介紹時上台表演。記得當時我彈了一首Drifting。

一開始到台積電其實很不習慣,因為早上八點半左右就要到公司,跟我在宏達電十點才到公司的習慣差很多。所以一開始我都會不小心在公司打起瞌睡,雖然說現在還是會但次數少很多了。另外還有一個很不習慣的是,要學習很多關於半導體製造流程的知識(domain knowledge),這個真的讓我吃足苦頭,因為本科不是念電機沒有足夠的基礎知識,很多根本就是有聽沒有懂。不過慢慢的還是有些瞭解了,雖然現在還是不能完全瞭解,但我想總有一天應該是可以克服的。

此外,由於工作的時程往前推到八點半開始的緣故,我現在幾乎天天都可以回家吃晚餐,而且還有大把的晚上時間讓我消磨。除了偶而上網查一下半導體的一些知識(偶爾真的是偶爾),剩下的時間則是跟在宏達電一樣看書學習,雖然現在看小說的時間比較多。另外,偶爾的上網查資料其實幾乎都查不太到,因為很多都是還在發展中的技術,且在公司也幾乎都算是機密,查得到才有鬼。不過真的要提一下現在的下班時間,因為提早的下班時間,讓我可以跟同事一起去報名公司開的風景畫課程或是騎車衝到台元科技園區聽謝哲青的演講。

至於在台積電學習到的內容,除了上面提到的domain knowledge外,在技術的部分倒是學得不多的,因為我分配到的工作主要是使用VB6,沒錯你沒看錯就是VB6,所以學好VB6還是可以吃的開的喔!其實還有Flex跟J2EE,不過我不負責寫這方面的程式,只是跟著隔壁的同事一起學而已。另外,由於VB6很容易上手,所以我常常會把空出的時間拿來學習Ruby、Javascript和Python,說是學習,其實也只是熟悉一下他們的語法,及試圖瞭解一些與JAVA和C很不一樣的設計概念。不過同時看三種語言,真的很容易把語法互相搞混,常常在寫Javascript時不小心寫成Ruby的語法,還會覺得很奇怪怎麼會無法執行呢?我想還是一次專注一種語言會比較好吧!

另外在在台積電還有一種技能是被非常重視的,就是軟實力。舉凡與user的溝通、和其他部門的協同合作、PPT內容的製作、上台報告的技巧 (下面我會稍微舉例說明) 等等,我想這些是我在台積電最大的收穫。雖然目前這些能力還不夠熟練,但我相信在這樣的環境下,一定可以愈來愈好的(其時是被多K幾次就會慢慢的好起來的)。

在台積電常常會有user來跟IT提需求,因此我們常常就需要跟他們一起討論,說是討論其實有點想吵架。不同於宏達電的工程師,我們可以很大聲的拒絕user的一些需求,或將其導向對IT較有優勢的局面。所以必須要有良好的domain knowledge及溝通能力才能不被user牽著走,甚至主導需求的走向。另外當user的需求有跨到不同部門(也就是跨系統)時,常常就必須要與其他部門的開發者一起開會討論實作的方式:你需要支援什麼部分;我需要提供什麼服務等。因此就必須要學會預約會議室、發會議通知(Meeting Notice)和會議記錄(Meeting Minutes)和主持會議等。

至於報告目前的工作進度的部分,這個是最困難的。你必須要製作PPT和練習報告,不然你可能很容易的就會跟報告論文一樣被釘在上面,更甚者可能直接下台一鞠躬。其中尤以PPT的製作最不容易,你不能只是描述性的或條列式的來撰寫,必須要附上很多圖來說明,因為這樣主管才可以比較快的瞭解你的狀況跟問題,如果都是字的話主管可能會看不下去。還有在問題的描述部分,最好要先說明現行的做法(AS-IS)是什麼、有什麼問題;未來解決以後(TO-BE)是怎樣的情況。另外,千萬不能只帶著問題去報告,不然你一定會被K到死,一定要連解決方案一起帶去,最好要有兩三種。而且在報告的時候,一定要提出你自己的想法及觀點(Pros. & Cons.),然後說明你偏好的是哪一個解決方案,以及選擇的原因是什麼。

總結這個在宏達電和台積電的一年:在宏達電我得到了在硬實力方面的啟發,而在台積電則讓我得到了軟實力方面的啟發。有了這兩方面的啟發,讓我可以更有方向的來加強自己的能力。最後,很感謝宏達電和台積電的同事在這一年中的幫忙與照顧,尤其是宏達電的同事,有手機員購的時候記得通知一下,還有可以進場的時候也不忘提點一下小弟;至於台積電的同事,我想我們應該還有很長的路要一起走下去,彼此都要好好的加油囉!

工作滿一年回憶錄之宏達電篇

昨天11/1是我工作滿一年的日子,為了紀念它想說寫一個工作滿一年回憶錄,結果一不小心就寫了一大篇,索性將它分成宏達電篇和台積電篇。宏達電篇如大家所見的已經完成,希望我可以很快的完成台積電篇。


工作滿一年回憶錄之宏達電篇
不知不覺從開始上班(2011/11/1)到現在已經一年了,雖然不是都在同一間公司,但收穫一樣都很多。短短的一年我在宏達電待了七個月,在台積電待了五個月,很多人可能會覺得怎麼這麼沒定性不到一年就換工作了,關於這個部份我想之後可能會說明一下。

宏達電是我的第一份工作,也是第一個拿到offer的公司,雖然拿到offer後還是到處去面試,說是面試其實是順便去到其他地方晃晃、看看。結果這個舉動反而為難了我自己,在玩玩的過程中殺出了台灣網路認證這個程咬金,真的讓我左右為難了好一陣子,因為都是很不錯的公司。最後我還是因為地點的原故,放棄了位在台北的台灣網路認證,選擇了就近的宏達電。現在想想,用地點作為考量好像不那麼的明智,不過也很難說是好還是不好了。

我記得在宏達電的第一天,我一早七點多就坐火車到桃園總部報到,上了一些人資安排的課後,下午就坐計程車回到竹北辦公室。報到第一天雖然沒做什麼事,但我還是在公司待到了晚上九點,因為其他跟我一起進去的人(當時包含我有三個人一起到這個Team)都沒人提早下班。很快的在一個月內,我們三人組有一個人離職了;又很快了,在試用期內又有一個人離職了(至於他們離職的原因我就不詳述,因為每個人都有自己的規劃)。突然以前的三人組瞬間就剩下我一個,雖然我撐了很久,但還是在半年多一個月後,離開了我的第一份工作、我待的第一間公司。

雖然只有短短個七個月,但過很愉快,也學到很多知識與技術,而我學習到的這些東西,其實是等我到了台積電且多看了幾本書後才慢慢感覺出來。遙想當初,在剛到宏達電的前幾個月我還蠻焦慮的,因為很多東西都不會也不懂,當時每天八九點下班回家後,還會繼續的念書充實自己,不過愈念愈焦慮,愈念愈覺得自己什麼都不會。在這一段的鬼打牆後,我突然想通了,幹嘛囫圇吞棗的念一堆不知道在幹嘛的書。我應該踏踏實實的學習與累積經驗來充實自己,因為這樣才是真正最快的捷徑;而不是想著靠亂七八糟的方法在短時間內追上別人幾年的經驗,我想這樣的最終結果應該只會自取滅亡吧!(其實也沒這麼嚴重啦)

除了晚上的自我學習外,在宏達電我還學到了很多Android的開發技術,舉凡效能的改進、安全漏洞的填補等。還有就是公司要求使用的許多系統,像是公司自行開發的用來build整個ROM和用來prebuild apk(使用hudson系統)的持續整合系統、控制apk版本的Release系統、ITS(Issue Tracking System)系統、程式碼版本控制系統等等,我想這些系統很多在一般的小公司應該很難看到。除了這些系統外,還有主管推薦的兩本參考書:深入淺出物件導向程式設計和深入淺出設計模式。雖然在離職前我還是都沒有看完它們,但還是讓我學到了不少的觀念。最後很感謝就是讓我有機會一個人負責GoogleTask plugin這個AP,雖然在過程中發生了不少事,像是資料儲存機制的打掉重練、重建消失的刪除功能和實踐app update的機制等,不過真的讓我成長不少。

即便生活得很愉快也學到了很多東西,但我還是轉換了跑道到了台積電。會有這樣的轉變,其實都是一些因緣巧合所促成的,這大約是在我到宏達電已經五個月左右發生的。一天我在Facebook上看到當兵的同梯post一則台積電徵才消息,而一切的開始就是我在上面留了一次言,然後就被鬼上身的抱著玩玩的態度(因為之前已經被拒絕過一次)將履歷給了我的同梯去內薦。結果過了一個月竟然接到了面試通知,沒辦法,於是就請了一天假去面試,至於面試的過程我之前已經有寫過分享心得。其實真的就是一堆的巧合,要不是那一天我運氣很好的英文考得還不錯,要不是那天我運氣很好的遇到很不錯的面試官、要不是我運氣很好的又拿到一個很不錯的單位的offer,如果沒有以上的這些"要不是",我想我現在應該還會在宏達電吧!

那究竟是什麼原因讓我決定到台積電呢?當時的情況是這樣的,大概在GoogleTask plugin完成的差不多以後,每天到公司都覺得很無趣,都是解一些奇怪的issue,過著解issue為生的日子,沒有issue就沒什麼事,有issue就加班到比較晚(當然沒有加班費,無敵的責任制),這個時候就已經開始讓我萌生去意的種子。不過突然的一個機會,讓我換去負責另一個跟Verizon合作的AP,於是我堅持了下來。但過沒多久,我發現又是一樣的生活,只是issue比較少了;但卻多了另一件事,就是要看NewBay(另一個參與Verizon專案的公司)嘴臉來跟他們要API,這個部份其是也還好,因為協同合作本來就不容易,更何況是跨國的(對方是在美國的公司)。就在這個時機點我拿到了台積電的offer,不過我還是思考了很久,打聽了很多消息,才做了這最後的決定,至於這個決定是好還是不好,可能還要往後幾年看才會知道。所以就如大家所知的,我現在在台積電了。

贏在測試-曹向志 摘要

軟體測試經驗的體會:
1.做事要認真,有耐心。當時大家的學習熱情都很高,如學習程式設計語言、學習硬體及業務知識。
2.測試要注意變換思考的角度。當時我們大概測試10輪左右,如果不轉變思考的角度,越到後面就越發現不了問題,因為思維已經形成了定勢。
3.當時因為使用的是編譯,進行白箱測試,使我對作業系統、語言本身都有了深入了解,這位我以後的工作打下的堅實的基礎。

作為一名軟體測試工程師,知識面應該更加寬廣,這樣才有利於測試工作。

教材編寫的流程:
1.確定教材編寫規劃
2.編寫具體的某一本教材的大鋼
3.大綱評審
4.編寫PPT
5.試講
6.改進,通過後開始編寫教材正文
7.課程評審
8.校對
9.編寫任課老師使用的教案
10.出版

如何做好專案管理:
1. 要做好時間管理
2. 要做好品質控制
3. 要有良好的溝通能力
4. 要做好風險管理

測試 vs. QA
QA主要負責品質確認、審計,控制研發過程和測試的品質。可以用一句簡單的話總結:測試是對階段成果品質把關,而QA應該是對過程品質把關。

外包測試團隊執行專案的主要流程和做法:
1. 學習軟體需求
先派出骨幹人員,跟蹤軟體需求的形成過程,對需求文件進行審查,嘗試找出需求中的問題,以促進需求的完整性、正確性和可測試性。
2. 提取測試需求
要把業務需求轉換成測試需求,這一步是很重要的。有了測試需求,我們就知道測試要做什麼工作。
3. 設計測試案例
用幾個測試案例來驗證一個測試需求。透過一個管理工具,我們把測試需求和測試官連起來,從而方便查看和評審。
4. 作評審(Review)
測試需求和測試案例評審,根據評審意見,進行相應的改進。
5. 煙霧測試(Smoke Testing)
指驗證軟體是否符合測試執行入口標準(1~2天)。通過標準是,其功能要90%都工作正常。標準要在前期各方討論確定。如果不進行煙霧測試,很難判斷軟體功能完成情況,將來很可能導致測試和研發交叉在一起,很難分清楚到底是開發方的問題還是測試方的問題。
6. 整合測試
這個階段的重點是測試個子系統的介面,整合測試週期比較短,基本上每週進行一輪(有時3~4天就一輪)。此階段主要是要看整個系統相關子系統介面是否正常工作,資料能否正常地輸入/輸出,並不驗證功能的正確性。
7. 功能測試
測試工作中最重要的是在整合測試階段活動的基礎上,進行更深入和更全面的測試(包含正常、異常的情況、帳務、介面等)。因為是全面的測試系統,所以每一輪週期要10多個工作日,但隨著熟悉程度的增加,會進行的愈來愈快。
8. 統計分析
對測試工作中的各種資料(包含測試需求數、測試案例數、bug發現/修復數、缺陷原因、投入工作量等)進行統計,這會外包測試更重要,因為客戶也希望看到量化的測試結果。
9. 性能測試
理論上可以和功能測試並行,但通常都會稍晚一點啟動。性能測試有三個重點:
a. 設計性能測試場景
b. 確定性能測試設備(需客戶去商量及準備)
c. 構建歷史資料/基礎資料(可透過寫一些儲存過程或借助一些工具產生)來測試3~5年後的性能表現
10. 測試報告
整理匯總各種測試資料,編寫測試報告,並做好測試報告的評審準備。
11. 接受度測試
專案測試和公司軟體產品測試是有一定差別的,專案是定制的,產品是通用的,要求不一樣。專案測試,與專案有關的連絡人的溝通要多一些;而進行產品測試,與內部的溝通要多一些,且這種溝通中阻礙和問題也比較少。


贏在測試 - 劉宇:測試的一個循環週期

原本想說要把在這本書看到的一些內容整理一下,然後覺得不錯的分享出來,不過才節錄了兩個人的內容就打字打得很累而放棄了。今天看到最後一個人,提到了一個測試的週期,我覺得很棒,所以又手癢稍微整理一下打了出來,以下就是書上的內容:

測試的一個循環週期

1.測試需求分析 (業務需求->測試需求)
首先,測試團隊需要結合產品定位、產品規格、典型應用,以及累積的經驗來確定需要測試哪些內容,這個過程稱為“測試需求分析”,即解決測什麼的問題。

2.測試設計
其次,需要考慮使用什麼樣的測試方案,採用什麼樣的測試步驟來驗證這些測試需求,這個過程成稱為“測試設計”,即解決怎麼測試的問題。在測試之前,還需要根據產品品質情況和程式碼變更情況,明確哪些內容可以不測,哪些內容需要重點測試,各個測試內容的時間和人力安排等等,以確定“測試策略和測試計畫”的過程。

3.測試執行
最後,就是分階段,利用已有的測試設計對產品實施測試,查看產品品質到底如何,這個過程就是“測試執行”過程。

4.測試分析
在計畫的測試任務完成之後,我們需要進行測試過程度量和缺陷分析,對產品的缺陷趨勢、測試人力投入、測試執行合理性,以及缺陷分佈給出合理的評估;並結合經驗資料,判斷產品是否達到了我們的品質目標,測試是否可以結束。而且透過對測試過程的分析,我們還能知道在哪些方面,我們需要繼續改進,為下一次測試提供優化依據。

只有完整經歷過上述不斷優化的循環,你才能說你做了一次完整的軟體測試。