籍 + 7 個(gè)故障注入工具速查)
awesome-testing 混沌工程資源指南2 本混沌工程書(shū)籍 7 個(gè)故障注入工具速查【免費(fèi)下載鏈接】awesome-testingA curated list of testing resources項(xiàng)目地址: https://gitcode.com/gh_mirrors/aw/awesome-testing本文基于 awesome-testing 項(xiàng)目整理 2 本混沌工程書(shū)籍、7 個(gè)支持故障注入的測(cè)試工具外加一條三步實(shí)踐路徑。目標(biāo)是讓你看完就能挑工具、選書(shū)把故障注入落到自己的測(cè)試流程里。依賴超時(shí)、緩存雪崩、API 500混沌工程解決什么問(wèn)題正常測(cè)試只覆蓋一切順利的路徑但線上事故往往出在異常路徑上。三個(gè)高頻場(chǎng)景就能說(shuō)明問(wèn)題依賴服務(wù)超時(shí)下游服務(wù)偶爾響應(yīng)超過(guò) 3 秒你的超時(shí)與重試策略驗(yàn)證過(guò)嗎把 mock 的響應(yīng)時(shí)間調(diào)大就能復(fù)現(xiàn)。緩存雪崩Redis 重啟的瞬間全部請(qǐng)求直接壓向數(shù)據(jù)庫(kù)限流和降級(jí)是否真的生效主動(dòng)停掉緩存即可驗(yàn)證。API 隨機(jī) 500下游偶發(fā) 500 時(shí)前端提示和冪等邏輯撐得住嗎在 mock 里按比例返回 500 就能復(fù)現(xiàn)?;煦绻こ叹褪前堰@些故障主動(dòng)、可控地打進(jìn)去在出事之前找到薄弱點(diǎn)。以下資源均整理自 awesome-testing?;煦绻こ坦ぞ??先讓故障可控地發(fā)生mockd多協(xié)議 mock 服務(wù)器 內(nèi)置故障注入mockd 是開(kāi)源的多協(xié)議 mock 服務(wù)器支持 HTTP、gRPC、GraphQL、WebSocket、MQTT、SOAP并且內(nèi)置 chaos engineering 能力和代理錄制。適用場(chǎng)景你的系統(tǒng)依賴多種協(xié)議的下游想在一套 mock 里同時(shí)做到正常響應(yīng) 注入 5xx、超時(shí)等故障用它一個(gè)就夠。其他 6 個(gè)工具按場(chǎng)景速查工具名適用的混沌場(chǎng)景作用KeployAPI 在依賴故障時(shí)的行為驗(yàn)證從真實(shí)流量自動(dòng)生成測(cè)試用例和依賴 mock快速回放故障狀態(tài)RestQA服務(wù)異常時(shí)的 API 契約校驗(yàn)基于 Gherkin 的 REST 測(cè)試框架用業(yè)務(wù)語(yǔ)言寫(xiě)斷言WireMock模擬依賴服務(wù)超時(shí)、5xxJava 編寫(xiě)的 HTTP mock 引擎可嵌入測(cè)試、獨(dú)立運(yùn)行或 Docker 部署B(yǎng)eeceptor模擬下游服務(wù)故障無(wú)代碼 mock 服務(wù)用 OpenAPI 或 Postman 集合一鍵生成MockServer多協(xié)議依賴故障注入覆蓋 HTTP、gRPC、Kafka 等協(xié)議支持錄制回放流量并注入故障Load Testing Hub Panel高負(fù)載下的系統(tǒng)行為可視化負(fù)載測(cè)試結(jié)果對(duì)比故障注入前后的性能差異混沌工程書(shū)籍 該讀哪本、什么時(shí)候讀《Chaos Engineering: Crash test your applications》Manning 出版講如何設(shè)計(jì)和執(zhí)行受控的軟件故障實(shí)驗(yàn)偏動(dòng)手做實(shí)驗(yàn)。誰(shuí)該讀第一次準(zhǔn)備故障演練的測(cè)試工程師在動(dòng)手搭實(shí)驗(yàn)環(huán)境之前讀它最合適。《Chaos Engineering》同樣出自 Manning側(cè)重教你通過(guò)受控實(shí)驗(yàn)挖出系統(tǒng)里的隱藏問(wèn)題偏實(shí)驗(yàn)設(shè)計(jì)思路。誰(shuí)該讀需要給團(tuán)隊(duì)定混沌實(shí)驗(yàn)標(biāo)準(zhǔn)的開(kāi)發(fā)或架構(gòu)師在規(guī)劃第一個(gè)實(shí)驗(yàn)周期時(shí)讀。三步實(shí)踐路徑從單服務(wù) mock 到發(fā)布卡點(diǎn)單服務(wù) mock挑一個(gè)外部依賴用 mockd 建好 mock 并注入一次 500確認(rèn)錯(cuò)誤處理和告警都生效??绶?wù)故障注入把故障擴(kuò)大到調(diào)用鏈用 WireMock 或 MockServer 模擬依賴超時(shí)驗(yàn)證重試、熔斷和降級(jí)。納入發(fā)布流程選 3 個(gè)最高危的故障場(chǎng)景固化成實(shí)驗(yàn)?zāi)_本放進(jìn) CI 作為發(fā)布前檢查不通過(guò)不放行。關(guān)于混沌工程的 3 個(gè)常見(jiàn)疑問(wèn) ?混沌工程和故障演練是一回事嗎相關(guān)但不等同。故障演練是執(zhí)行動(dòng)作混沌工程是一套提出假設(shè) → 注入故障 → 驗(yàn)證結(jié)果的方法演練只是其中一環(huán)。生產(chǎn)環(huán)境能做混沌實(shí)驗(yàn)嗎可以但先從小開(kāi)始。先在預(yù)發(fā)環(huán)境跑通再選低峰期在生產(chǎn)小規(guī)模執(zhí)行并準(zhǔn)備隨時(shí)停止的預(yù)案。小團(tuán)隊(duì)從哪里入手先 mock 一個(gè)依賴、注入一種故障把閉環(huán)跑通再逐步加場(chǎng)景。跑通比覆蓋更重要。小結(jié)把混沌工程變成測(cè)試的常規(guī)動(dòng)作awesome-testing 把混沌工程書(shū)籍和工具都收在了一張清單里照著選就能起步?,F(xiàn)在就可以把你系統(tǒng)里最不可靠的那個(gè)依賴 mock 出來(lái)注入第一個(gè) 5xx。需要完整列表時(shí)執(zhí)行g(shù)it clone https://gitcode.com/gh_mirrors/aw/awesome-testing把倉(cāng)庫(kù)拉到本地即可?!久赓M(fèi)下載鏈接】awesome-testingA curated list of testing resources項(xiàng)目地址: https://gitcode.com/gh_mirrors/aw/awesome-testing創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考