雖然這篇整合測試工具鄉民發文沒有被收入到精華區:在整合測試工具這個話題中,我們另外找到其它相關的精選爆讚文章
在 整合測試工具產品中有287篇Facebook貼文,粉絲數超過0的網紅,也在其Facebook貼文中提到, 今年底高雄輕軌路線再延伸 列車即將抵達美術館特區 輕軌成圓的夢想越來越清晰了! 輕軌大南環延伸路段(C17站至C20站)已於本(9)月份陸續完成系統整合、穩定性兩大測試項目,順利通過初履勘前的重要考核,我請捷運局以營運安全為最大前提下,申請中央主管機關交通部辦理初履勘,朝今年底通車至C20台...
同時也有100部Youtube影片,追蹤數超過19萬的網紅3Q陳柏惟,也在其Youtube影片中提到,混合戰是什麼? 混合戰是多元方面的,不光是陸海空武器裝備,還包含民心士氣都混在一起,包含新聞、假訊息、輿論等等,影響民心,甚至導致國家陷入最大問題,使得平戰轉換不易。 所以我特別注意到北約有混合戰的應變中心,2019 年,這個中心進行了史上最大規模混合戰演練─「 Locked Shields 計畫...
「整合測試工具」的推薦目錄
- 關於整合測試工具 在 陳顥元(Richard Hao-Yuan Chen) Instagram 的最佳解答
- 關於整合測試工具 在 國際內世鏡|Insight Into Issues Instagram 的最佳貼文
- 關於整合測試工具 在 ????? ??????? ??. ???? 廖以諾 Instagram 的最佳解答
- 關於整合測試工具 在 Facebook 的最佳解答
- 關於整合測試工具 在 動區動趨 BlockTempo - 由社群而生的區塊鏈媒體 - Media for Blockchain Facebook 的最佳解答
- 關於整合測試工具 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於整合測試工具 在 3Q陳柏惟 Youtube 的精選貼文
- 關於整合測試工具 在 巴打台 Youtube 的最佳解答
- 關於整合測試工具 在 果籽 Youtube 的精選貼文
整合測試工具 在 陳顥元(Richard Hao-Yuan Chen) Instagram 的最佳解答
2021-09-10 22:31:57
【業配小學堂】 HYC Flow 拉花鋼杯-品牌與產品介紹 哈囉我是顥元, 很高興前陣子模具已經測試完成, 目前已經進入量產階段, 相信有些人已經期待很久了, 我自己也很期待阿。 等待的過程想跟大家聊聊這個鋼杯, 也讓大家有時間可以去評估是否符合自己的需求, 如果對於鋼杯有什麼問題也歡迎詢問。...
整合測試工具 在 國際內世鏡|Insight Into Issues Instagram 的最佳貼文
2021-04-04 17:33:23
美國國防部發布「太空防衛戰略」(Defense Space Strategy),並將仰賴各盟國相助,有意防止中國和俄羅斯掌控太空資源。這是美國總統川普去年12月成立「太空部隊」(Space Force)後的首份戰略文件。 - 「太空防衛戰略」中寫道:「中國和俄羅斯研發、測試及部署反太空軍力,構成了最...
整合測試工具 在 ????? ??????? ??. ???? 廖以諾 Instagram 的最佳解答
2020-06-15 20:46:52
【研究顯示高蛋白飲食並不會影響腎臟功能】 「高蛋白飲食會傷害健康成人的腎臟功能」這個廣為流傳的迷思,已經被加拿大 McMaster 大學的科學家揭穿了,他們檢視了超過二十幾份研究,其中包含了數百名受試者。 這份發表在 Journal of Nutrition 期刊的整合分析,挑戰了從1980年代開...
-
整合測試工具 在 3Q陳柏惟 Youtube 的精選貼文
2021-03-24 19:25:44混合戰是什麼?
混合戰是多元方面的,不光是陸海空武器裝備,還包含民心士氣都混在一起,包含新聞、假訊息、輿論等等,影響民心,甚至導致國家陷入最大問題,使得平戰轉換不易。
所以我特別注意到北約有混合戰的應變中心,2019 年,這個中心進行了史上最大規模混合戰演練─「 Locked Shields 計畫」。其計畫假設「一個虛構的島嶼國家 Berylia 正在經歷不斷惡化的安全局勢」,「該國正在進行全國大選」。Berylia 面對供水、電力、通訊網路等民生基礎設施的網路攻擊;而這些網路攻擊的破壞造成民心騷動,甚至威脅大選計票結果的公正性,影響選舉結果。演習的目標是整合國家網絡快速反應小組,在巨大的壓力下維持各種系統的運作,並解決國家協調機制、執法選擇和戰略溝通的能力。CCDCOE 指出這項演習除了是北約相關部門的「年度壓力測試」,同時也具有整合各會員國網路防禦、執法與相關戰略社群的重要意義。
我們便需要了解類似的任務,目前在台灣有哪些單位在因應?未來應該有哪些單位的人力加入?需要有哪些能力養成和制度的配套?我想請問國防部部長,認為有沒有必要成立專責小組,研究台灣面臨混合戰的危機?而我們潛在威脅敵人,是否正在使用這樣的工具在打擊台灣?需不需要行政院成立這樣的小組?
國防部部長回應,行政院有此類編組,不管災防、應變這都可以轉化,並同意平戰轉換的狀況幾乎會很緊湊,國軍需要再縮短平時轉換戰時的應變時間,比如縮短至平常編組就要朝向戰時編組做整理。
我也提醒,部長和我都同意潛在的威脅對手,對台灣有混合戰的威脅可能性,我建議在不同部會的行政單位,都需要對混合戰有足夠的認識,我們才有辦法傳達給民眾,什麼是混合戰,社會大眾才有機會一起來應對。
此外,全球唯一闡述網路空間法律的「塔林手冊」(Tallinn Manual)在 2017 年出版最新版,最新版目的在敲定政府在虛擬世界打仗時應該遵守的規範。因為網路衝突可能產生的情況無窮無盡,會引發一長串的法律問題與難題,塔林手冊試圖在解決這些問題。因此,手冊闡述全球適用於網路空間的現行法律,也討論了例如:網路刺探應該跟一般間諜行動一樣,受到相同法律規範嗎?一個國家可以取得戰爭犯的網路身分與密碼並使用嗎?如果我們要研究混合戰應變中心在台灣如何落實,便需要參考這本手冊討論的各種網路作戰定義、網路作戰行為,以及在法律上可以如何規範。當然,台灣的法律不見得按照塔林手冊訂定,但是這本手冊有很大的參考價值。我建議國防部可以仔細研究看看,部長也欣然同意。
再來關於反滲透,,所謂網路的「反滲透」甚至是「主動作戰」,就包括了解中國網路世界的習性,並搭配中國當下的政治社會經濟事件,以及可以因此而反滲透的方式;而不是認為中國的長城永遠堅不可破。
比方說,如果在中國網路上特別針對全國性議題來動搖中央政府的威信,就會受到比較大的打壓;但是如果是針對地方貪官汙吏來在網路上進行輿論戰,或者如果我們能主動發現某個省份某個縣市有群眾事件,因此在中國網路上幫忙散佈這個消息,有沒有可能因此中國地方對台灣發動的資訊戰就會因此減弱,因為他們必須把重心放到處理轄區的維穩上?希望國防部可以從這個方向去研究一下。
對外主動作戰,內部也要謹慎安全,我特別關心國防廠商的安全控管機制,上個會期我也曾質詢過,像是機動第六組的人力準備情形,當時因為國防科技廠商,有一些內部的零件或者是當時招標跟細則沒有顧慮到,,所以我當時就要求,應該要有個機動的第六小組,去處理安全管控,當時相關單位表示人力可能有點吃緊,但會陸續補充,所以我想請教現在的人力準備情況?
部長回應我,目前已有編成,有幾個跟國防工業有關,特別是國防產業的大廠,已開始進駐。
我在這裡特別要表達,曾經有參與國防產業公司的部分股東背景,有兩個股東是海外集資的基金,因為是散戶,很難知道背後成分有誰。我主提案的《國防產業發展條例》修正案,便是回應了動態查核的重要性。如果中資利用資本市場的開放性,假借外資、僑資或港資名義申請投資國防產業,我們就認為法律需要有更嚴格的規範。
因此,我們法案建立重要國防產業和國安產業的大股東適格性審查為管制機制;同一人或同一關係人單獨、共同或合計持有重要國防產業已發行有表決權股份總數超過 5% 就必須申報;超過 10%、25% 或 50% 者,都必須事先申請核准。這參考了《金控法》對於大股東適格性的規範;如果今天我們對於金控業都要求大股東的適格性,便沒有道理不在國防產業和國安產業引進類似的規定。我們希望能藉此查核參加國防產業的大股東的背景和適格性,對於這些一定比例持股的股東能事先有所掌握和審核。希望國防部一起來努力,小心把關台灣的國防產業!
外交及國防委員會,國防部 邱國正部長。
===============================
【烏日服務處】
地址|臺中市烏日區中山路一段525號
電話|(04)2337-7383
服務時間|週一至週五 9:00-18:00
【沙鹿服務處】
地址|台中市沙鹿區中山路537號
電話|(04)2662-0913
服務時間|週一至週五 9:00-18:00
【霧峰服務處】
地址|台中市霧峰區文化巷57號
電話|(04)2330-5663
服務時間|週一至週五 9:00-18:00
【大肚服務處】
地址|台中市大肚區自由路148號
電話|(04)2699-8903
服務時間|週一至週五 9:00-18:00
【龍井服務處】
地址|台中市龍井區中央路三段169號
電話|(04)2639-1163
服務時間|週一至週五 9:00-18:00
【龍井新庄聯絡處】
地址|434-006 台中市龍井區新庄街一段138號
電話|0917-191-058
【免費法律諮詢服務】 (需事前預約)
烏日─每周四 19:00-21:00
沙鹿─每週三 09:30-12:00、每周五 19:00-21:00
大肚─每週二 19:00-21:00
龍井─每週三 19:00-21:00
霧峰─每週五 19:00-21:00
【免費長照 2.0 諮詢服務】 (需事前預約)
烏日─每週三 16:00-18:00
沙鹿─每週二 16:00-18:00
大肚─每週二 19:00-21:00
【3Q聽你說 委員服務時間】 (需事前預約)
大肚─週二 19:00-21:00(每月二、四週委員時間)
龍井─週三 19:00-21:00(每月一、三週委員時間)
烏日─週四 19:00-21:00(每週委員時間)
沙鹿─週五 19:00-21:00(每月一、三週委員時間)
霧峰─週五 19:00-21:00(每月二、四週委員時間)
#3Q陳柏惟 #中二立委 #台灣基進
===============================
◆ 訂閱3Q的Youtube → https://www.youtube.com/c/3QChen
◆ 追蹤3Q的FB → https://www.facebook.com/3Q.PehUi/
◆ 訂閱3Q的Podcast → 3Q陳柏惟
◆ 追蹤3Q的IG → wondachen
◆ 追蹤3Q的噗浪 → wondachen
◆ 追蹤3Q的推特 → @3QTan
===============================
◆ 台灣基進官網 → https://statebuilding.tw/
◆ 訂閱台灣基進官方Youtube → https://pros.is/L8GNN
◆ 追蹤台灣基進官方臉書 → https://www.facebook.com/Statebuilding.tw/
◆ 捐款支持台灣基進 → https://statebuilding.tw/#support -
整合測試工具 在 巴打台 Youtube 的最佳解答
2021-01-09 10:00:03香港今日社論2021年01月09日(100蚊獅子頭)
https://youtu.be/XuZIZxAeb2s
請各網友支持巴打台
巴打台購物網址
https://badatoy.com/shop/
巴打台Facebook
https://www.facebook.com/badatoyhk/
巴打台Youtube Channel:
https://www.youtube.com/channel/UCmc27Xd9EBFnc2QsayzA12g
-----------------------
明報社評
尚有12天任期的美國總統特朗普,昨天終於對國會山莊被暴徒嚴重破壞一事開腔,他雖然譴責暴力行為,並且承諾致力於將總統權力順利和無縫移交,但參眾兩院的兩黨議員,紛紛表示不能接受特朗普在白宮多待一天。雖然在短時間內罷免特朗普的機會不高,但朝野仍然堅持要開刀,實質是警告特朗普不能再胡作非為,也是為仍然留任的內閣官員限制特朗普行使權力撐腰,否則美國不得安寧,世界和平也堪憂。正當參眾兩院進行總統選舉最後確認程序的時候,一直不肯承認選舉落敗並指摘對手「竊取」選舉的特朗普,預先召集支持者在華盛頓集會作垂死掙扎。
蘋果頭條
警方再度爆出性醜聞。警方昨晨(7日)接獲一名25歲女子報案,指她於同日凌晨約一時在尖沙嘴一酒店懷疑被一名男子強姦,案件列作「聲稱強姦」,交由西九龍總區重案組跟進。該名涉案男子為休班警務人員,隸屬西九龍總區機動部隊,他已經被停職接受調查。消息指,該名女子與涉案男警為情侶關係,但經常發生爭執,她於前日(6日)被帶到尖沙嘴一間酒店,並在不情願的情況下與男警發生性行為,事後她向朋友哭訴並報案求助。
東方正論
內地記者付國豪前年8月在香港機場遭人禁錮及襲擊一案昨日判刑,3名被告早前已被裁定暴動及襲擊罪成,最終分別被判囚4年3個月至5年半不等。案件暫告一段落,判刑是否合理,公眾自有一把尺,惟負責此案的法官卻趁機為同僚「食死貓」抱不平,直指律政司不肯在原審時反映立場,卻在上訴庭表明刑期範圍,以致基層法官屢屢因為輕判淪為眾矢之的,甚至遭上級法院批評為「錯到無可再錯」,再次揭開律政司胡混度日的冰山一角。
星島社論
美國總統特朗普的支持者周三衝擊國會大廈,舉世震驚。政府官員的辭職潮擴大,兩名內閣成員即華裔運輸部長趙小蘭、女教育部長德沃斯周四相繼請辭,以示抗議。而民主黨則持續「追殺」特朗普,美國媒體昨日報道,眾議院議長佩洛西及其領導團隊,正考慮對特朗普展開閃電式彈劾程序,眾議院最早下周中表決彈劾條款。國內多個城市出現反特朗普示威,要求彈劾及促提早下台。美國運輸部長、參議院共和黨領袖麥康奈爾的妻子趙小蘭周四預告下周一請辭,成為衝擊國會事件發生後第一位宣布辭職的內閣部長,明顯是對特朗普鼓吹支持者使用暴力表達不滿。
經濟社評
本港新冠疫情反覆,港府已預購的科興疫苗,巴西剛證實有效率達78%,各地專家紛紛稱許成效,惟其臨床資訊仍未能一次過發布,難以根絕公眾疑慮,怕會拖低接種率。眼下藥廠仍需時整合測試數據,港府恐難加快步伐,不過官員仍可參考新加坡,對公眾更加開誠布公、做妥接種配套,亦要改善接觸追蹤,以防一直被不明個案拖後腳。科興的合作夥伴巴西聖保羅州布坦坦研究所(Butantan)周四公布,約13,000名志願醫護接種科興疫苗後,得出臨床有效率為78%,全部參加者均避免嚴重或輕微的新冠併發症,研究所形容為極有效的預防工具。 -
整合測試工具 在 果籽 Youtube 的精選貼文
2020-10-19 01:30:11不記得約會、帶漏東西等健忘行爲,對不少人來說是家常便飯。但若年過中年,記性越來越差,就可能是患上認知障礙症的先兆。精神科專科醫生歐陽國樑解釋,認知障礙症是因腦細胞出現病變而急劇退化及死亡,結果導致腦功能衰退,此情況是不可逆轉,惟有及早發現及適當治療才能延緩惡化。
大腦運作大致分四個狀態,由接收、整合,至儲存及表達各種資訊,牽涉多種認知功能,包括記憶、運算、抽象思維、語言、空間感等。十隻手指有長短,年紀越來越大,某項功能變差是正常;大部份認知障礙症患者,數項認知功能會同時出現問題。
若身邊人近期思考、反應變慢,與其自己嚇自己,不如參考網上的評估工具。網上資源分為問卷和測試兩大類。問卷由專人根據認知障礙症的病理而設,方便旁人觀察症狀,判斷是否需要求醫;測試多以遊戲形式直接考驗記憶、集中力等。譬如一分鐘觀看數十張圖片,見到重複出現的圖片,要立即按下確認,若分數較同齡測試者低,建議作詳細檢查。
影片:
【我是南丫島人】23歲仔獲cafe免費借位擺一人咖啡檔 $6,000租住350呎村屋:愛這裏互助關係 (果籽 Apple Daily) (https://youtu.be/XSugNPyaXFQ)
【香港蠔 足本版】流浮山白蠔收成要等三年半 天然生曬肥美金蠔日產僅50斤 即撈即食中環名人坊蜜餞金蠔 西貢六福酥炸生蠔 (果籽 Apple Daily) (https://youtu.be/Fw653R1aQ6s)
【這夜給惡人基一封信】大佬茅躉華日夜思念 回憶從8歲開始:兄弟有今生沒來世 (壹週刊 Next) (https://youtu.be/t06qjQbRIpY)
【太子餃子店】新移民唔怕蝕底自薦包餃子 粗重功夫一腳踢 老闆刮目相看邀開店:呢個女人唔係女人(飲食男女 Apple Daily) https://youtu.be/7CUTg7LXQ4M)
【娛樂人物】情願市民留家唔好出街聚餐 鄧一君兩麵舖執笠蝕200萬 (蘋果日報 Apple Daily) (https://youtu.be/e3agbTOdfoY)
果籽 :http://as.appledaily.com
籽想旅行:http://travelseed.hk
健康蘋台: http://applehealth.com.hk
動物蘋台: http://applepetform.com
#認知障礙 #長者 #精神科 #老人痴呆 #腦退化
#果籽 #StayHome #WithMe #跟我一樣 #宅在家
整合測試工具 在 Facebook 的最佳解答
今年底高雄輕軌路線再延伸 列車即將抵達美術館特區
輕軌成圓的夢想越來越清晰了!
輕軌大南環延伸路段(C17站至C20站)已於本(9)月份陸續完成系統整合、穩定性兩大測試項目,順利通過初履勘前的重要考核,我請捷運局以營運安全為最大前提下,申請中央主管機關交通部辦理初履勘,朝今年底通車至C20台鐵美術館站的目標,往前邁進。
自去年11/10陳市長宣布輕軌復工以來,今年1/12輕軌大南環段通車後跨越第一階段路線的14站,營運規模提升至23站,今年9/1起高捷公司縮短尖峰時段的輕軌班距為10分鐘,而今年底大南環路線將繼續向北延伸,自C17鼓山區公所站往C20臺鐵美術館站邁進,年底市民朋友搭乘輕軌列車可一路暢通到高雄美術館區域,也讓喜愛藝文活動的朋友們前往高美館多了一種交通工具選擇。
為此年底的輕軌盛事,陳市長特別叮囑捷運局等局處務必全面檢視及加強輕軌沿線環境,不僅是軌道兩側的植披、灌木,包含道路側溝清疏、既有牆面或圍籬的美化、路口號誌標線的完整性、人行及腳踏車通行動線的安全及通視等。
為了讓市民大眾有更好的乘車品質,今日下午我邀集捷運局、工務局、交通局、都發局、環保局、研考會、法制局、水利局、鼓山區公所等機關首長一同試乘,從搭乘者及市民的視角一起體檢年底將通車路段沿線環境。
今日試乘專車自目前的營運終點C17站出發,緩緩駛向美術館園區,我提醒同行的各位首長不僅要注意行經路線的沿線環境,也請司機員每站停靠,讓每位首長下車步行觀察站區周邊環境整備情形並發表看法,特別是沿線若具有捷運聯開潛力之站區,亦著手啟動聯合開發準備工作及開發前的環境整頓;因此7月下旬我已曾率隊拜會台鐵局杜局長,後續雙方將展開密切合作。
今日試乘逐一確認輕軌的土建及機電系統工程已完備,沿線環境則尚待局處持續努力,距離年底通車所剩時間不多,我再度請求今日出席的局處首長通力合作、加緊作業,請捷運局、都發局、工務局、交通局及環保局發揮所長,不分輕軌路權內、外,加強植栽、草皮、補植,以及沿線排水溝清疏、鼓山運河及截流站周邊環境清理。
不僅如此,中長期我們有待努力的部分沿線周邊老舊建物牆面將徵詢居民同意後,持續彩繪外牆展現環境美化效果(C17站周邊、C17~C18沿線、C18站東側、鼓岩國小圍牆)。
為了加強輕軌與其他交通工具的轉乘服務,我也要求交通局儘快評估增設公共自行車租賃站及檢討各站區既有公車路線,提供大眾運輸使用者最後一哩路的貼心服務,期望透過今日各機關的合作及努力,讓明日的市民享有高品質乘車環境及賞心悅目的搭乘體驗。
#輕軌成圓,捷運成網
整合測試工具 在 動區動趨 BlockTempo - 由社群而生的區塊鏈媒體 - Media for Blockchain Facebook 的最佳解答
#Robinhood #NFT #Defi
【不只加密貨幣錢包,Robinhood 暗示可能新推出 NFT 和 DeFi 服務!】
⚡️Robinhood Crypto 營運長 Christine Brown 暗示:她也希望讓客戶探索 DeFi,並努力讓他們在 Robinhood 上享受免交易手續費的服務...
-
#同場加映
① Paypal超級APP錢包問世!整合支付、加密貨幣買賣與高收益儲蓄功能
https://pse.is/3pht83/
② 美股散戶王者 Robinhood 將推「加密貨幣錢包」!免交易手續費、10月供用戶試用
https://pse.is/3psbb2/
③ 美國|盈透證券推出加密貨幣交易服務!主打低手續費、要與 Robinhood 較勁
https://pse.is/3pstu5/
-
✅ 即時新聞Telegram頻道
https://t.me/blocktemponews
✅ 每日精選 LINE:
https://line.me/R/ti/p/%40kgx9780p
✅ #五千人投資討論群 (已滿)
https://line.me/ti/g2/htySqS7SoKOuGGFx4Gn9dg
-
✅ 動區Line2群👇👇👇
https://bit.ly/dogemoon2
整合測試工具 在 91 敏捷開發之路 Facebook 的精選貼文
【從學員練習影片觀察到一個關於 TDD 的有趣現象】
極速開發的課後練習作業,雖說重點是放在極速開發要學習的技巧與刻意練習的模型,但開發的方式、順序也是刻意安排成類似 TDD 的進行方式,來讓生產力最大化(TDD 本來就是幫助開發的,不是幫助測試的)
我從2位第一次上我課的學員(當然就是 #極速開發,代表他們沒上過#單元測試 跟 #TDD與持續重構),雖然他們是照著示範影片、上課教學用 TDD 在寫整個 tennis 的過程,但從他們執行測試的時間點就可以發現:
「他是用測試來驗證 production code 的正確性」,即使他先寫了測試,也不先執行,沒有看到紅燈,每次都等到 production code 寫完了,應該要綠燈時,才執行測試。
而其他上過 TDD 課的同學 ,或是上過單元測試的同學,知道測試是用來描述情境,如果現在「加入的這個情境是新的需求或需求異動,代表目前 production code 還不支援這個情境,執行測試跑出的紅燈,就是等等 production code 要完成的 #目標」
test-frist 從來都只是 TDD 其中一個小小的衍生產物,而不是全貌。TDD, 測試驅動開發 從來都是一種開發方法,而不是測試方法。
總有些人老愛把 TDD 拿來跟測試相提並論,就總是喜歡把 test-first 當作靶子打,覺得違反人性跟直覺,覺得先寫測試在很多情況下是浪費時間或是不 work,可能拿來跟一堆測試的方法論相提並論,或總是只拿回歸測試的效益來當作 TDD 的整體。抑或是陷入 isolation unit test 與 integration test (其實就是非 isolation 等級、有實際依賴的自動測試)之爭。
```
註:TDD 事實上是可以不是單元測試等級的。
```
要比較正確看待 TDD 的角度,首先要知道它是幫助開發的、它是一種開發方式(當然不是唯一一種,甚至也不會是最好的一種,因為根本沒有最好,只有剛好)
接著要了解 TDD 可能用 IPO 模型還比較貼切,input-process-output,在你開發任何功能之前,你總要先想過這件事。而先想這件事,才是 TDD 的最基本精神。
接著是怎麼把你想好的東西,變成可執行的 spec,我們只是用測試程式來「描述」你腦袋中的「IPO模型」,把 process 的過程當作一個黑箱子。
而這個 IPO 模型在結合成「使用情境」,就會帶來「高易用性 API 的好處」,只有在一開始就先想好怎麼給別人用,最後才會好用。所謂的一開始想好,指的不是預先設計一堆 class,而是 input/output 想清楚期待(一般會結合實例化需求,搭配 Given/When/Then 的 gherkin style 來把前置條件、資料、前提想好,當發生什麼事,應該是怎樣的結果),然後描述它。在紅燈定義清楚目標,綠燈完成 input/output 關係且沒弄壞前面的所有情境後,來針對 process 進行重構(事實上 Kent Beck 的 TDD by Example 更多是用 refactor 來 #完成 process。
```
註:所謂的 output 不一定只有回傳值,包含外部依賴狀態、資料的改變,甚至顆粒度小一點,針對物件導向設計的話,物件內部狀態的改變也算,只是物件內部狀態改變,驗證點要嘛是拿得到內部狀態,要嘛就是要驗證物件哪個行為會因這個內部狀態而有所不同。
```
## 戰 TDD 之前該先做好的功課
要戰 TDD,是不是至少要把 Kent Beck 的 TDD by Example 看完?
要戰 TDD,請不要拿它跟測試方法論來比,那只是一下就被人看破手腳。因為它是個開發方法論。
要戰 TDD,請不要把它的好處只限縮在跟回歸測試、自動測試的比較,因為那只是它的衍生好處,當你試過在白海報紙上 TDD 就懂,TDD 是在釐清你的思緒的同時,又可以以終為始,確保你在 production code 的每一個動作都是為了滿足某個期待的情境。
要戰 TDD,請不要去把 單元測試、整合測試捲進來,那是測試的顆粒度,那是測試的分類,TDD 從來都不是只能限於單元測試。
要戰 TDD,請不要在那邊戰他是 bottom-up ,是直接從程式/class 的角度出發,事實上 TDD 既不是 bottom-up, 也不是 top-down, (書裡面就有講這件事咩),實務上的 TDD 結合倫敦派(GOOS)跟芝加哥派(Classic TDD),會更像 Outside-In 的進行方式,先定義好驗收情境,接著從最外部(也就是使用者看得到的部份)一路把依賴往另一邊的系統邊界推,直到推到系統以外的依賴資源(persistence 或 external API/service)
```
註: ATDD by Example 中 ATDD by Example, Kent Beck 寫的序最後的一段話。
Kent Beck:
「就像我曾說過的,TDD的一個缺點是,它可能會退化為一種用來滿足開發人員需求的編程技能。某些開發人員從更廣泛的角度來看待TDD,輕易在他們測試的不同抽象級別間跳躍。然而在ATDD中不存在歧義,這是一種加強與非編程人員溝通的技術。我們之間良好的協作關係,以及作為這種關係基礎的溝通,能夠使軟件開發更有效率。採用ATDD是向著溝通更清晰這個目標邁進的重要一步,而此書是一本全面又平易近人的入門讀物。」
```
要戰 TDD,請不要只關注在 test-frist,因為他只是用 test 來幫助你 think-first,不要邊寫邊想。然後不要過份依賴或相信你腦袋的能力,把你想好的東西具體化出來,最好可以被直接執行,最好除了你以外每個人執行出來的結果都會一樣(不管是對的,還是錯的)
要戰 TDD, 請不要把論點放在見樹不見林,如果你有看 TDD by Example 的 Part 1, Part 2 那兩個加起來共 24 個章節,就知道一開始就得把當下想到的全貌紀錄在一個「紙本」的 backlog (所謂的紙本,只是要講這並不依賴於任何工具)
而這個需求輪廓的全貌,會隨著你逐漸完成一部分一部分的情境,設計逐漸浮現後,而隨時跟著增減調整。
但不代表 TDD 就是先想到一個測試案例,就直接先幹下去了,那根本是亂搞。
以上這些,都還不是在列 TDD 的好處,而是針對那些從來沒搞懂 TDD 但又愛戰 TDD 的人一點提醒,你戰的很可能是「你誤解的 TDD」。
TDD 還有許多實務上的用途,列上我在譯者序中的一小段:
>> 測試驅動開發(Test-Driven Development, TDD)!一種以測試為開發輔助、以測試來描述需求情境、以測試來當作目標、以測試來表達期望、以測試來驗證疑問、以測試來實驗學習、以測試來溝通協作、以測試來協助設計高易用性 API 的「開發方法」。
譯者序有開放給大家看,請見:https://tdd.best/book/tdd-by-example/
拜託,要戰之前去看一下祖師爺 Kent Beck 對 TDD 的原始見解:https://www.tenlong.com.tw/products/9789864345618?list_name=srh
如果你想正確的使用 TDD 來幫助你在實務上產生許多的價值,帶來許多的好處,尤其是需求釐清、持續重構、小步快跑的部份,最好理解的培訓課就在這:https://tdd.best/courses/classic-tdd-by-example-video-training/
最後我想講一段話:
TDD 從來都不該被導入到團隊中,但它是一種很好的自我鍛鍊與學習的方式,也是一種能用很低的成本來帶來很多好處的開發方法(見下方註腳),然而它也不是適用所有的情況,但它可以讓『完美』變成一個動詞,而非不變的形容詞。
```
註:
Kent Beck 在 DHH 靠腰:《TDD is Dead》 之後寫的一篇反串文:《RIP TDD》
https://www.facebook.com/notes/1063422864115918/
我幾年前的簡易翻譯,通常也是 TDD 可以幫助你解決的問題,如下:
- Over-engineering (過度設計)
- API feedback (改善API的設計與可用性)
- Logic errors (想的跟寫的不一樣,寫的跟需求不一樣)
- Documentation (寫跟維護文件是痛苦的)
- Feeling overwhelmed (找不到切入點)
- Separate interface from implementation thinking (抽象設計)
- Agreement (確保已修正問題的證據)
- Anxiety (改東壞西的擔心受怕)
```
很久沒對 TDD 發表這種長篇大論了,因為不理解、不想理解、不同角度理解的人居多,能真的到各自的塔上用不同角度來看原義,以及實務上用它來幫助解決的問題有哪些的人,真的太少。
大部分人只想針對這個詞彙來攻訐以博得流量跟吸引目光,而不是想著「我可以用它來幫助我什麼」
問題跟需求是中性的,解決問題跟滿足需求的手段與方式有千萬種,不會只有一種,也不會有所謂的對錯,多點角度去了解不同的方法、方式,然後融會貫通,發揮綜效,在實務上用最少的成本與風險來產生最大的價值,這才是真正的目標。
導入敏捷不該是目標,導入 TDD 也不該是目標,目標永遠都是在實務上產生價值、解決問題、滿足需求。