Linux中國

Gherkin 語言如何彌合客戶和開發人員之間的差距

Gherkin 語法可以幫助你思考技術事務的過程,然後幫助你將其轉化為程序員邏輯的形式寫下來。

與軟體開發人員溝通通常是一項繁重的任務,尤其是當人們缺乏技術知識和技術辭彙時。這就是為什麼項目經理經常使用 用戶故事 和多功能系統隱喻。

你可以利用旨在促進項目利益相關者和開發人員之間討論的技術,進一步協助溝通。

Cucumber 框架

Cucumber 是一個開源框架,可以使用易於編寫的通用語言創建自動化軟體測試。它基於 行為驅動開發(BDD) 的概念,該概念規定創建軟體應定義用戶希望應用在特定條件成立時如何表現。

(LCTT 譯註:Gherkin 和 Cucumber 都是黃瓜,其中 Gherkin 一種用來腌制的小黃瓜。順便說一句,黃瓜原名胡瓜,因其由漢朝張騫出使西域時帶回,後因石勒禁稱「胡」字,更名為黃瓜。)

Cucumber 框架並不是現代意義上的「技術」。它不是位和位元組的集合。相反,它是一種用自然語言(在本文中為英語,但到目前為止 Gherkin 已被翻譯成 70 多種語言)的寫作方式。使用 Cucumber 框架時,你不需要知道如何讀取或編寫代碼。你只需要能夠寫下你對工作方式的想法即可。你還應該使用一組特定術語和指南來記錄你希望技術如何為你服務。

Gherkin 語言是什麼?

Cucumber 使用 Gherkin 作為定義用例的方法。它主要用於生成明確的項目需求。換句話說,其目的是允許用戶準確地描述他們需要軟體做什麼,不留任何解釋或例外的空間。它幫助你思考技術事務的過程,然後幫助你以可轉化為程序員邏輯的形式將其寫下來。

這是一個例子:

功能:活期賬戶持有人取款
場景:有關賬戶並不缺少資金
    假如賬戶餘額為 200 英鎊
    借記卡有效
    取款機里有足夠的錢
    當活期賬戶持有人申請 50 英鎊時
    則取款機支付 50 英鎊
    賬戶餘額為 150 英鎊
    借記卡被退回

正如你所看到的,這是一個非常具體的場景,其中假設用戶請求 50 英鎊,取款機提供 50 英鎊並相應地調整用戶的帳戶餘額。此場景只是取款機用途的一部分,它僅代表人與取款機交互的特定組成部分。當程序員被賦予對機器進行編程以響應用戶請求的任務時,這清楚地表明了涉及哪些因素。

Gherkin 關鍵字是什麼?

Gherkin 語法使用五個不可或缺的語句來描述執行任務所需的操作:

  • 功能 Feature :表示任何給定軟體功能的高層次描述
  • 場景 Scenario :描述具體示例
  • 假如 Given :解釋系統的初始上下文
  • When :指定事件或操作
  • Then :描述預期輸出或結果
  • 而且 And (或者 但是 But ):增加文本流暢性

(LCTT 譯註:這些關鍵字可以使用任何語言,請參照:https://cucumber.io/docs/gherkin/languages/

通過使用這些簡單的關鍵字,客戶、分析師、測試人員和軟體程序員能夠使用所有人都能識別的術語來交換想法。

可執行的需求和自動化測試

更好的是,Gherkin 要求也是可執行的。這是通過將每個關鍵字映射到其預期(且明確說明)的功能來完成的。因此,為了與上面的示例保持一致,任何已經實現的內容都可以自動顯示為綠色:

    當活期賬戶持有人申請 50 英鎊時
    則取款機支付 50 英鎊
    賬戶餘額為 150 英鎊
    借記卡被退回

通過擴展,Gherkin 使開發人員能夠將需求轉換為可測試的代碼。在實踐中,你可以使用特定的短語來檢查你的軟體方案!如果你當前的代碼無法正常工作,或者新的更改意外導致軟體錯誤(或兩個或三個),那麼你可以輕鬆查明問題,然後再繼續修復它們。

結論

得益於 Gherkin 語法,你的客戶將不再陷入困境。你可以彌合企業和開發人員之間的鴻溝,並比以往更有信心地交付出色的產品。

通過訪問 Cucumber 網站 或其 Git 倉庫 了解有關 Gherkin 的更多信息。

(題圖:MJ/b717cd4f-0a6b-4b28-a895-b9688b289551)

via: https://opensource.com/article/23/2/gherkin-language-developers

作者:David Blackwood 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國