Gherkin 語言如何彌合客戶和開發(fā)人員之間的差距
與軟件開發(fā)人員溝通通常是一項繁重的任務,尤其是當人們缺乏技術知識和技術詞匯時。這就是為什么項目經(jīng)理經(jīng)常使用 用戶故事 和多功能系統(tǒng)隱喻。
你可以利用旨在促進項目利益相關者和開發(fā)人員之間討論的技術,進一步協(xié)助溝通。
Cucumber 框架
Cucumber 是一個開源框架,可以使用易于編寫的通用語言創(chuàng)建自動化軟件測試。它基于 行為驅動開發(fā)(BDD) 的概念,該概念規(guī)定創(chuàng)建軟件應定義用戶希望應用在特定條件成立時如何表現(xiàn)。
(LCTT 譯注:Gherkin 和 Cucumber 都是黃瓜,其中 Gherkin 一種用來腌制的小黃瓜。順便說一句,黃瓜原名胡瓜,因其由漢朝張騫出使西域時帶回,后因石勒禁稱“胡”字,更名為黃瓜。)
Cucumber 框架并不是現(xiàn)代意義上的“技術”。它不是位和字節(jié)的集合。相反,它是一種用自然語言(在本文中為英語,但到目前為止 Gherkin 已被翻譯成 70 多種語言)的寫作方式。使用 Cucumber 框架時,你不需要知道如何讀取或編寫代碼。你只需要能夠寫下你對工作方式的想法即可。你還應該使用一組特定術語和指南來記錄你希望技術如何為你服務。
Gherkin 語言是什么?
Cucumber 使用 Gherkin 作為定義用例的方法。它主要用于生成明確的項目需求。換句話說,其目的是允許用戶準確地描述他們需要軟件做什么,不留任何解釋或例外的空間。它幫助你思考技術事務的過程,然后幫助你以可轉化為程序員邏輯的形式將其寫下來。
這是一個例子:
功能:活期賬戶持有人取款
場景:有關賬戶并不缺少資金
假如賬戶余額為 200 英鎊
借記卡有效
取款機里有足夠的錢
當活期賬戶持有人申請 50 英鎊時
則取款機支付 50 英鎊
賬戶余額為 150 英鎊
借記卡被退回
正如你所看到的,這是一個非常具體的場景,其中假設用戶請求 50 英鎊,取款機提供 50 英鎊并相應地調整用戶的帳戶余額。此場景只是取款機用途的一部分,它僅代表人與取款機交互的特定組成部分。當程序員被賦予對機器進行編程以響應用戶請求的任務時,這清楚地表明了涉及哪些因素。
Gherkin 關鍵字是什么?
Gherkin 語法使用五個不可或缺的語句來描述執(zhí)行任務所需的操作:
- 功能Feature:表示任何給定軟件功能的高層次描述
- 場景Scenario:描述具體_示例_
- 假如Given:解釋系統(tǒng)的初始上下文
- 當When:指定事件或操作
- 則Then:描述預期輸出或結果
- 而且And(或者 但是But):增加文本流暢性
(LCTT 譯注:這些關鍵字可以使用任何語言,請參照:https://cucumber.io/docs/gherkin/languages/)
通過使用這些簡單的關鍵字,客戶、分析師、測試人員和軟件程序員能夠使用所有人都能識別的術語來交換想法。
可執(zhí)行的需求和自動化測試
更好的是,Gherkin 要求也是可執(zhí)行的。這是通過將每個關鍵字映射到其預期(且明確說明)的功能來完成的。因此,為了與上面的示例保持一致,任何已經(jīng)實現(xiàn)的內容都可以自動顯示為綠色:
當活期賬戶持有人申請 50 英鎊時
則取款機支付 50 英鎊
賬戶余額為 150 英鎊
借記卡被退回
通過擴展,Gherkin 使開發(fā)人員能夠將需求轉換為可測試的代碼。在實踐中,你可以使用特定的短語來檢查你的軟件方案!如果你當前的代碼無法正常工作,或者新的更改意外導致軟件錯誤(或兩個或三個),那么你可以輕松查明問題,然后再繼續(xù)修復它們。
結論
得益于 Gherkin 語法,你的客戶將不再陷入困境。你可以彌合企業(yè)和開發(fā)人員之間的鴻溝,并比以往更有信心地交付出色的產(chǎn)品。
通過訪問 Cucumber 網(wǎng)站 或其 Git 倉庫 了解有關 Gherkin 的更多信息。