偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

社區(qū)造數(shù)服務(wù)接入MCP

人工智能
在實(shí)際業(yè)務(wù)需求測試中,我們依賴的測試數(shù)據(jù)需要很多前置的數(shù)據(jù)要求,這時(shí)候會涉及到分步使用不同的造數(shù)腳本。比如團(tuán)長拉新做任務(wù),需要一個(gè) 30 天內(nèi)沒發(fā)過動態(tài)的賬號,加入團(tuán)隊(duì),發(fā)一篇動態(tài),動態(tài)過一審,過二審,閱讀數(shù)滿足 300 個(gè)。

一、背景

今年 MCP 的概念非?;?,市面上也涌現(xiàn)出了一大批 MCP 相關(guān)工具。作為技術(shù)一線者,都會按捺不住地去實(shí)操一下,很早的時(shí)候就有個(gè)設(shè)想,如果把我們的測試工具都改造為符合 MCP 服務(wù)協(xié)議標(biāo)準(zhǔn),然后全部接入 AI Agent,打造一個(gè)集萬千工具于一體的智能管家來幫助我們提效,是不是一個(gè)很完美的設(shè)想。很多宏偉或者天馬行空的想法想要真正的落地,必然需要不斷向下,拆解成可落地的任務(wù)模塊,這里我們先從造數(shù)開始。

二、AI 造數(shù)設(shè)想

在實(shí)際業(yè)務(wù)需求測試中,我們依賴的測試數(shù)據(jù)需要很多前置的數(shù)據(jù)要求,這時(shí)候會涉及到分步使用不同的造數(shù)腳本。比如團(tuán)長拉新做任務(wù),需要一個(gè) 30 天內(nèi)沒發(fā)過動態(tài)的賬號,加入團(tuán)隊(duì),發(fā)一篇動態(tài),動態(tài)過一審,過二審,閱讀數(shù)滿足 300 個(gè)。

為了完成這個(gè)場景的造數(shù),我們需要去造數(shù)工廠、接口自動化、腳本代碼等平臺找對應(yīng)的造數(shù)工具,分別去執(zhí)行才能完成這一系列的操作。可以從下圖中看到,總計(jì)需要 6 個(gè)步驟才能完成。如果不是熟悉所有的業(yè)務(wù),哪怕有現(xiàn)成的造數(shù)腳本,組合起來使用還是有一定的門檻。。

圖片圖片

那么在 AI 風(fēng)行的年代,我們想要實(shí)現(xiàn)的是:按照用戶輸入的測試數(shù)據(jù)要求,能夠按照已有造數(shù)能力自動編排,生成對應(yīng)的測試數(shù)據(jù)給用戶使用。

最終實(shí)現(xiàn)效果案例:我需要一個(gè)團(tuán)長拉新的測試數(shù)據(jù),要求是 30 天內(nèi)沒有發(fā)過動態(tài),進(jìn)入團(tuán)隊(duì) A,然后發(fā)布一條動態(tài),需要過一審風(fēng)控審核,二審標(biāo)注,最后需要獲得 300 個(gè)閱讀數(shù)。

AI 造數(shù)自動去造數(shù)池子中尋找對應(yīng)的造數(shù)接口,按照提問的順序要求來依次執(zhí)行造數(shù),最后返回給用戶對應(yīng)的測試賬號。

這里不再重復(fù)介紹 MCP 的概念,我們參考官方給出的 client-server 通用架構(gòu)圖來畫一個(gè) AI 造數(shù)的架構(gòu)圖,便于理解在落地到 AI 造數(shù)的場景,我們可以做哪些事。本篇文章主要就講解了圖中的其中一環(huán),落地社區(qū)造數(shù)服務(wù)的 MCP 接入。

圖片圖片

三、社區(qū)造數(shù)服務(wù) tools

框架介紹

社區(qū)的造數(shù)服務(wù)技術(shù)棧是基于 FastAPI 框架實(shí)現(xiàn)的,通過 uv工具來管理依賴庫、虛擬環(huán)境等,這個(gè)工具親測的確比傳統(tǒng)的 pip 或者 poetry 等工具更好用。從安裝 uv到啟動項(xiàng)目,只要 4 步就能無痛搞定環(huán)境,不用擔(dān)心本地其他環(huán)境的干擾。

## uv命令
1. 安裝uv : `curl -LsSf https://astral.sh/uv/install.sh | sh`
2. 創(chuàng)建環(huán)境 - 自定義環(huán)境名稱和Python版本   `uv venv tools_venv --python 3.12`
3. 激活環(huán)境    `source tools_venv/bin/activate`
4. 安裝依賴包    `uv pip install -r pyproject.toml`


## 本地啟動項(xiàng)目
直接運(yùn)行main.py文件中的main方法即可,debug模式自己pycharm中設(shè)置
if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

中間件相關(guān)配置全部通過 ARK 來管理,項(xiàng)目結(jié)構(gòu)如下:

## 項(xiàng)目結(jié)構(gòu)


```bash
├── main.py  # 啟動 APP 入口文件
├── README.md  # 開發(fā)手冊
├── Dockerfile  # Docker 鏡像文件
├── alembic  # alembic 遷移 DB 自動生成的相關(guān)文件
│   ├── README
│   ├── .env.py
│   ├── script.py.mako
│   └── versions  # 存放每次遷移的版本,可用于回滾 DB 版本
├── alembic.ini  # alembic 配置文件
├── app
│   ├── __init__.py  # 注冊 app
│   ├── api  # api 開發(fā)目錄
│   ├── core  # app 的全局配置
│   ├── crud  # 每個(gè) table 的增刪改查操作
│   ├── db  # db 配置
│   ├── models  # 存放表結(jié)構(gòu)
│   ├── schemas  # pydantic 模型
│   └── utils  # 工具類
├── .pre-commit-config.yaml  # 配置 git commit 時(shí)自動檢測工具
└── pyproject.toml  # 依賴庫管理
```

統(tǒng)一部署到公司的發(fā)布平臺,通過 http://{造數(shù)服務(wù)域名}/tools/docs#/ ,地址可以訪問目前社區(qū)所有的造數(shù)接口。同時(shí)也對接了造數(shù)工廠,可以直接去造數(shù)工廠使用。

圖片圖片

圖片

改造思路

老方案-基于 MCP Python SDK

早在出現(xiàn) MCP 這個(gè)概念的時(shí)候,我就想過有天把我們的造數(shù)服務(wù)通過 MCP 工具暴露出來,這樣就可以非常方便的集成各種 Agent,打造 AI 造數(shù)。在出現(xiàn)這個(gè) FastAPI-MCP 框架之前,想要把造數(shù)服務(wù)改造成支持 MCP ,就需要通過引入 MCP 依賴庫來實(shí)現(xiàn)。但這個(gè)方案對于已有的造數(shù)服務(wù)來說改造成本有些高,可以看老方案的案例。

從官方文檔面向服務(wù)器開發(fā)者 - MCP 中文文檔中可以找到有對應(yīng)的 MCP Python SDK,主要就是安裝 MCP 這個(gè)依賴庫。這里舉一個(gè)簡單的 demo,通過手機(jī)號查詢用戶信息的方法??梢院芮逦目闯鰜磉@個(gè) SDK 的語法結(jié)構(gòu)是需要 @mcp.tool()  這個(gè)裝飾器來修飾,那么原有的造數(shù)服務(wù)暴露出來的所有接口方法是否都需要改造,這仍有一定的成本(未考慮其他復(fù)雜場景情況下)。

# server.py
from mcp.server.fastmcp import FastMCP
from tools.tools_set import get_user_info
import uvicorn
# Create an MCP server
mcp = FastMCP("Demo")


@mcp.tool()
async def get_user_info_tool(mobile: str) -> Coroutine[Any, Any, Any]:
    """根據(jù)輸入的手機(jī)號獲取用戶信息
    
    Args:
        mobile: 手機(jī)號
    """
    info = get_user_info(mobile)
    return info


if __name__ == "__main__":
    """Initialize and run the server"""
    # mcp.run(transport="sse")
    """Start the FastAPI server with uvicorn"""
    uvicorn.run(app, host="0.0.0.0", port=8003)

基于上述代碼 demo,我們通過 uvicorn 啟動服務(wù),當(dāng)然也可以單獨(dú)啟動 MCP 服務(wù)??刂婆_輸出如下,代表啟動成功,接下來我們就可以使用 MCP 客戶端工具進(jìn)行連接使用了,這里使用 Cursor 來做演示。

圖片圖片

看圖標(biāo)顯示綠色,無報(bào)錯(cuò)說明連接成功,這里也能看到 demo 中的 get_user_info_tool 方法作為 MCP 工具暴露了出來。演示到這里,說明了該方案是可行的。因?yàn)楸疚闹攸c(diǎn)講解采用的新方案,此處就不再多介紹,感興趣的可以去看官方文檔。

圖片圖片

四、 FastAPI-MCP

安裝運(yùn)行

“Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! ”

這是引用官網(wǎng)介紹的第一句話,翻譯過來大概的意思就是:把你的 FastAPI 服務(wù)作為 MCP 工具暴露出來成為現(xiàn)實(shí)!

  1. 安裝 FastAPI-MCP 庫  uv add fastapi-mcp  or  uv pip install fastapi-mcp 
  2. 使用 FastAPI-MCP,只需要 3 行代碼就能把 FastAPI 框架改造成一個(gè) MCP 服務(wù)
  3. 通過 uvicorn 啟動服務(wù)器,使用http://localhost:8000/mcp 來訪問 MCP server
from fastapi import FastAPI
import uvicorn
from fastapi_mcp import FastApiMCP


# Create (or import) a FastAPI app
app = FastAPI()


# Create an MCP server based on this app
mcp = FastApiMCP(app)


# Mount the MCP server directly to your app
mcp.mount()


if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

用法介紹

自定義配置

通過看源碼 FastApi-MCP 類,基本能清晰的看出來各個(gè)參數(shù)的用處,這里將介紹幾個(gè)常用的。

class FastApiMCP:
    """
    Create an MCP server from a FastAPI app.
    """
    
    def __init__(
        self,
        fastapi: Annotated[
            FastAPI,
            Doc("The FastAPI application to create an MCP server from"),
        ],
        name: Annotated[
            Optional[str],
            Doc("Name for the MCP server (defaults to app.title)"),
        ] = None,
        description: Annotated[
            Optional[str],
            Doc("Description for the MCP server (defaults to app.description)"),
        ] = None,
        describe_all_responses: Annotated[
            bool,
            Doc("Whether to include all possible response schemas in tool descriptions"),
        ] = False,
        describe_full_response_schema: Annotated[
            bool,
            Doc("Whether to include full json schema for responses in tool descriptions"),
        ] = False,
        http_client: Annotated[
            Optional[httpx.AsyncClient],
            Doc(
                """
                Optional custom HTTP client to use for API calls to the FastAPI app.
                Has to be an instance of `httpx.AsyncClient`.
                """
            ),
        ] = None,
        include_operations: Annotated[
            Optional[List[str]],
            Doc("List of operation IDs to include as MCP tools. Cannot be used with exclude_operations."),
        ] = None,
        exclude_operations: Annotated[
            Optional[List[str]],
            Doc("List of operation IDs to exclude from MCP tools. Cannot be used with include_operations."),
        ] = None,
        include_tags: Annotated[
            Optional[List[str]],
            Doc("List of tags to include as MCP tools. Cannot be used with exclude_tags."),
        ] = None,
        exclude_tags: Annotated[
            Optional[List[str]],
            Doc("List of tags to exclude from MCP tools. Cannot be used with include_tags."),
        ] = None,
        auth_config: Annotated[
            Optional[AuthConfig],
            Doc("Configuration for MCP authentication"),
        ] = None,
    ):
    ...

※ Server metadata
  • name:MCP 服務(wù)名
  • description:對 MCP 服務(wù)的描述
※ Tool and schema descriptions

創(chuàng)建 MCP 服務(wù)器時(shí),可以通過修改 describe_all_responses ,把所有可能的響應(yīng)模式包含在工具描述中,或通過更改 describe_full_response_schema 把完整的 json 包含在工具描述中。

from fastapi import FastAPI
from fastapi_mcp import FastApiMCP


app = FastAPI()


mcp = FastApiMCP(
    app,
    name="My API MCP",
    descriptinotallow="Very cool MCP server",
    describe_all_respnotallow=True,
    describe_full_response_schema=True
)


mcp.mount()
※ Customizing Exposed Endpoints
  1.  include_operations , 暴露 operation_id=XXX 的接口
  2.  exclude_operations , 排除 operation_id=XXX 的接口
  3.  include_tags , 暴露 tags=XXX 的接口
  4.  exclude_tags ,排除 tags=XXX 的接口

組合使用:

  •  include_operations 和 exclude_operations 不能同時(shí)使用
  •  include_tags 和 exclude_tags 不能同時(shí)使用
  •  include_operations 和 include_tags 可以組合使用,匹配任一個(gè)條件就滿足
from fastapi import FastAPI
from fastapi_mcp import FastApiMCP


app = FastAPI()


# 案例1:include_operations
mcp = FastApiMCP(
    app,
    include_operatinotallow=["get_user", "create_user"]
)


# 案例2:exclude_operations
mcp = FastApiMCP(
    app,
    exclude_operatinotallow=["delete_user"]
)


# 案例3:include_tags
mcp = FastApiMCP(
    app,
    include_tags=["users", "public"]
)


#案例4:exclude_tags
mcp = FastApiMCP(
    app,
    exclude_tags=["admin", "internal"]
)


# 案例5:Combined
mcp = FastApiMCP(
    app,
    include_operatinotallow=["user_login"],
    include_tags=["public"]
)


mcp.mount()

工具命名

FastAPI 中的路由通過 operation_id 參數(shù)來作 MCP 工具名稱,如果沒有顯示命名,框架會自動生成一個(gè)。此處經(jīng)測試,如果不顯示命名,自動生成的名字不僅會很奇怪,還會影響 AI 造數(shù)的準(zhǔn)確性,所以這里最好作好規(guī)范,必須要顯示命名。

# Auto-generated operation_id (something like "read_user_users__user_id__get")
@app.get("/users/{user_id}")
async def read_user(user_id: int):
    return {"user_id": user_id}


# Explicit operation_id (tool will be named "get_user_info")
@app.get("/users/{user_id}", operation_id="get_user_info")
async def read_user(user_id: int):
    return {"user_id": user_id}

五、接入造數(shù)服務(wù)框架升級及改造

圖片圖片

在接入的時(shí)候,要查一下官方文檔要求的 Python,F(xiàn)astAPI 等版本,先進(jìn)行框架升級,防止出現(xiàn)不兼容的問題。這項(xiàng)通過管理工具安裝依賴庫時(shí)能自動校驗(yàn),其他一些兼容問題在啟動服務(wù)后根據(jù)實(shí)際場景一一去解決即可。這里推薦使用 uv 工具進(jìn)行管理,親測比之前的 poetry 更好用。

列幾個(gè)核心庫的版本,都是驗(yàn)證過沒有兼容問題的。在過程中也是遇到一些兼容問題花了點(diǎn)時(shí)間,因?yàn)?FastAPI-MCP 框架比較新,網(wǎng)上資料還不全,遇到?jīng)]法解決的問題大家可以去項(xiàng)目 issue 中找,提升解決問題效率。

python = "^3.12"
fastapi = "0.115.12"
fastapi-mcp ="0.3.1"
mcp="1.7.0"
pydantic = "^2.11.0"
pydantic-settings = "^2.2.0"

步驟

第一步:引入 fastapi-mcp 

第二步:main.py 中添加 MCP 服務(wù)

圖片圖片

第三步:也是工作量最大的一步,將每個(gè)造數(shù)接口都做顯示命名,并且做好文檔注釋,寫的越清楚 AI 造數(shù)的準(zhǔn)確率越高,需要對應(yīng)編寫造數(shù)場景測試,共同完成

圖片圖片

最后一步:啟動服務(wù) uvicorn.run('main:app', host='0.0.0.0', port=8023, reload=True, workers=2) ,無報(bào)錯(cuò)基本就沒有問題了。再通過 MCP 客戶端工具連接使用即可

圖片圖片

接入 Cursor

改造完之后的造數(shù)服務(wù)成功對外暴露了 MCP 服務(wù),現(xiàn)在我們可以通過 MCP 客戶端去連接使用了,這里選用了 Cursor,因?yàn)?Cursor 使用的人比較多,同時(shí)集成了市面上的主流大模型。

步驟

第一步:創(chuàng)建一個(gè) mcp.json,按照標(biāo)準(zhǔn) json 配置即可

{
  "mcpServers": {
    "fastapi-mcp": {
      "url": "http://localhost:8022/mcp",
      "description": "本地開發(fā)環(huán)境MCP服務(wù)配置"
    },
    "tools-mcp": {
      "url": "http://localhost:8011/mcp",
      "description": "本地開發(fā)環(huán)境MCP服務(wù)配置"
    },    
    "demo-mcp": {
      "url": "http://localhost:8001/sse",
      "description": "本地開發(fā)環(huán)境MCP服務(wù)配置"
    },
    "tools-mcp-prod": {
      "url": "http://XXXXXX/mcp",
      "description": "線上"
    }
}
}

第二步:點(diǎn)擊右上角設(shè)置 icon,進(jìn)入 Cursor Settings,選擇 MCP

圖片圖片

第三步:這里可以看到,在剛才 mcp.json 中配置的 MCP工具均加載過來,打開開關(guān),運(yùn)行狀態(tài)顯示為綠色,無報(bào)錯(cuò)并說明了服務(wù)接入正常,接下來就可以正常使用 Cursor 中的 Agent 進(jìn)行對話了

實(shí)操演練

我們現(xiàn)在只希望使用造數(shù)能力,因此我們可以指定剛才配置的 MCP 工具。

場景化案例

需求:給手機(jī)號為 11120210001 的用戶發(fā)布一個(gè)點(diǎn)評動態(tài),并且通過風(fēng)控一審。

這里注意一下提問方式,因?yàn)槲覀儧]有對大模型進(jìn)行特別的訓(xùn)練,AI 不一定知道 111 開頭的是我們測試使用的虛擬手機(jī)號,有可能會誤解為 userId,所以我們需要告訴 AI 這是一個(gè)手機(jī)號。

可以看到在這個(gè) demo 中, Agent 自動幫我們分了三步去調(diào)用對應(yīng)的 MCP tool,第一步通過我們輸入的手機(jī)號去獲取 userId,第二步通過 userId 去發(fā)布點(diǎn)評動態(tài),第三步通過點(diǎn)評動態(tài) id 去通過風(fēng)控一審。原本需要三步完成的造數(shù)場景,現(xiàn)在通過一句話描述就完成了。

圖片圖片

調(diào)優(yōu)案例

需求:隨機(jī)創(chuàng)建 10 個(gè)測試賬號

※  調(diào)優(yōu)之前

造數(shù)代碼,主要看文檔注釋內(nèi)容。

@router.post('/create-account', operation_id="create_account",summary="創(chuàng)建測試賬號")
async def c_create_account(
        env: str = Body(..., descriptinotallow='環(huán)境'),
        phonenumber: str = Body(..., descriptinotallow='手機(jī)號'),
        pwd: str = Body(..., descriptinotallow='密碼'),
        usernum: str = Body(None, descriptinotallow='數(shù)量'),
) -> Any:
    """
    創(chuàng)建測試賬號,默認(rèn)111開頭
   
    args
        env: 環(huán)境,默認(rèn):t1
        phonenumber: 手機(jī)號
        pwd: 密碼,默認(rèn):test123
        usernum: 數(shù)量
    """

把這個(gè)造數(shù)需求發(fā)送給 AI,發(fā)現(xiàn)報(bào)錯(cuò)了。我們?nèi)ゴa中看下為何返回了 false,原來是因?yàn)榻涌诜祷胤?200,排查下來是因?yàn)?t1 環(huán)境測試賬號造數(shù)默認(rèn)填了 111,不需要再加 111,所以接口直接 500 了。

這里 AI 犯了兩個(gè)錯(cuò)誤:

  1. 因?yàn)槟J(rèn)手機(jī)號都是 11 位的,這里 AI 不知道只需要傳 8 位就行。
  2. 我沒有輸入具體的手機(jī)號,所以按照代碼邏輯應(yīng)該是支持自動隨機(jī)生成的,但是 AI 也不知道這個(gè)邏輯,“自作主張”給我傳入了一個(gè)手機(jī)號。

圖片圖片

※  調(diào)優(yōu)后

通過排查我們已經(jīng)明確知道 AI 犯了哪些錯(cuò)誤,那么我們針對這些錯(cuò)誤去調(diào)優(yōu)即可。所謂的調(diào)優(yōu)主要就是修改文檔注釋,可以前后對比下注釋內(nèi)容。

"""
創(chuàng)建測試賬號,默認(rèn)111開頭,不用填寫111,只需要后面8位
不傳手機(jī)號phonenumber,默認(rèn)隨機(jī)生成手機(jī)號


args
    env: 環(huán)境,默認(rèn):t1
    phonenumber: 手機(jī)號,非必填,不填自動生成
    pwd: 密碼,默認(rèn):test123
    usernum: 數(shù)量
"""
※  最終效果

圖片圖片

通過這個(gè)案例可以看到,準(zhǔn)確率依賴我們對造數(shù)接口的文檔注釋,所以在實(shí)際使用過程中,前期需要我們不斷地去調(diào)優(yōu),才能達(dá)到我們想要的效果。

當(dāng)然隨著后續(xù)迭代,可能可以用更優(yōu)雅的方式完成這個(gè)工作,比如再引入靜態(tài)代碼分析工具,通過 AI 編程自動完成注釋。

六、總結(jié)

技術(shù)實(shí)踐成果

通過將社區(qū)造數(shù)服務(wù)改造成符合 MCP(Model Context Protocol) 標(biāo)準(zhǔn)的工具,我們成功實(shí)現(xiàn)了以下目標(biāo):

AI 驅(qū)動的測試數(shù)據(jù)自動化

用戶通過自然語言描述需求,AI Agent 可自動編排造數(shù)接口生成復(fù)雜測試數(shù)據(jù),將原本需手動執(zhí)行 3 步的操作簡化為一步指令。

低成本框架升級

基于 fastapi-mcp 框架,僅需少量代碼改造即可將 FastAPI 服務(wù)快速接入 MCP 協(xié)議,解決了傳統(tǒng) SDK 方案的高適配成本問題。

工具鏈整合

通過對接 Cursor 等 AI 工具平臺,驗(yàn)證了 MCP 協(xié)議在跨平臺協(xié)作中的可行性,為后續(xù)構(gòu)建“社區(qū)智能管家”奠定技術(shù)基礎(chǔ)。

核心實(shí)踐經(jīng)驗(yàn)

注釋即規(guī)范

AI 調(diào)用接口的準(zhǔn)確性高度依賴代碼注釋的清晰度。通過優(yōu)化接口文檔(如參數(shù)默認(rèn)值、輸入格式說明),可顯著提升 Agent 的任務(wù)解析成功率。

漸進(jìn)式調(diào)優(yōu) 

初期需通過人工干預(yù)優(yōu)化 Agent 的接口調(diào)用邏輯,未來可引入代碼靜態(tài)分析工具自動生成標(biāo)準(zhǔn)化注釋。

未來優(yōu)化方向

動態(tài)編排增強(qiáng) 

當(dāng)前接口調(diào)用為線性執(zhí)行,后續(xù)可探索基于依賴關(guān)系的動態(tài)編排(如并行執(zhí)行獨(dú)立步驟、自動重試失敗操作)。

多 Agent 協(xié)作

結(jié)合領(lǐng)域知識庫與測試斷言工具,實(shí)現(xiàn)從“造數(shù)”到“驗(yàn)證”的全鏈路 AI 自治。

協(xié)議擴(kuò)展性

探索 MCP 與更多協(xié)議(如 OpenAPI)的互操作性,提升工具服務(wù)的跨平臺復(fù)用能力。

價(jià)值與啟示

本次實(shí)踐印證了 “AI+協(xié)議化工具” 在測試領(lǐng)域的巨大潛力:降低技術(shù)門檻 (非技術(shù)人員可直接描述需求)、提升執(zhí)行效率 (分鐘級操作秒級完成)、釋放創(chuàng)新空間 (復(fù)雜場景的自動化長鏈路測試)。

隨著 MCP 生態(tài)的完善,測試工程將逐步從“工具堆砌”走向“智能協(xié)作”,為研發(fā)效能帶來質(zhì)的突破。

七、感想

“我不是英雄,只是一個(gè)拿錘子的約德爾人”

站在巨人的肩膀上總是能看的更高更遠(yuǎn),追隨技術(shù)大牛們的步伐,把 AI 應(yīng)用到工作中、生活中?;叵刖拍昵俺跞霚y試行業(yè)時(shí)捧讀的《Google 軟件測試之道》,書中“人類智慧的最后一英尺”已然越來越近。重讀了 2022 年在公司內(nèi)部博客發(fā)表的《Google 軟件測試之道:結(jié)合實(shí)踐的總結(jié)》一文,發(fā)現(xiàn)僅僅過了3 年,如果現(xiàn)在再去寫,又是完全不一樣的想法了,技術(shù)的發(fā)展已發(fā)生翻天覆地的變化。

此刻回望測試領(lǐng)域的演進(jìn)曲線,愈發(fā)感到:「拿錘者」的價(jià)值不在于揮舞工具的姿態(tài),而在于持續(xù)校準(zhǔn)認(rèn)知坐標(biāo)的能力 。當(dāng) AI 重構(gòu)測試鏈路的每個(gè)環(huán)節(jié)時(shí),唯以「錘者」的務(wù)實(shí)與「巨人」的視野雙軌并行,方能在技術(shù)洪流中錨定價(jià)值支點(diǎn)。

加油吧!不忘初心,你我終將能抵達(dá)一個(gè)又一個(gè)“終點(diǎn)”!

責(zé)任編輯:武曉燕 來源: 得物技術(shù)
相關(guān)推薦

2025-06-04 00:00:00

DifyMCP服務(wù)

2025-03-13 03:00:00

DockerAgentic工具

2025-06-27 09:24:38

MCP服務(wù)器系統(tǒng)

2025-03-27 08:19:53

2025-07-31 09:02:21

2025-07-07 00:00:00

MCPA2AAPI

2025-05-19 08:30:19

2025-04-11 09:43:57

2025-07-04 10:30:40

2020-12-07 14:01:20

數(shù)倉Flume數(shù)據(jù)

2025-05-27 01:10:00

MCP服務(wù)OAuth2

2025-04-29 09:07:21

2025-06-26 08:42:34

2025-04-09 15:50:45

2009-12-28 15:50:23

AnyMedia接入系

2023-02-23 19:39:06

華為汽車業(yè)務(wù)

2025-06-25 13:13:52

2025-08-11 08:05:58

MCP服務(wù)工具

2021-04-19 10:03:21

華為極狐造車

2025-07-24 08:13:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號