【簡介】 本書為《軟體測試實務:業界成功案例與高效實踐》之延伸著作,主題從「軟體測試」拓展至更廣泛的「軟體品質」領域。各章作者皆為來自國內軟體團隊中不同角色的業界實務專家,涵蓋設計師、PM、QA、主管、RD、DevOps、SRE、資安與AI工程師等多元職能。延續前作精神,本書旨在協助讀者「參考業界成功經驗,快速建立軟體品質思維與實務做法」,無論您在軟體團隊中扮演何種角色,皆能從本書中獲益。 【本書可以幫助您了解】 ✔ 產品設計/用戶體驗 ✔ QA小小兵 ✔ 甲乙方視角/委外專案品質 ✔ 全局觀軟體品質/測試團隊管理 ✔ DevOps/軟體品質 ✔ DevSecOps/資安、RD、維運衝突卡點與協作平衡 ✔ 資安人才/學習路徑與職涯地圖 ✔ 可靠的WebService ✔ AI增強測試效率 ✔ LLM攻擊和防禦 本書更多精彩內容,請至sites.google.com/view/swquality網站閱讀! 本書特色 ✪ 業界專家介紹最需要與最可行的實踐經驗。 ✪ 介紹引導入門的思緒脈絡、竅門要領、起手式作法。 ✪ 每個主題精煉於一個專章,充實且精華,易於理解吸收。 【目錄】 主編序 李信杰 教授 Chapter 01 ▷ 全球數位產品的開發與設計 ── 廖元鈺 1.1 從零到一創新產品的誕生 1.1.1 點子發想 1.1.2 從點子到數位產品:將構想轉化為具體產品的關鍵步驟 1.1.3 支付系統的革新──從現金到掌紋支付 1.1.4 未經過足夠驗證與測試而失敗的案例──Make Renovation 1.2 從一到二 產品成長與優化 1.2.1 產品擴展與功能優化的策略 1.2.2 如何在競爭中保持領先優勢 1.3 A/B 測試 實驗精神驅動的產品進化 1.3.1 A/B 測試原理與實踐 1.4 跨國界的使用者研究與驗證 1.4.1 全球市場中使用者行為的多樣性分析 1.4.2 如何進行有效的跨文化用戶研究與驗證 1.4.3 有限的資源去做使用者研究 1.4.4 全球化產品設計的挑戰與機會 1.4.5 以開發埃及鈔票付費系統為案例 1.4.6 以了解韓國音樂流行文化為案例 1.4.7 總結 1.5 持續創新與成長 成熟產品的競爭優勢策略 1.5.1 發掘新市場需求,主動尋找成長機會 1.5.2 保持敏捷,透過持續迭代強化競爭力 1.5.3 建立實驗文化,讓「失敗」成為學習動力 1.5.4 促進跨部門協作,提升創新效率 1.5.5 培養成長型心態,讓創新成為團隊文化 1.5.6 結論:創新不只是一種策略,而是一種持續進化的能力 Chapter 02 ▷ 零基礎也能掌握的QA核心與實務技巧 ── 鄒翔如 引言:測試的核心是理解與探索 2.1 朋友的求救電話:從一次測試任務說起 2.2 測試人員與實際使用者的差異 2.2.1 視角不同 2.2.2 角色對比 2.2.3 兩者都很重要,缺一不可 2.3 測試的核心精神 2.3.1 那麼,測試的核心精神究竟是什麼? 2.4 測試實踐中的常見誤區避坑指南 2.4.1 新手測試人員的常見誤區 2.4.2 進階測試技巧:提升測試品質的方法 2.5 跨產業經驗如何在測試領域靈活運用 2.5.1 製造業 vs. 電商:從供應鏈到庫存管理的測試連結 2.5.2 財務 vs. SaaS 企業系統:從會計報表到 SaaS 訂閱模式 2.5.3 HR 系統 vs. 企業內部管理系統:從員工薪資到績效評估 2.5.4 結論:跨領域測試經驗,讓測試人員更具價值 2.6 測試是一種洞察力與經驗的累積 Chapter 03 ▷ 有效管理軟體開發專案和品質 ── 凃里俐 蘇瑞亨 吳龍紅 蔡育珊 劉建萍 張馨方 詹淳涵 涂富祥《叡揚資訊》 ── 陳泉錫《前財稅資訊中心主任》 前言:透過專案管理及品管 賦予資訊系統生命力 3.1 軟體專案的關鍵成功因素 3.1.1 明確的目標及嚴謹的規劃,確保專案成功 3.1.2 促成不同領域的專家團隊合作 3.1.3 安排足夠人力與資源支持專案 3.1.4 勇敢面對風險並設法減緩 3.1.5 監控專案及提供清楚報告 3.2 委託方視角的委外專案成功策略 3.2.1 專案委外前的重要考量 3.2.2 需求管理機制 3.2.3 完整RFP應有框架 3.3 成功關鍵的專案管理方法 3.3.1 專案規劃與管理 3.3.2 軟體開發生命週期作法 3.3.3 專案控制及審查 3.3.4 PMO協助監督專案及推動管理機制 3.4 專案品質的驅動關鍵在於專案管理能力 3.4.1 品質目標的設定來自承諾 3.4.2 行動後學習AAR(After Action Review) 3.5 混合式專案管理(瀑布式+敏捷式) 3.5.1 敏捷開發方法用在雲服務與產品 3.5.2 合約約束的專案採用混合式 3.6 專案的挑戰與風險 3.6.1 緊迫的時程是最大的挑戰 3.6.2 挑戰來自於全新的技術和領域 3.6.3 關鍵成員異動帶來的挑戰 3.7 案例分享與學習 3.7.1 案例一:新舊系統轉換的典型挑戰 3.7.2 案例二:甲乙雙方關係不和諧且乙方人員異動 3.7.3 案例三:當流程再造與數位轉型碰上疫情 3.7.4 案例四:問題專案解決的心得與心法 3.8 結語 Chapter 04 ▷ 品質真的能被管理嗎? ── 江仁豪《OnedaySoftware軟體品質社群創辦人》 4.1 測試團隊的建設 4.1.1 在測試團隊建立之前 4.1.2 測試團隊的建設策略 4.1.3 TCoE 在敏捷團隊中的應用與挑戰 4.1.4 TCoE 的優勢與適應性調整 4.1.5 整合敏捷與TCoE 的理想模式 4.2 測試團隊的定位 4.2.1 測試團隊的戰略角色 4.3 品質管理系統 4.3.1 QMS 與最佳實踐 4.3.2 衡量和管理軟體品質的工具 4.4 品質指標與品質度量 4.4.1 品質指標 4.4.2 品質度量 4.4.3 品質指標與品質度量在軟體開發生命週期的應用 4.5 綜合應用:從指標到數據,從數據到決策 4.5.1 將品質指標與品質度量轉化為實際行動 4.5.2 結合品質管理系統與數據驅動決策 4.6 小結 Chapter 05 ▷ 品質與價值不可兼得?讓DevOps助你兩全其美! ── 陳正瑋《DevOps Taiwan Community & DevOpsDays Taipei Co-organizer》 前言 5.1 軟體品質不只是關乎於程式碼 5.1.1 我們交付的「軟體」包含什麼? 5.1.2 使用者認為的軟體品質問題? 5.1.3 任何的「變更」都會影響品質 5.2 DevOps與軟體品質 5.2.1 DevOps的全貌與現況 5.2.2 常見的DevOps實踐框架 5.2.3 常見的DevOps工程實踐 5.2.4 DevOps強化企業競爭力 5.3 DevOps案例分享 5.3.1 案例一 5.3.2 案例二 5.4 小結 Chapter 06 ▷ 被Sec攔腰折斷的DevSecOps? ── 盧建成《靖本行策 CPHT》 前言:從合作到衝突? 6.1 做安全vs.要安全 6.2 左移的困惑 6.2.1 什麼是左移? 6.2.2 一開始不就都有告知安全需求了嗎? 6.2.3 左移的挑戰 6.3 軟體生命週期內的安全活動 6.3.1 需求與設計 6.3.2 程式編寫 6.3.3 測試與交付 6.3.4 運行與維護 6.4 從現狀開始擁抱DevSecOps 6.4.1 評估現狀 6.4.2 工具和技術的選擇 6.4.3 規劃過渡時期 6.4.4 標準化與持續改善 6.5 結語和回顧 Chapter 07 ▷ 資安人才養成地圖與基礎實戰技能 ── 郭榮智 王凱慶《中華資安國際股份有限公司》 前言:踏上資安的旅途 7.1 資安人才培育 7.1.1 各國資安計畫與框架 7.1.2 台灣資安人才職能地圖 7.1.3 資安職能分析與證照 7.1.4 資安證照地圖 7.1.5 業界職缺 7.2 建立實戰技能與基礎知識 7.2.1 如何開始學習資安技能 7.2.2 什麼是 CTF(Capture The Flag) 7.2.3 如何透過 CTF 進行學習 7.3 透過 CTF 進行學習的實際範例 7.3.1 平台介紹 7.3.2 以 PsucheLion 為例 7.3.3 透過變形題目進行驗證 7.4 學習資源與社群 7.4.1 Hack The Box(HTB) 7.4.2 TryHackMe 7.5 結語 Chapter 08 ▷ 從測試探索Web Services可靠性設計 ── 黃冠元《技術部落格Complete Think》 前言 8.1 定義可靠性 8.1.1 對象 8.1.2 定義範圍 8.1.3 系統分層 8.1.4 小結 8.2 測試可靠性系統:案例分析 8.2.1 產品規格與目標 8.2.2 應用程式輪廓 8.2.3 初次的量測 8.2.4 效能調教與再次量測 8.2.5 重新思考:RPS=1 8.2.6 探索極限:FileSize=1GiB 8.2.7 重新思考:系統可靠性與產品規格 8.2.8 修正後產品規格與設計 8.2.9 小結 8.3 總結 Chapter 09 ▷ 生成式AI改變傳統的測試流程 ── 郁家豪《Appier沛星互動科技股份有限公司》 前言:生成式AI為QA帶來的新機遇 9.1 探索人工智慧創造力:生成式AI工具概述 9.1.1 生成式AI的發展歷程 9.2 生成式AI在QA領域的應用 9.2.1 生成式AI在QA領域中的主要應用 9.2.2 生成式AI提升QA效率的方式 9.3 在本地端運行生成式AI:Edge AI 9.3.1 在本地端運行Edge AI 9.3.2 LM Studio 9.3.3 Open WebUI + Ollama 9.4 在本地端運行Edge AI:自動補齊程式碼 9.4.1 Edge AI:自動補齊程式碼 9.5 總結 Chapter 10 ▷ 大語言模型應用程式安全實務:提示注入攻擊和防禦手法 ── 蔡凱翔 徐亨《趨勢科技》 前言 10.1 大型語言模型演進與技術革新 10.1.1 大型語言模型應用程式發展生命週期(LLMOps) 10.1.2 大型語言模型安全威脅概述 10.2 提示注入攻擊:潛藏在大語言模型中的致命漏洞 10.2.1 何謂提示注入 10.2.2 有哪些類型的提示注入 10.2.3 真實案例 10.2.4 如何防範提示注入 10.3 結論 10.3.1 確保大型語言模型安全的關鍵實務 10.3.2 對企業的重要性與未來的戰略佈局
還沒有人留下心得,快來搶頭香!
為您推薦
類似書籍推薦給您
「Gayathri的書能為團隊帶來測試的全面性觀點。」 -Neal Ford Thoughtworks總監/架構師/Meme Wrangler,《軟體架構:困難部分》作者 「Gayathri的書應該出現在所有寫軟體(以及測軟體)的人桌上。」 -Saleem Siddiqui 《Test-Driven Development學習手冊》作者 對任何想產出高品質軟體的組織而言,測試都是不可迴避的課題,本書中,我們提供了10種不同類型的測試工具,為軟體開發與品質工程師帶來一站式的測試指南,您將會了解到測試的策略、概念、實踐等知識,並將這些知識使用在網頁或手機應用的開發與測試階段。 作者Gayathri Mohan為讀者準備了40種以上可以立即上手的測試工具,不論是測試新手或老手,都可以將這些技巧應用在測試工作上,藉此增進軟體的性能、安全性、與可用性(accessibility)。本書涵蓋的測試手法包括探索性測試、自動化測試、跨功能測試(cross-functional testing)、資料測試、手機端測試等,此外讀者還可以認識到該如何將這些測試整合進CI(continuous integration)流程中。透過本書,您將能以品質為中心去處理軟體開發過程中的各種挑戰。 您可以透過本書獲得下列知識: ‧學習如何部署各種測試方案,讓手上的專案獲得高品質的產出 ‧透過書中介紹的策略與概念探索出新的測試方法 ‧從範例學習到該如何將測試工具應用到實際的工作中 ‧藉由廣泛的最佳測試實踐來增進自身的測試技巧能並推動職涯發展 第一章 全棧測試簡介 第二章 手動探索測試 第三章 自動化功能測試 第四章 持續測試 第五章 資料測試 第六章 視覺測試 第七章 安全測試 第八章 性能測試 第九章 可用性測試 第十章 跨功能需求測試 第十一章 行動測試 第十二章 邁出測試之外 第十三章 新興技術測試簡介
類似書籍推薦給您
簡介 「這本書幾乎會提升每位C++程式設計者的技能,書中充滿了實用的設計模式和引人入勝的想法,我從這本書中學到的東西遠遠地超過了我的預期。」 -Mark Summerfield Qtrac有限公司負責人 好的軟體設計是專案成功的要素,但設計軟體很難。你需要深刻的理解設計決策的後果,並對可用的設計選擇有很好的概觀。透過這本書,有經驗的C++開發者將獲得使用這種現代程式語言進行軟體設計全面、實用和無與倫比的概觀。 C++培訓師和顧問Klaus Iglberger說明了如何管理依賴性和抽象化,提升軟體實體的可改變性和可擴展性,以及應用和實作現代設計模式,以幫助你利用現今可以選擇的方法。軟體設計是軟體專案最不可少的面向,因為它影響著軟體最重要的屬性:可維護性、可改變性和可擴展性。 ‧學習如何就軟體設計而言評估你的程式碼 ‧理解什麼是軟體設計,包括像是可改變性和可擴展性等設計目標 ‧探討每種設計方法的優點和缺點 ‧學習設計模式如何幫助解決問題和表達意圖 ‧選擇設計模式的正確形式,以充分利用它的優勢 作者介紹 Klaus Iglberger 是一名自由C++培訓師和顧問的工作者。他透過世界各地廣受歡迎的C++培訓課程分享他15年的C++專業知識,並且經常在C++研討會上發表演說,自從2010年獲得博士學位以來,他一直專注在大型軟體設計和提升軟體的可維護性。 目錄 前言 第1章|軟體設計的藝術 第2章|建構抽象化的藝術 第3章|設計模式的目的 第4章|Visitor 設計模式 第5章|Strategy 和 Command 設計模式 第6章|Adapter、Observer 和 CRTP 設計模式 第7章|Bridge、Prototype 和 External Polymorphism 設計模式 第8章|Type Erasure 設計模式 第9章|Decorator 設計模式 第10章|Singleton 模式 第11章|最後一個指導原則 索引
類似書籍推薦給您
內容簡介 Pragmatic TDD:以DDD寫出鬆散耦合、文件化和高品質的程式碼 Pragmatic Test-Driven Development in C# and .NET 使用C#和.NET的工具與函式庫 測試驅動開發(TDD)是一種宣言(manifesto),強調在逐步為產品增加功能時,你應該先從單元測試(unit test)開始。現今的專案範本(project template)預設都含有單元測試,而單元測試已成為預期會被實作的重要任務。因此,在許多職位需求中,你會毫不意外地看到TDD、單元測試等關鍵字,而TDD和單元測試亦成為面試、coding挑戰和程式競賽中的重要考題。採用TDD,不僅能強化良好的設計實踐,更能加速你提升技能,成為優秀程式設計架構師(coding architect)。 本書超越理論探討,專注於讓你透過實用的框架,如ASP.NET Core和Entity Framework,在實際環境中熟練應用TDD。從基礎知識開始,本書將指導你使用Visual Studio 2022建立一個服務預訂的網頁應用程式。為了更貼近真實的工作情境,你將使用EF、SQL Server和Cosmos,並運用各種設計模式,包括資源庫(repository)、服務(service)、建造者(builder)等。同時,本書也會介紹領域驅動設計(DDD),以及其他軟體設計最佳實踐,如SOLID和FIRSTHAND等。 讀完本書,你將建立足夠的信心來主導TDD的實作。此外,你也將掌握有力的商業和技術案例,可在向管理階層或同事展示單元測試或推動TDD時使用。藉由本書的指引,你將更有把握成為引領TDD實踐的領航者,並在軟體設計領域中脫穎而出。 目標讀者 本書適合那些希望借助TDD的力量,來開發高品質軟體的中高階.NET開發者。假設你已經掌握OOP(物件導向程式設計)及C#程式設計概念的基礎知識,可是你對TDD或單元測試並不了解,本書將深入介紹並探討所有TDD與單元測試的觀念。對於想要從頭開始建置以TDD為基礎的應用程式,或計畫要在自己的組織內部引入單元測試的開發者來說,本書會是非常實用的指南。 【下載範例程式檔案】 你可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在儲存庫上: github.com/PacktPublishing/Pragmatic-Test-Driven-Development-in-C-Sharp-and-.NET 【下載本書的彩色圖片】 本書使用的彩色截圖和圖表,可以在此下載PDF檔案: packt.link/OzRlM 本書特色 ★使用xUnit編寫單元測試,並掌握相依注入的技巧 ★使用NSubstitute實作測試替身,並進行mocking(模擬化) ★結合DDD與最佳實踐,以TDD的風格撰寫單元測試 ★將TDD與ASP.NET API、Entity Framework和資料庫結合使用 ★透過探索GitHub的持續整合更上一層樓 ★探索更進階的mocking使用情境 ★在你的公司和團隊中積極推動TDD和單元測試 目錄 Part 1:TDD的基礎入門 Chapter 01:撰寫你的第一個TDD實作 Chapter 02:藉由實際例子了解相依注入 Chapter 03:單元測試入門 Chapter 04:實際在單元測試中使用測試替身 Chapter 05:解說測試驅動開發 Chapter 06:TDD的FIRSTHAND準則 Part 2:使用TDD建立應用程式 Chapter 07:領域驅動設計的實務觀點 Chapter 08:設計一個服務預訂應用程式 Chapter 09:使用Entity Framework和關聯式資料庫建置服務預訂應用程式 Chapter 10:使用資源庫和文件式資料庫建置服務預訂應用程式 Part 3:將TDD應用於你的專案 Chapter 11:使用GitHub Actions實作持續整合 Chapter 12:處理棕地專案 Chapter 13:推行TDD的紛雜繁擾之處 Appendix A:單元測試相關的常用函式庫 Appendix B:進階的Mocking使用情境
類似書籍推薦給您
內容簡介 軟體架構指標在保持軟體專案的可維護性和確保高品質架構的關鍵,以及警告架構和技術債務的危險積累方面扮演著關鍵角色。在這本實用的書中,領先的實踐型軟體架構師Christian Ciceri、Dave Farley、Neal Ford、Andrew Harmel-Law、Michael Keeling、Carola Lilienthal、João Rosa、Alexander von Zitzewitz、Rene Weiss和Eoin Woods用案例研究分享的方式,介紹每個軟體架構師都應該知道的指標。 這不是一本關於理論的書,它是基於現實世界的經驗並為軟體架構師和開發人員編寫的書,包含了更多關於實踐和實施的內容。本書分享了關鍵軟體架構指標,以幫助您設定正確的KPI並衡量結果。您在有關決策和測量有效性方面會學到更多。 您將學習如何: ‧衡量你的軟體架構在實現目標上有多好 ‧選擇要追蹤的正確指標(並略過不需要的指標) ‧改善可觀察性、可測試性和可部署性 ‧確定軟體架構專案的優先順序 ‧建構有洞察力而且相關的資訊看板 目錄 第1章 發揮 4 個關鍵指標 第2章 適應度函數測試金字塔:架構測試和指標的比喻 第3章 演化的架構:具有可測試性和可部署性的指導性架構 第4章 用模組化成熟度指數改善你的架構 第5章 私有建構和指標:挺過 DevOps 過渡期的工具 第6章 擴展組織:軟體架構的核心作用 第7章 測量在軟體架構中的角色 第8章 從指標到工程的進展 第9章 使用軟體指標確保可維護性 第10章 用目標 - 問題 - 指標方法測量未知物
資訊
工程
數學與統計學
機率與統計
自然科學
健康科學
地球與環境
建築、設計與藝術
人文與社會科學
教育
語言學習與考試
法律
會計與財務
大眾傳播
觀光與休閒餐旅
考試用書
研究方法
商業與管理
經濟學
心理學
生活
生活風格商品
參考書/測驗卷/輔材