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

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

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

與軟件開發(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 的更多信息。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-08-07 11:00:07

程序員技能開發(fā)者

2023-03-15 07:12:53

企業(yè)開發(fā)人員提供商

2021-02-19 09:33:01

kubernetesJAVA服務

2015-03-02 09:36:25

運維開發(fā)人員

2021-12-10 23:48:19

Java開發(fā)技術

2023-10-13 18:10:14

編程語言Rust

2023-08-14 15:23:37

2013-04-15 10:00:09

程序員

2019-11-27 18:54:07

物聯(lián)網(wǎng)數(shù)字孿生機器學習

2023-03-29 15:03:56

測試開發(fā)Web 應用程序

2022-04-10 10:00:00

開發(fā)職業(yè)規(guī)劃

2023-12-04 18:08:49

云安全云計算

2020-05-11 10:25:38

編程語言J開發(fā)Python

2020-10-27 08:46:06

降低開發(fā)人員的生產(chǎn)力

2012-05-17 10:03:25

.NET

2010-08-09 16:09:25

2012-05-30 15:15:42

ibmdw

2009-11-23 20:07:51

ibmdw開發(fā)

2009-12-11 14:50:14

Visual Basi

2023-03-02 17:44:30

DevOps開發(fā)
點贊
收藏

51CTO技術棧公眾號